/* TP Solutions v1.5.0. Generated shared stylesheet.
 * Edit styles/*.css and styles/settings.json; run build_template.py.
 * Every page consumes this same external stylesheet.
 */
/* TP Solutions Website v1.2.5. Shared presentation for the WordPress page template. */
/* Brand colours are drawn from the supplied SVG logos. */
/* One setting controls the increase for body copy and small UI text.
   The baseline sizes retain the existing hierarchy at each breakpoint.
   Large headings and graphical symbols keep their original sizes. */
:root{--tp-text-size-increase:1px;--tp-ink:#0c2235;--tp-navy:#122c40;--tp-blue:#016488;--tp-cyan:#07a2d0;--tp-text:#3b4e5e;--tp-soft:#edf4f7;--tp-line:#c9d4db;--tp-white:#fff;--tp-width:1180px}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:#fff;color:var(--tp-ink);font-family:"Segoe UI",Arial,sans-serif;font-size:calc(16px + var(--tp-text-size-increase));line-height:1.65}
.wp-site-blocks{padding:0!important}
.wp-site-blocks>*{margin-block:0!important}
.wp-block-post-content{max-width:none!important;margin:0!important;padding:0!important}
.wp-block-post-content>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
.tp-main,.tp-header,.tp-footer,.tp-contact-strip{box-sizing:border-box;font-family:"Segoe UI",Arial,sans-serif}
.tp-main *,.tp-header *,.tp-footer *,.tp-contact-strip *{box-sizing:border-box}
.tp-main h1,.tp-main h2,.tp-main h3,.tp-main p,.tp-main ul,.tp-main ol,.tp-footer p{margin:0}
.tp-main h1,.tp-main h2,.tp-main h3{color:var(--tp-ink);font-weight:650;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.tp-main h1{font-size:clamp(40px,5.3vw,76px)}
.tp-main h2{font-size:clamp(30px,3.4vw,46px)}
.tp-main h3{font-size:25px}
.tp-main p{color:var(--tp-text)}
.tp-main a,.tp-header a,.tp-footer a,.tp-contact-strip a{color:inherit;text-decoration:none}
.tp-main a:focus-visible,.tp-header a:focus-visible,.tp-footer a:focus-visible,summary:focus-visible{outline:3px solid var(--tp-blue);outline-offset:5px}
.tp-wrap{width:min(var(--tp-width),calc(100% - 80px));margin-inline:auto}
.tp-section{padding-block:88px}
.tp-soft{background:var(--tp-soft)}
.tp-eyebrow{display:block;margin-bottom:20px;color:var(--tp-blue);font-size:calc(12px + var(--tp-text-size-increase));font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.tp-lead{font-size:calc(19px + var(--tp-text-size-increase));line-height:1.65;max-width:620px}
.tp-main .tp-lead{margin-top:25px}
.tp-muted{color:var(--tp-text)}
.tp-small{font-size:calc(14px + var(--tp-text-size-increase))}
.tp-main .tp-copy p+p{margin-top:18px}
.tp-skip{position:fixed;top:-80px;left:20px;padding:12px 20px;background:var(--tp-navy);color:#fff!important;z-index:99999}
.tp-skip:focus{top:12px}
/* Header and native, keyboard-accessible navigation menus. */
.tp-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid var(--tp-line)}
.admin-bar .tp-header{top:32px}
.tp-header-row{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:98px}
.tp-logo{display:flex;flex-shrink:0;align-items:center;width:220px}
.tp-logo svg{display:block;width:100%;height:auto}
.tp-desktop-nav{display:flex;align-items:center;gap:27px;font-size:calc(14px + var(--tp-text-size-increase));font-weight:650}
.tp-desktop-nav>a:hover,.tp-nav-drop summary:hover{color:var(--tp-blue)}
.tp-nav-drop{position:relative}
.tp-nav-drop summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.tp-nav-drop summary::-webkit-details-marker{display:none}
.tp-nav-drop summary:after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-top:-4px}
.tp-drop-links{position:absolute;top:calc(100% + 20px);left:-22px;width:230px;background:#fff;border:1px solid var(--tp-line);padding:10px;box-shadow:0 18px 40px #0c223514;border-radius:6px}
.tp-drop-links a{display:block;padding:11px 12px;border-radius:3px}
.tp-drop-links a:hover{background:var(--tp-soft);color:var(--tp-blue)}
.tp-btn{display:inline-flex;justify-content:center;align-items:center;gap:15px;min-height:50px;padding:12px 23px;background:var(--tp-navy);border:1px solid var(--tp-navy);border-radius:4px;color:#fff!important;font-size:calc(14px + var(--tp-text-size-increase));font-weight:700;line-height:1.4;transition:background .15s,transform .15s}
.tp-btn:hover{background:#1f4c66;transform:translateY(-1px)}
.tp-btn-light{background:#fff;color:var(--tp-ink)!important;border-color:var(--tp-line)}
.tp-btn-light:hover{background:var(--tp-soft)}
.tp-btn-cyan{background:var(--tp-blue);border-color:var(--tp-blue)}
.tp-btn-cyan:hover{background:#014e68}
.tp-arrow{display:inline-block;width:17px;height:10px;position:relative;border-top:1.5px solid currentColor;transform:translateY(4px)}
.tp-arrow:after{content:"";position:absolute;width:6px;height:6px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;right:0;top:-4px;transform:rotate(45deg)}
.tp-mobile-menu{display:none}
.tp-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:32px}
/* Homepage: a clear typographic introduction and a brand-led systems illustration. */
.tp-hero{position:relative;overflow:hidden;background:linear-gradient(118deg,#fff 48%,#eff6f9 48%)}
.tp-hero-grid{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:72px;padding-block:78px 86px}
.tp-hero h1 span{color:var(--tp-blue)}
.tp-hero .tp-lead{max-width:530px}
.tp-hero-note{display:flex;gap:9px;align-items:center;margin-top:24px!important;font-size:calc(13px + var(--tp-text-size-increase));font-weight:600}
.tp-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tp-blue);flex-shrink:0}
.tp-brand-board{position:relative;background:#fff;border:1px solid #bfd1d9;box-shadow:0 24px 55px #102a3e14;border-radius:8px;overflow:hidden}
.tp-board-top{display:flex;align-items:center;justify-content:space-between;padding:17px 23px;border-bottom:1px solid var(--tp-line);font-size:calc(10px + var(--tp-text-size-increase));font-weight:750;letter-spacing:.16em;color:#536476}
.tp-board-logo{padding:0 23px;background:radial-gradient(#dfe9ef 1px,transparent 1px);background-size:18px 18px}
.tp-board-logo svg{display:block;width:100%;height:auto}
.tp-board-foot{background:var(--tp-navy);padding:25px 28px;display:grid;grid-template-columns:1fr 1fr;gap:18px;color:#fff}
.tp-board-foot strong{font-size:calc(17px + var(--tp-text-size-increase));line-height:1.45;font-weight:600}
.tp-board-foot span{display:block;color:#d4e6ee;font-size:calc(12px + var(--tp-text-size-increase));margin-top:5px}
.tp-trust-bar{border-top:1px solid var(--tp-line);border-bottom:1px solid var(--tp-line);background:#fff}
.tp-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-block:23px;font-size:calc(13px + var(--tp-text-size-increase));color:#3b4e5e}
.tp-trust-row strong{color:var(--tp-ink);font-weight:650}
.tp-trust-row>div{display:flex;flex-direction:column;gap:3px}
.tp-trust-row>div+div{border-left:1px solid var(--tp-line);padding-left:30px}
.tp-section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:38px}
.tp-section-heading p{max-width:390px}
.tp-industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}
.tp-industry{display:flex;flex-direction:column;padding:31px;background:#fff;border:1px solid var(--tp-line);border-radius:5px;min-height:330px;transition:border-color .15s,box-shadow .15s}
.tp-industry:hover{border-color:#79b0c3;box-shadow:0 12px 25px #0f2d4109}
.tp-industry-mark{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px;color:var(--tp-blue)}
.tp-icon{width:34px;height:34px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tp-industry-mark span{font-size:calc(11px + var(--tp-text-size-increase));letter-spacing:.15em;color:#596a7c}
.tp-industry h3{margin-bottom:15px}
.tp-industry p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-text-link{display:inline-flex;align-items:center;gap:16px;color:var(--tp-blue)!important;font-size:calc(14px + var(--tp-text-size-increase));font-weight:750}
.tp-industry .tp-text-link{margin-top:auto;padding-top:28px}
.tp-split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.tp-split .tp-copy h2{margin-bottom:24px}
.tp-feature-list{border-top:1px solid var(--tp-line)}
.tp-feature-row{display:grid;grid-template-columns:42px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--tp-line)}
.tp-feature-row>span{font-size:calc(12px + var(--tp-text-size-increase));color:var(--tp-blue);font-weight:750;padding-top:5px}
.tp-feature-row h3{font-size:20px;letter-spacing:-.02em;margin-bottom:8px}
.tp-feature-row p{font-size:calc(14px + var(--tp-text-size-increase))}
.tp-support-panel{background:var(--tp-navy);color:#fff;border-radius:6px;padding:42px}
.tp-support-panel h2,.tp-support-panel h3{color:#fff}
.tp-support-panel p{color:#d6e5ed}
.tp-support-panel .tp-eyebrow{color:#65d2f0}
.tp-support-panel .tp-actions{margin-top:27px}
.tp-support-panel .tp-btn{background:#fff;color:var(--tp-ink)!important;border-color:#fff}
.tp-quote{padding:58px 0;background:#eaf4f8;border-block:1px solid #c1d5db}
.tp-quote-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}
.tp-quote blockquote{margin:0;font-size:27px;font-weight:600;line-height:1.45;letter-spacing:-.02em;color:var(--tp-ink)}
.tp-quote cite{display:block;margin-top:20px;font-size:calc(13px + var(--tp-text-size-increase));line-height:1.8;font-style:normal;color:#3e5466}
.tp-quote cite strong{display:block;font-size:calc(14px + var(--tp-text-size-increase));color:var(--tp-ink)}
/* Interior pages: concise introductions, workflow-specific content and useful FAQs. */
.tp-page-hero{background:var(--tp-soft);border-bottom:1px solid var(--tp-line);padding-block:46px 65px}
.tp-breadcrumb{font-size:calc(12px + var(--tp-text-size-increase));color:#496373;margin-bottom:39px}
.tp-breadcrumb a{color:var(--tp-blue)}
.tp-breadcrumb span{margin-inline:10px}
.tp-page-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}
.tp-page-hero h1{font-size:clamp(39px,4.4vw,62px)}
.tp-page-aside{border-left:3px solid var(--tp-cyan);padding:12px 0 12px 26px}
.tp-page-aside strong{display:block;font-size:calc(19px + var(--tp-text-size-increase));font-weight:650;line-height:1.45;margin-bottom:14px}
.tp-product-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}
.tp-product-list span{display:inline-block;background:#fff;border:1px solid #bdcfd7;padding:7px 11px;border-radius:3px;font-size:calc(12px + var(--tp-text-size-increase));font-weight:650;line-height:1.4}
.tp-points-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 55px}
.tp-point{border-top:1px solid var(--tp-line);padding:27px 0}
.tp-point h3{font-size:22px;letter-spacing:-.025em;margin-bottom:12px}
.tp-point p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px}
.tp-step{border-top:2px solid var(--tp-blue);padding-top:22px}
.tp-step>span{display:block;color:var(--tp-blue);font-size:calc(12px + var(--tp-text-size-increase));font-weight:750;letter-spacing:.12em;margin-bottom:25px}
.tp-step h3{font-size:21px;margin-bottom:12px}
.tp-step p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}
.tp-faq-grid h2{max-width:350px}
.tp-faq{border-top:1px solid var(--tp-line)}
.tp-faq details{border-bottom:1px solid var(--tp-line);padding:21px 0}
.tp-faq summary{cursor:pointer;font-size:calc(16px + var(--tp-text-size-increase));font-weight:650;list-style:none;padding-right:30px;position:relative;line-height:1.5}
.tp-faq summary::-webkit-details-marker{display:none}
.tp-faq summary:after{content:"+";position:absolute;right:4px;top:0;color:var(--tp-blue);font-size:21px;font-weight:400}
.tp-faq details[open] summary:after{content:"-"}
.tp-faq details p{font-size:calc(14px + var(--tp-text-size-increase));padding-top:15px;max-width:600px}
.tp-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 38px}
.tp-service{border-top:2px solid var(--tp-blue);padding-top:23px}
.tp-service h3{font-size:22px;margin-bottom:13px}
.tp-service p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-scope{width:100%;border-collapse:collapse;text-align:left;font-size:calc(15px + var(--tp-text-size-increase))}
.tp-scope th,.tp-scope td{padding:19px 18px;border-bottom:1px solid var(--tp-line);vertical-align:top}
.tp-scope th{font-weight:650;color:var(--tp-ink);width:32%;padding-left:0}
.tp-scope td{color:var(--tp-text)}
.tp-about-mark{background:var(--tp-soft);border:1px solid var(--tp-line);border-radius:6px;padding:20px}
.tp-about-mark svg{display:block;width:100%;height:auto}
.tp-contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:65px}
.tp-contact-primary{background:var(--tp-navy);padding:40px;border-radius:6px;color:#fff}
.tp-contact-primary h2{color:#fff;font-size:29px}
.tp-contact-primary p{color:#d8e7ef}
.tp-contact-primary .tp-eyebrow{color:#65d2f0}
.tp-contact-primary .tp-phone{display:inline-block;font-size:clamp(27px,3vw,40px);font-weight:650;letter-spacing:-.025em;color:#fff;margin:20px 0 10px}
.tp-contact-detail{padding:25px 0;border-bottom:1px solid var(--tp-line)}
.tp-contact-detail:first-child{padding-top:0}
.tp-contact-detail h3{font-size:20px;margin-bottom:12px}
.tp-contact-detail a{color:var(--tp-blue);font-weight:600;overflow-wrap:anywhere}
.tp-enquiry-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:25px}
.tp-main .tp-contact-note{margin-top:23px;font-size:calc(13px + var(--tp-text-size-increase));color:var(--tp-text)}
/* Shared closing invitation and footer. */
.tp-contact-strip{background:var(--tp-navy);color:#fff;padding:48px 0}
.tp-contact-strip-row{display:flex;justify-content:space-between;gap:35px;align-items:center}
.tp-contact-strip h2{margin:0;color:#fff;font-size:clamp(27px,3vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.2}
.tp-contact-strip p{margin:12px 0 0;color:#d6e5ee;font-size:calc(15px + var(--tp-text-size-increase))}
.tp-contact-strip .tp-btn{background:#fff;color:var(--tp-ink)!important;border-color:#fff;flex-shrink:0}
.tp-footer{background:#f2f6f8;border-top:1px solid #cad7da;padding-top:45px;font-size:calc(13px + var(--tp-text-size-increase));color:#3e5465}
.tp-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:45px;padding-bottom:38px}
.tp-footer-brand .tp-logo{width:205px;margin-bottom:13px}
.tp-footer h3{margin:11px 0 17px;color:var(--tp-ink);font-size:calc(13px + var(--tp-text-size-increase));font-weight:750}
.tp-footer ul{margin:0;padding:0;list-style:none}
.tp-footer li{margin-bottom:9px}
.tp-footer a:hover{color:var(--tp-blue)}
.tp-footer p{max-width:230px}
.tp-footer .tp-address{margin-top:11px;line-height:1.8}
.tp-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c7d2da;padding-block:20px;font-size:calc(11px + var(--tp-text-size-increase));color:#4b6173}
/* Responsive layout. Navigation remains usable without JavaScript. */
@media(max-width:1100px){.tp-wrap{width:calc(100% - 56px)}
.tp-desktop-nav{gap:18px}
.tp-logo{width:190px}
.tp-header-row{gap:18px}
.tp-hero-grid{gap:40px}
.tp-split{gap:50px}
.tp-industry{padding:25px}
.tp-page-hero-grid{gap:45px}
.tp-faq-grid{gap:50px}}
@media(max-width:1050px){html{scroll-padding-top:95px}
.tp-header-row{min-height:82px}
.tp-logo{width:185px}
.tp-desktop-nav,.tp-header-call{display:none}
.tp-mobile-menu{display:block}
.tp-mobile-menu summary{cursor:pointer;list-style:none;padding:9px 14px;background:var(--tp-navy);color:#fff;border-radius:4px;font-size:calc(13px + var(--tp-text-size-increase));font-weight:650}
.tp-mobile-menu summary::-webkit-details-marker{display:none}
.tp-mobile-links{position:absolute;top:100%;left:28px;right:28px;background:#fff;border:1px solid var(--tp-line);box-shadow:0 18px 35px #0f2d4118;padding:15px;max-height:70vh;overflow:auto}
.tp-mobile-links a{display:block;padding:11px 12px;font-size:calc(15px + var(--tp-text-size-increase));border-bottom:1px solid #d4dee3}
.tp-hero-grid{grid-template-columns:1.1fr 1fr;gap:30px;padding-block:58px}
.tp-hero h1{font-size:48px}
.tp-lead{font-size:calc(17px + var(--tp-text-size-increase))}
.tp-board-top{font-size:calc(8px + var(--tp-text-size-increase));padding:15px}
.tp-board-foot{grid-template-columns:1fr;padding:19px;gap:10px}
.tp-board-foot strong{font-size:calc(16px + var(--tp-text-size-increase))}
.tp-board-foot span{margin-top:2px}
.tp-section{padding-block:65px}
.tp-industry-grid{gap:15px}
.tp-industry{padding:23px;min-height:340px}
.tp-industry h3{font-size:22px}
.tp-industry p{font-size:calc(14px + var(--tp-text-size-increase))}
.tp-quote-grid{gap:45px}
.tp-quote blockquote{font-size:23px}
.tp-service-grid{grid-template-columns:repeat(2,1fr)}
.tp-footer-grid{gap:25px;grid-template-columns:1.3fr 1fr 1fr}
.tp-footer-brand{grid-column:1/-1;display:flex;gap:40px;align-items:center}
.tp-footer-brand .tp-logo{margin-bottom:0}
.tp-footer-brand p{max-width:320px}
.tp-contact-grid{gap:35px}
.tp-contact-primary{padding:30px}}
@media(max-width:680px){html{scroll-padding-top:80px}
.tp-wrap{width:calc(100% - 40px)}
.tp-header-row{min-height:76px}
.tp-logo{width:174px}
.tp-mobile-links{left:20px;right:20px}
.tp-hero{background:linear-gradient(180deg,#fff 57%,#edf5f8 57%)}
.tp-hero-grid{grid-template-columns:1fr;padding-block:48px;gap:38px}
.tp-hero h1{font-size:clamp(40px,10vw,57px)}
.tp-eyebrow{font-size:calc(10px + var(--tp-text-size-increase));letter-spacing:.13em;margin-bottom:17px}
.tp-hero .tp-lead{margin-top:22px}
.tp-actions{gap:11px;margin-top:26px}
.tp-btn{padding:12px 18px;min-height:48px;font-size:calc(13px + var(--tp-text-size-increase))}
.tp-hero-note{font-size:calc(12px + var(--tp-text-size-increase))}
.tp-brand-board{max-width:460px;width:100%;margin-inline:auto}
.tp-board-logo{padding-inline:45px}
.tp-board-foot{grid-template-columns:1fr 1fr;padding:20px;gap:15px}
.tp-board-foot strong{font-size:calc(16px + var(--tp-text-size-increase))}
.tp-board-top{font-size:calc(9px + var(--tp-text-size-increase));padding:15px 20px}
.tp-trust-row{grid-template-columns:1fr;gap:10px;padding-block:20px;font-size:calc(12px + var(--tp-text-size-increase))}
.tp-trust-row>div+div{padding-left:0;border-left:0}
.tp-trust-row>div{display:flex;flex-direction:row;justify-content:space-between;gap:15px}
.tp-section{padding-block:52px}
.tp-section-heading{display:block;margin-bottom:28px}
.tp-section-heading p{margin-top:20px;font-size:calc(15px + var(--tp-text-size-increase))}
.tp-industry-grid,.tp-split,.tp-page-hero-grid,.tp-points-grid,.tp-faq-grid,.tp-contact-grid{grid-template-columns:1fr}
.tp-industry{min-height:0;padding:28px}
.tp-industry-mark{margin-bottom:22px}
.tp-industry h3{font-size:25px}
.tp-industry p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-industry .tp-text-link{padding-top:23px}
.tp-split{gap:35px}
.tp-support-panel{padding:30px}
.tp-feature-row{padding:22px 0;gap:12px;grid-template-columns:30px 1fr}
.tp-quote{padding:40px 0}
.tp-quote-grid{grid-template-columns:1fr;gap:35px}
.tp-quote blockquote{font-size:23px}
.tp-quote cite{margin-top:12px}
.tp-page-hero{padding-block:29px 43px}
.tp-breadcrumb{margin-bottom:30px;font-size:calc(11px + var(--tp-text-size-increase))}
.tp-page-hero-grid{gap:30px}
.tp-page-hero h1{font-size:clamp(37px,9vw,52px)}
.tp-page-aside{padding-left:20px}
.tp-page-aside strong{font-size:calc(17px + var(--tp-text-size-increase))}
.tp-page-aside p{font-size:calc(14px + var(--tp-text-size-increase))}
.tp-product-list{margin-top:20px}
.tp-points-grid{gap:0}
.tp-point{padding:23px 0}
.tp-point h3{font-size:22px}
.tp-workflow{grid-template-columns:1fr;gap:27px;margin-top:29px}
.tp-step>span{margin-bottom:13px}
.tp-faq-grid{gap:30px}
.tp-faq summary{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-service-grid{grid-template-columns:1fr;gap:27px}
.tp-scope{font-size:calc(14px + var(--tp-text-size-increase))}
.tp-scope th,.tp-scope td{padding:15px 9px}
.tp-scope th{padding-left:0;width:37%}
.tp-contact-primary{padding:29px}
.tp-contact-primary .tp-phone{font-size:32px}
.tp-contact-grid{gap:36px}
.tp-contact-strip{padding-block:35px}
.tp-contact-strip-row{display:block}
.tp-contact-strip .tp-btn{margin-top:23px}
.tp-footer-grid{grid-template-columns:1fr 1fr;gap:26px}
.tp-footer-brand{display:block;grid-column:1/-1}
.tp-footer-brand .tp-logo{margin-bottom:13px}
.tp-footer-grid>div:last-child{grid-column:1/-1}
.tp-footer-bottom{display:block;line-height:1.8}
.tp-footer-bottom span{display:block}
.admin-bar .tp-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important}}


/* v1.0.1: illustrated industries, support navigation and the head-office map. */
.tp-connection-art{padding:0 22px 8px;background:#fff}
.tp-connection-art svg{display:block;width:100%;height:auto;max-height:160px}
.tp-industry-art{height:158px;margin-bottom:25px;background:#edf7fc;border:1px solid #c6d9e1;border-radius:5px;overflow:hidden}
.tp-industry-art svg{display:block;width:100%;height:100%}
.tp-industry-mark{margin-bottom:24px}
.tp-drop-links{width:255px;z-index:5}
.tp-drop-links a:focus-visible{outline-offset:-3px;background:var(--tp-soft)}
.tp-mobile-support{border-bottom:1px solid #d4dee3}
.tp-mobile-links .tp-mobile-support>summary{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;background:#edf4f7;color:var(--tp-ink);border-radius:0;font-size:calc(15px + var(--tp-text-size-increase));font-weight:650;cursor:pointer;list-style:none}
.tp-mobile-support>summary::after{content:"+";font-size:21px;line-height:1}
.tp-mobile-support[open]>summary::after{content:"-"}
.tp-mobile-support-links a{padding-left:26px!important}
.tp-map-section{padding-top:0}
.tp-map-heading{align-items:center}
.tp-map-heading .tp-btn{flex-shrink:0}
.tp-map-card{border:1px solid #abc2d0;border-radius:7px;overflow:hidden;background:#edf4f7}
.tp-map-card iframe{display:block;width:100%;height:420px;border:0}
.tp-map-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 23px;background:#fff;color:var(--tp-ink);font-size:calc(14px + var(--tp-text-size-increase))}
.tp-map-caption span{color:var(--tp-text)}
@media(max-width:1050px) and (min-width:901px){.tp-mobile-menu{display:block}
.tp-desktop-nav,.tp-header-call{display:none}}
@media(max-width:680px){.tp-industry-art{height:178px}
.tp-connection-art{padding-inline:18px}
.tp-map-heading .tp-btn{margin-top:24px}
.tp-map-card iframe{height:325px}
.tp-map-caption{display:block;padding:17px 20px}
.tp-map-caption span{display:block;margin-top:5px}}

/* business-it: shared page layout. */

/* Page-specific additions preserve the shared TP Solutions presentation. */
.tp-business .tp-business-art{display:block;width:100%;max-width:330px;height:auto;margin:0 auto 20px}
.tp-business .tp-business-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.tp-business .tp-business-jumps a{display:inline-block;padding:9px 14px;border:1px solid #9ebac9;border-radius:4px;background:#fff;color:#122c40;font-size:calc(13px + var(--tp-text-size-increase));font-weight:650;line-height:1.5}
.tp-business .tp-business-jumps a:hover{background:#edf4f7;border-color:#016488}
.tp-business .tp-business-number{display:block;color:#016488;font-size:calc(11px + var(--tp-text-size-increase));font-weight:750;letter-spacing:.12em;margin-bottom:12px}
.tp-business .tp-point{scroll-margin-top:135px}
.tp-business .tp-point p+p{margin-top:12px}
.tp-business .tp-business-foundation{padding-top:0}
@media(max-width:680px){.tp-business .tp-business-art{max-width:260px;margin-bottom:16px}
.tp-business .tp-business-jumps{gap:8px;margin-bottom:26px}
.tp-business .tp-business-jumps a{padding:9px 11px;font-size:calc(12px + var(--tp-text-size-increase))}
.tp-business .tp-point{scroll-margin-top:100px}}


/* medical-it: shared page layout. */

/* Page-specific additions inherit the shared TP colours, type and spacing. */
.tp-medical-art{max-width:390px;margin:0 0 21px;background:#e3f2f8;border:1px solid #b2ced8;border-radius:5px;overflow:hidden}
.tp-medical-art svg{display:block;width:100%;height:auto;max-height:185px}
.tp-medical-nav{border-bottom:1px solid var(--tp-line);background:#fff}
.tp-medical-nav .tp-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:14px 32px;padding-block:20px}
.tp-medical-nav a{display:inline-flex;align-items:center;gap:12px;font-size:calc(14px + var(--tp-text-size-increase));font-weight:700;color:var(--tp-blue)}
.tp-medical-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.tp-medical-kicker{display:block;margin-bottom:12px;font-size:calc(11px + var(--tp-text-size-increase));font-weight:750;letter-spacing:.12em;color:var(--tp-blue);text-transform:uppercase}
.tp-medical .tp-page-aside p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-medical .tp-service-grid{row-gap:35px}
.tp-medical .tp-remote-heading{margin-bottom:22px}
.tp-medical .tp-remote-panel .tp-text-link{color:#fff!important;text-decoration:underline;text-underline-offset:4px}
.tp-medical [id]{scroll-margin-top:20px}
@media(max-width:680px){.tp-medical-nav .tp-wrap{gap:13px 22px;padding-block:18px}
.tp-medical-nav a{font-size:calc(13px + var(--tp-text-size-increase))}
.tp-medical-art{max-width:390px}
.tp-medical [id]{scroll-margin-top:20px}}


/* pharmacy-it: shared page layout. */

/* TP Solutions Website v1.1.2. Styles are scoped to the Pharmacy IT page. */
.tp-pharmacy-main .tp-page-hero-grid{grid-template-columns:1.25fr 1fr;gap:70px}
.tp-pharmacy-main .tp-page-aside{border:0;padding:0}
.tp-pharmacy-main .tp-page-aside strong{margin:20px 0 10px}
.tp-ph-hero-art{height:208px;background:#e7f4fb;border:1px solid #b6d1d9;border-radius:7px;overflow:hidden}
.tp-ph-hero-art svg{display:block;width:100%;height:100%}
.tp-ph-topic-nav{border-bottom:1px solid var(--tp-line);background:#fff}
.tp-ph-topic-nav .tp-wrap{display:flex;flex-wrap:wrap;gap:10px;padding-block:22px}
.tp-ph-topic-nav a{display:inline-flex;align-items:center;padding:9px 15px;background:#edf4f7;border:1px solid #c0d0d9;border-radius:4px;color:var(--tp-ink);font-size:calc(13px + var(--tp-text-size-increase));font-weight:650}
.tp-ph-topic-nav a:hover{background:#dceef6;border-color:#69a1b6}
.tp-pharmacy-main .tp-ph-intro{max-width:700px;margin-top:22px;font-size:calc(17px + var(--tp-text-size-increase))}
.tp-ph-system-list{margin-top:36px;border-top:1px solid #b3c5d0}
.tp-ph-system{display:grid;grid-template-columns:35px 255px 1fr;align-items:start;gap:22px;padding:27px 0;border-bottom:1px solid var(--tp-line)}
.tp-ph-system-number{color:var(--tp-blue);font-size:calc(12px + var(--tp-text-size-increase));font-weight:750;padding-top:5px}
.tp-ph-system h3{font-size:23px;letter-spacing:-.025em;line-height:1.25}
.tp-ph-system-type{display:block;margin-top:9px;color:#4c6577;font-size:calc(12px + var(--tp-text-size-increase));line-height:1.6}
.tp-ph-system p{font-size:calc(15px + var(--tp-text-size-increase));padding-top:2px}
.tp-ph-digital-grid,.tp-ph-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:34px}
.tp-ph-digital-card,.tp-ph-work-card{padding:32px;background:#fff;border:1px solid #bacfd8;border-radius:6px}
.tp-ph-digital-card h3,.tp-ph-work-card h3{font-size:25px;margin-bottom:19px}
.tp-ph-digital-card p,.tp-ph-work-card p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-ph-digital-card ul,.tp-ph-work-card ul{padding-left:20px!important;margin-top:20px!important;color:var(--tp-text);font-size:calc(14px + var(--tp-text-size-increase))}
.tp-ph-digital-card li+li,.tp-ph-work-card li+li{margin-top:9px}
.tp-ph-service-lines{margin:0}
.tp-ph-service-lines div{display:grid;grid-template-columns:145px 1fr;gap:17px;padding:15px 0;border-top:1px solid var(--tp-line)}
.tp-ph-service-lines div:first-child{padding-top:0;border-top:0}
.tp-ph-service-lines div:last-child{padding-bottom:0}
.tp-ph-service-lines dt{font-size:calc(14px + var(--tp-text-size-increase));font-weight:700;line-height:1.6;color:var(--tp-ink)}
.tp-ph-service-lines dd{margin:0;color:var(--tp-text);font-size:calc(14px + var(--tp-text-size-increase));line-height:1.6}
.tp-ph-work-card{border-top:3px solid var(--tp-blue);background:#f8fbfd}
.tp-ph-work-card .tp-icon{display:block;width:42px;height:42px;color:var(--tp-blue);margin-bottom:24px}
.tp-ph-group{background:var(--tp-navy)}
.tp-ph-group-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start}
.tp-pharmacy-main .tp-ph-group h2,.tp-pharmacy-main .tp-ph-group h3{color:#fff}
.tp-pharmacy-main .tp-ph-group p{color:#d8e7ef}
.tp-ph-group .tp-eyebrow{color:#79daf3}
.tp-ph-group .tp-lead{margin-top:24px}
.tp-ph-group .tp-btn{background:#fff;color:var(--tp-ink)!important;border-color:#fff}
.tp-ph-group-points{display:grid;grid-template-columns:1fr 1fr;gap:28px 30px}
.tp-ph-group-points article{padding-top:20px;border-top:1px solid #63889e}
.tp-ph-group-points h3{font-size:20px;line-height:1.3;margin-bottom:12px}
.tp-ph-group-points p{font-size:calc(14px + var(--tp-text-size-increase))}
.tp-ph-everyday{margin-top:35px}
@media(max-width:1050px){.tp-pharmacy-main .tp-page-hero-grid{gap:35px}
.tp-ph-system{grid-template-columns:26px 220px 1fr;gap:16px}
.tp-ph-digital-card,.tp-ph-work-card{padding:27px}
.tp-ph-service-lines div{grid-template-columns:1fr;gap:6px}
.tp-ph-group-grid{gap:40px}
.tp-ph-group-points{gap:26px 22px}}
@media(max-width:760px){.tp-ph-system{grid-template-columns:25px 1fr;gap:5px 16px}
.tp-ph-system p{grid-column:2;margin-top:12px}
.tp-ph-system-type{margin-top:6px}
.tp-ph-digital-grid,.tp-ph-work-grid,.tp-ph-group-grid{grid-template-columns:1fr}
.tp-ph-group-grid{gap:36px}
.tp-ph-group-points{gap:28px}
.tp-ph-hero-art{height:180px}}
@media(max-width:680px){.tp-pharmacy-main .tp-page-hero-grid{grid-template-columns:1fr;gap:30px}
.tp-pharmacy-main .tp-ph-intro{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-ph-topic-nav .tp-wrap{gap:8px;padding-block:18px}
.tp-ph-topic-nav a{font-size:calc(12px + var(--tp-text-size-increase));padding:8px 11px}
.tp-ph-system{padding-block:24px}
.tp-ph-system h3{font-size:23px}
.tp-ph-digital-grid,.tp-ph-work-grid{gap:20px;margin-top:27px}
.tp-ph-digital-card,.tp-ph-work-card{padding:25px}
.tp-ph-service-lines div{grid-template-columns:1fr;gap:5px}
.tp-ph-group-points{grid-template-columns:1fr}
.tp-ph-group-points article{padding-top:18px}}


/* Shared spacing formerly stored inside individual pages. */
.tp-main .tp-space-top-10{margin-top:10px}
.tp-main .tp-space-top-18{margin-top:18px}
.tp-main .tp-space-top-24{margin-top:24px}


/* v1.1.2 Contact page. All rules stay in the single shared stylesheet. */
.tp-contact-page .tp-contact-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 88% 15%,#d9f2fa 0,transparent 53%),linear-gradient(115deg,#fff 5%,#edf5f8 100%);padding-bottom:76px}
.tp-contact-page .tp-contact-hero:before{content:"";position:absolute;right:-90px;top:-145px;width:510px;height:510px;border:1px solid #aaced9;border-radius:50%;pointer-events:none}
.tp-contact-page .tp-contact-hero .tp-wrap{position:relative}
.tp-contact-page .tp-page-hero-grid{grid-template-columns:1.1fr 1fr;gap:75px}
.tp-contact-page h1 span{color:var(--tp-blue)}
.tp-contact-page .tp-lead{max-width:535px}
.tp-contact-page .tp-contact-hero-note{margin-top:23px;font-size:calc(13px + var(--tp-text-size-increase));font-weight:600;color:#305165}
.tp-contact-visual{position:relative;min-width:0;background:linear-gradient(145deg,#fff,#f4fbfe);border:1px solid #b1c9d4;border-radius:18px;box-shadow:0 24px 60px #122c4012;overflow:hidden;transform:rotate(-2deg)}
.tp-contact-visual-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px 15px;padding:18px 23px;border-bottom:1px solid #cbd9df;color:#2e5063;font-size:calc(12px + var(--tp-text-size-increase));font-weight:650}
.tp-contact-visual-top span{display:flex;align-items:center;gap:9px}
.tp-contact-visual-top i{width:8px;height:8px;background:#01799b;border-radius:50%}
.tp-contact-visual svg{display:block;width:100%;height:auto}
.tp-contact-visual-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--tp-navy);padding:21px 24px}
.tp-contact-page .tp-contact-visual-foot strong{color:#fff;font-size:calc(16px + var(--tp-text-size-increase));font-weight:650;line-height:1.5}
.tp-contact-visual-foot span{color:#bdeafa;font-size:calc(13px + var(--tp-text-size-increase));white-space:nowrap}
.tp-contact-page .tp-contact-ways{padding-top:65px}
.tp-contact-ways .tp-section-heading{align-items:start;margin-bottom:30px}
.tp-contact-ways .tp-section-heading p{max-width:425px;padding-top:4px}
.tp-contact-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tp-contact-card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid #b6cad5;background:#fff;border-radius:12px;box-shadow:0 7px 22px #122c4006;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.tp-contact-card:hover,.tp-contact-card:focus-within{transform:translateY(-4px);border-color:#4c90a6;box-shadow:0 16px 35px #122c4012}
.tp-contact-card .tp-contact-icon{margin-bottom:24px}
.tp-contact-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:56px;height:56px;border:1px solid #b1d0da;border-radius:15px;background:#e7f5fb;color:var(--tp-blue)}
.tp-contact-icon .tp-icon{width:28px;height:28px}
.tp-contact-page .tp-contact-card h3{font-size:25px;margin-bottom:15px}
.tp-contact-card p{font-size:calc(15px + var(--tp-text-size-increase));line-height:1.7}
.tp-contact-card .tp-contact-value{display:block;margin-bottom:14px;overflow-wrap:anywhere;font-size:calc(17px + var(--tp-text-size-increase));font-weight:700;line-height:1.5;color:var(--tp-blue)}
.tp-contact-card .tp-contact-value:hover{text-decoration:underline;text-underline-offset:4px}
.tp-contact-card .tp-text-link{margin-top:auto;padding-top:25px}
.tp-contact-card-call{background:linear-gradient(140deg,#122c40,#204f69);border-color:#122c40}
.tp-contact-card-call:before{content:"";position:absolute;right:-47px;top:-47px;width:170px;height:170px;border:1px solid #6cc4e055;border-radius:50%;pointer-events:none}
.tp-contact-page .tp-contact-card-call h3,.tp-contact-page .tp-contact-card-call .tp-contact-value{color:#fff}
.tp-contact-page .tp-contact-card-call p{color:#dfedf5}
.tp-contact-page .tp-contact-card-call .tp-contact-value{font-size:clamp(25px,2.45vw,32px);letter-spacing:-.025em}
.tp-contact-card-call .tp-contact-icon{background:#244d61;border-color:#608da1;color:#a9eaff}
.tp-contact-card-call .tp-text-link{color:#b5edff!important}
.tp-contact-card-call a:focus-visible,.tp-contact-office-info a:focus-visible{outline-color:#a8deef}
.tp-contact-page .tp-contact-prepare{display:flex;align-items:flex-start;gap:14px;margin-top:25px;padding:20px 23px;background:#f0f7fa;border:1px solid #c7d6df;border-radius:8px}
.tp-contact-prepare .tp-icon{width:25px;height:25px;color:var(--tp-blue);flex-shrink:0;margin-top:2px}
.tp-contact-prepare p{font-size:calc(14px + var(--tp-text-size-increase));line-height:1.7}
.tp-contact-prepare strong{color:var(--tp-ink)}
.tp-contact-enquiries{background:#edf5f8;border-block:1px solid #c8d6de}
.tp-contact-enquiries .tp-section-heading{margin-bottom:32px}
.tp-contact-enquiry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tp-contact-enquiry{display:flex;align-items:center;gap:18px;min-width:0;background:#fff;padding:25px;border:1px solid #b9cfd8;border-radius:10px;transition:transform .2s,border-color .2s,box-shadow .2s}
.tp-contact-enquiry:hover{transform:translateY(-3px);border-color:#4c90a6;box-shadow:0 10px 24px #122c400c}
.tp-contact-enquiry .tp-contact-icon{width:49px;height:49px;border-radius:12px}
.tp-contact-enquiry .tp-contact-icon .tp-icon{width:27px;height:27px}
.tp-contact-enquiry strong{display:block;color:var(--tp-ink);font-size:calc(18px + var(--tp-text-size-increase));line-height:1.35}
.tp-contact-enquiry small{display:block;margin-top:5px;font-size:calc(13px + var(--tp-text-size-increase));color:var(--tp-blue)}
.tp-contact-enquiry>.tp-arrow{color:var(--tp-blue);flex-shrink:0;margin-left:auto}
.tp-contact-page .tp-contact-enquiries .tp-contact-note{margin-top:20px;font-size:calc(13px + var(--tp-text-size-increase))}
.tp-contact-page .tp-contact-office{padding-top:78px}
.tp-contact-office-grid{display:grid;grid-template-columns:.8fr 1.5fr;border:1px solid #a1bcca;border-radius:14px;overflow:hidden;box-shadow:0 15px 40px #122c400c}
.tp-contact-office-info{position:relative;background:var(--tp-navy);padding:37px 34px;overflow:hidden}
.tp-contact-office-info:after{content:"";position:absolute;width:190px;height:190px;right:-82px;bottom:-98px;border:1px solid #48768d;border-radius:50%;pointer-events:none}
.tp-contact-page .tp-contact-office-info .tp-eyebrow{color:#a5e9ff;margin-bottom:23px}
.tp-contact-page .tp-contact-office-info h3{font-size:28px;line-height:1.3;color:#fff;margin-bottom:18px}
.tp-contact-page .tp-contact-office-info p{color:#d8eaf4}
.tp-contact-office-info .tp-contact-icon{background:#254b60;border-color:#658ca1;color:#b3ecff;margin-bottom:23px}
.tp-contact-office-info .tp-btn{margin-top:28px;position:relative;background:#fff;color:var(--tp-ink)!important;border-color:#fff}
.tp-contact-office-info .tp-btn:hover{background:#dff3fc}
.tp-contact-office-map{display:flex;flex-direction:column;min-width:0;background:#edf4f7}
.tp-contact-office-map iframe{display:block;width:100%;min-height:350px;height:100%;flex:1;border:0}
.tp-contact-office-caption{background:#fff;padding:16px 22px;font-size:calc(13px + var(--tp-text-size-increase));color:#2f4d5f}
.tp-contact-office-caption strong{color:var(--tp-ink)}
.tp-contact-remote{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:22px;margin-top:32px;padding:29px 30px;background:#edf6fa;border:1px solid #b7cfd9;border-radius:10px}
.tp-contact-page .tp-contact-remote h3{font-size:23px;margin-bottom:8px}
.tp-contact-remote p{font-size:calc(14px + var(--tp-text-size-increase))}
.tp-contact-remote-links{display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.tp-contact-remote-links .tp-text-link{font-size:calc(14px + var(--tp-text-size-increase))}
/* Keep all controls available without scripts; movement is decorative only. */
@media(prefers-reduced-motion:no-preference){.tp-contact-orbit{transform-origin:250px 151px;animation:tp-contact-orbit 25s linear infinite}.tp-contact-signal{animation:tp-contact-signal 3.6s ease-in-out infinite}.tp-contact-signal-delay{animation-delay:1.8s}}
@keyframes tp-contact-orbit{to{transform:rotate(360deg)}}
@keyframes tp-contact-signal{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:1050px){.tp-contact-ways .tp-section-heading,.tp-contact-enquiries .tp-section-heading{display:block}.tp-contact-ways .tp-section-heading p,.tp-contact-enquiries .tp-section-heading p{margin-top:18px;max-width:600px}.tp-contact-page .tp-page-hero-grid{gap:36px}.tp-contact-card{padding:25px}.tp-contact-enquiry{padding:23px 19px;gap:12px}.tp-contact-office-grid{grid-template-columns:1fr 1.5fr}.tp-contact-office-info{padding:30px 27px}.tp-contact-remote{grid-template-columns:56px 1fr}.tp-contact-remote-links{grid-column:2;flex-direction:row;flex-wrap:wrap;gap:16px 25px}}
@media(max-width:820px){.tp-contact-page .tp-page-hero-grid{grid-template-columns:1fr 1fr;gap:28px}.tp-contact-visual{transform:none}.tp-contact-visual-top{padding:15px}.tp-contact-visual-foot{display:block;padding:18px}.tp-contact-visual-foot span{display:block;margin-top:4px}.tp-contact-card-grid{grid-template-columns:1fr}.tp-contact-card{padding:28px}.tp-contact-card .tp-contact-icon{margin-bottom:20px}.tp-contact-page .tp-contact-card-call .tp-contact-value{font-size:32px}.tp-contact-enquiry-grid{grid-template-columns:1fr}.tp-contact-enquiry{padding:22px 25px}.tp-contact-office-grid{grid-template-columns:1fr 1.3fr}}
@media(max-width:680px){.tp-contact-page .tp-contact-hero{padding-bottom:44px}.tp-contact-page .tp-page-hero-grid{grid-template-columns:1fr;gap:36px}.tp-contact-visual{max-width:460px;width:100%;margin-inline:auto}.tp-contact-visual-top{padding:16px 19px}.tp-contact-visual-foot{display:block;padding:19px}.tp-contact-visual-foot span{display:block;margin-top:5px}.tp-contact-visual-foot strong{font-size:calc(14px + var(--tp-text-size-increase))}.tp-contact-visual-foot span{font-size:calc(12px + var(--tp-text-size-increase))}.tp-contact-page .tp-contact-ways,.tp-contact-page .tp-contact-office{padding-top:49px}.tp-contact-ways .tp-section-heading p{padding-top:0}.tp-contact-page .tp-contact-prepare{padding:19px 18px;gap:12px}.tp-contact-office-grid{grid-template-columns:1fr}.tp-contact-office-info{padding:29px}.tp-contact-office-map iframe{min-height:310px;height:310px;flex:none}.tp-contact-office-caption{padding:16px 20px}.tp-contact-remote{padding:24px;grid-template-columns:1fr;gap:18px}.tp-contact-remote-links{grid-column:auto;flex-direction:column;gap:16px}.tp-contact-page .tp-contact-remote h3{font-size:24px}}

/* Support: illustrated hero, two connection choices and a short getting-started guide.
   Artwork is decorative. Motion stops for visitors who request reduced motion. */
.tp-help-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 83% 30%,#235975 0,transparent 50%),linear-gradient(115deg,#0d2438,#16364e);padding-block:30px 64px;color:#fff}
.tp-help-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#8dc9de 1px,transparent 1px);background-size:25px 25px;opacity:.12;pointer-events:none}
.tp-help-hero>.tp-wrap{position:relative}
.tp-help-hero .tp-breadcrumb{color:#c9e0eb;margin-bottom:30px}
.tp-help-hero .tp-breadcrumb a{color:#a9ebfa}
.tp-help-hero a:focus-visible{outline-color:#80d6e9}
.tp-help-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center}
.tp-help-hero .tp-eyebrow{color:#89e5f8;margin-bottom:18px}
.tp-help-hero h1{color:#fff;font-size:clamp(42px,4.6vw,64px);line-height:1.12;letter-spacing:-.045em}
.tp-help-hero h1 span{color:#89e5f8}
.tp-help-hero .tp-lead{color:#e1edf4;max-width:540px;font-size:calc(18px + var(--tp-text-size-increase));margin-top:22px}
.tp-help-entry{display:flex;align-items:center;flex-wrap:wrap;gap:23px 26px;margin-top:28px}
.tp-help-entry>.tp-btn{background:#fff;border-color:#fff;color:var(--tp-ink)!important}
.tp-help-entry>.tp-btn:hover{background:#e5f5fb}
.tp-help-phone{display:inline-flex;gap:12px;align-items:center;color:#fff!important}
.tp-help-phone>svg{width:33px;height:33px;fill:none;stroke:#89e5f8;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tp-help-phone small{display:block;color:#d6e7f0;font-size:calc(13px + var(--tp-text-size-increase));line-height:1.4}
.tp-help-phone strong{display:block;font-size:23px;line-height:1.5;font-weight:650;letter-spacing:.01em}
.tp-help-visual{border:1px solid #5e879f;border-radius:14px;background:linear-gradient(140deg,#ffffff0d,#0e243759);box-shadow:0 20px 60px #030e1d29;overflow:hidden}
.tp-help-art-label,.tp-help-art-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d6e9f2;font-size:calc(10px + var(--tp-text-size-increase));font-weight:700;letter-spacing:.12em;padding:17px 21px}
.tp-help-art-label{border-bottom:1px solid #648da24d}
.tp-help-art{display:block;width:100%;height:auto}
.tp-help-art-caption{border-top:1px solid #648da24d;justify-content:center;color:#bdeaf6;font-size:calc(11px + var(--tp-text-size-increase));gap:20px}
.tp-help-connection{height:1px;width:65px;background:#6ddaf0;position:relative}
.tp-help-connection:before,.tp-help-connection:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#6ddaf0}
.tp-help-connection:before{left:0}.tp-help-connection:after{right:0}
.tp-help-signal{animation:tp-help-flow 8s linear infinite}
@keyframes tp-help-flow{to{stroke-dashoffset:-96}}
.tp-help-options{padding-block:53px 56px;background:linear-gradient(180deg,#edf5f9,#fff)}
.tp-help-options-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}
.tp-help-options-heading .tp-eyebrow{margin-bottom:12px}
.tp-help-options-heading h2{font-size:clamp(28px,3vw,38px);max-width:660px}
.tp-help-options-heading>p{font-size:calc(14px + var(--tp-text-size-increase));max-width:340px;flex-shrink:0}
.tp-help-cards{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.tp-help-card{display:flex;flex-direction:column;position:relative;overflow:hidden;padding:30px 34px 25px;border:1px solid #b3c6d2;border-top:4px solid #0184ab;border-radius:10px;background:#fff;box-shadow:0 12px 28px #12314610;transition:transform .2s,border-color .2s,box-shadow .2s}
.tp-help-card:after{content:"";position:absolute;right:-45px;top:-58px;width:190px;height:190px;border:25px solid #dce6eb;border-radius:50%;pointer-events:none}
.tp-help-card-alt{border-top-color:#22455b}
.tp-help-card-alt:after{border-color:#dde3e5}
.tp-help-card:hover{transform:translateY(-4px);border-color:#3482a3;box-shadow:0 20px 34px #1231461c}
.tp-help-card>*{position:relative;z-index:1}
.tp-help-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}
.tp-help-card-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #a9d1d8;border-radius:14px;background:#edf8fc;color:#017192}
.tp-help-card-alt .tp-help-card-icon{background:#eef3f8;border-color:#b7c5d0;color:#22455b}
.tp-help-card-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tp-help-option-label{font-size:calc(11px + var(--tp-text-size-increase));font-weight:700;letter-spacing:.1em;color:#425f70}
.tp-help-card h3{font-size:30px;line-height:1.2;margin-bottom:15px;letter-spacing:-.035em}
.tp-help-card>p{font-size:calc(15px + var(--tp-text-size-increase));max-width:450px;line-height:1.65}
.tp-help-card-bottom{margin-top:auto;padding-top:24px}
.tp-help-host{display:block;margin-bottom:16px;font-family:Consolas,"Courier New",monospace;font-size:calc(14px + var(--tp-text-size-increase));color:#39596c}
.tp-help-card .tp-btn{width:100%;min-height:54px;justify-content:space-between;font-size:calc(15px + var(--tp-text-size-increase));gap:15px;padding-inline:20px}
.tp-help-card .tp-arrow{flex-shrink:0}
.tp-help-new-tab{display:block;font-size:calc(12px + var(--tp-text-size-increase));text-align:center;color:#4c6374;margin-top:11px}
.tp-help-callout{display:flex;justify-content:center;align-items:center;gap:13px;margin-top:28px;padding:18px 22px;background:#eff6fa;border:1px solid #c1d3da;border-radius:7px}
.tp-help-callout>svg{width:28px;height:28px;flex-shrink:0;fill:none;stroke:#016d89;stroke-width:1.7;stroke-linecap:round}
.tp-help-callout p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-help-callout strong{color:var(--tp-ink)}
.tp-help-callout a{font-weight:700;color:var(--tp-blue);white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.tp-help-how{background:#edf4f7;border-block:1px solid #cbd6dd}
.tp-help-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;list-style:none;padding:0}
.tp-help-steps li{display:flex;align-items:start;gap:19px;border-top:1px solid #acc3d1;padding-top:26px}
.tp-help-step-number{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #abc6d4;background:#fff;border-radius:50%;color:#016488;font-size:calc(13px + var(--tp-text-size-increase));font-weight:750}
.tp-help-steps h3{font-size:22px;line-height:1.3;margin:6px 0 14px;letter-spacing:-.025em}
.tp-help-steps p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-support-main .tp-faq p a{font-size:inherit}
@media(max-width:1050px){.tp-help-hero-grid{gap:30px;grid-template-columns:1.15fr 1fr}.tp-help-art-label{font-size:calc(8px + var(--tp-text-size-increase));padding-inline:15px}.tp-help-art-caption{font-size:calc(9px + var(--tp-text-size-increase));gap:12px}.tp-help-card{padding-inline:26px}.tp-help-options-heading{align-items:start;gap:25px}.tp-help-options-heading>p{max-width:260px}.tp-help-steps{gap:25px}.tp-help-steps li{display:block}.tp-help-step-number{margin-bottom:16px}}
@media(max-width:760px){.tp-help-hero-grid{grid-template-columns:1fr;gap:35px}.tp-help-hero h1{font-size:clamp(40px,7vw,58px)}.tp-help-visual{width:100%;max-width:480px;margin-inline:auto}.tp-help-hero .tp-lead{max-width:560px}.tp-help-cards{grid-template-columns:1fr;gap:22px}.tp-help-options-heading{display:block}.tp-help-options-heading>p{max-width:none;margin-top:18px}.tp-help-card{padding:27px 29px 23px}.tp-help-card>p{max-width:none}.tp-help-card-bottom{padding-top:22px}.tp-help-card-top{margin-bottom:19px}}
@media(max-width:680px){.tp-help-hero{padding-block:26px 40px}.tp-help-hero .tp-breadcrumb{margin-bottom:28px}.tp-help-hero .tp-eyebrow{font-size:calc(11px + var(--tp-text-size-increase));letter-spacing:.1em}.tp-help-hero .tp-lead{font-size:calc(17px + var(--tp-text-size-increase))}.tp-help-entry{gap:20px}.tp-help-phone{margin:0;padding:0}.tp-help-visual{max-width:410px}.tp-help-art-label{font-size:calc(9px + var(--tp-text-size-increase));padding:14px 16px;letter-spacing:.08em}.tp-help-art-caption{font-size:calc(10px + var(--tp-text-size-increase));gap:12px;padding:14px 12px;letter-spacing:.07em}.tp-help-connection{width:45px}.tp-help-options{padding-block:39px}.tp-help-options-heading h2{font-size:31px}.tp-help-card{padding:25px 23px 21px}.tp-help-card h3{font-size:28px}.tp-help-card-icon{width:58px;height:58px}.tp-help-option-label{font-size:calc(10px + var(--tp-text-size-increase));letter-spacing:.08em}.tp-help-card .tp-btn{font-size:calc(14px + var(--tp-text-size-increase));padding-inline:16px}.tp-help-callout{align-items:start;justify-content:start;padding:18px;gap:11px}.tp-help-callout strong{display:block}.tp-help-callout>svg{margin-top:3px}.tp-help-steps{grid-template-columns:1fr;gap:25px}.tp-help-steps li{display:flex;gap:18px;padding-top:22px}.tp-help-step-number{margin:0}.tp-help-steps h3{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.tp-help-signal{animation:none}.tp-help-card:hover{transform:none}}

/* Services page v1.1.4: vector artwork and service cards share this stylesheet. */
.tp-services .tp-page-hero{background:linear-gradient(120deg,#edf4f7 55%,#e0f0f8 55%)}
.tp-services .tp-page-hero h1 span{color:var(--tp-blue)}
.tp-services .tp-page-aside{border:0;padding:0;min-width:0}
.tp-services .tp-page-aside strong{margin:23px 0 12px}
.tp-services .tp-svc-hero-art{position:relative;padding:14px;background:#fff;border:1px solid #b0c9d5;border-radius:11px;box-shadow:0 18px 35px #13324b10}
.tp-svc-hero-art svg,.tp-svc-card-art svg,.tp-svc-plan-art svg{display:block;width:100%;height:auto}
.tp-services .tp-svc-cloud{animation:tp-svc-float 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.tp-services .tp-svc-signal{animation:tp-svc-pulse 3s ease-in-out infinite}
.tp-services .tp-svc-catalogue{background:#f7fafc}
.tp-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.tp-svc-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #bbd1d8;border-radius:8px;box-shadow:0 8px 20px #122c4005}
.tp-svc-card-art{aspect-ratio:2 / 1;padding:12px 16px;background:linear-gradient(145deg,#edf7fc,#e4f2f9);border-bottom:1px solid #cad9e0;display:grid;place-items:center;overflow:hidden}
.tp-svc-card-art svg{height:100%;transition:transform .25s ease}
.tp-svc-card:hover .tp-svc-card-art svg{transform:translateY(-3px)}
.tp-svc-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:27px}
.tp-services .tp-svc-number{display:block;margin-bottom:15px;color:var(--tp-blue);font-size:calc(12px + var(--tp-text-size-increase));font-weight:750;letter-spacing:.12em;line-height:1.5}
.tp-services .tp-svc-card h3{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin-bottom:16px}
.tp-services .tp-svc-card p{font-size:calc(15px + var(--tp-text-size-increase));line-height:1.7}
.tp-svc-card .tp-text-link{margin-top:auto;padding-top:25px}
.tp-services .tp-svc-plan-art{max-width:340px;margin-top:32px}
.tp-svc-plan-card{min-width:0;background:#fff;border:1px solid #b1c7d3;border-radius:8px;overflow:hidden;box-shadow:0 13px 30px #122c4008}
.tp-svc-plan-head{display:flex;align-items:center;gap:13px;padding:22px 25px;background:var(--tp-navy);color:#fff;font-size:calc(17px + var(--tp-text-size-increase));line-height:1.4}
.tp-svc-plan-head strong{font-weight:650}
.tp-svc-plan-head svg{width:27px;height:27px;flex-shrink:0;fill:none;stroke:#7fdcf4;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tp-services .tp-svc-plan-card .tp-scope th,.tp-services .tp-svc-plan-card .tp-scope td{padding:20px 22px;line-height:1.6}
.tp-services .tp-svc-plan-card .tp-scope th{width:39%;background:#f5f9fb}
.tp-services .tp-svc-plan-card .tp-scope tr:last-child th,.tp-services .tp-svc-plan-card .tp-scope tr:last-child td{border-bottom:0}
@keyframes tp-svc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes tp-svc-pulse{0%,100%{opacity:1}50%{opacity:.4}}
@media(max-width:1050px){.tp-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.tp-services .tp-page-hero-grid{gap:35px}.tp-svc-card-body{padding:25px}.tp-services .tp-svc-plan-card .tp-scope th,.tp-services .tp-svc-plan-card .tp-scope td{padding:17px 18px}}
@media(max-width:760px){.tp-services .tp-split{grid-template-columns:1fr;gap:32px}.tp-services .tp-svc-plan-art{max-width:300px}.tp-services .tp-svc-plan-card .tp-scope th{width:35%}}
@media(max-width:680px){.tp-svc-grid{grid-template-columns:minmax(0,1fr);gap:24px}.tp-services .tp-page-hero{background:linear-gradient(160deg,#edf4f7 55%,#e0f0f8 55%)}.tp-services .tp-svc-hero-art{max-width:470px;margin-inline:auto;padding:10px}.tp-services .tp-page-aside strong{margin-top:20px}.tp-services .tp-svc-number{font-size:calc(12px + var(--tp-text-size-increase))}.tp-services .tp-svc-card h3{font-size:24px}.tp-svc-card-body{padding:25px}.tp-svc-card-art{aspect-ratio:2.1 / 1}.tp-svc-plan-head{padding:19px 20px}.tp-services .tp-svc-plan-card .tp-scope th,.tp-services .tp-svc-plan-card .tp-scope td{padding:16px 13px;font-size:calc(14px + var(--tp-text-size-increase))}.tp-services .tp-svc-plan-card .tp-scope th{width:38%}}
@media(prefers-reduced-motion:reduce){.tp-services .tp-svc-cloud,.tp-services .tp-svc-signal{animation:none}.tp-svc-card-art svg{transition:none}}

/* Contact card v1.2.5. Rotate within SVG coordinates, not the HTML wrapper. */
.tp-contact-page .tp-contact-visual-vector {
  --tp-contact-card-angle: -2deg;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  transform: none;
  rotate: none;
  translate: none;
  animation: none;
  transition: none;
}
.tp-contact-visual-vector .tp-contact-card-scene {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  font-family: "Segoe UI", Arial, sans-serif;
  text-rendering: geometricPrecision;
}
.tp-contact-card-plane {
  transform-box: view-box;
  transform-origin: 50% 50%;
  transform: rotate(var(--tp-contact-card-angle));
}
.tp-contact-plane-shadow {
  fill: #fff;
  filter: drop-shadow(0 13px 16px #122c4024);
}
.tp-contact-plane-paper { fill: #fff; }
.tp-contact-plane-rule { stroke: var(--tp-line); }
.tp-contact-plane-footer { fill: var(--tp-navy); }
.tp-contact-plane-dot { fill: var(--tp-blue); }
.tp-contact-plane-border {
  fill: none;
  stroke: var(--tp-line);
  stroke-width: 1;
}
.tp-contact-plane-label,
.tp-contact-plane-wordmark {
  fill: var(--tp-ink);
  font-size: calc(17px + var(--tp-text-size-increase));
  font-weight: 600;
}
.tp-contact-plane-wordmark {
  font-size: calc(15px + var(--tp-text-size-increase));
  font-weight: 700;
  letter-spacing: .035em;
}
.tp-contact-plane-title {
  fill: #fff;
  font-size: calc(21px + var(--tp-text-size-increase));
  font-weight: 700;
}
.tp-contact-plane-caption {
  fill: #d0f1ff;
  font-size: calc(16px + var(--tp-text-size-increase));
  font-weight: 500;
}
.tp-contact-visual-vector .tp-contact-visual-mobile { display: none; }
.tp-contact-page .tp-contact-visual-top {
  padding: 19px 22px;
  gap: 10px 18px;
  color: var(--tp-ink);
  font-size: calc(14px + var(--tp-text-size-increase));
  font-weight: 600;
  line-height: 1.4;
}
.tp-contact-visual-top > span:last-child { font-weight: 700; }
.tp-contact-visual-top i { flex: 0 0 8px; }
.tp-contact-page .tp-contact-visual-foot {
  display: block;
  padding: 22px;
}
.tp-contact-page .tp-contact-visual-foot strong {
  color: #fff;
  font-size: calc(18px + var(--tp-text-size-increase));
  font-weight: 700;
  line-height: 1.4;
}
.tp-contact-page .tp-contact-visual-foot span {
  display: block;
  margin-top: 7px;
  color: #d0f1ff;
  font-size: calc(14px + var(--tp-text-size-increase));
  font-weight: 500;
  line-height: 1.5;
  white-space: normal;
}
@media (prefers-reduced-motion: no-preference) {
  .tp-contact-card-plane {
    animation: tp-contact-vector-enter 1.2s cubic-bezier(.2,.75,.25,1) backwards;
  }
  .tp-contact-visual-vector path[stroke-dasharray] {
    animation: tp-contact-vector-flow 2.5s linear infinite;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .tp-contact-card-plane { transition: transform .45s ease; }
  .tp-contact-visual-vector:hover { --tp-contact-card-angle: 0deg; }
}
@keyframes tp-contact-vector-enter {
  from { transform: translateY(12px) rotate(calc(var(--tp-contact-card-angle) - 3deg)); }
  to { transform: translateY(0) rotate(var(--tp-contact-card-angle)); }
}
@keyframes tp-contact-vector-flow { to { stroke-dashoffset: -40; } }
@media (max-width: 1100px) {
  .tp-contact-visual-vector .tp-contact-card-scene { display: none; }
  .tp-contact-visual-vector .tp-contact-visual-mobile {
    display: block;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--tp-line);
    border-radius: 18px;
    box-shadow: 0 20px 40px #122c401c;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tp-contact-card-plane,
  .tp-contact-visual-vector .tp-contact-orbit,
  .tp-contact-visual-vector .tp-contact-signal,
  .tp-contact-visual-vector path[stroke-dasharray] {
    animation: none;
    transition: none;
  }
}
/* TP Solutions v1.2.6. Homepage backdrop only. Decorative motion is optional. */
.tp-home .tp-hero{isolation:isolate;background:radial-gradient(ellipse at 87% 17%,#bce5f5 0,transparent 50%),linear-gradient(115deg,#fff 18%,#f2f9fc 53%,#e1f2fa 100%)}
.tp-home .tp-hero-grid{position:relative;z-index:1}
.tp-home .tp-home-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.tp-home .tp-home-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffffed 0,#ffffffa6 35%,#ffffff00 66%)}
.tp-home .tp-home-glow{position:absolute;width:820px;height:650px;right:-190px;top:-210px;border-radius:50%;background:radial-gradient(ellipse,rgba(114,203,231,.36) 0,#b4e6f547 39%,#ffffff00 70%)}
.tp-home .tp-home-glow-low{width:660px;height:480px;top:auto;bottom:-290px;right:25%;background:radial-gradient(ellipse,rgba(126,184,216,.24) 0,#ffffff00 69%)}
.tp-home .tp-home-grid{position:absolute;width:1120px;height:1120px;right:-100px;top:-320px;transform:rotate(-24deg);background-image:linear-gradient(rgba(115,167,193,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(115,167,193,.15) 1px,transparent 1px);background-size:62px 62px;mask-image:radial-gradient(ellipse at 65% 43%,#000000 13%,transparent 68%)}
.tp-home .tp-home-circuit{position:absolute;inset:0;width:100%;height:100%;color:rgb(113,169,193);mask-image:linear-gradient(90deg,transparent 12%,#000000 64%)}
.tp-home .tp-home-route{fill:none;stroke:currentColor;stroke-width:1.2;opacity:.55}
.tp-home .tp-home-flow{fill:none;stroke:rgb(21,152,190);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:10 260;opacity:.7}
.tp-home .tp-home-orbit{transform-origin:1100px 360px}
.tp-home .tp-brand-board{box-shadow:0 24px 58px rgba(18,44,64,.14),0 0 0 8px #ffffff85}
.tp-home .tp-trust-bar{background:linear-gradient(90deg,#fff,#f2f9fc,#fff)}
.tp-home #expertise{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 0 0,#dceff9 0,transparent 58%),linear-gradient(125deg,#f4f9fc,#edf4f7 52%,#e5f1f8)}
.tp-home #expertise::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:radial-gradient(rgb(121,169,194) .9px,transparent .9px);background-size:20px 20px;mask-image:linear-gradient(0deg,transparent,#000000 55%,transparent)}
.tp-home #expertise>.tp-wrap{position:relative;z-index:1}
.tp-home .tp-quote{background:radial-gradient(ellipse at 95% 100%,#d1edf9,transparent 53%),linear-gradient(110deg,#edf6fb,#e1eff6)}
.tp-home .tp-home-motion-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.tp-home .tp-home-motion-toggle{position:absolute;z-index:2;bottom:15px;right:max(40px,calc((100% - var(--tp-width)) / 2));display:none;align-items:center;gap:8px;min-height:34px;padding:6px 12px;border:1px solid var(--tp-line);border-radius:20px;background:#fffffff0;color:var(--tp-ink);font-size:calc(12px + var(--tp-text-size-increase));font-weight:650;line-height:1.4;cursor:pointer}
.tp-home .tp-home-motion-toggle:hover{border-color:var(--tp-blue)}
.tp-home .tp-home-motion-toggle svg{width:12px;height:12px;fill:currentColor}
.tp-home .tp-home-motion-toggle .tp-home-resume{display:none}
.tp-home .tp-home-motion-input:focus-visible~.tp-hero .tp-home-motion-toggle{outline:3px solid var(--tp-blue);outline-offset:4px}
.tp-home .tp-home-motion-input:checked~.tp-hero .tp-home-motion-layer{animation-play-state:paused}
.tp-home .tp-home-motion-input:checked~.tp-hero .tp-home-pause{display:none}
.tp-home .tp-home-motion-input:checked~.tp-hero .tp-home-resume{display:inline}
@media(prefers-reduced-motion:no-preference){
.tp-home .tp-home-motion-toggle{display:inline-flex}
.tp-home .tp-home-glow{animation:tp-home-glow-drift 26s ease-in-out infinite alternate}
.tp-home .tp-home-glow-low{animation-delay:-12s;animation-direction:alternate-reverse}
.tp-home .tp-home-flow{animation:tp-home-signal-flow 28s linear infinite}
.tp-home .tp-home-flow-two{animation-delay:-9s}
.tp-home .tp-home-flow-three{animation-delay:-18s}
.tp-home .tp-home-orbit{animation:tp-home-orbit-turn 72s linear infinite}
}
@keyframes tp-home-glow-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-35px,28px,0) scale(1.06)}}
@keyframes tp-home-signal-flow{to{stroke-dashoffset:-1080}}
@keyframes tp-home-orbit-turn{to{transform:rotate(360deg)}}
@media(max-width:1050px){.tp-home .tp-home-motion-toggle{right:28px}.tp-home .tp-home-grid{right:-350px}}
@media(max-width:680px){
.tp-home .tp-hero{background:radial-gradient(ellipse at 83% 72%,#c3e6f6 0,transparent 48%),linear-gradient(180deg,#fff 26%,#edf7fc 70%,#e2f1f9)}
.tp-home .tp-hero-grid{padding-bottom:85px}
.tp-home .tp-home-backdrop::after{background:linear-gradient(180deg,#fffffff0 0,#ffffffa6 32%,#ffffff00 63%)}
.tp-home .tp-home-circuit{top:40%;height:60%;opacity:.65}
.tp-home .tp-home-grid{right:-640px;top:120px;opacity:.65}
.tp-home .tp-home-glow{right:-480px;top:36%}
.tp-home .tp-home-glow-low{display:none}
.tp-home .tp-home-motion-toggle{right:20px;bottom:18px}
.tp-home .tp-brand-board{box-shadow:0 18px 38px rgba(18,44,64,.11),0 0 0 5px #ffffff85}
}
/* Service detail pages v1.2.7: spacing inherits the common type and palette. */
.tp-service-detail .tp-section-heading h2+p{max-width:680px;margin-top:22px}
.tp-service-detail .tp-faq-grid h2+.tp-text-link{margin-top:25px}
/* TP Solutions v1.3.1. Industry pages and navigation share this module. */
.tp-industry-menu .tp-drop-links{width:480px;display:grid;grid-template-columns:1fr 1fr;gap:3px;max-height:calc(100dvh - 150px);overflow-y:auto}
.tp-nav-drop:not([open]) .tp-drop-links{display:none}
.tp-drop-links a{line-height:1.4;min-height:44px;display:flex;align-items:center}
.tp-mobile-links{max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain}
.tp-mobile-industry-label{display:block;padding:12px 15px 6px;color:var(--tp-blue);font-size:calc(13px + var(--tp-text-size-increase));font-weight:750}
.tp-footer-industries{columns:2;column-gap:18px}
.tp-footer-industries li{break-inside:avoid}
.tp-footer-industries a{line-height:1.5;display:inline-block;padding-block:3px}
.tp-sector-page .tp-page-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#ceeaf5 0,transparent 55%),linear-gradient(120deg,#fff 35%,#edf6fa)}
.tp-sector-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center}
.tp-sector-page h1{font-size:clamp(39px,4.5vw,62px);max-width:700px}
.tp-sector-page .tp-lead{max-width:630px}
.tp-sector-visual{min-width:0;position:relative}
.tp-sector-art{display:block;width:100%;height:auto;overflow:visible}
.tp-sector-orbit{fill:none;stroke:#90c1d5;stroke-width:1.5;stroke-dasharray:4 9}
.tp-sector-visual-label{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--tp-blue);font-weight:700;font-size:calc(14px + var(--tp-text-size-increase));margin-top:4px}
.tp-sector-stages{background:var(--tp-navy);color:#fff;border-block:1px solid var(--tp-navy)}
.tp-sector-stages ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0}
.tp-sector-stages li{display:flex;align-items:center;gap:15px;padding:27px 23px;border-right:1px solid #5c7c8f}
.tp-sector-stages li:first-child{padding-left:0}
.tp-sector-stages li:last-child{border:0}
.tp-sector-stages span{font-size:calc(13px + var(--tp-text-size-increase));color:#9fe4f8;font-weight:700}
.tp-sector-stages strong{font-size:calc(18px + var(--tp-text-size-increase));font-weight:600;line-height:1.4}
.tp-sector-heading{max-width:790px;margin-bottom:38px}
.tp-sector-heading h2{margin-bottom:20px}
.tp-sector-heading>p{max-width:720px;font-size:calc(17px + var(--tp-text-size-increase))}
.tp-sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tp-sector-card{padding:29px 27px 31px;background:#fff;border:1px solid var(--tp-line);border-radius:9px;box-shadow:0 6px 18px #0c223505;transition:transform .2s,box-shadow .2s}
.tp-sector-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0c223510}
.tp-sector-number{display:flex;align-items:center;gap:12px;color:var(--tp-blue);font-size:calc(13px + var(--tp-text-size-increase));font-weight:750;letter-spacing:.08em;margin-bottom:23px}
.tp-sector-number:after{content:"";display:block;width:37px;height:2px;background:#7abbd3}
.tp-sector-card h3{font-size:24px;line-height:1.22;margin-bottom:16px}
.tp-sector-card p{font-size:calc(15px + var(--tp-text-size-increase));line-height:1.75}
.tp-sector-platforms{background:linear-gradient(110deg,#e4f1f7,#f5fafc);border-block:1px solid var(--tp-line);padding-block:55px}
.tp-sector-platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.tp-sector-platforms h2{font-size:clamp(29px,3vw,37px);margin-bottom:18px}
.tp-sector-platforms p{font-size:calc(15px + var(--tp-text-size-increase))}
.tp-sector-apps{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;padding:0}
.tp-sector-apps li{display:flex;align-items:center;min-height:82px;padding:20px;background:#fff;border:1px solid var(--tp-line);border-left:3px solid var(--tp-blue);border-radius:5px;font-size:calc(16px + var(--tp-text-size-increase));font-weight:650;line-height:1.4}
.tp-sector-focus{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}
.tp-sector-focus h2{margin-bottom:24px}
.tp-sector-focus ul{list-style:none;padding:8px 0 0}
.tp-sector-focus li{display:flex;align-items:start;gap:16px;padding:21px 0;border-bottom:1px solid var(--tp-line);font-size:calc(17px + var(--tp-text-size-increase));font-weight:600;line-height:1.6}
.tp-sector-focus li:before{content:"";width:10px;height:10px;flex:0 0 10px;margin-top:8px;border:2px solid var(--tp-blue);border-radius:50%;box-shadow:0 0 0 5px #e7f3f8}
.tp-sector-related{margin-top:30px!important;font-size:calc(14px + var(--tp-text-size-increase))}
.tp-sector-related a{color:var(--tp-blue);text-decoration:underline;text-underline-offset:4px}
.tp-sector-home-heading{margin-top:46px!important;margin-bottom:23px!important;font-size:26px!important}
.tp-sector-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tp-sector-home-card{display:flex;flex-direction:column;align-items:start;background:#fff;border:1px solid var(--tp-line);border-radius:7px;padding:24px;transition:box-shadow .2s,transform .2s}
.tp-sector-home-card:hover{box-shadow:0 10px 22px #0c223510;transform:translateY(-3px)}
.tp-sector-home-card .tp-icon{width:37px;height:37px;color:var(--tp-blue);margin-bottom:20px}
.tp-sector-home-card h3{font-size:22px;line-height:1.3;margin-bottom:12px}
.tp-sector-home-card p{font-size:calc(14px + var(--tp-text-size-increase));line-height:1.65}
.tp-sector-home-card .tp-text-link{padding-top:20px;margin-top:auto}
@media(prefers-reduced-motion:no-preference){.tp-sector-orbit{animation:tp-sector-orbit 24s linear infinite}.tp-sector-satellite{animation:tp-sector-arrive .8s ease-out both}}
@keyframes tp-sector-orbit{to{stroke-dashoffset:-130}}
@keyframes tp-sector-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:1050px){.tp-sector-hero-grid{gap:25px}.tp-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-sector-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-sector-card{padding:25px}.tp-sector-focus{gap:35px}.tp-footer-industries{columns:1}}
@media(max-width:760px){.tp-sector-hero-grid,.tp-sector-platform-grid,.tp-sector-focus{grid-template-columns:1fr;gap:32px}.tp-sector-visual{max-width:460px;width:100%;margin-inline:auto}.tp-sector-stages li{gap:10px;padding:21px 12px}.tp-sector-stages strong{font-size:calc(15px + var(--tp-text-size-increase))}.tp-sector-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.tp-sector-grid{grid-template-columns:1fr;gap:18px}.tp-sector-page h1{font-size:39px}.tp-sector-page .tp-page-hero{padding-bottom:35px}.tp-sector-stages ol{grid-template-columns:1fr 1fr}.tp-sector-stages li:nth-child(2){border-right:0}.tp-sector-stages li:nth-child(-n+2){border-bottom:1px solid #5c7c8f}.tp-sector-stages li:nth-child(3){padding-left:0}.tp-sector-stages strong{font-size:calc(17px + var(--tp-text-size-increase))}.tp-sector-card{padding:27px}.tp-sector-platforms{padding-block:39px}.tp-sector-apps{gap:10px}.tp-sector-apps li{padding:17px 14px;font-size:calc(15px + var(--tp-text-size-increase))}.tp-sector-focus li{font-size:calc(16px + var(--tp-text-size-increase))}.tp-sector-home-grid{grid-template-columns:1fr}.tp-sector-home-card{display:grid;grid-template-columns:42px 1fr;gap:0 18px;padding:23px}.tp-sector-home-card .tp-icon{grid-row:1 / 4;margin:0}.tp-sector-home-card .tp-text-link{padding-top:17px}.tp-footer-industries{columns:2}.tp-sector-related{line-height:1.9}}
@media(prefers-reduced-motion:reduce){.tp-sector-orbit,.tp-sector-satellite{animation:none}.tp-sector-card,.tp-sector-home-card{transition:none}.tp-sector-card:hover,.tp-sector-home-card:hover{transform:none}}
/* Services menu v1.3.2: keep all catalogue entries reachable. */
.tp-service-menu .tp-drop-links{width:310px;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
.tp-services .tp-svc-card[id]{scroll-margin-top:24px}
/* v1.4.0: enlarge selected labels and footer text; body-copy rules are retained. */
.tp-main .tp-eyebrow,.tp-main .tp-breadcrumb,.tp-main .tp-svc-number,.tp-main .tp-business-number,.tp-main .tp-medical-kicker,.tp-main .tp-ph-system-number,.tp-main .tp-sector-number,.tp-main .tp-help-option-label{font-size:14px}
.tp-main .tp-product-list span,.tp-main .tp-help-new-tab{font-size:14px}
.tp-main .tp-board-top,.tp-main .tp-help-art-label{font-size:14px;letter-spacing:.06em;gap:10px;flex-wrap:wrap}
.tp-main .tp-help-art-caption{font-size:14px;flex-wrap:wrap;letter-spacing:.06em}
.tp-footer{font-size:15px}
.tp-footer h3{font-size:15px}
.tp-footer-bottom{font-size:14px}
.tp-footer-intro{display:flex;align-items:center;gap:35px;margin-bottom:32px;padding-bottom:25px;border-bottom:1px solid var(--tp-line)}
.tp-footer-intro .tp-logo{width:205px}
.tp-footer-intro p{max-width:430px}
.tp-footer-grid.tp-footer-grid-v14{grid-template-columns:1.35fr 1.2fr .85fr 1fr;gap:30px}
.tp-footer-grid-v14 .tp-footer-industries{columns:2;column-gap:18px}
.tp-footer-grid-v14 a{line-height:1.5}
/* Current-page links also use text weight and an underline, not colour alone. */
.tp-desktop-nav>a[aria-current="page"],.tp-nav-drop.tp-is-current>summary{color:var(--tp-blue);box-shadow:inset 0 -2px 0 var(--tp-blue);padding-block:5px;font-weight:750}
.tp-drop-links a[aria-current="page"],.tp-mobile-links a[aria-current="page"]{background:var(--tp-soft);color:var(--tp-blue);font-weight:750;box-shadow:inset 3px 0 0 var(--tp-blue)}
.tp-mobile-support.tp-is-current>summary{color:var(--tp-blue);font-weight:750}
.tp-footer a[aria-current="page"]{color:var(--tp-blue);font-weight:750;text-decoration:underline;text-underline-offset:4px}
.tp-main .tp-service-context{font-size:15px;margin-top:18px;line-height:1.8}
.tp-service-context a,.tp-service-related a{color:var(--tp-blue);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.tp-service-related h2{margin-bottom:24px}
.tp-service-related p+p{margin-top:16px}
.tp-audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.tp-audience-card{min-width:0;padding:32px;background:#fff;border:1px solid var(--tp-line);border-top:4px solid var(--tp-blue);border-radius:9px}
.tp-main .tp-audience-card h3{font-size:28px;margin-bottom:18px;line-height:1.2}
.tp-audience-card ul{padding-left:21px!important;margin-top:20px!important;color:var(--tp-text);font-size:16px;line-height:1.75}
.tp-audience-card li+li{margin-top:12px}
.tp-main .tp-example-note{margin-top:24px;font-size:15px;max-width:900px}
/* Real text labels keep the dealership diagram readable and accessible. */
.tp-dealer-map{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 250px minmax(0,1fr);grid-template-rows:1fr 1fr;gap:30px 55px;min-height:460px;align-items:stretch}
.tp-dealer-lines{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.tp-dealer-node,.tp-dealer-hub{min-width:0;padding:27px;border:1px solid var(--tp-line);border-radius:10px;background:#fff}
.tp-dealer-sales{grid-column:1;grid-row:1}
.tp-dealer-admin{grid-column:3;grid-row:1}
.tp-dealer-parts{grid-column:1;grid-row:2}
.tp-dealer-workshop{grid-column:3;grid-row:2}
.tp-dealer-hub{grid-column:2;grid-row:1 / 3;align-self:center;background:var(--tp-navy);border-color:var(--tp-navy);color:#fff;text-align:center;padding:35px 23px}
.tp-main .tp-dealer-node h3{font-size:25px;margin-bottom:16px}
.tp-main .tp-dealer-node p{font-size:16px;line-height:1.7}
.tp-main .tp-dealer-hub h3{color:#fff;font-size:28px;margin-bottom:16px}
.tp-main .tp-dealer-hub .tp-eyebrow{color:#a5e9ff;font-size:14px;line-height:1.6;letter-spacing:.08em}
.tp-dealer-hub strong{display:block;color:#a5e9ff;font-size:20px;margin-bottom:18px}
.tp-main .tp-dealer-hub p{color:#e1edf4;font-size:16px;line-height:1.7}
@media(max-width:1050px){.tp-footer-grid.tp-footer-grid-v14{grid-template-columns:1fr 1fr;gap:28px 35px}.tp-dealer-map{grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);gap:24px}.tp-dealer-node{padding:22px}.tp-main .tp-dealer-node h3{font-size:23px}}
@media(max-width:760px){.tp-audience-grid{grid-template-columns:1fr}.tp-audience-card{padding:27px}.tp-dealer-map{grid-template-columns:1fr 1fr;grid-template-rows:auto;min-height:0;gap:20px}.tp-dealer-hub{grid-column:1 / -1;grid-row:1;max-width:none}.tp-dealer-sales{grid-column:1;grid-row:2}.tp-dealer-admin{grid-column:2;grid-row:2}.tp-dealer-parts{grid-column:1;grid-row:3}.tp-dealer-workshop{grid-column:2;grid-row:3}.tp-dealer-lines{display:none}}
@media(max-width:680px){.tp-footer-intro{display:block}.tp-footer-intro .tp-logo{margin-bottom:18px}.tp-footer-grid.tp-footer-grid-v14{grid-template-columns:1fr 1fr;gap:26px}.tp-footer-grid-v14 .tp-footer-industries{columns:1}.tp-footer-grid.tp-footer-grid-v14>div:last-child{grid-column:auto}.tp-footer-bottom{line-height:1.8}.tp-main .tp-audience-card h3{font-size:25px}.tp-dealer-map{grid-template-columns:1fr}.tp-dealer-hub,.tp-dealer-sales,.tp-dealer-admin,.tp-dealer-parts,.tp-dealer-workshop{grid-column:1;grid-row:auto}.tp-dealer-hub{order:-1}.tp-dealer-node{padding:26px}}
