/* HCF button variants. Use button for actions and anchor for navigation. */
.hc-button { align-items: center; border: 1px solid transparent; border-radius: var(--hc-radius-sm); cursor: pointer; display: inline-flex; font-size: 1rem; font-weight: 600; gap: var(--hc-space-2); justify-content: center; letter-spacing: .02em; min-height: 2.75rem; padding: .625rem 1rem; text-align: center; text-decoration: none; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.hc-button:hover { transform: translateY(-1px); }
.hc-button--primary, .hc-button:not(.hc-button--secondary):not(.hc-button--ghost):not(.hc-button-light) { background: var(--hc-color-accent-600); color: #fff; }
.hc-button--primary:hover, .hc-button:not(.hc-button--secondary):not(.hc-button--ghost):not(.hc-button-light):hover { background: #bc2162; }
.hc-profile-link { align-items: center; align-self: flex-start; background: linear-gradient(135deg, var(--hc-color-brand-900), var(--hc-color-brand-700)); border: 1px solid var(--hc-color-brand-700); border-radius: 999px; box-shadow: 0 .45rem 1rem rgb(45 39 99 / 16%); color: #fff; display: inline-flex; font-size: .84rem; font-weight: 800; gap: .65rem; margin-top: var(--hc-space-3); padding: .68rem .72rem .68rem 1.05rem; text-decoration: none; transition: box-shadow .2s ease, transform .2s ease; }
.hc-profile-link__arrow { align-items: center; background: rgb(255 255 255 / 18%); border-radius: 50%; display: inline-flex; font-size: 1rem; height: 1.8rem; justify-content: center; transition: background-color .2s ease, transform .2s ease; width: 1.8rem; }
.hc-profile-link--preethi { background: linear-gradient(135deg, var(--hc-color-accent-600), #b91f62); border-color: var(--hc-color-accent-600); box-shadow: 0 .45rem 1rem rgb(214 63 134 / 18%); }
.hc-profile-link--preethi:hover { box-shadow: 0 .65rem 1.3rem rgb(214 63 134 / 28%); }
.hc-profile-link:hover { box-shadow: 0 .65rem 1.3rem rgb(45 39 99 / 24%); color: #fff; transform: translateY(-2px); }
.hc-profile-link--preethi:hover { box-shadow: 0 .65rem 1.3rem rgb(214 63 134 / 28%); }
.hc-profile-link:hover .hc-profile-link__arrow { background: var(--hc-color-accent-600); transform: translateX(2px); }
.hc-profile-link:focus-visible { outline: 3px solid color-mix(in srgb, var(--hc-color-accent-600) 38%, transparent); outline-offset: 3px; }
.hc-service-card-link { align-items: center; background: var(--hc-color-brand-900); border: 1px solid var(--hc-color-brand-900); border-radius: 999px; color: #fff; display: inline-flex; font-size: .82rem; font-weight: 800; gap: .6rem; justify-content: space-between; min-height: 2.75rem; padding: .65rem .85rem .65rem 1rem; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.hc-service-card-link span { align-items: center; background: rgb(255 255 255 / 16%); border-radius: 50%; display: inline-flex; height: 1.55rem; justify-content: center; width: 1.55rem; }
.hc-service-card-link:hover { background: var(--hc-color-accent-600); border-color: var(--hc-color-accent-600); box-shadow: 0 .55rem 1rem rgb(45 39 99 / 18%); color: #fff; transform: translateY(-2px); }
.hc-service-card-link:focus-visible { outline: 3px solid color-mix(in srgb, var(--hc-color-accent-600) 38%, transparent); outline-offset: 3px; }
.hc-contact-actions { display: grid; gap: var(--hc-space-3); margin: var(--hc-space-4) 0 var(--hc-space-6); }
.hc-contact-button { align-items: center; background: var(--hc-color-brand-900); border: 1px solid var(--hc-color-brand-900); border-radius: var(--hc-radius-md); color: #fff; display: flex; font-size: .9rem; font-weight: 800; gap: .8rem; min-height: 3.5rem; padding: .72rem .9rem; text-decoration: none; transition: box-shadow .2s ease, transform .2s ease; }
.hc-contact-button--call { background: linear-gradient(135deg, var(--hc-color-accent-600), #b91f62); border-color: var(--hc-color-accent-600); }
.hc-contact-button__icon { align-items: center; background: rgb(255 255 255 / 17%); border-radius: 50%; display: inline-flex; flex: 0 0 auto; font-size: 1.05rem; height: 2rem; justify-content: center; width: 2rem; }
.hc-contact-button small { color: rgb(255 255 255 / 72%); display: block; font-size: .68rem; font-weight: 650; letter-spacing: .04em; line-height: 1.2; margin-bottom: .12rem; text-transform: uppercase; }
.hc-contact-button:hover { box-shadow: 0 .6rem 1.2rem rgb(45 39 99 / 22%); color: #fff; transform: translateY(-2px); }
.hc-contact-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--hc-color-accent-600) 38%, transparent); outline-offset: 3px; }
.hc-contact-button--directions { border-radius: 999px; justify-content: flex-start; margin-top: var(--hc-space-2); width: fit-content; }
.hc-contact-button--directions > span:last-child { margin-left: auto; }
.hc-button--secondary { background: #fff; border-color: var(--hc-color-brand-700); color: var(--hc-color-brand-900); }
.hc-button--secondary:hover { background: var(--hc-color-brand-100); }
.hc-button--ghost { background: transparent; color: var(--hc-color-brand-700); }
.hc-button--ghost:hover { background: var(--hc-color-brand-100); }
.hc-button:disabled, .hc-button[aria-disabled="true"] { cursor: not-allowed; opacity: .55; pointer-events: none; }
