/* Purple text buttons use the existing 48px homepage project CTA as the shared standard.
   Explicit component classes render correctly before JavaScript; legacy Divi buttons
   receive .tt-purple-button only when their existing fill is purple/magenta. */
html body.tt-site #cmplz-cookiebanner-container#cmplz-cookiebanner-container#cmplz-cookiebanner-container :is(.cmplz-accept,.tt-purple-button),
html body.tt-site :is(#tt-purple-button-specificity,.tt-purple-button,.tt-btn-magenta,.tt-pf-magenta,.tt-branch-button-secondary,.tt-download-contact,.tt-results-search-form button),
html body.tt-site #page-container#page-container #main-content :is(.tt-purple-button,.tt-btn-magenta,.tt-pf-magenta,.tt-branch-button-secondary,.tt-download-contact,.tt-results-search-form button) {
 align-items:center!important;justify-content:center!important;gap:8px!important;box-sizing:border-box!important;
 background-color:#b112b5!important;background-image:none!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;
 font-family:var(--ttr-font-head,'Neue Haas Medium',Arial,sans-serif)!important;font-size:16px!important;font-weight:400!important;line-height:24px!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;
 padding:12px 24px!important;min-height:48px!important;height:auto!important;max-width:100%!important;white-space:normal!important;vertical-align:middle!important;
 cursor:pointer;transition:background-color .15s ease!important;
}
html body.tt-site #cmplz-cookiebanner-container#cmplz-cookiebanner-container#cmplz-cookiebanner-container :is(.cmplz-accept,.tt-purple-button):hover,
html body.tt-site :is(#tt-purple-button-specificity,.tt-purple-button,.tt-btn-magenta,.tt-pf-magenta,.tt-branch-button-secondary,.tt-download-contact,.tt-results-search-form button):hover,
html body.tt-site #page-container#page-container #main-content :is(.tt-purple-button,.tt-btn-magenta,.tt-pf-magenta,.tt-branch-button-secondary,.tt-download-contact,.tt-results-search-form button):hover {background-color:#951094!important;}
html body.tt-site #cmplz-cookiebanner-container#cmplz-cookiebanner-container#cmplz-cookiebanner-container :is(.cmplz-accept,.tt-purple-button):focus-visible,
html body.tt-site :is(#tt-purple-button-specificity,.tt-purple-button,.tt-btn-magenta,.tt-pf-magenta,.tt-branch-button-secondary,.tt-download-contact,.tt-results-search-form button):focus-visible {outline:3px solid #b112b5!important;outline-offset:4px!important;}
html body.tt-site #page-container#page-container #main-content :is(.tt-purple-button,.tt-btn-magenta,.tt-pf-magenta,.tt-branch-button-secondary,.tt-download-contact,.tt-results-search-form button):focus-visible {outline:3px solid #b112b5!important;outline-offset:4px!important;}
html body.tt-site :is(#tt-purple-button-specificity,.tt-purple-button,.tt-btn-magenta)::before,
html body.tt-site :is(#tt-purple-button-specificity,.tt-purple-button,.tt-btn-magenta)::after,
html body.tt-site #page-container#page-container #main-content :is(.tt-purple-button,.tt-btn-magenta)::before,
html body.tt-site #page-container#page-container #main-content :is(.tt-purple-button,.tt-btn-magenta)::after {display:none!important;content:none!important;}
/* Download and other icon-only actions retain their own compact shape and geometry. */
html body.tt-site :is(#tt-purple-button-specificity,.tt-purple-icon,.tt-download-action),
html body.tt-site #page-container#page-container #main-content :is(.tt-purple-icon,.tt-download-action) {background-color:#b112b5!important;background-image:none!important;}
html body.tt-site :is(#tt-purple-button-specificity,.tt-purple-icon,.tt-download-action):hover,
html body.tt-site #page-container#page-container #main-content :is(.tt-purple-icon,.tt-download-action):hover {background-color:#951094!important;}
@media(prefers-reduced-motion:reduce){html body.tt-site :is(.tt-purple-button,.tt-btn-magenta,.tt-purple-icon,.tt-download-action){transition:none!important;}}

/* A taller search input must not stretch its adjacent action beyond the shared CTA height. */
html body.tt-site #page-container#page-container #main-content .tt-results-search-form button,
html body.tt-site #page-container#page-container #main-content .tt-pf-magenta {align-self:center!important;}

/* The portfolio CTA arrow uses the same line box as its text. */
html body.tt-site #page-container#page-container #main-content .tt-pf-magenta>span {font-size:16px!important;line-height:24px!important;}
