/* Site-wide controls, loaded after page styles to keep every page consistent. */
body .button {
    display:inline-flex; align-items:center; justify-content:center;
    min-height:48px; padding:13px 24px; gap:10px;
    border-radius:8px; border:1px solid transparent;
    font-size:14px; font-weight:500; line-height:1.4; letter-spacing:0;
    box-shadow:none; text-decoration:none;
    transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease;
}
body .button-dark { background:#202020; color:#fff; border-color:#202020; }
body .button-outline { background:#fff; color:#202020; border-color:#bcbcbc; }
body .nav-actions .button { min-height:44px; padding:11px 20px; font-size:13px; }
body .price-card .button,body .contact-form > .button { justify-content:center; font-size:14px; }
body .text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:13px; line-height:1.5; font-weight:500; }
.ui-icon { display:inline-block; width:18px; height:18px; flex:0 0 18px; vertical-align:middle; }
body .text-link > span[aria-hidden="true"] { display:inline-flex; align-items:center; }
body .icon-button,body .round-link { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:0; border:1px solid #d5d5d5; border-radius:8px; background:transparent; color:#404040; }
body .modal-close { top:12px; right:12px; width:40px; height:40px; min-width:40px; border:0; }
body .modal .eyebrow { padding-right:44px; }
body .play-symbol { display:inline-flex; align-items:center; justify-content:center; padding:0; }
body .menu-toggle { display:none; }
body .browser-toolbar .ui-icon { width:10px; height:10px; }
body .back-top { display:inline-flex; align-items:center; gap:8px; }
body .question-plus,body .faq-plus { display:inline-flex; align-items:center; justify-content:center; }
body .form-expectation > span { display:inline-flex; padding-top:2px; }
@media(hover:hover) and (pointer:fine) {
 body .button-dark:hover { background:#383838; border-color:#383838; }
 body .button-outline:hover { background:#f3f3f3; border-color:#888; }
 body .icon-button:hover,body .round-link:hover { background:#f0f0f0; border-color:#aaa; }
 body .text-link:hover { text-decoration:underline; text-underline-offset:5px; }
 /* Icons remain settled; no diagonal jumps borrowed from the old text arrows. */
 body .text-link:hover > span[aria-hidden="true"] { transform:none; }
}
body .button:active:not(:disabled) { background:#484848; color:#fff; border-color:#484848; }
body .button:disabled,body .button:disabled:hover { background:#e9e9e9; color:#707070; border-color:#ddd; cursor:not-allowed; }
@media(max-width:999px) { body .menu-toggle { display:inline-flex; border:0; } }
@media(max-width:699px) { body .button { padding-inline:20px; } }
@media(prefers-reduced-motion:reduce) { body .button,body .icon-button,body .round-link { transition:none; } }
