/* One shared normal, hover and keyboard-focus treatment across public pages. */
.tp-redesign-main :is(.section-heading,.editorial-section)>.text-link,.tp-entry-content a,.tp-faq-answer a{color:var(--link-color,var(--blue))}
/* Compact pause/play symbol with a stronger carousel outline. */
body .carousel-arrow,body .pause{border-width:2px!important}
body .pause>span{display:block;position:relative;width:14px;height:16px;font-size:0;line-height:0}
body .pause>span::before,body .pause>span::after{content:"";position:absolute;top:0;width:4px;height:16px;border-radius:1px;background:currentColor}
body .pause>span::before{left:1px}
body .pause>span::after{right:1px}
body .pause[aria-pressed=true]>span::before{left:1px;width:14px;clip-path:polygon(0 0,100% 50%,0 100%);border-radius:0}
body .pause[aria-pressed=true]>span::after{display:none}
body :is(.round-arrow,.carousel-arrow)::before{background:var(--tp-button-text);mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%2012h14m-6-6%206%206-6%206%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%2012h14m-6-6%206%206-6%206%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
@media(hover:hover){body :is(.round-arrow,.carousel-arrow):hover::before,body .blog-card:hover .round-arrow::before{background:var(--tp-button-hover-text)}}
body :is(.round-arrow,.carousel-arrow):focus-visible::before{background:var(--tp-button-hover-text)}
body :is(.pill,.button,.nav-contact,.menu-toggle,.carousel-arrow,.round-arrow,.pause,.service-detail,.text-link,.tp-scroll-controls button,.page-numbers,.tp-contact-form input[type=submit],.tp-contact-form button[type=submit]){
 display:inline-flex;align-items:center;justify-content:center;
 background:var(--tp-button-background)!important;color:var(--tp-button-text)!important;
 border:1px solid var(--tp-button-border)!important;border-radius:999px;
 box-shadow:none!important;transform:none;line-height:1.2;
 transition:background .18s,color .18s,box-shadow .18s,transform .18s;
}
body .text-link{padding:10px 18px;gap:12px;min-height:44px;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:.02em}
body .news-list a>b{border:1px solid var(--tp-button-border);border-radius:50%;width:36px;height:36px;flex-shrink:0;background-color:var(--tp-button-background);color:var(--tp-button-text)}
@media(hover:hover){
 body :is(.pill,.button,.nav-contact,.menu-toggle,.carousel-arrow,.round-arrow,.pause,.service-detail,.text-link,.tp-scroll-controls button,.page-numbers,.tp-contact-form input[type=submit],.tp-contact-form button[type=submit]):hover,body .blog-card:hover .round-arrow,body .service-card:hover .service-detail,body .news-list a:hover>b{background-color:var(--tp-button-hover-background)!important;color:var(--tp-button-hover-text)!important;box-shadow:2px 3px 0 var(--tp-button-shadow)!important;transform:translateY(-2px)}
}
body :is(.pill,.button,.nav-contact,.menu-toggle,.carousel-arrow,.round-arrow,.pause,.service-detail,.text-link,.tp-scroll-controls button,.page-numbers,.tp-contact-form input[type=submit],.tp-contact-form button[type=submit]):focus-visible,body .tp-scroll-controls button[aria-pressed=true],body .page-numbers.current,body .news-list a:focus-visible>b{
 background-color:var(--tp-button-hover-background)!important;color:var(--tp-button-hover-text)!important;box-shadow:2px 3px 0 var(--tp-button-shadow)!important;
}
body .service-detail{justify-content:space-between}
/* Geometric arrow colour follows the same settings as its label. */
body :is(.pill,.text-link)>span,body .service-detail>b,body .news-list a>b{position:relative;background-image:none;color:transparent}
body :is(.pill,.text-link)>span::before,body .service-detail>b::before,body .news-list a>b::before{
 content:"";position:absolute;inset:22%;background:var(--tp-button-text);
 clip-path:polygon(0 40%,65% 40%,42% 17%,56% 3%,100% 50%,56% 97%,42% 83%,65% 60%,0 60%);
}
/* Hide the original arrow glyph even when hover rules change its colour. */
body .news-list a>b{font-size:0;line-height:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
body .news-list a>b::before{inset:25%;width:auto;height:auto;transform:none}
body .news-list a>b::after{content:none}
body :is(.pill,.text-link)>span::after,body .service-detail>b::after{content:none}
@media(hover:hover){
 body :is(.pill,.text-link):hover>span::before,body .service-card:hover .service-detail>b::before,body .news-list a:hover>b::before{background:var(--tp-button-hover-text)}
}
@media(prefers-reduced-motion:reduce){body :is(.pill,.button,.nav-contact,.menu-toggle,.carousel-arrow,.round-arrow,.pause,.service-detail,.text-link,.tp-scroll-controls button,.page-numbers,.tp-contact-form input[type=submit],.tp-contact-form button[type=submit]){transition:none}}
