/* Institutional look: serif headings, flat surfaces, square-ish corners, no glow, glass or floating effects. */
:root {
    --font-head: "Source Serif 4", Georgia, "Times New Roman", serif;
    --font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --radius: 6px;
    --radius-sm: 4px;
    --shadow-sm: none;
    --shadow: 0 1px 3px rgba(17, 48, 58, .08);
    --shadow-lg: 0 6px 18px rgba(17, 48, 58, .12);
}
body { font-size: 16.5px; }
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -.01em; }

/* Buttons */
.btn { border-radius: 4px; box-shadow: none; letter-spacing: .01em; }
.btn:hover { transform: none; box-shadow: none; }

/* Cards: flat, bordered, no lift */
.card, .card-doctor, .card-package, .widget, .video-card, .card-feedback, .about__feature, .founder__sign { border-radius: 6px; box-shadow: none; }
.card:hover, .card--hover:hover, .card-doctor:hover, .card-package:hover, .card-speciality:hover, .card-image:hover { transform: none; box-shadow: none; border-color: var(--line); }
.card-doctor__photo, .card__media, .card-package__media { border-radius: 0; }

/* Section headings: plain text with a short rule instead of pills */
.eyebrow, .eyebrow--light { display: inline-flex; align-items: center; gap: 10px; background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--brand); }
.eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--accent); }
.eyebrow--light, .section-heading.is-light .eyebrow, .founder__text .eyebrow { color: #fff; }
.founder__text .eyebrow { color: var(--brand); background: none; }

/* Flat colour bands instead of gradients and decorative circles */
.page-header, .stats-band, .section--brand, .cta-band { background-image: none; background-color: var(--brand-dark); }
.page-header::after, .page-header::before, .stats-band::before, .founder-section::before, .founder-section::after { display: none; }
.founder-section, .about-section { background: var(--brand-soft); }
.stats-band .stat { background: none; border: 0; border-radius: 0; padding: 10px 14px; backdrop-filter: none; }
.stats-band .stat + .stat { border-left: 1px solid rgba(255, 255, 255, .25); }
.stats-band .stat:hover { transform: none; background: none; }
.stat__icon { background: none; border: 2px solid rgba(255, 255, 255, .55); color: #fff; border-radius: 50%; }

/* About and founder: remove floating motion and offset frames */
.about__art, .about__media img, .founder__photo img { animation: none; }
.about__media img, .about__art, .founder__photo img, .founder__initials { border-radius: 6px; box-shadow: none; border: 0; }
.about__frame, .founder__photo::before { display: none; }
.about__media, .founder__photo { padding: 0; }
.about__badge, .founder__badge { border-radius: 4px; box-shadow: none; border-left: 4px solid var(--accent); }
.about__feature > i { border-radius: 50%; background: var(--brand-light); color: var(--brand-dark); }
.about__feature:hover { transform: none; box-shadow: none; border-color: var(--brand-light); }
.founder__sign { background: none; box-shadow: none; padding: 0 0 0 16px; border-radius: 0; }
.founder__foot .btn { border-radius: 4px; }

/* Header, tabs, chips, floating tabs */
.nav__item > .nav__link, .filter, .tag, .badge { border-radius: 4px; }
.nav__dropdown { border-radius: 6px; box-shadow: 0 8px 24px rgba(17, 48, 58, .14); }
.nav__dropdown::before { display: none; }
.whatsapp-fab { animation: none; box-shadow: 0 4px 12px rgba(0, 0, 0, .2); }
.cb-modal__box { border-radius: 8px; }
.cb-modal__icon { box-shadow: none; }
.cb-field input { border-radius: 4px; background: #fff; border-color: var(--line); }
.cb-modal form .btn { border-radius: 4px; }
.video-card, .video-modal__box { border-radius: 6px; }
.action-strip { border-radius: 6px; box-shadow: var(--shadow); }

/* Source Sans runs smaller than the previous font, so the root size is raised to compensate */
html { font-size: 112.5%; }
body { font-size: 1rem; }
@media (max-width: 640px) { html { font-size: 112.5%; } }
body.site { font-size: 1rem; }

/* Desktop top bar */
@media (min-width: 1100px) {
    .topbar { font-size: .86rem; }
    .topbar__inner { min-height: 42px; }
    .topbar__meta { gap: 0; }
    .topbar__meta li { padding: 0 18px; border-left: 1px solid rgba(255, 255, 255, .22); }
    .topbar__meta li:first-child { padding-left: 0; border-left: 0; }
    .topbar__links { gap: 0; }
    .topbar__links li { padding: 0 14px; border-left: 1px solid rgba(255, 255, 255, .22); }
    .topbar__links li:first-child { border-left: 0; }
    .topbar__links li:last-child { padding-right: 0; }
    .topbar__links a { font-weight: 600; }
}

/* Mobile top bar: fixed pixel sizes so the number and both links always fit on one line */
@media (max-width: 1099px) {
    .topbar { font-size: 12px; }
    .topbar__inner { min-height: 34px; padding: 0 12px; gap: 8px; justify-content: space-between; }
    .topbar__meta li:first-child { font-size: 12px; gap: 5px; font-weight: 600; }
    .topbar__meta li:first-child i { margin: 0; }
    .topbar__links li { font-size: 11.5px; font-weight: 600; }
    .topbar__links li + li { margin-left: 8px; padding-left: 8px; }
}
@media (max-width: 360px) {
    .topbar__meta li:first-child, .topbar__links li { font-size: 11px; }
}

/* Top bar icons aligned with the text */
.topbar__meta li { display: inline-flex; align-items: center; gap: 7px; line-height: 1; }
.topbar__meta li i { margin: 0; width: 1.1em; text-align: center; line-height: 1; flex-shrink: 0; }
.topbar__meta li a { line-height: 1; }
.topbar__meta li i { position: relative; top: -1px; }

/* Carousel rows must never scroll vertically on their own, or the page wheel scroll moves the cards inside the row */
.carousel__track, .grid--swipe { overflow-y: hidden; overscroll-behavior-y: auto; }
.carousel__item { transform: none; }

/* Doctor card: shorter photo, one-line details, two buttons */
.card-doctor__photo { aspect-ratio: 4 / 3; }
.card-doctor__body { padding: 12px 12px 14px; gap: 3px; }
.card-doctor__body h3 { font-size: 1.08rem; }
.card-doctor__spec { font-size: .86rem; }
.card-doctor__meta { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 2px 12px; font-size: .78rem; margin: 4px 0 10px; }
.card-doctor__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; }
.card-doctor__actions .btn { padding: .5rem .4rem; font-size: .8rem; white-space: nowrap; justify-content: center; }
@media (max-width: 640px) {
    .card-doctor__body { padding: 9px 8px 10px; }
    .card-doctor__body h3 { font-size: .92rem; }
    .card-doctor__meta { font-size: .7rem; gap: 1px 8px; margin-bottom: 8px; }
    .card-doctor__actions { gap: 5px; }
    .card-doctor__actions .btn { padding: .42rem .2rem; font-size: .7rem; }
}
.card-doctor__photo { aspect-ratio: 3 / 2; } .card-doctor__photo img { object-position: center 18%; }

/* Main header: bottom border with a soft shadow */
.site-header { border-bottom: 0; box-shadow: none; }
.header-edge-border .site-header, .header-edge-both .site-header { border-bottom: var(--header-border-w, 3px) solid var(--header-border-color, #d62828); }
.header-edge-shadow .site-header, .header-edge-both .site-header { box-shadow: 0 4px 16px rgba(17, 48, 58, .14); }

/* About and founder photos always show in full, whatever their size or shape */
.about__media img, .founder__photo img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; max-height: none; }
.about__media, .founder__photo { align-self: center; }
.about__media img { width: auto; max-width: 100%; max-height: 640px; margin: 0 auto; display: block; }
@media (max-width: 640px) { .about__media img { max-height: 460px; } }

/* Keep the full photos at a calm size */
.about__media { max-width: 520px; margin: 0 auto; }
.about__media img { max-height: 420px; }
.founder__photo { max-width: 340px; }
.founder__photo img { width: auto; max-width: 100%; max-height: 440px; margin: 0 auto; display: block; }
@media (max-width: 640px) {
    .about__media { max-width: 100%; }
    .about__media img { max-height: 300px; }
    .founder__photo { max-width: 240px; }
    .founder__photo img { max-height: 300px; }
}

/* Fixed-height frame at full column width: the whole photo is visible, never cropped */
.about__media { max-width: 560px; }
.about__media img { width: 100%; height: 440px; max-height: none; object-fit: contain; background: var(--brand-soft); margin: 0; }
.founder__photo { max-width: 400px; }
.founder__photo img { width: 100%; height: 480px; max-height: none; object-fit: contain; background: var(--brand-soft); margin: 0; }
@media (max-width: 640px) {
    .about__media { max-width: 100%; }
    .about__media img { height: 320px; }
    .founder__photo { max-width: 300px; }
    .founder__photo img { height: 360px; }
}

/* Page images (About Us and other CMS pages) are shown in full */
.article .cover { height: auto; max-height: 560px; object-fit: contain; background: var(--brand-soft); }
.article .cover--inline { max-height: 460px; }
@media (max-width: 640px) { .article .cover, .article .cover--inline { max-height: 320px; } }

/* About and legacy photos use the full width of their column, at their natural height, on desktop and mobile */
.about__media, .founder__photo { max-width: none; width: 100%; }
.about__media img, .founder__photo img { width: 100%; height: auto; max-height: none; object-fit: contain; background: none; }
@media (max-width: 640px) {
    .about__media, .founder__photo { max-width: none; }
    .about__media img, .founder__photo img { height: auto; max-height: none; }
}

/* Side by side: the photo is never taller than the text column next to it */
@media (min-width: 1100px) {
    .about { align-items: stretch; }
    .about__media { position: relative; min-height: 320px; }
    .about__media img, .about__media .about__art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; }
}
@media (min-width: 900px) {
    .founder { align-items: stretch; }
    .founder__photo { position: relative; min-height: 320px; }
    .founder__photo img, .founder__photo .founder__initials { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; }
}
/* Stacked on tablet and phone: full width, height kept in check */
@media (max-width: 1099px) { .about__media img { max-height: 520px; } }
@media (max-width: 899px) { .founder__photo img { max-height: 520px; } }
@media (max-width: 640px) { .about__media img, .founder__photo img { max-height: 420px; } }
@media (min-width: 1100px) { .about__media { align-self: stretch; } }
@media (min-width: 900px) { .founder__photo { align-self: stretch; } }
