/* V101.2 — unified filled-button interaction contract.
   Applies to filled CTAs only, NOT text links, service tiles, hamburger,
   before/after controls, or floating navigation buttons. */
:root { --ht-cta-bg:#181d21; --ht-cta-border:#777f86; --ht-cta-hover-bg:#30363b; --ht-cta-accent:#96ff32; }
html body :is(
 a.v27-button, a.pill-button, a.pill-link,
 a.ht-action:not(.ht-text-action):not(.v9-link):not(.round-link),
 button.ht-action,
 .v22-form.v76-contact-form button[type="submit"],
 .v22-form.ht-incident-form button[type="submit"]
) {
 background-color:var(--ht-cta-bg)!important;
 border:1px solid var(--ht-cta-border)!important;
 color:#f7f8f9!important;
 -webkit-text-fill-color:#f7f8f9!important;
 box-shadow:none!important;
 text-shadow:none!important;
 transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
html body :is(
 a.v27-button, a.pill-button, a.pill-link,
 a.ht-action:not(.ht-text-action):not(.v9-link):not(.round-link),
 button.ht-action,
 .v22-form.v76-contact-form button[type="submit"],
 .v22-form.ht-incident-form button[type="submit"]
):is(:hover,:focus-visible) {
 background-color:var(--ht-cta-hover-bg)!important;
 border-color:var(--ht-cta-accent)!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
 box-shadow:none!important;
}
html body :is(
 a.v27-button, a.pill-button, a.pill-link,
 a.ht-action:not(.ht-text-action):not(.v9-link):not(.round-link),
 button.ht-action,
 .v22-form.v76-contact-form button[type="submit"],
 .v22-form.ht-incident-form button[type="submit"]
) :is(span,strong,small,i,svg) {
 color:inherit!important;
 -webkit-text-fill-color:currentColor!important;
}
html body :is(
 a.v27-button, a.pill-button, a.pill-link,
 a.ht-action:not(.ht-text-action):not(.v9-link):not(.round-link),
 button.ht-action,
 .v22-form.v76-contact-form button[type="submit"],
 .v22-form.ht-incident-form button[type="submit"]
):disabled { opacity:.55!important;cursor:not-allowed!important; }
@media(prefers-reduced-motion:reduce) {
 html body :is(a.v27-button,a.pill-button,a.pill-link,button.ht-action) {transition:none!important;}
}

html body a.v27-button.ht-action:not(.v27-button-secondary):not(:hover):not(:focus-visible),
html body a.v27-button.v27-button-secondary.ht-action:any-link,
html body a.v27-button.v34-dark-cta.ht-action:any-link,
html body a.v27-button.v27-button-secondary.v34-dark-cta.ht-action:any-link {
 background-color:var(--ht-cta-bg)!important;
 border-color:var(--ht-cta-border)!important;
 color:#f7f8f9!important;
 -webkit-text-fill-color:#f7f8f9!important;
}
html body a.v27-button.ht-action:not(.v27-button-secondary):is(:hover,:focus-visible),
html body a.v27-button.v27-button-secondary.ht-action:any-link:is(:hover,:focus-visible),
html body a.v27-button.v34-dark-cta.ht-action:any-link:is(:hover,:focus-visible),
html body a.v27-button.v27-button-secondary.v34-dark-cta.ht-action:any-link:is(:hover,:focus-visible) {
 background-color:var(--ht-cta-hover-bg)!important;
 border-color:var(--ht-cta-accent)!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
}
