.elementor-116 .elementor-element.elementor-element-f11a5bb{--display:flex;}/* Start custom CSS for html, class: .elementor-element-9978f01 *//* ==========================================================================
   DESIGN SYSTEM TOKENS (Global Settings) — canonical, standardised
   Matches: new.css (homepage), pd-PROCEDURE-DETAIL-styles.css, cl- files.
   Breakpoints: Mobile <576px | Tablet 576–991px | Laptop 992–1279px | Desktop 1280px+
   ========================================================================== */

/* Desktop (≥1280px) uses the :root baseline — no overrides needed.
   (The old file's explicit "1280px+" media query duplicated the baseline
   1:1 and has been dropped as redundant.) */

/* ==========================================================================
   GLOBAL BASE DEFAULTS
   ========================================================================== */
body {
  font-family: var(--f-body);
  color: var(--text);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  line-height: var(--lh-body);
  background: var(--off-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Base Headings Hierarchy */
h1, .h1 { font-family: var(--f-title); font-size: var(--fs-h1); font-weight: var(--fw-bold); line-height: var(--lh-headings); }
h2, .h2 { font-family: var(--f-title); font-size: var(--fs-h2); font-weight: var(--fw-semibold); line-height: var(--lh-headings); }
h3, .h3 { font-family: var(--f-sub); font-size: var(--fs-h3); font-weight: var(--fw-semibold); line-height: var(--lh-headings); }
h4, .h4 { font-family: var(--f-body); font-size: var(--fs-h4); font-weight: var(--fw-semibold); line-height: var(--lh-headings); }

/* ==========================================================================
   SITE COMPONENT TYPE ALIASES (shared typographic roles, unchanged)
   ========================================================================== */
.main-nav__link {
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ui);
}

.btn,
.home-btn-override-fix {
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ui);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.card-title {
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
  line-height: 1.3;
}

.label-eyebrow {
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.breadcrumb__link {
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
}

.tldr-summary {
  font-size: var(--fs-body-large);
  font-weight: var(--fw-medium);
  line-height: 1.5;
}

.detail-body-text {
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
}

.pill-badge {
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  line-height: var(--lh-ui);
}

.footer__brand-name {
  font-size: var(--fs-h3);
  font-weight: var(--fw-semibold);
}

.footer__title {
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
}

.footer__link,
.footer__contact-text {
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
}

/*
================================================================
DR. SHRINATH VISWANATH — BLOG / ARTICLES LISTING PAGE
Paste into: Elementor → Page Settings → Custom CSS
Prefix: bl-
Breakpoints: 1024 · 768 · 600 · 375

MERGE NOTE — TWO DRAFTS FOUND FOR THIS PAGE:
The two source files used different class names for the same regions:
  filter bar:     .bl-filters/.bl-filter-row/.bl-filter-btn   vs  .bl-filter-bar/.bl-filter-inner/.bl-filter-btn
  featured post:  .bl-featured/.bl-featured-card              vs  .bl-featured-wrap/.bl-featured
  posts grid:     .bl-grid-section/.bl-card/.bl-card-img-label vs .bl-grid-wrap/.bl-card/.bl-card-cat
This merge keeps the FIRST draft's structure (it was already written using
var() tokens throughout, i.e. already closer to standardised, and includes
extra detail like category-tag color variants and stagger-delay utilities
that the second draft lacks). If your live HTML actually uses the second
draft's class names (.bl-filter-bar, .bl-featured-wrap, .bl-card-cat, etc.),
flag it and I'll re-key this file to match — right now there's no HTML
provided for this page to confirm which set is live.
Duplicate token declarations that were re-declared inside .bl-wrap
(--c1…--c6, --off, --shadow, --radius, etc.) have been removed — every
token now comes from the single :root block above. --off renamed to the
canonical --off-white everywhere.
================================================================
*/

/* ── ELEMENTOR RESET ── */
.elementor-section, .elementor-column, .elementor-widget-wrap,
.elementor-widget-container, .elementor-widget-html, .e-con, .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: unset !important;
  display: block !important;
}

/* ── WRAPPER ── */
.bl-wrap {
  --container: 1200px; /* page-scoped, narrower than the 1280px site default */
  position: relative !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  background: var(--off-white) !important;
  font-family: var(--f-body) !important;
  color: var(--text) !important;
  -webkit-font-smoothing: antialiased !important;
}

.bl-bg-grain {
  position: absolute !important;
  inset: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E") !important;
  opacity: 0.04 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.bl-container { max-width: var(--container) !important; margin: 0 auto !important; padding-inline: clamp(16px, 4vw, 60px) !important; }
.bl-main { position: relative !important; z-index: 1 !important; }

/* Scroll reveal + stagger-delay utilities */
.bl-reveal {
  opacity: 0 !important;
  transform: translateY(22px) !important;
  transition: opacity 0.65s ease calc(var(--rd, 0s)), transform 0.65s ease calc(var(--rd, 0s)) !important;
}
.bl-revealed { opacity: 1 !important; transform: translateY(0) !important; }
.delay-05 { --rd: 0.05s !important; }
.delay-1  { --rd: 0.1s  !important; }
.delay-15 { --rd: 0.15s !important; }
.delay-2  { --rd: 0.2s  !important; }
.delay-25 { --rd: 0.25s !important; }
.delay-3  { --rd: 0.3s  !important; }
.delay-35 { --rd: 0.35s !important; }
.delay-8  { --rd: 0.08s !important; }
.delay-11 { --rd: 0.11s !important; }

/* ── HERO ── */
.bl-hero {
  background: linear-gradient(135deg, var(--c2) 0%, #0a3a65 100%) !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: 44vh !important;
  display: flex !important;
  align-items: flex-end !important;
  padding-top: 80px !important; /* reduced, no fixed nav on this fragment */
}
.bl-hero-grid {
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px) !important;
  background-size: 64px 64px !important;
  pointer-events: none !important;
}
.bl-hero-glow {
  position: absolute !important;
  right: -80px !important;
  bottom: -80px !important;
  width: 480px !important;
  height: 480px !important;
  background: radial-gradient(circle, rgba(144, 202, 238, 0.08) 0%, transparent 70%) !important;
  pointer-events: none !important;
}
.bl-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  padding: 60px clamp(16px, 4vw, 60px) 56px !important;
  width: 100% !important;
  max-width: var(--container) !important;
  margin: 0 auto !important;
}
.bl-breadcrumb { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 22px !important; }
.bl-bc-link { font-size: var(--fs-small) !important; color: rgba(255, 255, 255, 0.55) !important; text-decoration: none !important; font-weight: var(--fw-medium) !important; transition: color 0.2s !important; }
.bl-bc-link:hover { color: rgba(255, 255, 255, 0.85) !important; }
.bl-bc-sep { color: rgba(255, 255, 255, 0.3) !important; font-size: var(--fs-xs) !important; }
.bl-bc-current { font-size: var(--fs-small) !important; color: rgba(255, 255, 255, 0.85) !important; }
.bl-eyebrow { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 16px !important; }
.bl-eyebrow-line { display: inline-block !important; width: 32px !important; height: 1.5px !important; background: rgba(255, 255, 255, 0.4) !important; flex-shrink: 0 !important; }
.bl-eyebrow-text { font-size: var(--fs-xs) !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgba(255, 255, 255, 0.65) !important; font-weight: var(--fw-bold) !important; }
.bl-h1 { font-family: var(--f-title) !important; font-size: var(--fs-display) !important; font-weight: var(--fw-bold) !important; line-height: 1.05 !important; color: #fff !important; }
.bl-h1 em { font-style: italic !important; font-family: var(--f-sub) !important; color: var(--c5) !important; font-weight: var(--fw-semibold) !important; }

/* ── FILTER TABS ── */
.bl-filters {
  background: var(--white) !important;
  border-bottom: 1px solid rgba(15, 76, 129, 0.08) !important;
  position: sticky !important;
  top: 0 !important; /* no fixed nav above this fragment */
  z-index: 100 !important;
}
.bl-filter-row {
  display: flex !important;
  gap: 0 !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
.bl-filter-row::-webkit-scrollbar { display: none !important; }
.bl-filter-btn {
  padding: 14px 20px !important;
  font-family: var(--f-body) !important;
  font-size: var(--fs-xs) !important;
  font-weight: var(--fw-bold) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all 0.2s !important;
  flex-shrink: 0 !important;
}
.bl-filter-btn:hover { color: var(--c2) !important; }
.bl-filter-active { color: var(--c2) !important; border-bottom-color: var(--c2) !important; }

/* ── POST META ── */
.bl-post-meta { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; margin-bottom: 10px !important; }
.bl-category-tag {
  font-size: var(--fs-xs) !important;
  font-weight: var(--fw-bold) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--c3) !important;
  background: var(--pale) !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
}
.bl-cat-living { color: #2e7d32 !important; background: rgba(46, 125, 50, 0.08) !important; }
.bl-cat-surgery { color: #c8611a !important; background: rgba(200, 97, 26, 0.08) !important; }
.bl-read-time { font-size: var(--fs-xs) !important; color: var(--muted) !important; font-weight: var(--fw-medium) !important; }
.bl-post-date { font-size: var(--fs-xs) !important; color: var(--muted) !important; font-weight: var(--fw-medium) !important; }

/* ── FEATURED POST ── */
.bl-featured { background: var(--white) !important; padding: 48px 0 !important; }
.bl-featured-card {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  border: 1px solid rgba(15, 76, 129, 0.09) !important;
  box-shadow: var(--shadow) !important;
  transition: all 0.35s !important;
}
.bl-featured-card:hover {
  border-color: rgba(15, 76, 129, 0.25) !important;
  box-shadow: var(--shadow-lg) !important;
  transform: translateY(-4px) !important;
}
.bl-featured-img {
  position: relative !important;
  overflow: hidden !important;
  min-height: 340px !important;
  background: linear-gradient(135deg, var(--pale) 0%, var(--c6) 60%, var(--c5) 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.bl-featured-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; transition: transform 0.4s !important; }
.bl-featured-card:hover .bl-featured-img img { transform: scale(1.04) !important; }
.bl-featured-img-label {
  font-family: var(--f-sub) !important;
  font-style: italic !important;
  color: rgba(15, 76, 129, 0.3) !important;
  font-size: var(--fs-small) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
}
.bl-featured-img-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to right, transparent 60%, rgba(255, 255, 255, 0.05) 100%) !important;
  pointer-events: none !important;
}
.bl-featured-body {
  padding: 40px 40px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: var(--white) !important;
}
.bl-featured-title {
  font-family: var(--f-sub) !important;
  font-size: var(--fs-h4) !important;
  font-weight: var(--fw-semibold) !important;
  color: var(--c2) !important;
  line-height: 1.3 !important;
  margin-bottom: 16px !important;
}
.bl-featured-excerpt { font-size: var(--fs-small) !important; color: var(--body) !important; line-height: var(--lh-body) !important; font-weight: var(--fw-medium) !important; margin-bottom: 24px !important; }
.bl-read-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--c3) !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-bold) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.bl-arrow { transition: transform 0.3s !important; }
.bl-featured-card:hover .bl-arrow { transform: translateX(5px) !important; }

/* ── POSTS GRID ── */
.bl-grid-section { background: var(--off-white) !important; padding: 48px 0 80px !important; }
.bl-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
.bl-card {
  background: var(--white) !important;
  border: 1px solid rgba(15, 76, 129, 0.09) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: var(--shadow) !important;
  transition: all 0.35s !important;
}
.bl-card:hover {
  border-color: rgba(15, 76, 129, 0.25) !important;
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-lg) !important;
}
.bl-card-img {
  height: 200px !important;
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, var(--pale) 0%, var(--c6) 60%, var(--c5) 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.bl-card-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; transition: transform 0.4s !important; }
.bl-card:hover .bl-card-img img { transform: scale(1.04) !important; }
.bl-card-img-label {
  font-family: var(--f-sub) !important;
  font-style: italic !important;
  color: rgba(15, 76, 129, 0.3) !important;
  font-size: var(--fs-xs) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
}
.bl-card-img-overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 60px !important;
  background: linear-gradient(to top, var(--white), transparent) !important;
  pointer-events: none !important;
}
.bl-card-body {
  padding: 22px 24px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.bl-card-title {
  font-family: var(--f-sub) !important;
  font-size: var(--fs-h4) !important;
  font-weight: var(--fw-semibold) !important;
  color: var(--c2) !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
  flex: 1 !important;
}
.bl-card-excerpt { font-size: var(--fs-small) !important; color: var(--body) !important; line-height: var(--lh-body) !important; font-weight: var(--fw-medium) !important; margin-bottom: 16px !important; }
.bl-card-footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(15, 76, 129, 0.07) !important;
}
.bl-read-more-sm { font-size: var(--fs-xs) !important; font-weight: var(--fw-bold) !important; color: var(--c3) !important; letter-spacing: 0.05em !important; transition: color 0.2s !important; }
.bl-card:hover .bl-read-more-sm { color: var(--c2) !important; }

/* ── CTA BAND ── */
.bl-cta-band { background: var(--c2) !important; padding: 80px 0 !important; position: relative !important; overflow: hidden !important; }
.bl-cta-glow {
  position: absolute !important;
  right: -100px !important;
  top: -100px !important;
  width: 400px !important;
  height: 400px !important;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.04) 0%, transparent 70%) !important;
  pointer-events: none !important;
}
.bl-cta-inner { display: grid !important; grid-template-columns: 1fr auto !important; gap: 60px !important; align-items: center !important; position: relative !important; z-index: 1 !important; }
.bl-cta-h2 { font-family: var(--f-title) !important; font-size: var(--fs-h2) !important; font-weight: var(--fw-semibold) !important; color: #fff !important; line-height: var(--lh-headings) !important; margin-bottom: 10px !important; }
.bl-cta-h2 em { font-style: italic !important; color: var(--c5) !important; font-family: var(--f-sub) !important; }
.bl-cta-sub { font-size: var(--fs-body) !important; color: rgba(255, 255, 255, 0.7) !important; font-weight: var(--fw-medium) !important; margin: 0 !important; }
.bl-cta-actions { display: flex !important; flex-direction: column !important; gap: 10px !important; min-width: 200px !important; align-items: stretch !important; }
.bl-btn-white {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: var(--c2) !important;
  padding: 13px 24px !important;
  border-radius: var(--radius) !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-bold) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
  min-height: 44px !important;
}
.bl-btn-white:hover { background: var(--pale) !important; transform: translateY(-2px) !important; }
.bl-btn-wa {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: var(--wa) !important;
  color: #fff !important;
  padding: 13px 24px !important;
  border-radius: var(--radius) !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-bold) !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
  min-height: 44px !important;
}
.bl-btn-wa:hover { background: #1ebe5a !important; transform: translateY(-2px) !important; }

/* ══════════════════════════════════════
   BREAKPOINTS
══════════════════════════════════════ */
@media (max-width: 1024px) {
  .bl-grid { grid-template-columns: 1fr 1fr !important; }
  .bl-cta-inner { gap: 40px !important; }
  .bl-featured-card { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 768px) {
  .bl-hero { padding-top: 64px !important; min-height: 36vh !important; }
  .bl-hero-inner { padding: 40px 20px 48px !important; }
  .bl-h1 { font-size: var(--fs-h1) !important; }
  .bl-featured { padding: 32px 0 !important; }
  .bl-featured-card { grid-template-columns: 1fr !important; }
  .bl-featured-img { min-height: 240px !important; }
  .bl-featured-body { padding: 24px !important; }
  .bl-grid-section { padding: 32px 0 56px !important; }
  .bl-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .bl-cta-band { padding: 56px 0 !important; }
  .bl-cta-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
  .bl-cta-actions { flex-direction: row !important; flex-wrap: wrap !important; }
  .bl-btn-white, .bl-btn-wa { flex: 1 !important; min-width: 140px !important; }
}
@media (max-width: 600px) {
  .bl-cta-actions { flex-direction: column !important; }
  .bl-btn-white, .bl-btn-wa { width: 100% !important; }
}
@media (max-width: 375px) {
  .bl-h1 { font-size: var(--fs-h1) !important; }
}/* End custom CSS */