/* HCF healthcare patterns: service, doctor, appointment, testimonial and journey components. */
.hc-section-soft { background: var(--hc-color-surface-soft); }
.hc-section-warm { background: #fff7f4; }
.hc-section-intro, .hc-section-heading { margin-bottom: var(--hc-space-6); max-width: 45rem; }
.hc-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hc-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hc-text-link { color: var(--hc-color-brand-700); font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.hc-service-card, .hc-doctor-card, .hc-feature { min-height: 100%; }
.hc-service-card h3 { font-family: var(--hc-font-sans); font-size: 1.375rem; font-weight: 600; letter-spacing: 0; text-transform: uppercase; }
.hc-card-number { color: var(--hc-color-brand-600); display: block; font-size: .75rem; font-weight: 850; letter-spacing: .1em; margin-bottom: var(--hc-space-3); }
.hc-card-accent { border-top: 4px solid var(--hc-color-accent-600); }
.hc-feature { padding: var(--hc-space-4); }
.hc-feature-icon { align-items: center; background: var(--hc-color-brand-100); border-radius: var(--hc-radius-sm); color: var(--hc-color-brand-900); display: inline-flex; font-weight: 850; height: 2.5rem; justify-content: center; margin-bottom: var(--hc-space-3); width: 2.5rem; }
.hc-doctor-card { background: #fff; border: 1px solid var(--hc-color-border); border-radius: var(--hc-radius-lg); overflow: hidden; padding: var(--hc-space-5); }
.hc-doctor-role { color: var(--hc-color-brand-700); font-size: .875rem; font-weight: 750; }
.hc-avatar-one { background: #9f5c78; }.hc-avatar-two { background: #507b81; }
.hc-appointment { background: linear-gradient(110deg, var(--hc-color-brand-900), #641969); color: #fff2f7; padding-block: clamp(3rem, 6vw, 5rem); }
.hc-appointment h2, .hc-appointment .hc-eyebrow { color: #fff; }
.hc-appointment-inner { align-items: center; display: flex; gap: var(--hc-space-6); justify-content: space-between; }
.hc-button-light { background: #fff; color: var(--hc-color-brand-900); }
.hc-button-light:hover { background: var(--hc-color-brand-100); }
.hc-quote { background: #fff; border-left: 4px solid var(--hc-color-brand-600); border-radius: 0 var(--hc-radius-md) var(--hc-radius-md) 0; font-size: 1.125rem; max-width: 50rem; padding: var(--hc-space-5); }
.hc-steps { counter-reset: step; display: grid; gap: var(--hc-space-4); grid-template-columns: repeat(4, 1fr); list-style: none; margin: var(--hc-space-5) 0 0; padding: 0; }
.hc-steps li { counter-increment: step; padding-top: 3rem; position: relative; }
.hc-steps li::before { align-items: center; background: var(--hc-color-brand-700); border-radius: 50%; color: #fff; content: counter(step); display: flex; font-weight: 850; height: 2rem; justify-content: center; left: 0; position: absolute; top: 0; width: 2rem; }
.hc-location { display: grid; gap: var(--hc-space-6); grid-template-columns: 1fr 1fr; }
.hc-map-placeholder { align-items: center; background: #fff0f5; border: 1px dashed var(--hc-color-accent-600); border-radius: var(--hc-radius-lg); color: var(--hc-color-brand-900); display: flex; justify-content: center; min-height: 18rem; padding: var(--hc-space-5); text-align: center; }
.hc-footer { background: #351555; color: #f8eaf2; padding-top: var(--hc-space-8); }
.hc-footer h2, .hc-footer h3, .hc-footer a, .hc-footer .hc-brand { color: #fff; }
.hc-footer .hc-brand-footer { align-items: center; gap: .75rem; letter-spacing: .08em; }
.hc-footer .hc-brand-footer .hc-brand-mark { background: #fffaf8; border: 1px solid rgb(255 255 255 / 55%); border-radius: 50%; box-shadow: 0 5px 16px rgb(16 4 37 / 28%); height: 3.4rem; padding: .28rem; width: 3.4rem; }
.hc-footer .hc-brand-footer > span { color: #fff; font-size: 1.3rem; font-weight: 600; line-height: 1; }
.hc-footer .hc-brand-footer small { color: #d9cfe3; font-family: var(--hc-font-sans); font-size: .55rem; font-weight: 500; letter-spacing: .065em; line-height: 1.25; margin-top: .38rem; }
.hc-footer .hc-brand-footer + p { color: #f5e9f1; margin-top: 1.1rem; max-width: 31rem; }
.hc-footer-grid { display: grid; gap: var(--hc-space-5); grid-template-columns: 2fr repeat(2, 1fr); }
.hc-footer-grid ul { list-style: none; margin: 0; padding: 0; }.hc-footer-grid li + li { margin-top: var(--hc-space-2); }
.hc-footer-grid a { text-decoration: none; }.hc-footer-grid a:hover { text-decoration: underline; }
.hc-footer-bottom { border-top: 1px solid rgb(255 255 255 / 18%); font-size: .875rem; margin-top: var(--hc-space-6); padding-block: var(--hc-space-4); }
@media (max-width: 48rem) { .hc-grid-2, .hc-grid-3, .hc-location, .hc-footer-grid { grid-template-columns: 1fr; } .hc-appointment-inner { align-items: flex-start; flex-direction: column; } .hc-steps { grid-template-columns: 1fr 1fr; } }

/* Home hero, adapted to the soft, floral CHIRAAG visual language. */
.hc-hero { background: linear-gradient(115deg, #fffafb 0%, #fff3f7 58%, #fbe6ef 100%); overflow: hidden; position: relative; }
.hc-hero::after { background: linear-gradient(90deg, #ef8ebb, #fac5d8 55%, #b9cdbf); border-radius: 50% 50% 0 0 / 100% 100% 0 0; bottom: -10rem; content: ""; height: 16rem; left: -8%; opacity: .55; pointer-events: none; position: absolute; right: -8%; z-index: 0; }
.hc-hero-grid { align-items: center; display: grid; gap: var(--hc-space-8); grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); position: relative; z-index: 1; }
.hc-hero-copy h1 { font-size: clamp(2.5rem, 5.4vw, 4rem); font-weight: 600; margin-block: var(--hc-space-2) var(--hc-space-4); }.hc-hero-copy h1 em { color: var(--hc-color-accent-600); font-style: normal; }
.hc-stack-row { flex-direction: row; flex-wrap: wrap; }.hc-hero-note { color: var(--hc-color-text-muted); font-size: .875rem; }
.hc-hero-art { aspect-ratio: 1; min-height: 22rem; position: relative; }.hc-hero-orbit { border: 2px solid #8e5e9d; border-radius: 50%; inset: 8%; position: absolute; }.hc-hero-orbit::after, .hc-hero-orbit::before { border: 2px solid #ef9bbb; border-radius: 50%; content: ""; inset: 12%; position: absolute; }.hc-hero-orbit::after { inset: 25%; }
.hc-hero-circle { align-items: center; background: radial-gradient(circle at 40% 30%, #ffd9e8, #e24484 62%, #9c276e); border-radius: 50%; box-shadow: var(--hc-shadow-md); color: #fff; display: flex; flex-direction: column; inset: 18%; justify-content: center; position: absolute; text-align: center; }.hc-hero-circle span { font-size: 2.5rem; }.hc-hero-circle strong { font-size: 1.1rem; }
.hc-hero-card { background: rgb(255 255 255 / 90%); border: 1px solid #fff; border-radius: var(--hc-radius-md); bottom: 8%; box-shadow: var(--hc-shadow-md); color: var(--hc-color-brand-900); font-size: .9rem; font-weight: 750; padding: var(--hc-space-4); position: absolute; right: 0; }
@media (max-width: 48rem) { .hc-hero-grid { grid-template-columns: 1fr; gap: var(--hc-space-5); }.hc-hero-art { margin-inline: auto; min-height: 17rem; width: min(100%, 20rem); }.hc-hero::after { bottom: -12rem; } }

/* Compact WhatsApp enquiry popup. */
.hc-whatsapp-popup { backdrop-filter: blur(12px); background: rgb(255 255 255 / 80%); border: 1px solid rgb(234 220 230 / 90%); border-radius: 1.25rem; bottom: 1.25rem; box-shadow: 0 24px 65px rgb(35 13 50 / 24%); max-height: calc(100svh - 2.5rem); opacity: 0; overflow: visible; padding: 1.25rem; pointer-events: none; position: fixed; right: 1.25rem; transform: translateY(1rem) scale(.97); transition: opacity .2s ease, transform .2s ease; visibility: hidden; width: min(22rem, calc(100vw - 2rem)); z-index: 1000; }
.hc-whatsapp-popup.is-open { opacity: 1; pointer-events: auto; transform: none; visibility: visible; }
.hc-whatsapp-popup__close { align-items: center; appearance: none; background: #e63c8b; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 4px 12px rgb(35 13 50 / 28%); color: transparent; cursor: pointer; display: flex; font-size: 0; height: 2rem; justify-content: center; line-height: 0; margin: 0; opacity: 1; padding: 0; position: absolute; right: -.75rem; top: -.75rem; visibility: visible; width: 2rem; z-index: 10; }
.hc-whatsapp-popup__close::before { color: #fff; content: '×'; display: block; font-family: Arial, sans-serif; font-size: 1.25rem; font-weight: 700; line-height: 1; transform: translateY(-.02rem); }
.hc-whatsapp-popup__close:hover { background: #c72f75; transform: scale(1.06); }
.hc-whatsapp-popup__header { align-items: center; background: linear-gradient(120deg, #351458, #66427c); border-radius: 1.2rem 1.2rem .9rem .9rem; color: #fff; display: flex; gap: .75rem; margin: -1.25rem -1.25rem 1rem; min-height: 5.2rem; padding: 1rem 3rem 1rem 1.25rem; position: relative; }
.hc-whatsapp-popup__header > span { align-items: center; background: #1f9d55; border-radius: 50%; display: flex; flex: 0 0 auto; height: 2.1rem; justify-content: center; width: 2.1rem; }
.hc-whatsapp-popup__icon svg { height: 1.35rem; overflow: visible; width: 1.35rem; }
.hc-whatsapp-popup__icon svg path:first-child { fill: none; stroke: #fff; stroke-linejoin: round; stroke-width: 2; }
.hc-whatsapp-popup__icon svg path:last-child { fill: #fff; }
.hc-whatsapp-popup__header strong, .hc-whatsapp-popup__header small { display: block; }
.hc-whatsapp-popup__header strong { font-size: .95rem; letter-spacing: .03em; }
.hc-whatsapp-popup__header small { color: #e9deed; font-size: .68rem; margin-top: .1rem; }
.hc-whatsapp-form { display: grid; gap: .7rem; }
.hc-whatsapp-form label { color: #4d315b; display: grid; font-size: .72rem; font-weight: 700; gap: .25rem; }
.hc-whatsapp-form input, .hc-whatsapp-form textarea { background: #fffafd; border: 1px solid #dfceda; border-radius: .65rem; color: #3f3540; font-size: .82rem; line-height: 1.4; min-width: 0; padding: .65rem .7rem; resize: vertical; width: 100%; }
.hc-whatsapp-form input:focus, .hc-whatsapp-form textarea:focus { border-color: #e63c8b; box-shadow: 0 0 0 3px rgb(230 60 139 / 12%); outline: 0; }
.hc-whatsapp-form__row { display: grid; gap: .65rem; grid-template-columns: .62fr 1.38fr; }
.hc-whatsapp-form__actions { display: grid; gap: .6rem; grid-template-columns: 1fr 1fr; }
.hc-whatsapp-form__submit, .hc-whatsapp-launcher { align-items: center; background: #1f9d55; border: 0; border-radius: .7rem; color: #fff; cursor: pointer; display: flex; font-size: .85rem; font-weight: 800; gap: .45rem; justify-content: center; padding: .75rem 1rem; }
.hc-whatsapp-form__submit:hover, .hc-whatsapp-launcher:hover { background: #168548; }
.hc-whatsapp-form__call { align-items: center; background: #5d357a; border: 0; border-radius: .7rem; color: #fff; display: flex; font-size: .85rem; font-weight: 800; gap: .4rem; justify-content: center; padding: .75rem .8rem; text-decoration: none; }
.hc-whatsapp-form__call:hover { background: #351458; }
.hc-whatsapp-form__call span { font-size: .95rem; line-height: 1; }
.hc-whatsapp-form__submit span, .hc-whatsapp-launcher span { border: 2px solid #fff; border-radius: 50%; color: transparent; height: .85rem; position: relative; width: .85rem; }
.hc-whatsapp-form__submit span::after, .hc-whatsapp-launcher span::after { border-bottom: 2px solid #fff; bottom: -.18rem; content: ''; height: .35rem; left: -.12rem; position: absolute; transform: rotate(35deg); width: .35rem; }
.hc-contact-launchers { bottom: 1.25rem; display: grid; gap: .7rem; position: fixed; right: 1.25rem; z-index: 999; }
.hc-contact-launcher { align-items: center; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 8px 24px rgb(35 13 50 / 24%); color: #fff; cursor: pointer; display: flex; height: 3.25rem; justify-content: center; padding: 0; transition: transform .2s ease, box-shadow .2s ease; width: 3.25rem; }
.hc-contact-launcher:hover { box-shadow: 0 12px 30px rgb(35 13 50 / 30%); transform: translateY(-2px) scale(1.04); }
.hc-contact-launcher svg { height: 1.55rem; width: 1.55rem; }
.hc-contact-launcher--whatsapp { background: #1f9d55; }
.hc-contact-launcher--whatsapp svg path:first-child { fill: none; stroke: #fff; stroke-linejoin: round; stroke-width: 2; }
.hc-contact-launcher--whatsapp svg path:last-child { fill: #fff; }
.hc-contact-launcher--phone { background: #5d357a; text-decoration: none; }
.hc-contact-launcher--phone path { fill: #fff; }
.hc-whatsapp-popup.is-open + .hc-contact-launchers { display: none; }
@media (min-width: 34.01rem) and (max-height: 48rem) {
  .hc-whatsapp-popup { bottom: .75rem; padding: 1rem; width: min(20rem, calc(100vw - 2rem)); }
  .hc-whatsapp-popup__header { margin: -1rem -1rem .65rem; min-height: 4rem; padding: .7rem 2.75rem .7rem 1rem; }
  .hc-whatsapp-popup__header > span { height: 1.8rem; width: 1.8rem; }
  .hc-whatsapp-form { gap: .45rem; }
  .hc-whatsapp-form label { gap: .15rem; }
  .hc-whatsapp-form input, .hc-whatsapp-form textarea { padding: .45rem .6rem; }
  .hc-whatsapp-form textarea { min-height: 3.5rem; }
  .hc-whatsapp-form__submit, .hc-whatsapp-form__call { padding-block: .55rem; }
}
@media (max-width: 34rem) { .hc-whatsapp-popup { bottom: .75rem; max-height: calc(100svh - 1.5rem); right: 1rem; }.hc-whatsapp-form__row { grid-template-columns: 1fr; } }
