/* Google Fonts — Inter (UI) + DM Mono (stat numerals) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap');

/* ===================================================================
   AXIMEDIC — Brand Stylesheet
   AI-Powered · Blockchain-Secured · Patient-to-Enterprise
   CareBee (consumer) · AXERP Health (clinical core) · Vyli (patient)
   OoWomaniya (India women's health platform)
   =================================================================== */

:root {
  /* Core brand — health teal */
  --brand-teal:         #0891B2;
  --brand-teal-light:   #22D3EE;
  --brand-teal-dim:     rgba(8, 145, 178, 0.12);
  --brand-teal-border:  rgba(8, 145, 178, 0.30);

  /* Health green */
  --brand-green:        #059669;
  --brand-green-light:  #34D399;
  --brand-green-dim:    rgba(5, 150, 105, 0.12);

  /* Warm CTA orange */
  --brand-orange:       #E37C2D;
  --brand-orange-light: #F0A050;
  --brand-orange-dim:   rgba(227, 124, 45, 0.12);
  --brand-orange-border:rgba(227, 124, 45, 0.30);

  /* Dark bg */
  --brand-dark:         #0B1E35;
  --brand-dark-2:       #060e1c;
  --brand-white:        #ffffff;

  /* Product accent colors */
  --axerp-blue:         #1D4ED8;
  --axerp-blue-dim:     rgba(29, 78, 216, 0.12);
  --carebee-amber:      #D97706;
  --carebee-amber-light:#FBBf24;
  --carebee-amber-dim:  rgba(217, 119, 6, 0.12);
  --carebee-amber-border:rgba(217, 119, 6, 0.30);
  --vyli-violet:        #7C3AED;
  --vyli-violet-dim:    rgba(124, 58, 237, 0.10);
  /* OoWomaniya — India women's health platform. Rose is chrome; --oow-rose-ink
     is the text-safe step (same hue as --s5t, 6.8:1 on white). */
  --oow-rose:           #d6336c;
  --oow-rose-light:     #f08cae;
  --oow-rose-ink:       #a8265c;
  --oow-rose-dim:       rgba(214, 51, 108, 0.10);
  --oow-rose-border:    rgba(214, 51, 108, 0.30);

  /* =================================================================
     CAREBEE PALETTE
     Taken from the CareBee logo files and the investor deck's :root.
     Honey is brand chrome only — never a data series, and never used
     to carry type (use --honey-ink for that: 4.6:1 on white).
     ================================================================= */
  --honey:              #f5b301;   /* deck chrome fill */
  --honey-logo:         #fadd4c;   /* hexagon fill in carebee-mark.svg */
  --honey-deep:         #d99a00;   /* hover / pressed */
  --honey-ink:          #8a5c00;   /* honey when it has to carry type */
  --honey-dim:          rgba(245, 179, 1, 0.14);
  --honey-border:       rgba(245, 179, 1, 0.38);
  --bee-ink:            #343232;   /* bee + mark ink */
  --carebee-wordmark:   #1a1d21;   /* "CareBee" in the light lockup */
  --carebee-subword:    #6b7280;   /* "BY AXIMEDIC" in the light lockup */

  /* Deck surfaces — warm paper, not blue-white */
  --plane:              #f2f1ee;
  --surface:            #ffffff;
  --surface-2:          #fafaf8;
  --surface-3:          #f2f1ee;
  --grid:               #e6e5e0;
  --baseline:           #c3c2b7;
  --rule:               rgba(11, 11, 11, 0.13);
  --rule-2:             rgba(11, 11, 11, 0.07);

  /* Deck ink ramp */
  --ink:                #0b0b0b;
  --ink-2:              #52514e;
  --ink-3:              #5e6570;

  /* Categorical fills — validated light-mode set (dataviz validator).
     Fixed order, never cycled. */
  --s1:                 #2a78d6;
  --s2:                 #eb6834;
  --s3:                 #1baf7a;
  --s4:                 #eda100;
  --s5:                 #e87ba4;
  /* Text-safe steps of the same five hues — used whenever a hue carries type */
  --s1t:                #1c5cab;
  --s2t:                #b8451a;
  --s3t:                #0d7a52;
  --s4t:                #8a5c00;
  --s5t:                #a8265c;

  /* Status — reserved, never reused as a series colour */
  --good:               #0ca30c;
  --good-ink:           #006300;
  --warn:               #eda100;
  --warn-ink:           #8a5c00;
  --crit:               #d03b3b;
  --crit-ink:           #b52a2a;

  /* Sovereign palette */
  --sov-navy:           #0b1628;
  --sov-teal:           #22D3EE;
  --sov-teal-dim:       rgba(34, 211, 238, 0.10);
  --sov-green:          #34D399;
  --sov-green-dim:      rgba(52, 211, 153, 0.10);
  --sov-violet:         #c4b5fd;
  --sov-violet-dim:     rgba(124, 58, 237, 0.10);
  --sov-gold:           #ffd580;

  /* AWS */
  --aws-orange:         #ff9900;
  --aws-orange-dim:     rgba(255, 153, 0, 0.10);

  /* amethyst-dark compat */
  --amethyst-dark:      #0B1E35;

  /* Type */
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'DM Mono', 'Courier New', monospace;

  /* Motion */
  --transition-ui: all 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* --- Utility --- */
.text-brand-teal   { color: var(--brand-teal) !important; }
.text-brand-orange { color: var(--brand-orange) !important; }
.bg-brand-teal     { background-color: var(--brand-teal) !important; }
.bg-brand-orange   { background-color: var(--brand-orange) !important; }
.bg-brand-dark     { background-color: var(--brand-dark) !important; }
.bg-amethyst-dark  { background-color: var(--brand-dark) !important; }

/* --- Brand Button (teal primary) --- */
.btn-brand { background-color: var(--brand-teal); border-color: var(--brand-teal); color: white; }
.btn-brand:hover { background-color: #0670A0; border-color: #0670A0; color: white; }

/* --- Ticker Bar --- */
.ticker-bar { background: var(--brand-dark); color: white; padding: 10px 0; text-align: center; font-size: 0.9rem; }
.ticker-bar .text-brand-teal { color: var(--brand-teal-light) !important; font-weight: bold; }
.ticker-bar .text-brand-orange { color: var(--brand-orange) !important; font-weight: bold; }
.ticker-content { display: inline-flex; align-items: center; gap: 0.5rem; }
@media (max-width: 767.98px) { .ticker-bar { font-size: 0.8rem; padding: 8px 0; } }

/* --- Hero Section --- */
.hero-section { background-color: var(--brand-dark); background-size: cover; background-position: center center; background-repeat: no-repeat; min-height: 60vh; padding: 3.5rem 1.5rem; }
.hero-section.about-hero { min-height: 36vh; padding: 2.5rem 1.5rem; }
@media (max-width: 991.98px) { .hero-section { min-height: 50vh; padding: 3rem 1.25rem; background-position: 60% center; } .hero-section.about-hero { min-height: 26vh; padding: 2rem 1.25rem; } }
@media (max-width: 767.98px) { .hero-section { min-height: 40vh; padding: 2.5rem 1rem; } .hero-section h1 { font-size: 1.75rem; } .hero-section p.fs-5 { font-size: 1rem !important; } }
@media (max-width: 479.98px) { .hero-section { min-height: 36vh; padding: 2rem 1rem; } .hero-section h1 { font-size: 1.4rem; } }

/* --- Cookie Consent Banner --- */
#cookie-banner { display: none; position: fixed; bottom: 1.5rem; right: 1.5rem; width: 360px; max-width: calc(100vw - 2rem); background: var(--brand-dark); color: #fff; border-radius: .75rem; box-shadow: 0 8px 32px rgba(0,0,0,.35); border-left: 4px solid var(--brand-teal); z-index: 10000; transform: translateY(20px); opacity: 0; transition: transform .4s cubic-bezier(.22,1,.36,1), opacity .35s ease; overflow: hidden; }
#cookie-banner.cookie-banner--ready { display: block; }
#cookie-banner.cookie-banner--visible { display: block; transform: translateY(0); opacity: 1; }
.cookie-banner__header { display: flex; align-items: center; justify-content: space-between; padding: .875rem 1rem .5rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.cookie-banner__title { font-size: .9rem; font-weight: 700; display: flex; align-items: center; gap: .5rem; }
.cookie-banner__title i { color: var(--brand-teal); }
.cookie-banner__close { background: transparent; border: none; color: rgba(255,255,255,.45); font-size: 1rem; cursor: pointer; padding: 0 .25rem; line-height: 1; transition: color .2s; }
.cookie-banner__close:hover { color: #fff; }
.cookie-banner__body { padding: .875rem 1rem; }
.cookie-banner__text { font-size: .8rem; color: rgba(255,255,255,.75); margin-bottom: .875rem; line-height: 1.55; }
.cookie-banner__badge { display: inline-block; font-size: .65rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .15rem .5rem; border-radius: 999px; margin-bottom: .625rem; }
.cookie-banner__badge--us { background: rgba(255,255,255,.1); color: rgba(255,255,255,.65); border: 1px solid rgba(255,255,255,.15); }
.cookie-banner__actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.cookie-banner__actions .btn { font-size: .78rem; padding: .4rem .9rem; border-radius: .4rem; font-weight: 600; }
.cookie-banner__footer { padding: .5rem 1rem .75rem; font-size: .7rem; color: rgba(255,255,255,.35); }
.cookie-banner__footer a { color: rgba(255,255,255,.5); text-decoration: underline; }
.cookie-banner__footer a:hover { color: #fff; }
@media (max-width: 479.98px) { #cookie-banner, #cookie-banner.cookie-banner--ready, #cookie-banner.cookie-banner--visible { bottom: 0; right: 0; left: 0; width: 100%; max-width: 100%; border-radius: .75rem .75rem 0 0; border-left: none; border-top: 4px solid var(--brand-teal); } }

/* ===================================================================
   TYPOGRAPHY
   =================================================================== */
body, .block-content, .nav-main-link-name, h1, h2, h3, h4, h5, h6 { font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* Mono + tabular numerals for stat figures only. The `[class*="display-"]`
   half of this selector was catching Bootstrap display *headings* too, so
   prose H1s ("Caring for someone?…", "The evidence behind CareBee") rendered
   in DM Mono. Excluding heading tags keeps the numerals mono and the sentences
   sans — headings still get their display- size, just not the typeface. */
.sov-stat-num, .stat-number,
[class*="display-"]:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }

/* ===================================================================
   SECTION LABEL
   =================================================================== */
.section-label { display: block; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #9e9e9e; margin-bottom: .5rem; }
.section-label-light { display: block; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,0.45); margin-bottom: .5rem; }

/* ===================================================================
   BTN-HERO
   =================================================================== */
.btn-hero { display: inline-flex; align-items: center; gap: .5rem; padding: .9rem 2.25rem; font-size: 1rem; font-weight: 700; letter-spacing: .02em; border-radius: .5rem; transition: var(--transition-ui); white-space: nowrap; }
.btn-hero.btn-teal, .btn-hero.btn-brand { background: var(--brand-teal); border-color: var(--brand-teal); color: #fff; box-shadow: 0 4px 20px rgba(8,145,178,0.35); }
.btn-hero.btn-teal:hover, .btn-hero.btn-brand:hover { background: #0670A0; border-color: #0670A0; box-shadow: 0 6px 28px rgba(8,145,178,0.45); transform: translateY(-1px); }
.btn-hero.btn-warning { background: var(--brand-orange); border-color: var(--brand-orange); color: #fff; box-shadow: 0 4px 20px rgba(227,124,45,0.35); }
.btn-hero.btn-warning:hover { background: #c46a1f; border-color: #c46a1f; transform: translateY(-1px); }
.btn-hero.btn-outline-light { border-color: rgba(255,255,255,0.5); color: #fff; background: transparent; }
.btn-hero.btn-outline-light:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.8); }

/* ===================================================================
   SOVEREIGN BADGES
   =================================================================== */
.sov-badge { display: inline-flex; align-items: center; gap: .4rem; border-radius: 50px; padding: .25rem .9rem; font-size: .75rem; font-weight: 700; letter-spacing: .04em; line-height: 1.6; white-space: nowrap; }
.sov-badge--teal   { background: var(--brand-teal-dim); color: var(--brand-teal-light); border: 1px solid var(--brand-teal-border); }
.sov-badge--green  { background: var(--brand-green-dim); color: var(--brand-green-light); border: 1px solid rgba(5,150,105,0.28); }
.sov-badge--orange { background: var(--brand-orange-dim); color: var(--brand-orange-light); border: 1px solid var(--brand-orange-border); }
.sov-badge--amber  { background: var(--carebee-amber-dim); color: var(--carebee-amber-light); border: 1px solid var(--carebee-amber-border); }
.sov-badge--violet { background: var(--vyli-violet-dim); color: #c4b5fd; border: 1px solid rgba(124,58,237,0.28); }
.sov-badge--rose   { background: var(--oow-rose-dim); color: var(--oow-rose-light); border: 1px solid var(--oow-rose-border); }
.sov-badge--aws    { background: var(--aws-orange-dim); color: var(--aws-orange); border: 1px solid rgba(255,153,0,0.28); border-radius: 8px; }
.sov-badge--gold   { background: rgba(255,213,128,0.08); color: var(--sov-gold); border: 1px solid rgba(255,213,128,0.25); }

/* ===================================================================
   SOVEREIGN SECTIONS
   =================================================================== */
.sov-section { background: linear-gradient(135deg, #060e1c 0%, #0b1a30 55%, #071626 100%); border-radius: .75rem; padding: 3.5rem 2.5rem; color: #fff; border: 1px solid rgba(8,145,178,0.10); position: relative; overflow: hidden; }
.sov-section::before { content: ''; position: absolute; top: -80px; right: -80px; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(circle, rgba(8,145,178,0.06) 0%, transparent 65%); pointer-events: none; }
.sov-section--green  { border-color: rgba(5,150,105,0.10); background: linear-gradient(135deg, #060e1c 0%, #071a10 55%, #0b1528 100%); }
.sov-section--green::before { background: radial-gradient(circle, rgba(5,150,105,0.06) 0%, transparent 65%); }
.sov-section--violet { border-color: rgba(124,58,237,0.10); }
.sov-section--violet::before { background: radial-gradient(circle, rgba(124,58,237,0.06) 0%, transparent 65%); }
.sov-section--aws { background: linear-gradient(135deg, #1a1a2e 0%, #0f2140 100%); border-color: rgba(255,153,0,0.12); }

/* ===================================================================
   INTEGRITY CARD
   =================================================================== */
.integrity-card { border: 1px solid #e8e8e8; border-radius: .75rem; padding: 1.5rem; height: 100%; display: flex; flex-direction: column; background: #fff; transition: var(--transition-ui); }
.integrity-card:hover { border-color: var(--brand-teal); box-shadow: 0 6px 24px rgba(8,145,178,0.12); transform: translateY(-2px); }
.integrity-card__icon { width: 52px; height: 52px; border-radius: 12px; background: #f0f8fb; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.25s; }
.integrity-card:hover .integrity-card__icon { background: var(--brand-teal-dim); }
.integrity-card__icon i { color: #888; transition: color 0.25s; }
.integrity-card:hover .integrity-card__icon i { color: var(--brand-teal); }

/* ===================================================================
   SOV-STAT
   =================================================================== */
.sov-stat { text-align: center; padding: 1.5rem 1rem; }
.sov-stat__num { font-family: var(--font-mono); font-size: 2.4rem; font-weight: 500; color: var(--brand-teal); line-height: 1; display: block; }
.sov-stat__label { font-size: .78rem; color: #777; margin-top: .35rem; line-height: 1.4; }
.sov-section .sov-stat__num { color: var(--brand-teal-light); }
.sov-section .sov-stat__label { color: rgba(255,255,255,0.50); }

/* ===================================================================
   SOV-PHASE
   =================================================================== */
.sov-phase { border-left: 3px solid rgba(8,145,178,0.35); padding: .75rem 0 .75rem 1.25rem; margin-bottom: 1rem; }
.sov-phase:last-child { margin-bottom: 0; }
.sov-phase__overline { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--brand-teal-light); margin-bottom: .25rem; }
.sov-phase__title { font-weight: 700; color: #fff; font-size: 1rem; }
.sov-phase__body { font-size: .88rem; color: rgba(255,255,255,0.68); margin-top: .25rem; line-height: 1.6; }
.sov-phase--green  { border-left-color: rgba(5,150,105,0.38); }
.sov-phase--green .sov-phase__overline { color: var(--brand-green-light); }
.sov-phase--amber  { border-left-color: rgba(217,119,6,0.38); }
.sov-phase--amber .sov-phase__overline { color: var(--carebee-amber-light); }
.sov-phase--violet { border-left-color: rgba(124,58,237,0.38); }
.sov-phase--violet .sov-phase__overline { color: #c4b5fd; }
.sov-phase--rose   { border-left-color: var(--oow-rose-border); }
.sov-phase--rose .sov-phase__overline { color: var(--oow-rose-light); }

/* ===================================================================
   BREADCRUMB
   =================================================================== */
.breadcrumb { background: transparent; padding: 0; margin: 0; font-size: .82rem; }
.breadcrumb-item + .breadcrumb-item::before { content: '\f105'; font-family: 'Font Awesome 5 Free'; font-weight: 900; color: #bbb; }
.breadcrumb-item a { color: var(--brand-teal); text-decoration: none; }
.breadcrumb-item a:hover { text-decoration: underline; }
.breadcrumb-item.active { color: #777; }

/* ===================================================================
   MOBILE OFFCANVAS NAV
   =================================================================== */
#aximedic-offcanvas { width: 300px; background: var(--sov-navy); }
#aximedic-offcanvas .offcanvas-header { padding: 1.25rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.07); }
#aximedic-offcanvas .offcanvas-body { padding: 1rem 0; }
.aximedic-mobile-nav { list-style: none; padding: 0; margin: 0; }
.aximedic-mobile-nav li { border-bottom: 1px solid rgba(255,255,255,0.05); }
.aximedic-mobile-nav a { display: flex; align-items: center; gap: .75rem; padding: .85rem 1.5rem; color: rgba(255,255,255,0.80); font-size: .92rem; font-weight: 500; text-decoration: none; transition: background 0.2s, color 0.2s; }
.aximedic-mobile-nav a:hover, .aximedic-mobile-nav a.active { background: rgba(255,255,255,0.05); color: #fff; }
.aximedic-mobile-nav a i { width: 20px; text-align: center; color: var(--brand-teal); font-size: .88rem; }
.aximedic-mobile-nav .mobile-sub { background: rgba(0,0,0,0.2); }
.aximedic-mobile-nav .mobile-sub a { padding-left: 2.75rem; font-size: .85rem; color: rgba(255,255,255,0.60); }
.aximedic-mobile-nav .mobile-sub a:hover { color: rgba(255,255,255,0.90); }
/* The label here is a bare text node between the icon and the chevron, so
   `space-between` was centring it — "Solutions" started 65px right of every
   other nav label. Pushing only the chevron to the far edge keeps the label
   flush left with its siblings. */
.aximedic-mobile-nav .mobile-sub-toggle i.toggle-icon { width: auto; margin-left: auto; color: rgba(255,255,255,0.35); transition: transform 0.2s; }
.aximedic-mobile-nav .mobile-sub-toggle[aria-expanded="true"] i.toggle-icon { transform: rotate(180deg); }
.aximedic-mobile-cta { padding: 1.25rem 1.5rem; border-top: 1px solid rgba(255,255,255,0.07); }
.aximedic-mobile-toggler { display: none; background: transparent; border: 1px solid rgba(255,255,255,0.15); border-radius: .4rem; padding: .4rem .6rem; color: rgba(255,255,255,0.75); font-size: 1rem; cursor: pointer; transition: var(--transition-ui); }
.aximedic-mobile-toggler:hover { background: rgba(255,255,255,0.07); color: #fff; }
@media (max-width: 991.98px) { .aximedic-mobile-toggler { display: flex; align-items: center; gap: .4rem; } }

/* ===================================================================
   BLOCK LIFT
   =================================================================== */
.block-rounded { transition: box-shadow 0.25s ease, transform 0.25s ease; }
.block-link-pop:hover, a.block-rounded:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important; transform: translateY(-2px); }

/* ===================================================================
   PRODUCT CARDS
   =================================================================== */
.product-card-axerp   { border-top: 3px solid var(--axerp-blue); }
.product-card-carebee { border-top: 3px solid var(--carebee-amber); }
.product-card-vyli    { border-top: 3px solid var(--vyli-violet); }
.product-card-oow     { border-top: 3px solid var(--oow-rose); }
.feature-card { border-left: 3px solid var(--brand-teal); transition: box-shadow .2s; }
.feature-card:hover { box-shadow: 0 4px 24px rgba(0,0,0,.08); }
.section-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; font-weight: 600; color: var(--brand-teal); }

/* ===================================================================
   STEP BADGE
   =================================================================== */
.step-badge { width: 2.4rem; height: 2.4rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1rem; background-color: var(--brand-teal); color: #fff; flex-shrink: 0; }

/* ===================================================================
   STAT BADGE
   =================================================================== */
.stat-badge { background: rgba(8,145,178,.10); border: 1px solid rgba(8,145,178,.25); border-radius: .75rem; padding: 1.25rem; text-align: center; height: 100%; }
.stat-badge .stat-icon { font-size: 1.8rem; color: var(--brand-teal); line-height: 1; margin-bottom: .5rem; }
.stat-badge .stat-label { font-size: .78rem; color: #6c757d; margin-top: .3rem; }

/* ===================================================================
   ARCH BADGE
   =================================================================== */
.arch-badge { background: rgba(8,145,178,.10); border: 1px solid rgba(8,145,178,.28); border-radius: .5rem; padding: .6rem 1rem; font-size: .85rem; }

/* ===================================================================
   PROCESS STEP
   =================================================================== */
.process-step { display: flex; gap: 1.25rem; align-items: flex-start; padding: 1rem 0; border-bottom: 1px solid #f0f0f0; }
.process-step:last-child { border-bottom: none; }
.process-step__num { width: 36px; height: 36px; border-radius: 50%; background: #f0f8fb; border: 2px solid var(--brand-teal); display: flex; align-items: center; justify-content: center; font-weight: 800; color: var(--brand-teal); font-size: .85rem; flex-shrink: 0; font-family: var(--font-mono); }

/* ===================================================================
   CHECK ITEM
   =================================================================== */
.check-item { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .5rem; }
.check-item:last-child { margin-bottom: 0; }
.check-item i { color: var(--brand-green); margin-top: .15rem; flex-shrink: 0; }

/* ===================================================================
   INTEGRITY TABLE
   =================================================================== */
.sov-edge-table { border-collapse: separate; border-spacing: 0; width: 100%; }
.sov-edge-table th { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.88); font-size: .74rem; letter-spacing: .09em; text-transform: uppercase; padding: .8rem 1.25rem; font-weight: 700; }
.sov-edge-table th.col-axina { color: var(--brand-teal-light); }
.sov-edge-table td { padding: .75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); color: rgba(255,255,255,0.75); font-size: .88rem; line-height: 1.5; }
.sov-edge-table tr:last-child td { border-bottom: none; }
.sov-edge-table td.col-axina { color: var(--sov-gold); font-weight: 600; }
.sov-edge-table td.col-legacy { color: rgba(255,255,255,0.35); }
.sov-edge-table td.row-label { color: rgba(255,255,255,0.55); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }

/* ===================================================================
   CAREBEE COMPONENTS
   Light, warm, consumer-facing. Honey is chrome; type is --ink /
   --honey-ink so nothing depends on honey for legibility.
   =================================================================== */

/* Brand lockup in the nav / footer / hero */
.cb-lockup      { height: 34px; width: auto; display: block; }
.cb-lockup--sm  { height: 26px; }
.cb-lockup--lg  { height: 52px; }
.cb-mark        { height: 30px; width: auto; display: block; }
@media (max-width: 575.98px) { .cb-lockup { height: 28px; } .cb-lockup--lg { height: 40px; } }

/* Warm light hero — replaces the old dark-brown gradient */
.carebee-hero {
  background: linear-gradient(135deg, #fffdf5 0%, var(--surface-3) 55%, #fdf6e3 100%);
  border: 1px solid var(--honey-border);
  position: relative;
  overflow: hidden;
}
.carebee-hero::before {
  content: '';
  position: absolute; top: -120px; right: -90px;
  width: 420px; height: 420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(245,179,1,0.20) 0%, transparent 68%);
  pointer-events: none;
}
.carebee-hero .hero-content { position: relative; z-index: 2; }

/* Warm paper band — the light counterpart to .sov-section */
.cb-section {
  background: var(--surface-3);
  border: 1px solid var(--rule-2);
  border-radius: .75rem;
  padding: 3rem 2.5rem;
  color: var(--ink);
}
.cb-section--honey { background: linear-gradient(135deg, #fffdf5 0%, #fdf3d9 100%); border-color: var(--honey-border); }
@media (max-width: 767.98px) { .cb-section { padding: 1.75rem 1.25rem; } }

/* Honey CTA — dark type on honey keeps AA at any size */
.btn-honey {
  background: var(--honey); border-color: var(--honey); color: #241a00;
  font-weight: 700;
}
.btn-honey:hover, .btn-honey:focus {
  background: var(--honey-deep); border-color: var(--honey-deep); color: #241a00;
}
.btn-hero.btn-honey { box-shadow: 0 4px 20px rgba(245,179,1,0.35); }
.btn-hero.btn-honey:hover { box-shadow: 0 6px 28px rgba(245,179,1,0.45); transform: translateY(-1px); }
.btn-outline-honey { border-color: var(--honey-ink); color: var(--honey-ink); background: transparent; font-weight: 700; }
.btn-outline-honey:hover, .btn-outline-honey:focus { background: var(--honey-dim); border-color: var(--honey-ink); color: var(--honey-ink); }

/* ── Consumer signup CTA (carebeeapp.com) ───────────────────────────────
   Every other CTA on this site routes to contact.html, which is a B2B demo
   form. A caregiver who wants the app needs a separate, unmistakable path,
   so signup buttons get their own class rather than reusing a demo button.
   Visually they are btn-honey (CareBee's primary action colour); the class
   exists so the GA4 handler and any future A/B test can target them. */
.btn-signup {
  background: var(--honey); border-color: var(--honey); color: #241a00;
  font-weight: 700;
}
.btn-signup:hover, .btn-signup:focus {
  background: var(--honey-deep); border-color: var(--honey-deep); color: #241a00;
}
.btn-hero.btn-signup { box-shadow: 0 4px 20px rgba(245,179,1,0.35); }
.btn-hero.btn-signup:hover { box-shadow: 0 6px 28px rgba(245,179,1,0.45); transform: translateY(-1px); }

/* Signup band — the full-width "get the app" block. Honey-tinted so it reads
   as consumer, distinct from the teal enterprise/demo bands. */
.cb-signup {
  background: linear-gradient(135deg, var(--honey-dim) 0%, #fff8e6 100%);
  border: 1px solid var(--honey-border);
  border-radius: 12px;
}
.cb-signup__note {
  font-size: .82rem; color: var(--ink-2);
}
/* Store-badge row: platform availability stated as text, since the app is
   pre-launch and real App Store / Play badges would be a false claim. */
.cb-store-row { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; }
.cb-store-row span { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--ink-2); font-weight: 600; }

/* Honey badge for light surfaces — the amber sov-badge assumes a dark bg */
.cb-badge {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--honey-dim); color: var(--honey-ink);
  border: 1px solid var(--honey-border);
  border-radius: 50px; padding: .25rem .9rem;
  font-size: .75rem; font-weight: 700; letter-spacing: .04em; line-height: 1.6;
  white-space: nowrap;
}
.cb-badge--ink  { background: rgba(11,11,11,.05); color: var(--ink-2); border-color: var(--rule); }
.cb-badge--good { background: rgba(12,163,12,.10); color: var(--good-ink); border-color: rgba(12,163,12,.28); }

/* Stat tile on light surfaces — tabular numerals, honey-ink type */
.cb-stat { text-align: center; padding: 1.25rem 1rem; }
.cb-stat__num {
  font-family: var(--font-mono); font-variant-numeric: tabular-nums;
  font-size: 2.3rem; font-weight: 500; line-height: 1;
  color: var(--honey-ink); display: block;
}
.cb-stat__label { font-size: .78rem; color: var(--ink-2); margin-top: .4rem; line-height: 1.45; }
.cb-stat--s1 .cb-stat__num { color: var(--s1t); }
.cb-stat--s2 .cb-stat__num { color: var(--s2t); }
.cb-stat--s3 .cb-stat__num { color: var(--s3t); }
.cb-stat--s4 .cb-stat__num { color: var(--s4t); }
.cb-stat--s5 .cb-stat__num { color: var(--s5t); }
.cb-stat--rose .cb-stat__num { color: var(--oow-rose-ink); }
@media (max-width: 575.98px) { .cb-stat__num { font-size: 1.85rem; } }

/* Honey-topped card, mirroring .product-card-* */
.cb-card {
  background: var(--surface); border: 1px solid var(--rule-2);
  border-top: 3px solid var(--honey); border-radius: .75rem;
  height: 100%; transition: var(--transition-ui);
}
.cb-card:hover { border-top-color: var(--honey-deep); box-shadow: 0 6px 24px rgba(11,11,11,.08); transform: translateY(-2px); }

/* Revenue-stream row: fixed categorical order, colour follows the stream */
.cb-stream { border-left: 3px solid var(--grid); padding: .85rem 0 .85rem 1.15rem; }
.cb-stream__overline { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.cb-stream__title { font-weight: 700; color: var(--ink); font-size: 1rem; }
.cb-stream__body { font-size: .88rem; color: var(--ink-2); margin-top: .2rem; line-height: 1.6; }
.cb-stream--1 { border-left-color: var(--s1); } .cb-stream--1 .cb-stream__overline { color: var(--s1t); }
.cb-stream--2 { border-left-color: var(--s2); } .cb-stream--2 .cb-stream__overline { color: var(--s2t); }
.cb-stream--3 { border-left-color: var(--s3); } .cb-stream--3 .cb-stream__overline { color: var(--s3t); }
.cb-stream--4 { border-left-color: var(--s4); } .cb-stream--4 .cb-stream__overline { color: var(--s4t); }
.cb-stream--5 { border-left-color: var(--s5); } .cb-stream--5 .cb-stream__overline { color: var(--s5t); }

/* Honey eyebrow — the teal .section-eyebrow's CareBee sibling */
.cb-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; font-weight: 700; color: var(--honey-ink); }

/* Pull-quote / callout on warm paper */
.cb-callout {
  background: var(--honey-dim); border-left: 3px solid var(--honey);
  border-radius: .5rem; padding: 1rem 1.25rem; color: var(--ink);
}

/* ===================================================================
   OOWOMANIYA COMPONENTS
   The India women's-health platform. Same light, warm architecture as
   the CareBee set — rose is chrome, type is --oow-rose-ink / --ink.
   =================================================================== */

/* Light rose hero — sibling of .carebee-hero */
.oow-hero {
  background: linear-gradient(135deg, #fff8fa 0%, var(--surface-3) 55%, #fdeef3 100%);
  border: 1px solid var(--oow-rose-border);
  position: relative;
  overflow: hidden;
}
.oow-hero::before {
  content: '';
  position: absolute; top: -120px; right: -90px;
  width: 420px; height: 420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(214,51,108,0.14) 0%, transparent 68%);
  pointer-events: none;
}
.oow-hero .hero-content { position: relative; z-index: 2; }

/* Rose paper band — sibling of .cb-section--honey */
.cb-section--rose { background: linear-gradient(135deg, #fff8fa 0%, #fdeaf1 100%); border-color: var(--oow-rose-border); }

/* Rose badge for light surfaces */
.oow-badge {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--oow-rose-dim); color: var(--oow-rose-ink);
  border: 1px solid var(--oow-rose-border);
  border-radius: 50px; padding: .25rem .9rem;
  font-size: .75rem; font-weight: 700; letter-spacing: .04em; line-height: 1.6;
  white-space: nowrap;
}

/* Rose-topped card */
.oow-card {
  background: var(--surface); border: 1px solid var(--rule-2);
  border-top: 3px solid var(--oow-rose); border-radius: .75rem;
  height: 100%; transition: var(--transition-ui);
}
.oow-card:hover { border-top-color: var(--oow-rose-ink); box-shadow: 0 6px 24px rgba(11,11,11,.08); transform: translateY(-2px); }

/* Rose CTA — white on --oow-rose is 4.62:1, so restrict to ≥16px bold text */
.btn-rose { background: var(--oow-rose); border-color: var(--oow-rose); color: #fff; font-weight: 700; }
.btn-rose:hover, .btn-rose:focus { background: var(--oow-rose-ink); border-color: var(--oow-rose-ink); color: #fff; }
.btn-hero.btn-rose { box-shadow: 0 4px 20px rgba(214,51,108,0.30); }
.btn-hero.btn-rose:hover { box-shadow: 0 6px 28px rgba(214,51,108,0.40); transform: translateY(-1px); }
.btn-outline-rose { border-color: var(--oow-rose-ink); color: var(--oow-rose-ink); background: transparent; font-weight: 700; }
.btn-outline-rose:hover, .btn-outline-rose:focus { background: var(--oow-rose-dim); border-color: var(--oow-rose-ink); color: var(--oow-rose-ink); }

/* Rose eyebrow */
.oow-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; font-weight: 700; color: var(--oow-rose-ink); }

/* Vertical-rule offering row, rose accent */
.oow-stream { border-left: 3px solid var(--oow-rose); padding: .85rem 0 .85rem 1.15rem; }
.oow-stream__overline { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--oow-rose-ink); }
.oow-stream__title { font-weight: 700; color: var(--ink); font-size: 1rem; }
.oow-stream__body { font-size: .88rem; color: var(--ink-2); margin-top: .2rem; line-height: 1.6; }

/* Partner / brand chip strip */
.oow-chip {
  display: inline-flex; align-items: center;
  background: var(--surface-2); border: 1px solid var(--rule-2);
  border-radius: 6px; padding: .35rem .75rem;
  font-size: .8rem; font-weight: 600; color: var(--ink-2);
}

/* ===================================================================
   GLOBAL CONTRAST FIXES
   Bootstrap text-muted (#6c757d) fails contrast on off-white backgrounds.
   Override to #555 on light backgrounds; override to light on dark.
   =================================================================== */
.text-muted { color: #555 !important; }

/* Footer and dark sections — text-muted must be light */
#page-footer .text-muted,
#page-footer a.text-muted,
.bg-brand-dark .text-muted,
.bg-dark .text-muted,
section.bg-brand-dark .text-muted {
  color: rgba(255,255,255,0.65) !important;
}
#page-footer a.text-muted:hover,
.bg-brand-dark a.text-muted:hover {
  color: rgba(255,255,255,0.92) !important;
}

/* ===================================================================
   DARK-SECTION BLOCK OVERRIDES
   block-themed cards keep their white background even inside dark sections.
   Ensure text is dark enough to read on white (#333 = 12:1 contrast ratio).
   =================================================================== */
.bg-brand-dark .block-themed .block-content,
.bg-health-dark .block-themed .block-content {
  background-color: #fff !important;
}
.bg-brand-dark .block-themed .block-content p,
.bg-brand-dark .block-themed .block-content span,
.bg-brand-dark .block-themed .block-content li,
.bg-health-dark .block-themed .block-content p,
.bg-health-dark .block-themed .block-content span,
.bg-health-dark .block-themed .block-content li {
  color: #333 !important;
}
.bg-brand-dark .block-themed .block-content .text-muted,
.bg-health-dark .block-themed .block-content .text-muted {
  color: #444 !important;
}
.bg-brand-dark .block-themed .block-content strong,
.bg-health-dark .block-themed .block-content strong {
  color: #111 !important;
}

/* ===================================================================
   ACCESSIBILITY — Focus rings
   Visible focus on all interactive elements (WCAG 2.4.7)
   =================================================================== */
:focus-visible {
  outline: 3px solid var(--brand-teal);
  outline-offset: 2px;
  border-radius: 3px;
}
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--brand-teal);
  outline-offset: 2px;
}

/* ===================================================================
   MOBILE — Touch targets & font-size floors
   Min 44×44px touch targets (WCAG 2.5.5)
   =================================================================== */
@media (max-width: 767.98px) {
  /* Ensure body text never drops below 16px on mobile (prevents iOS zoom) */
  body { font-size: 16px; }
  input, select, textarea { font-size: 16px !important; } /* prevent iOS auto-zoom on focus */

  /* Touch target floor */
  .btn, a.btn, button { min-height: 44px; }
  .nav-main-link { min-height: 44px; }
  .aximedic-mobile-nav a { min-height: 48px; padding: 1rem 1.5rem; }

  /* Sov-section padding reduced on mobile */
  .sov-section { padding: 2rem 1.25rem; }

  /* Stat badges stack better */
  .stat-badge { padding: 1rem; }
  .stat-badge .stat-icon { font-size: 1.4rem; }

  /* Card content padding */
  .block-content.p-5 { padding: 1.5rem !important; }
  .block-content.p-4 { padding: 1.25rem !important; }

  /* btn-hero scales down */
  .btn-hero { padding: .75rem 1.5rem; font-size: .95rem; }

  /* Ticker wraps gracefully */
  .ticker-content { flex-wrap: wrap; gap: .25rem; justify-content: center; }

  /* Pill badges: nowrap keeps them tidy on desktop but overflows the card on a
     narrow phone once the label is long ("Women's health · India · Consumer &
     employer"). Let them wrap instead. */
  .cb-badge, .sov-badge, .oow-badge { white-space: normal; text-align: left; }
}

/* ===================================================================
   CONTRAST — Inline light text on semi-transparent dark backgrounds
   rgba(255,255,255,.5) fails WCAG AA — override to .72 minimum
   =================================================================== */
.sov-section .sov-stat__label,
.sov-section p,
.sov-phase__body { color: rgba(255,255,255,0.78); }

/* fs-xs and fs-sm in dark contexts */
.bg-brand-dark .fs-xs, .bg-brand-dark .fs-sm,
.sov-section .fs-xs, .sov-section .fs-sm { color: rgba(255,255,255,0.75); }

/* ===================================================================
   SEO / PERFORMANCE — Reduce layout shift on nav logo
   =================================================================== */
#page-header .content-header { min-height: 60px; }

/* ===================================================================
   PRINT STYLES
   =================================================================== */
@media print {
  .ticker-bar, #page-header, #page-footer, #cookie-banner, .btn-hero, .aximedic-mobile-toggler, #aximedic-offcanvas { display: none !important; }
  body { font-size: 11pt; color: #000; }
  a { color: #000; text-decoration: underline; }
  .sov-section { background: #f5f5f5 !important; color: #000 !important; border: 1px solid #ddd; }
}
