/* TrueVantage Success Stories, direction E ("Where we come in"). Loaded only on the hub + 4 story pages. */
body.tvss-ss{background:#f4f4f2}
.tvss{--tvss-ink:#141414;--tvss-red:#FE4848;--tvss-muted:#5c5c5c;--tvss-line:#e3e3df;--tvss-bg:#f4f4f2;--tvss-top:24px;
  background:var(--tvss-bg);color:var(--tvss-ink);font-family:"Inter Tight",system-ui,sans-serif;font-size:17px;line-height:1.6}
/* neutralise Elementor container/widget spacing inside our layout */
.e-con.tvss,.tvss .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--min-height:0;--width:100%;--flex-wrap:nowrap}
.tvss .elementor-widget,.tvss .elementor-widget:not(:last-child){margin:0!important;--kit-widget-spacing:0px}
.tvss .elementor-widget-container{margin:0;padding:0}
.tvss p{margin:0 0 1em}.tvss p:last-child{margin-bottom:0}
.tvss a{color:inherit}
.tvss img{max-width:100%;height:auto}
.tvss h1,.tvss h2,.tvss h3,.tvss .elementor-heading-title{font-family:Poppins,sans-serif;margin:0;color:inherit;letter-spacing:-.015em;line-height:1.2;text-transform:none}
.tvss :focus-visible{outline:3px solid var(--tvss-red);outline-offset:3px}
.tvss .tvss-wrap{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:48px;padding-right:48px}
/* breadcrumbs */
.tvss .tvss-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;font-size:14px;color:#6b6b6b}
.tvss .tvss-crumbs li+li::before{content:"/";margin:0 8px;opacity:.55}
.tvss .tvss-crumbs a{text-decoration:none}.tvss .tvss-crumbs a:hover{text-decoration:underline}
/* buttons (brand: red solid + outline) */
.tvss .tvss-btns{flex-direction:row;flex-wrap:wrap;gap:14px;--flex-wrap:wrap}
.tvss .tvss-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:7px;font:500 15px/1.2 Poppins,sans-serif;text-decoration:none;border:2px solid var(--tvss-red);transition:background .2s,border-color .2s,color .2s;box-shadow:none}
.tvss .tvss-btn-red .elementor-button{background:var(--tvss-red);color:#fff}
.tvss .tvss-btn-red .elementor-button:hover{background:#e03e3e;border-color:#e03e3e;color:#fff}
.tvss .tvss-btn-line .elementor-button{background:transparent;color:#fff;border-color:rgba(255,255,255,.85)}
.tvss .tvss-btn-line .elementor-button:hover{background:rgba(255,255,255,.1);color:#fff}
.tvss .tvss-btn .elementor-button-text{color:inherit}

/* ---------- hub ---------- */
.tvss-hub .tvss-hero{padding:80px 0 56px}
.tvss-hub .tvss-hero .tvss-wrap{display:grid;grid-template-columns:1.1fr 1fr;column-gap:64px;row-gap:28px;align-items:end}
.tvss-hub .tvss-hero .tvss-crumbs{grid-column:1/-1}
.tvss .tvss-h1 .elementor-heading-title{font-weight:700;letter-spacing:-.035em;line-height:1.04;color:var(--tvss-ink)}
.tvss-hub .tvss-h1 .elementor-heading-title{font-size:clamp(38px,4.6vw,64px)}
.tvss .tvss-lede p{font-size:19px;line-height:1.6;color:#4a4a4a}
.tvss-hub .tvss-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;position:relative;padding-top:40px}
.tvss-hub .tvss-board::before{content:"";position:absolute;left:48px;right:48px;top:9px;height:2px;background:var(--tvss-ink)}
.tvss-hub .tvss-col{position:relative;display:flex;flex-direction:column}
.tvss-hub .tvss-col::before{content:"";position:absolute;top:-38px;left:0;width:16px;height:16px;border-radius:50%;background:var(--tvss-red);box-shadow:0 0 0 5px var(--tvss-bg)}
.tvss .tvss-col-h .elementor-heading-title{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-bottom:10px}
.tvss .tvss-col-d p{font-size:16px;line-height:1.55;color:var(--tvss-muted);min-height:75px;margin-bottom:22px}
.tvss .tvss-cards{display:flex;flex-direction:column;gap:20px}
.tvss .tvss-card{background:#fff;border:1px solid #e6e6e2;border-radius:10px;padding:28px;transition:border-color .2s}
.tvss .tvss-card:hover{border-color:var(--tvss-ink)}
.tvss .tvss-card-logo{height:56px;display:flex;align-items:center;margin-bottom:22px!important}
.tvss .tvss-card-logo img{max-height:52px;max-width:160px;width:auto;height:auto;display:block}
.tvss .tvss-card-h .elementor-heading-title{font-size:22px;font-weight:600;margin-bottom:4px}
.tvss .tvss-card-h a{text-decoration:none}
.tvss .tvss-card-t .tvss-ind{font-size:14px;color:#6b6b6b;margin-bottom:16px}
.tvss .tvss-card-t .tvss-res{font:600 15px/1.4 Poppins,sans-serif;border-top:1px solid rgba(127,127,127,.25);padding-top:14px;margin-bottom:16px;color:var(--tvss-ink)}
.tvss .tvss-card-t p{font-size:16px;line-height:1.55;color:#333}
.tvss .tvss-more-link a{font:600 14px Poppins,sans-serif;color:#d93636;text-decoration:none}
.tvss .tvss-more-link a:hover{text-decoration:underline}
.tvss .tvss-card-feature{background:var(--tvss-ink);border-color:var(--tvss-ink);color:#fff}
.tvss .tvss-card-feature .tvss-card-logo{background:#fff;border-radius:6px;padding:8px 12px;align-self:flex-start;width:auto}
.tvss .tvss-card-feature .tvss-card-t p{color:rgba(255,255,255,.82)}
.tvss .tvss-card-feature .tvss-card-t .tvss-ind{color:rgba(255,255,255,.65)}
.tvss .tvss-card-feature .tvss-card-t .tvss-res{color:#fff}
.tvss .tvss-card-feature .tvss-more-link a{color:#ff7a7a}
.tvss .tvss-svc{margin-top:22px!important}
.tvss .tvss-svc a{font:600 14px Poppins,sans-serif;color:var(--tvss-ink);text-underline-offset:4px}
.tvss .tvss-svc a:hover{color:#d93636}

/* ---------- CTA band ---------- */
.tvss .tvss-cta{background:var(--tvss-ink);color:#fff;padding:88px 0;margin-top:72px}
.tvss-story .tvss-cta{margin-top:0}
.tvss .tvss-cta-in{display:grid;grid-template-columns:1.2fr 1fr;column-gap:48px;row-gap:16px;align-items:end}
.tvss .tvss-cta-h .elementor-heading-title{font-size:clamp(30px,3.4vw,48px);font-weight:700;letter-spacing:-.03em;line-height:1.08;color:#fff}
.tvss .tvss-cta-p p{color:rgba(255,255,255,.78);font-size:18px;margin-bottom:24px}

/* ---------- story split ---------- */
.tvss .tvss-split{display:grid;grid-template-columns:minmax(420px,44%) minmax(0,1fr);align-items:stretch}
.tvss .tvss-left{background:var(--tvss-ink);color:#fff;padding:56px 56px 56px;display:flex;flex-direction:column;gap:28px}
.tvss .tvss-left .tvss-crumbs ol{color:rgba(255,255,255,.62)}
.tvss .tvss-logo{background:#fff;border-radius:8px;padding:14px 20px;align-self:flex-start;width:auto;max-width:100%}
.tvss .tvss-logo img{height:52px;width:auto;display:block}
.tvss-story .tvss-h1 .elementor-heading-title{font-size:clamp(30px,2.8vw,44px);line-height:1.08;color:#fff}
.tvss .tvss-left .tvss-lede p{color:rgba(255,255,255,.8);font-size:17px}
.tvss .tvss-panel{position:sticky;top:var(--tvss-top);display:flex;flex-direction:column;gap:20px;border-top:1px solid rgba(255,255,255,.18);padding-top:24px}
.tvss .tvss-glance-h .elementor-heading-title{font-size:15px;font-weight:600;color:rgba(255,255,255,.65);letter-spacing:0}
.tvss .tvss-facts dl{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:10px 22px;margin:0;font-size:15px;line-height:1.5}
.tvss .tvss-facts dl>div{display:contents}
.tvss .tvss-facts dt{color:rgba(255,255,255,.62);font-weight:400}
.tvss .tvss-facts dd{margin:0;color:#fff}
.tvss .tvss-facts dd a{color:#fff;text-underline-offset:3px}
.tvss .tvss-facts dd a:hover{color:#ff9a9a}
.tvss .tvss-right{padding:56px 72px 88px;min-width:0}
.tvss .tvss-tl-h .elementor-heading-title{font-size:15px;font-weight:600;color:#6b6b6b;letter-spacing:0;margin-bottom:36px}
.tvss .tvss-tl{position:relative;display:flex;flex-direction:column}
.tvss .tvss-tl::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:#d6d6d2}
.tvss .tvss-stage{position:relative;padding:0 0 64px 52px;max-width:772px}
.tvss .tvss-stage::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--tvss-bg);border:2px solid var(--tvss-ink);box-sizing:border-box}
.tvss .tvss-stage-go::before,.tvss .tvss-stage-q::before{background:var(--tvss-red);border-color:var(--tvss-red)}
.tvss .tvss-stage-l p{font:600 14px/1.4 Poppins,sans-serif;color:#d93636;margin-bottom:8px}
.tvss .tvss-stage-h .elementor-heading-title{font-size:clamp(24px,2.2vw,30px);font-weight:600;letter-spacing:-.02em;margin-bottom:14px;color:var(--tvss-ink)}
.tvss .tvss-body p,.tvss .tvss-body li{font-size:17.5px;line-height:1.65;color:#333}
.tvss .tvss-body ul{padding-left:20px;margin:0 0 1em}.tvss .tvss-body ul:last-child{margin-bottom:0}
.tvss .tvss-body li+li{margin-top:6px}
.tvss .tvss-body strong{color:var(--tvss-ink)}
.tvss .tvss-mods{margin-top:18px!important}
.tvss .tvss-mods ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tvss .tvss-mods li{background:#fff;border:1px solid var(--tvss-line);border-radius:8px;padding:14px 16px;font:500 15px/1.35 Poppins,sans-serif}
.tvss .tvss-golive{background:var(--tvss-ink);color:#fff;border-radius:12px;padding:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;margin-top:14px!important}
.tvss .tvss-golive .elementor-widget-container{display:contents}
.tvss .tvss-golive p{margin:0}
.tvss .tvss-golive strong{display:block;font:700 clamp(30px,2.6vw,40px)/1.05 Poppins,sans-serif;letter-spacing:-.03em;color:var(--tvss-red);overflow-wrap:normal;word-break:normal;hyphens:none}
.tvss .tvss-golive span{display:block;margin-top:10px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.4}
.tvss .tvss-out{display:grid;gap:14px;margin-top:14px!important}
.tvss .tvss-out .elementor-widget-container{display:grid;gap:14px}
.tvss .tvss-out p{margin:0;background:#fff;border-radius:10px;padding:20px 22px;border:1px solid var(--tvss-line);font-size:16px;line-height:1.55;color:#4a4a4a}
.tvss .tvss-out strong{display:block;font:600 17px/1.35 Poppins,sans-serif;color:var(--tvss-ink);margin-bottom:4px}
.tvss .tvss-quote blockquote{margin:0;padding:40px;background:#fff;border-radius:12px;border-left:4px solid var(--tvss-red);quotes:none}
.tvss .tvss-quote blockquote::before,.tvss .tvss-quote blockquote::after{content:none}
.tvss .tvss-quote blockquote p{font:500 21px/1.5 Poppins,sans-serif;letter-spacing:-.01em;color:var(--tvss-ink);margin:0;font-style:normal}
.tvss .tvss-quote footer{margin-top:18px;color:#555;font-size:15px;font-style:normal}
.tvss .tvss-stage-q{padding-bottom:0}
.tvss .tvss-more{margin-top:72px;max-width:772px;padding-left:52px}
.tvss .tvss-more-h .elementor-heading-title{font-size:22px;font-weight:600;margin:0 0 18px;color:var(--tvss-ink)}
.tvss .tvss-rel ul,.tvss .tvss-links ul{list-style:none;margin:0 0 48px;padding:0}
.tvss .tvss-rel a{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:center;padding:18px 0;border-top:1px solid #dcdcd8;text-decoration:none}
.tvss .tvss-rel li:last-child a{border-bottom:1px solid #dcdcd8}
.tvss .tvss-rel img{max-height:34px;max-width:100px;width:auto;height:auto;mix-blend-mode:multiply;display:block}
.tvss .tvss-rel strong{display:block;font-family:Poppins,sans-serif;font-weight:600;font-size:17px}
.tvss .tvss-rel span{font-size:14px;color:#6b6b6b;line-height:1.45}
.tvss .tvss-rel a:hover strong{color:#d93636}
.tvss .tvss-links ul{display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:0}
.tvss .tvss-links a{font:600 15px Poppins,sans-serif;text-underline-offset:4px}
.tvss .tvss-links a:hover{color:#d93636}

/* ---------- responsive ---------- */
@media (max-width:1100px){
 .tvss-hub .tvss-board{grid-template-columns:1fr;padding-top:0}
 .tvss-hub .tvss-board::before,.tvss-hub .tvss-col::before{display:none}
 .tvss-hub .tvss-col{border-top:2px solid var(--tvss-ink);padding-top:24px;margin-top:28px}
 .tvss .tvss-col-d p{min-height:0}
 .tvss .tvss-split{grid-template-columns:minmax(360px,42%) minmax(0,1fr)}
 .tvss .tvss-left{padding:48px 36px}
 .tvss .tvss-right{padding:48px 40px 72px}
}
@media (max-width:900px){
 .tvss{font-size:16px}
 .tvss .tvss-wrap{padding-left:20px;padding-right:20px}
 .tvss-hub .tvss-hero{padding:44px 0 28px}
 .tvss-hub .tvss-hero .tvss-wrap{grid-template-columns:1fr;row-gap:18px}
 .tvss .tvss-lede p{font-size:17px}
 .tvss .tvss-card{padding:22px}
 .tvss .tvss-cta{padding:56px 0;margin-top:56px}
 .tvss .tvss-cta-in{grid-template-columns:1fr;row-gap:8px}
 .tvss .tvss-split{grid-template-columns:1fr}
 .tvss .tvss-left{padding:32px 20px 40px;gap:22px}
 .tvss .tvss-panel{position:static}
 .tvss .tvss-facts dl{grid-template-columns:1fr;gap:2px}
 .tvss .tvss-facts dd{margin-bottom:12px}
 .tvss .tvss-right{padding:44px 20px 56px}
 .tvss .tvss-tl::before{left:6px}
 .tvss .tvss-stage{padding:0 0 48px 36px}
 .tvss .tvss-stage::before{width:14px;height:14px}
 .tvss .tvss-body p,.tvss .tvss-body li{font-size:16.5px}
 .tvss .tvss-mods ul{grid-template-columns:1fr}
 .tvss .tvss-golive{grid-template-columns:1fr;padding:24px;gap:18px}
 .tvss .tvss-quote blockquote{padding:24px}
 .tvss .tvss-quote blockquote p{font-size:18px}
 .tvss .tvss-more{padding-left:0;margin-top:56px}
 .tvss .tvss-rel a{grid-template-columns:84px minmax(0,1fr);gap:16px}
 .tvss .tvss-rel img{max-width:84px;max-height:28px}
}
@media (min-width:901px) and (max-height:820px){ .tvss .tvss-panel{position:static} }

/* Site header: the global header overlays a dark hero on other pages (white nav). These pages have no
   hero image, so give the header its own dark bar instead of letting it overlap the content. */
body.tvss-ss .elementor-location-header>.elementor-section:first-child,
body.tvss-ss .elementor-location-header>.e-con:first-child{background-color:#141414!important;margin-bottom:0!important}
/* Mobile: while the Complianz consent banner is open it fills the bottom of the screen, and the chat
   launcher sat on top of its "View preferences" button. Lift the launcher above the banner until consent
   is given. Scoped to these pages; the same rule would fix it site-wide if moved to global CSS. */
@media (max-width:767px){
 body.tvss-ss:has(.cmplz-cookiebanner.cmplz-show) #tvchat-launcher{bottom:calc(var(--tvss-cmplz-h,380px) + 16px)!important;transition:bottom .2s}
}
/* QA v3 fixes */
.tvss-hub .tvss-board::before{display:none}
.tvss-hub .tvss-col{position:relative!important}
.tvss-hub .tvss-col::after{content:"";position:absolute;top:-31px;left:0;right:-24px;height:2px;background:var(--tvss-ink);z-index:0}
.tvss-hub .tvss-col:last-child::after{right:0}
.tvss-hub .tvss-col::before{z-index:1}
@media (max-width:900px){.tvss-hub .tvss-col::after{display:none}}
.tvss .tvss-card-feature .tvss-card-logo{height:auto;min-height:0}
.tvss .tvss-card-feature .tvss-card-logo img{max-height:44px}
