/*
 * NivaCare design system
 * Shared visual rules loaded last on every page.
 * Purpose: one hierarchy, one spacing rhythm and one component language.
 */

:root {
  /* Brand and semantic colour */
  --nc-primary: #075cff;
  --nc-primary-hover: #064ed8;
  --nc-primary-soft: #eaf2ff;
  --nc-accent: #28c7c5;
  --nc-success: #13866f;
  --nc-warning: #a56508;

  /* Neutral colour carries most of the interface */
  --nc-ink: #10233d;
  --nc-ink-soft: #304b63;
  --nc-muted: #5b7184;
  --nc-subtle: #7b8fa0;
  --nc-line: #d7e4ed;
  --nc-line-strong: #bfd2df;
  --nc-surface: #ffffff;
  --nc-surface-soft: #f5f9fc;
  --nc-surface-tint: #edf5fa;
  --nc-navy: #07375f;
  --nc-navy-deep: #052b4d;

  /* Type */
  --nc-font-body: "Inter", Arial, sans-serif;
  --nc-font-display: "Plus Jakarta Sans", "Inter", Arial, sans-serif;
  --nc-text-xs: .75rem;
  --nc-text-sm: .875rem;
  --nc-text-md: 1rem;
  --nc-text-lg: 1.125rem;
  --nc-heading-3: clamp(1.35rem, 1.8vw, 1.75rem);
  --nc-heading-2: clamp(2.25rem, 4vw, 3.5rem);
  --nc-heading-1: clamp(3rem, 5.25vw, 4.5rem);

  /* Spacing: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 */
  --nc-space-1: .25rem;
  --nc-space-2: .5rem;
  --nc-space-3: .75rem;
  --nc-space-4: 1rem;
  --nc-space-6: 1.5rem;
  --nc-space-8: 2rem;
  --nc-space-12: 3rem;
  --nc-space-16: 4rem;
  --nc-space-24: 6rem;

  /* Components */
  --nc-rail: 1180px;
  --nc-radius-control: 12px;
  --nc-radius-card: 20px;
  --nc-radius-panel: 28px;
  --nc-shadow-card: 0 12px 32px rgba(15, 55, 88, .07);
  --nc-shadow-raised: 0 20px 52px rgba(15, 55, 88, .12);
  --nc-focus: 0 0 0 4px rgba(7, 92, 255, .2);
  --nc-ease: cubic-bezier(.2, .75, .2, 1);
}

/* Form feedback belongs to the shared component system. */
.form-error {
  margin-block-start: var(--nc-space-3);
  padding: var(--nc-space-3) var(--nc-space-4);
  border: 1px solid #f1b9b9;
  border-radius: var(--nc-radius-control);
  background: #fff5f5;
  color: #8b1e1e;
  font-size: var(--nc-text-sm);
  line-height: 1.5;
}

.form-error a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
}

.form-submit[disabled] {
  cursor: wait;
  opacity: .72;
}

/* Homepage audience routes replace the former decorative comparison panel. */
.audience-paths {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: var(--nc-space-12);
  align-items: end;
  max-width: var(--nc-rail);
  margin-inline: auto;
  padding-block: var(--nc-space-16);
}

.audience-paths-heading h2 {
  margin: var(--nc-space-3) 0 var(--nc-space-4);
  color: var(--nc-ink);
  font: 700 var(--nc-heading-2)/1.08 var(--nc-font-display);
  letter-spacing: -.045em;
}

.audience-paths-heading h2 em {
  color: var(--nc-primary);
  font-style: normal;
}

.audience-paths-heading p {
  max-width: 42rem;
  margin: 0;
  color: var(--nc-muted);
  font-size: var(--nc-text-lg);
  line-height: 1.65;
}

.audience-path-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--nc-space-4);
}

.audience-path-grid > a {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  padding: var(--nc-space-8);
  border: 1px solid var(--nc-line);
  border-radius: var(--nc-radius-card);
  background: var(--nc-surface);
  box-shadow: var(--nc-shadow-card);
  color: var(--nc-ink);
  text-decoration: none;
  transition: transform .2s var(--nc-ease), border-color .2s var(--nc-ease), box-shadow .2s var(--nc-ease);
}

.audience-path-grid > a:hover {
  transform: translateY(-3px);
  border-color: var(--nc-line-strong);
  box-shadow: var(--nc-shadow-raised);
}

.audience-path-grid span {
  color: var(--nc-primary);
  font-size: var(--nc-text-xs);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.audience-path-grid h3 {
  margin: var(--nc-space-6) 0 var(--nc-space-3);
  color: var(--nc-ink);
  font: 700 var(--nc-heading-3)/1.2 var(--nc-font-display);
  letter-spacing: -.025em;
}

.audience-path-grid p {
  margin: 0 0 var(--nc-space-6);
  color: var(--nc-muted);
  line-height: 1.65;
}

.audience-path-grid strong {
  margin-top: auto;
  color: var(--nc-primary);
  font-size: var(--nc-text-sm);
}

.audience-path-grid strong i {
  font-style: normal;
  transition: transform .2s var(--nc-ease);
}

.audience-path-grid > a:hover strong i {
  display: inline-block;
  transform: translateX(4px);
}

@media (max-width: 980px) {
  .audience-paths {
    grid-template-columns: 1fr;
    gap: var(--nc-space-8);
  }
}

@media (max-width: 680px) {
  .audience-paths {
    padding-block: var(--nc-space-12);
  }

  .audience-path-grid {
    grid-template-columns: 1fr;
  }

  .audience-path-grid > a {
    min-height: 0;
    padding: var(--nc-space-6);
  }
}

html {
  color-scheme: light;
}

body {
  background: var(--nc-surface);
  color: var(--nc-ink);
  font-family: var(--nc-font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
  font-family: var(--nc-font-body);
}

:is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
  color: var(--nc-ink);
  font-family: var(--nc-font-display);
  font-weight: 600;
  letter-spacing: -.035em;
  text-wrap: balance;
}

:is(p, li) {
  color: var(--nc-ink-soft);
}

/* One predictable editorial hierarchy across every page family. */
:is(.hero h1, .product-hero h1, .patient-hero h1, .legal-header h1, .article-shell h1) {
  font-family: var(--nc-font-display);
  font-size: var(--nc-heading-1);
  font-weight: 600;
  letter-spacing: -.05em;
  line-height: 1.04;
}

:is(
  .section h2,
  .section-intro h2,
  .section-heading h2,
  .twin-intro h2,
  .trust-main h2,
  .india-copy h2,
  .contact-copy h2
) {
  font-family: var(--nc-font-display);
  font-size: var(--nc-heading-2);
  font-weight: 600;
  letter-spacing: -.042em;
  line-height: 1.08;
}

:is(.legal-content > section > h2, .article-body > h2) {
  color: var(--nc-ink);
  font-family: var(--nc-font-display);
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.2;
}

:is(
  .feature-box h3,
  .capability-card h3,
  .patient-feature h3,
  .news-card h3,
  .news-brief-card h3,
  .advisor-card h3,
  .medical-advisor-card h3,
  .story-card h3,
  .article-body h3
) {
  font-family: var(--nc-font-display);
  font-size: var(--nc-heading-3);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.2;
}

/* Eyebrows identify sections; they do not compete with primary actions. */
:is(.eyebrow, .kicker, .product-kicker, .article-kicker) {
  color: var(--nc-ink-soft);
  font-family: var(--nc-font-body);
  font-size: var(--nc-text-xs);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  text-transform: uppercase;
}

:is(.eyebrow, .kicker, .product-kicker)::before {
  background: var(--nc-accent);
}

:is(.dark, .product-section.dark, .product-hero.dark) :is(h1, h2, h3, h4) {
  color: #fff;
}

:is(.dark, .product-section.dark, .product-hero.dark) :is(.eyebrow, .kicker, .product-kicker) {
  color: #8de5e4;
}

:is(.dark, .product-section.dark, .product-hero.dark) :is(p, li) {
  color: #d5e3eb;
}

/* The brand blue is reserved for actions, active navigation and key emphasis. */
:is(a:not([class]), .arrow-link) {
  text-decoration-color: rgba(7, 92, 255, .35);
  text-underline-offset: .16em;
}

:is(
  .button,
  .product-button,
  .primary-button,
  .legal-demo-button,
  .header-cta,
  .form-submit
) {
  min-height: 48px;
  padding-inline: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: var(--nc-radius-control);
  font-family: var(--nc-font-body);
  font-size: var(--nc-text-sm);
  font-weight: 700;
  line-height: 1.2;
  box-shadow: none;
  transition: background .2s var(--nc-ease), border-color .2s var(--nc-ease),
    box-shadow .2s var(--nc-ease), color .2s var(--nc-ease), transform .2s var(--nc-ease);
}

:is(
  .button-primary,
  .product-button:not(.secondary),
  .primary-button,
  .legal-demo-button,
  .header-cta,
  .form-submit
) {
  border-color: var(--nc-primary);
  background: var(--nc-primary);
  color: #fff;
}

:is(
  .button-primary,
  .product-button:not(.secondary),
  .primary-button,
  .legal-demo-button,
  .header-cta,
  .form-submit
):hover {
  border-color: var(--nc-primary-hover);
  background: var(--nc-primary-hover);
  box-shadow: 0 10px 24px rgba(7, 92, 255, .2);
  color: #fff;
  transform: translateY(-1px);
}

:is(.button-ghost, .product-button.secondary, .secondary-button) {
  border-color: var(--nc-line-strong);
  background: var(--nc-surface);
  color: var(--nc-ink);
  box-shadow: none;
}

:is(.button-ghost, .product-button.secondary, .secondary-button):hover {
  border-color: #9db8ca;
  background: var(--nc-surface-soft);
  color: var(--nc-ink);
  transform: translateY(-1px);
}

.product-hero.dark .product-button.secondary,
.hero .button-ghost {
  border-color: rgba(255, 255, 255, .6);
  background: rgba(255, 255, 255, .06);
  color: #fff;
}

/* Shared layout rhythm. */
:is(.product-section) {
  padding-block: var(--nc-space-16);
}

.section {
  padding-block: var(--nc-space-24);
}

:is(.section-intro, .section-heading, .twin-intro, .advisors-heading) {
  margin-bottom: var(--nc-space-8);
}

:is(.section-intro, .section-heading) {
  gap: var(--nc-space-12);
}

:is(.section-intro p, .section-heading p, .twin-intro p, .trust-main > p, .india-copy > p) {
  color: var(--nc-muted);
  font-size: var(--nc-text-lg);
  line-height: 1.65;
}

/* One card language: neutral surface, quiet border, measured elevation. */
:is(
  .feature-box,
  .capability-card,
  .patient-feature,
  .news-card,
  .news-brief-card,
  .advisor-card,
  .medical-advisor-card,
  .story-card,
  .article-callout
) {
  border-color: var(--nc-line);
  border-radius: var(--nc-radius-card);
  box-shadow: var(--nc-shadow-card);
}

:is(
  .feature-grid,
  .capability-grid,
  .patient-feature-grid,
  .news-grid,
  .advisor-grid,
  .medical-advisor-grid
) {
  gap: var(--nc-space-4);
}

:is(.feature-box, .capability-card, .patient-feature, .news-card, .news-brief-card) {
  padding: var(--nc-space-6);
}

:is(.feature-box, .capability-card, .patient-feature, .news-card, .news-brief-card) > :is(p, ul) {
  color: var(--nc-muted);
  font-size: var(--nc-text-md);
  line-height: 1.65;
}

:is(.feature-box, .capability-card, .patient-feature, .news-card, .news-brief-card):hover {
  border-color: var(--nc-line-strong);
  box-shadow: var(--nc-shadow-raised);
}

/* Form controls */
:is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 48px;
  border: 1px solid var(--nc-line-strong);
  border-radius: var(--nc-radius-control);
  background: #fff;
  color: var(--nc-ink);
  font-family: var(--nc-font-body);
  font-size: 16px;
}

:is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover {
  border-color: #99b5c8;
}

:is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
  border-color: var(--nc-primary);
  box-shadow: var(--nc-focus);
  outline: 0;
}

:is(label > span, .demo-form label > span) {
  color: var(--nc-ink-soft);
  font-size: var(--nc-text-xs);
  font-weight: 700;
  letter-spacing: .06em;
}

/* Navigation and footer should recede until used. */
:is(.desktop-nav a, .product-nav a, .navbar-menu a) {
  color: var(--nc-ink-soft);
  font-family: var(--nc-font-body);
  font-size: var(--nc-text-sm);
  font-weight: 600;
}

:is(.desktop-nav a, .product-nav a, .navbar-menu a):hover,
:is(.desktop-nav a, .product-nav a, .navbar-menu a)[aria-current="page"] {
  color: var(--nc-primary);
}

:is(.site-footer, .product-footer) {
  font-family: var(--nc-font-body);
}

@media (max-width: 900px) {
  :root {
    --nc-heading-1: clamp(2.65rem, 9vw, 4rem);
    --nc-heading-2: clamp(2rem, 7vw, 3rem);
  }

  :is(.product-section) {
    padding-block: 56px;
  }

  .section {
    padding-block: 56px;
  }

  :is(.section-intro, .section-heading) {
    gap: var(--nc-space-6);
  }
}

@media (max-width: 600px) {
  :root {
    --nc-heading-1: clamp(2.35rem, 11vw, 3.2rem);
    --nc-heading-2: clamp(1.9rem, 9vw, 2.6rem);
    --nc-heading-3: 1.35rem;
  }

  :is(.product-section) {
    padding-block: 48px;
  }

  .section {
    padding-block: 48px;
  }

  :is(.section-intro, .section-heading, .twin-intro, .advisors-heading) {
    margin-bottom: var(--nc-space-6);
  }

  :is(.section-intro p, .section-heading p, .twin-intro p, .trust-main > p, .india-copy > p) {
    font-size: var(--nc-text-md);
  }

  :is(.feature-box, .capability-card, .patient-feature, .news-card, .news-brief-card) {
    padding: 20px;
    border-radius: 18px;
  }

  :is(.button, .product-button, .primary-button, .secondary-button, .legal-demo-button, .header-cta, .form-submit) {
    min-height: 48px;
    padding-inline: 18px;
  }
}

/* --------------------------------------------------------------------------
   Professional consistency pass
   These final rules intentionally outrank older page-specific typography.
   -------------------------------------------------------------------------- */

body:is(.legal-page, .patient-page, .news-page),
.team-page-main,
.product-main,
.article-shell {
  font-family: var(--nc-font-body) !important;
}

:is(
  .hero h1,
  .product-hero h1,
  .patient-hero h1,
  .legal-header h1,
  .article-shell h1,
  .team-page-main .advisors-heading > h1
) {
  font-family: var(--nc-font-display) !important;
  font-weight: 600 !important;
}

:is(
  .section h2,
  .section-intro h2,
  .section-heading h2,
  .product-cta h2,
  .safety-callout h2,
  .capability-intro h2,
  .monitor-copy h2,
  .story-heading h2,
  .origin-copy h2,
  .faq-title h2,
  .news-featured-copy h2,
  .patient-risk-copy h2,
  .patient-trust-band h2,
  .people-group-heading h2,
  .closing-cta h2,
  .legal-content > section > h2,
  .article-body > h2,
  .source-list h2
) {
  font-family: var(--nc-font-display) !important;
  font-weight: 600 !important;
}

:is(
  .feature-box h3,
  .outcome-grid article h3,
  .trust-status-grid article h3,
  .access-steps article h3,
  .agent-box h3,
  .patient-feature h3,
  .patient-step h3,
  .patient-india-grid article h3,
  .media-card-copy h3,
  .news-card h3,
  .news-brief-card h3,
  .advisor-card h3,
  .medical-advisor-card h3,
  .article-body h3,
  .audience-path-grid h3
) {
  font-family: var(--nc-font-display) !important;
  font-weight: 600 !important;
  letter-spacing: -.025em !important;
  line-height: 1.22 !important;
}

/* Editorial labels remain compact but never miniature. */
:is(
  .kicker,
  .eyebrow,
  .product-kicker,
  .article-kicker,
  .people-group-heading > div > span,
  .origin-copy > span
) {
  font-family: var(--nc-font-body) !important;
  font-size: .8125rem !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

/* Readable copy across cards that previously used 8–12px text. */
:is(
  .outcome-grid article p,
  .trust-status-grid article p,
  .access-steps article p,
  .agent-box p,
  .patient-step p,
  .patient-india-grid article p,
  .media-card-copy p,
  .advisor-card p,
  .medical-advisor-card p,
  .news-card p,
  .news-brief-card p,
  .product-cta p,
  .safety-callout p,
  .article-body p,
  .article-body li
) {
  color: var(--nc-muted);
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

:is(.advisor-card, .medical-advisor-card, .patient-feature, .news-card, .news-brief-card) small,
:is(.advisor-card, .medical-advisor-card) .leader-focus {
  font-size: .8125rem !important;
  line-height: 1.5 !important;
}

:is(
  .advisor-tags span,
  .medical-advisor-tags span,
  .medical-advisor-role,
  .medical-advisor-facts small,
  .story-card-top,
  .story-person small,
  .article-meta,
  .status-label,
  .news-card > span,
  .patient-feature-number
) {
  font-size: .75rem !important;
  line-height: 1.4 !important;
}

.compliance-ready-strip > strong {
  font-size: .8125rem !important;
  letter-spacing: .055em !important;
}

.compliance-ready-items span,
.compliance-progress-note {
  font-size: .75rem !important;
  line-height: 1.4 !important;
}

.india-visual-switcher button strong {
  font-size: .875rem !important;
}

/* Predictable content rails and section alignment. */
:is(
  .product-section > .section-intro,
  .product-section > .feature-grid,
  .product-section > .outcome-grid,
  .product-section > .workflow-strip,
  .product-section > .access-steps,
  .product-section > .agent-grid,
  .product-section > .trust-status-grid,
  .product-section > .evidence-note,
  .product-section > .safety-callout,
  .product-cta,
  .article-shell,
  .legal-container
) {
  width: min(var(--nc-rail), calc(100% - 48px));
  margin-inline: auto;
}

.product-section > :is(.section-intro, .feature-grid, .outcome-grid, .workflow-strip, .access-steps, .agent-grid, .trust-status-grid) + * {
  margin-top: var(--nc-space-8);
}

:is(.feature-grid, .outcome-grid, .access-steps, .agent-grid, .patient-feature-grid, .patient-journey-grid, .news-feed-grid) > * {
  min-width: 0;
}

/* Header geometry is shared even when the homepage uses a transparent treatment. */
:is(.site-header, .product-header, #main-header) {
  min-height: 76px;
}

:is(.brand, .product-brand, .logo-area) img {
  width: auto;
  height: 34px;
  object-fit: contain;
}

:is(.desktop-nav, .product-nav, .legal-primary-nav) {
  align-items: center;
  gap: clamp(18px, 2vw, 30px);
}

:is(.desktop-nav, .product-nav, .legal-primary-nav) :is(a, summary) {
  font-family: var(--nc-font-body) !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  line-height: 1.25;
}

:is(.feature-menu, .legal-explore > div) {
  border: 1px solid var(--nc-line);
  border-radius: var(--nc-radius-card);
  background: rgba(255, 255, 255, .98);
  box-shadow: var(--nc-shadow-raised);
}

.feature-menu a small {
  color: var(--nc-muted);
  font-size: .75rem;
  line-height: 1.4;
}

/* Footer variants share one restrained, compact rhythm. */
:is(.site-footer, .product-footer, .legal-footer) {
  margin-top: 0;
  padding-block: var(--nc-space-12) var(--nc-space-6);
  background: var(--nc-navy-deep);
  color: #dbe8f1;
}

:is(.site-footer, .product-footer, .legal-footer) :is(p, span, a) {
  color: #dbe8f1;
  font-family: var(--nc-font-body);
  font-size: .875rem;
  line-height: 1.55;
}

:is(.site-footer, .product-footer, .legal-footer) a:hover {
  color: #fff;
}

.product-footer-top,
.product-footer-bottom,
.legal-footer-inner {
  width: min(var(--nc-rail), calc(100% - 48px));
  margin-inline: auto;
}

.product-footer-top {
  gap: var(--nc-space-8);
}

.product-footer-links {
  gap: var(--nc-space-4) var(--nc-space-6);
}

.product-footer-bottom {
  margin-top: var(--nc-space-8);
  padding-top: var(--nc-space-4);
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.legal-footer-inner {
  display: flex;
  justify-content: center;
  gap: var(--nc-space-4) var(--nc-space-6);
  flex-wrap: wrap;
  text-align: center;
}

/* Strong keyboard focus everywhere, including custom navigation. */
:is(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--nc-accent);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  :is(.brand, .product-brand, .logo-area) img {
    height: 31px;
  }

  :is(.mobile-menu, .product-nav, .legal-compact-menu > div) :is(a, summary) {
    min-height: 48px;
    display: flex;
    align-items: center;
    font-size: 1rem !important;
  }

  :is(
    .product-section > .section-intro,
    .product-section > .feature-grid,
    .product-section > .outcome-grid,
    .product-section > .workflow-strip,
    .product-section > .access-steps,
    .product-section > .agent-grid,
    .product-section > .trust-status-grid,
    .product-section > .evidence-note,
    .product-section > .safety-callout,
    .product-cta,
    .article-shell,
    .legal-container
  ) {
    width: min(100% - 32px, var(--nc-rail));
  }

  :is(
    .feature-grid,
    .outcome-grid,
    .access-steps,
    .agent-grid,
    .trust-status-grid,
    .patient-feature-grid,
    .patient-journey-grid,
    .patient-india-grid,
    .news-feed-grid,
    .workflow-strip
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  :root {
    --nc-heading-1: clamp(2.25rem, 10.5vw, 3rem);
    --nc-heading-2: clamp(1.85rem, 8.5vw, 2.5rem);
  }

  :is(.site-header, .product-header, #main-header) {
    min-height: 68px;
  }

  :is(.brand, .product-brand, .logo-area) img {
    height: 28px;
  }

  :is(.site-footer, .product-footer, .legal-footer) {
    padding-block: var(--nc-space-8) var(--nc-space-4);
  }

  .product-footer-top,
  .product-footer-bottom,
  .legal-footer-inner {
    width: min(100% - 32px, var(--nc-rail));
  }

  :is(
    .feature-grid,
    .outcome-grid,
    .access-steps,
    .agent-grid,
    .trust-status-grid,
    .patient-feature-grid,
    .patient-journey-grid,
    .patient-india-grid,
    .news-feed-grid,
    .workflow-strip
  ) {
    grid-template-columns: 1fr !important;
  }

  :is(
    .feature-grid,
    .outcome-grid,
    .access-steps,
    .agent-grid,
    .trust-status-grid,
    .patient-feature-grid,
    .patient-journey-grid,
    .patient-india-grid,
    .news-feed-grid,
    .workflow-strip
  ) > * {
    grid-column: auto !important;
  }
}

@media (max-width: 760px) {
  .compliance-ready-strip {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: 0;
    padding: var(--nc-space-3) var(--nc-space-4);
    background: #f7fbff;
    box-shadow: none;
  }

  .compliance-ready-items {
    flex-wrap: wrap;
  }

  .compliance-progress-note {
    white-space: normal;
  }

  .india-visual-switcher {
    top: var(--nc-space-3);
    right: var(--nc-space-3);
    bottom: auto;
  }
}

/* Motion remains optional for accessibility and low-power mobile devices. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* Homepage navigation sits directly on the blue hero before scrolling. */
.site-header.header-on-dark:not(.scrolled) .desktop-nav > a,
.site-header.header-on-dark:not(.scrolled) .desktop-nav > .nav-explore > summary,
.site-header.header-on-dark:not(.scrolled) .header-actions > .text-link {
  color: rgba(255, 255, 255, .96) !important;
  text-shadow: 0 1px 12px rgba(2, 35, 78, .42);
}

.site-header.header-on-dark:not(.scrolled) .desktop-nav > a:hover,
.site-header.header-on-dark:not(.scrolled) .desktop-nav > a:focus-visible,
.site-header.header-on-dark:not(.scrolled) .desktop-nav > a[aria-current="page"],
.site-header.header-on-dark:not(.scrolled) .desktop-nav > .nav-explore > summary:hover,
.site-header.header-on-dark:not(.scrolled) .desktop-nav > .nav-explore > summary:focus-visible,
.site-header.header-on-dark:not(.scrolled) .header-actions > .text-link:hover,
.site-header.header-on-dark:not(.scrolled) .header-actions > .text-link:focus-visible {
  color: #fff !important;
  text-shadow: 0 1px 14px rgba(2, 35, 78, .62);
}

.site-header.header-on-dark:not(.scrolled) .desktop-nav > a::after {
  background: #bdfcff !important;
  box-shadow: 0 0 10px rgba(189, 252, 255, .65);
}

/* The dropdown itself is a light surface and therefore keeps dark labels. */
.site-header.header-on-dark:not(.scrolled) .feature-menu a {
  color: var(--nc-ink-soft) !important;
  text-shadow: none;
}

.site-header.header-on-dark:not(.scrolled) .feature-menu a:hover,
.site-header.header-on-dark:not(.scrolled) .feature-menu a:focus-visible,
.site-header.header-on-dark:not(.scrolled) .feature-menu a[aria-current="page"] {
  color: var(--nc-primary) !important;
}

/* Every header over a light page surface uses the neutral navigation palette. */
.header-on-light :is(
  .desktop-nav > a,
  .desktop-nav > .nav-explore > summary,
  .product-nav > a,
  .product-nav > .nav-explore > summary,
  .legal-primary-nav > a,
  .legal-primary-nav > .legal-explore > summary,
  .header-actions > .text-link
) {
  color: var(--nc-ink-soft) !important;
  text-shadow: none !important;
}

.header-on-light :is(
  .desktop-nav > a,
  .product-nav > a,
  .legal-primary-nav > a
):is(:hover, :focus-visible, [aria-current="page"]) {
  color: var(--nc-primary) !important;
}

.header-on-light .brand-tagline {
  color: #38617d !important;
  text-shadow: none;
}

.header-on-light :is(.menu-button, .menu-toggle) span {
  background: var(--nc-ink-soft) !important;
}

/* Shared tablet and smartphone resilience across all page families. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

:is(main, section, article, header, footer, nav, form, figure, .container, .section-intro, .section-heading) {
  min-width: 0;
}

:is(img, video, canvas) {
  max-width: 100%;
}

:is(h1, h2, h3, h4, p, li, a, button, summary) {
  overflow-wrap: break-word;
}

@media (max-width: 1024px) {
  :is(.site-header, .product-header, #main-header) {
    padding-left: max(18px, env(safe-area-inset-left));
    padding-right: max(18px, env(safe-area-inset-right));
  }

  :is(.mobile-menu, .product-nav, .legal-compact-menu > div) {
    max-height: calc(100dvh - 88px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  :is(.product-hero, .patient-hero, .section, .product-section, .advisors-section) {
    scroll-margin-top: 78px;
  }

  :is(.feature-box, .agent-box, .flow-step, .patient-feature, .patient-step, .news-card, .advisor-card) {
    height: auto;
  }
}

@media (max-width: 767px) {
  body.menu-open {
    overflow: hidden;
  }

  :is(.mobile-menu, .product-nav) {
    right: max(12px, env(safe-area-inset-right)) !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    max-height: calc(100dvh - 80px);
    padding-bottom: max(16px, env(safe-area-inset-bottom));
  }

  :is(.mobile-menu, .product-nav) :is(a, summary),
  :is(.menu-button, .menu-toggle) {
    min-width: 44px;
    min-height: 44px;
  }

  .mobile-explore > div {
    display: grid;
    grid-template-columns: 1fr;
  }

  :is(.hero-actions, .product-hero .hero-actions) {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  :is(.hero-actions .button, .hero-actions .product-button, .product-cta .product-button, .patient-trust-band .product-button) {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  :is(.product-hero h1, .patient-hero h1, .team-page-main h1, .legal-header h1, .article-shell h1) {
    max-width: 100%;
    font-size: clamp(2.25rem, 10.5vw, 3.35rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance;
  }

  :is(.product-hero h1, .patient-hero h1) br {
    display: none;
  }

  :is(.section h2, .section-intro h2, .section-heading h2, .people-group-heading h2, .product-cta h2) {
    font-size: clamp(1.85rem, 8.3vw, 2.55rem) !important;
    line-height: 1.1 !important;
  }

  :is(.product-section, .section, .advisors-section) {
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
  }

  :is(.feature-box, .agent-box, .flow-step, .patient-feature, .patient-step, .news-card, .news-brief-card) {
    min-height: 0 !important;
  }

  :is(.feature-box, .agent-box, .flow-step, .patient-feature, .patient-step, .news-card, .news-brief-card, .medical-advisor-card) {
    padding: 22px !important;
  }

  :is(.article-shell, .legal-container) {
    width: min(100% - 32px, var(--nc-rail));
  }

  .article-body :is(img, video, figure) {
    width: 100%;
    height: auto;
    margin-inline: 0;
  }

  :is(.article-body, .legal-content, .source-list) :is(a, code) {
    overflow-wrap: anywhere;
  }

  :is(.field-row, .demo-form .field-row) {
    grid-template-columns: 1fr !important;
  }

  :is(input, select, textarea, button) {
    max-width: 100%;
  }

  .product-footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 4px 18px;
  }

  .product-footer-links a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .whatsapp-float {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 420px) {
  :is(.site-header, .product-header, #main-header) {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  :is(.brand, .product-brand, .logo-area) img {
    height: 26px;
  }

  .product-footer-links {
    grid-template-columns: 1fr;
  }

  :is(.feature-box, .agent-box, .flow-step, .patient-feature, .patient-step, .news-card, .news-brief-card, .medical-advisor-card) {
    padding: 19px !important;
  }
}
