/* ============================================================
   RIDDLE CARE NAVIGATION & FINANCIAL ADVOCACY
   Design System: Navy & Gold, healthcare-trust palette
   ============================================================ */

/* --- Design Tokens --- */
:root,
[data-theme='light'] {
  /* Surfaces — warm off-white */
  --color-bg: #faf9f7;
  --color-surface: #ffffff;
  --color-surface-2: #f5f3f0;
  --color-surface-offset: #efece8;
  --color-divider: #e2ddd7;
  --color-border: #d4cfc8;

  /* Text */
  --color-text: #2a2722;
  --color-text-muted: #6b6863;
  --color-text-faint: #a8a59f;
  --color-text-inverse: #ffffff;

  /* Primary — Deep Navy (brand, trust, authority) */
  --color-primary: #1A204C;
  --color-primary-hover: #131838;
  --color-primary-active: #0D1028;
  --color-primary-light: #E8EAF2;

  /* Accent — Gold (premium feel, brand match) */
  --color-accent: #F6A623;
  --color-accent-light: #FDF3E2;

  /* Success */
  --color-success: #3a7d2c;
  --color-success-light: #e8f3e2;

  /* Radius */
  --radius-sm: 0.375rem;
  --radius-md: 0.625rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(42, 39, 34, 0.06);
  --shadow-md: 0 4px 16px rgba(42, 39, 34, 0.08);
  --shadow-lg: 0 12px 40px rgba(42, 39, 34, 0.12);

  /* Fonts */
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Type Scale */
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.4rem + 2vw, 3.5rem);
  --text-3xl: clamp(2.5rem, 1rem + 4vw, 5rem);

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* Content Widths */
  --content-default: 1080px;
  --content-narrow: 720px;
  --content-wide: 1200px;

  /* Transitions */
  --transition: 200ms cubic-bezier(0.16, 1, 0.3, 1);
}

[data-theme='dark'] {
  --color-bg: #1a1917;
  --color-surface: #221f1c;
  --color-surface-2: #282521;
  --color-surface-offset: #2d2925;
  --color-divider: #332f2a;
  --color-border: #3d3833;

  --color-text: #e8e6e2;
  --color-text-muted: #a8a59f;
  --color-text-faint: #6b6863;
  --color-text-inverse: #1a1917;

  --color-primary: #5fb3c0;
  --color-primary-hover: #4aa3b0;
  --color-primary-active: #3a8f9c;
  --color-primary-light: #1a2f33;

  --color-accent: #d4a84a;
  --color-accent-light: #2e2818;

  --color-success: #6daa45;
  --color-success-light: #1a2e15;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.4);
}

/* --- Reset --- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

body {
  min-height: 100dvh;
  line-height: 1.65;
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-text);
  background-color: var(--color-bg);
}

img, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition);
}

a:hover {
  color: var(--color-primary-hover);
}

ul {
  list-style: none;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.15;
  text-wrap: balance;
}

p {
  text-wrap: pretty;
  max-width: 72ch;
}

::selection {
  background: var(--color-primary-light);
  color: var(--color-text);
}

:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

/* --- Layout --- */
.container {
  width: 100%;
  max-width: var(--content-default);
  margin: 0 auto;
  padding-inline: var(--space-6);
}

.section {
  padding-block: clamp(var(--space-12), 6vw, var(--space-24));
}

.section-alt {
  background-color: var(--color-surface-2);
}

.section-header {
  text-align: center;
  max-width: var(--content-narrow);
  margin: 0 auto var(--space-12);
}

.eyebrow {
  font-size: var(--text-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  margin-bottom: var(--space-3);
}

.section-header h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-4);
}

.section-lead {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  line-height: 1.6;
}

/* --- Header --- */
.header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in oklab, var(--color-bg) 92%, transparent);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-divider);
  transition: box-shadow var(--transition);
}

.header.scrolled {
  box-shadow: var(--shadow-sm);
}

.header-inner {
  max-width: var(--content-wide);
  margin: 0 auto;
  padding: var(--space-4) var(--space-6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
}

.logo {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-primary);
  flex-shrink: 0;
}

.logo-img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.logo:hover {
  color: var(--color-primary-hover);
}

.logo-text {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-text);
}

.logo-text em {
  font-style: normal;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  font-weight: 400;
}

.nav {
  display: flex;
  align-items: center;
  gap: var(--space-6);
}

.nav a {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-muted);
  transition: color var(--transition);
}

.nav a:hover {
  color: var(--color-text);
}

.nav-cta {
  background: var(--color-primary);
  color: var(--color-text-inverse) !important;
  padding: var(--space-2) var(--space-5);
  border-radius: var(--radius-full);
  font-weight: 600;
  transition: background var(--transition), transform var(--transition);
}

.nav-cta:hover {
  background: var(--color-primary-hover);
  transform: translateY(-1px);
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--space-2);
}

.menu-toggle span {
  width: 24px;
  height: 2px;
  background: var(--color-text);
  border-radius: 2px;
  transition: all var(--transition);
}

/* --- Hero (Split Layout) --- */
.hero {
  background: linear-gradient(170deg, var(--color-primary-light) 0%, var(--color-bg) 60%);
  padding-block: clamp(var(--space-16), 8vw, var(--space-24));
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 60%;
  height: 120%;
  background: radial-gradient(circle, var(--color-primary-light) 0%, transparent 70%);
  opacity: 0.5;
  pointer-events: none;
}

.hero-split {
  position: relative;
  max-width: var(--content-wide);
  margin: 0 auto;
  padding-inline: var(--space-6);
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: var(--space-12);
  align-items: center;
}

.hero-left {
  position: relative;
}

.hero-eyebrow {
  font-size: var(--text-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
}

.hero-title {
  font-size: var(--text-3xl);
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: var(--space-6);
  color: var(--color-text);
}

.hero-intro {
  max-width: 540px;
  margin-bottom: var(--space-8);
  padding-left: var(--space-5);
  border-left: 3px solid var(--color-accent, #F6A623);
}
.hero-lead {
  font-family: var(--font-body);
  font-size: clamp(1.125rem, 1.02rem + 0.45vw, 1.3rem);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.005em;
  color: #1A204C;
  margin: 0 0 var(--space-3);
  max-width: none;
}
.hero-subtitle {
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
  font-weight: 400;
  color: #3F4459;
  line-height: 1.7;
  margin: 0;
  max-width: none;
}

.hero-cta {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-bottom: var(--space-8);
}

.hero-trust {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  flex-wrap: wrap;
}

.hero-badge {
  max-width: 180px;
  height: auto;
  border-radius: var(--radius-sm);
}

.hero-trust-text {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  font-weight: 500;
}

.hero-right {
  position: relative;
}

.hero-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: var(--shadow-lg);
  position: relative;
}

.hero-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.hero-card-title {
  font-size: var(--text-base);
  font-family: var(--font-body);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--space-5);
}

.hero-card-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.hero-card-list li {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.5;
}

.check-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-success-light);
  color: var(--color-success);
  border-radius: 50%;
  font-size: 0.7rem;
  font-weight: 700;
}

.hero-card-cta {
  display: inline-block;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition);
}

.hero-card-cta:hover {
  color: var(--color-primary-hover);
}

/* --- Old hero fallback (attorney page) --- */
.hero-content {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  padding-inline: var(--space-6);
}

.hero-stats {
  display: flex;
  gap: var(--space-8);
  justify-content: center;
  flex-wrap: wrap;
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-divider);
  max-width: 700px;
  margin: 0 auto;
}

.stat {
  text-align: center;
}

.stat-number {
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.2;
}

.stat-label {
  display: block;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-top: var(--space-1);
  max-width: 180px;
  margin-inline: auto;
}

/* --- Credentials Strip --- */
.credentials-strip {
  background: var(--color-surface-offset);
  padding-block: var(--space-8);
  border-bottom: 1px solid var(--color-divider);
}

.credentials-strip-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-6);
  flex-wrap: wrap;
}

.cred-item {
  text-align: center;
  flex: 1;
  min-width: 140px;
}

.cred-number {
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.2;
}

.cred-label {
  display: block;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-top: var(--space-1);
  line-height: 1.4;
}

.cred-divider {
  width: 1px;
  height: 40px;
  background: var(--color-border);
}

@media (max-width: 700px) {
  .cred-divider { display: none; }
  .credentials-strip-inner { gap: var(--space-4); }
  .cred-item { min-width: 120px; }
}

/* --- Buttons --- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-full);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none;
  line-height: 1.2;
}

.btn-primary {
  background: var(--color-primary);
  color: var(--color-text-inverse);
  border-color: var(--color-primary);
}

.btn-primary:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: var(--color-text-inverse);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.btn-ghost {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-border);
}

.btn-ghost:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-hover);
}

.btn-outline {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-outline:hover {
  background: var(--color-primary);
  color: var(--color-text-inverse);
}

.btn-block {
  width: 100%;
}

/* --- Service Cards --- */
.service-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}

.service-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  transition: box-shadow var(--transition), transform var(--transition);
}

.service-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.service-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary-light);
  color: var(--color-primary);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-5);
}

.service-card h3 {
  font-size: var(--text-lg);
  margin-bottom: var(--space-3);
}

.service-card > p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-5);
  line-height: 1.6;
}

.service-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.service-list li {
  font-size: var(--text-sm);
  color: var(--color-text);
  padding-left: var(--space-5);
  position: relative;
  line-height: 1.5;
}

.service-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 6px;
  height: 6px;
  background: var(--color-primary);
  border-radius: 50%;
}

/* --- Pricing --- */
.pricing-retainers {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-6);
  max-width: 760px;
  margin: 0 auto var(--space-12);
}

.pricing-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  position: relative;
}

.pricing-card-featured {
  border-color: var(--color-primary);
  border-width: 2px;
  box-shadow: var(--shadow-md);
}

.pricing-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-primary);
  color: var(--color-text-inverse);
  font-size: var(--text-xs);
  font-weight: 600;
  padding: var(--space-1) var(--space-4);
  border-radius: var(--radius-full);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.pricing-card h3 {
  font-size: var(--text-lg);
  margin-bottom: var(--space-2);
}

.pricing-amount {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--space-2);
}

.pricing-period {
  font-size: var(--text-sm);
  font-weight: 400;
  color: var(--color-text-muted);
}

.pricing-desc {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-6);
}

.pricing-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-8);
}

.pricing-list li {
  font-size: var(--text-sm);
  padding-left: var(--space-5);
  position: relative;
  line-height: 1.5;
}

.pricing-list li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-primary);
  font-weight: 700;
}

/* Standalone pricing */
.standalone-section {
  margin-top: var(--space-12);
}

.standalone-title {
  font-size: var(--text-xl);
  text-align: center;
  margin-bottom: var(--space-2);
}

.standalone-desc {
  text-align: center;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  margin-bottom: var(--space-8);
  max-width: 600px;
  margin-inline: auto;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}

.pricing-table {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-6);
}

.pricing-table-title {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-divider);
  font-family: var(--font-body);
}

.pricing-table dl {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.pricing-table dl > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.pricing-table dt {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  line-height: 1.4;
}

.pricing-table dd {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
}

.pricing-note {
  text-align: center;
  font-size: var(--text-xs);
  color: var(--color-text-faint);
  margin-top: var(--space-8);
}

/* --- Attorney Section --- */
.attorney-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  margin-bottom: var(--space-8);
}

.attorney-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-6);
  transition: box-shadow var(--transition);
}

.attorney-card:hover {
  box-shadow: var(--shadow-sm);
}

.attorney-card h3 {
  font-size: var(--text-base);
  margin-bottom: var(--space-3);
  font-family: var(--font-body);
  font-weight: 600;
}

.attorney-card p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
}

.attorney-card-highlight {
  background: var(--color-primary-light);
  border-color: var(--color-primary);
}

.attorney-card-highlight h3 {
  color: var(--color-primary);
}

.attorney-cta {
  text-align: center;
}

/* --- About --- */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--space-12);
  align-items: start;
}

.about-photo {
  position: sticky;
  top: var(--space-8);
}

.about-portrait {
  width: 100%;
  max-width: 360px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  border: 4px solid var(--color-surface);
}

.about-text h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-5);
}

.about-text > p {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  margin-bottom: var(--space-4);
  line-height: 1.7;
}

.credentials {
  margin-top: var(--space-8);
}

.credentials h3 {
  font-size: var(--text-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
  font-family: var(--font-body);
}

.credential-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.credential-list li {
  font-size: var(--text-sm);
  padding-left: var(--space-5);
  position: relative;
  line-height: 1.5;
}

.credential-list li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-weight: 700;
}

.about-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
  position: sticky;
  top: 100px;
}

.stat-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  text-align: center;
}

.stat-card-number {
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.2;
}

.stat-card-label {
  display: block;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-top: var(--space-2);
  line-height: 1.4;
}

/* --- Contact --- */
.contact-section {
  background: linear-gradient(170deg, var(--color-primary-light) 0%, var(--color-bg) 50%);
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-12);
  align-items: start;
}

.contact-info h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-4);
}

.contact-lead {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  margin-bottom: var(--space-8);
  line-height: 1.7;
}

.contact-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.contact-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.contact-label {
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-faint);
}

.contact-item a,
.contact-item span {
  font-size: var(--text-base);
  color: var(--color-text);
}

.contact-form-wrap {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  box-shadow: var(--shadow-md);
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.form-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.form-row label {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
}

.required {
  color: var(--color-primary);
}

.form-row input,
.form-row select,
.form-row textarea {
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-bg);
  transition: border-color var(--transition);
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-light);
}

.form-row textarea {
  resize: vertical;
}

.form-note {
  font-size: var(--text-xs);
  color: var(--color-text-faint);
  text-align: center;
  margin-top: var(--space-2);
}

/* --- Footer --- */
.footer {
  background: var(--color-surface-offset);
  padding-block: var(--space-12) var(--space-8);
  border-top: 1px solid var(--color-divider);
}

.footer-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  align-items: center;
  text-align: center;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-primary);
}

.footer-brand span {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text);
}

.footer-nav {
  display: flex;
  gap: var(--space-6);
  flex-wrap: wrap;
  justify-content: center;
}

.footer-nav a {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.footer-nav a:hover {
  color: var(--color-primary);
}

.footer-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-5) 0;
  border-top: 1px solid var(--color-divider);
  border-bottom: 1px solid var(--color-divider);
  width: 100%;
}

.footer-badge {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.footer-badge img {
  height: 50px;
  width: auto;
  opacity: 0.85;
}

.footer-badge-text {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  border-left: 3px solid var(--color-accent);
  padding-left: var(--space-3);
}

.badge-school {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  line-height: 1.2;
}

.badge-program {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  line-height: 1.2;
}

.footer-legal {
  border-top: 1px solid var(--color-divider);
  padding-top: var(--space-4);
  width: 100%;
  max-width: 600px;
}

.footer-legal p {
  font-size: var(--text-xs);
  color: var(--color-text-faint);
  line-height: 1.5;
}

.footer-disclaimer {
  margin-top: var(--space-2);
  font-style: italic;
}

/* --- NAHAC Badge --- */

.calendly-btn {
  margin-bottom: var(--space-8);
}

.badge-wrap {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-divider);
}

.nahac-badge {
  max-width: 260px;
  height: auto;
  border-radius: var(--radius-sm);
}

/* --- Attorney Page Styles --- */

/* Attorney Hero */
.attorney-hero {
  background: linear-gradient(170deg, var(--color-primary-light) 0%, var(--color-surface-2) 60%, var(--color-bg) 100%);
}

/* Active nav link */
.nav-active {
  color: var(--color-primary) !important;
  font-weight: 600;
}

/* Value cards */
.attorney-value-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}

.attorney-value-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  transition: box-shadow var(--transition), transform var(--transition);
}

.attorney-value-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.attorney-value-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary-light);
  color: var(--color-primary);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
}

.attorney-value-card h3 {
  font-size: var(--text-base);
  margin-bottom: var(--space-2);
  font-family: var(--font-body);
  font-weight: 600;
}

.attorney-value-card p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
}

/* Practice areas */
.practice-areas {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.practice-area {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-6);
  transition: box-shadow var(--transition);
}

.practice-area:hover {
  box-shadow: var(--shadow-sm);
}

.practice-area-header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-divider);
}

.practice-area-header svg {
  color: var(--color-primary);
  flex-shrink: 0;
}

.practice-area-header h3 {
  font-size: var(--text-base);
  font-family: var(--font-body);
  font-weight: 600;
}

.practice-area ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.practice-area ul li {
  font-size: var(--text-sm);
  padding-left: var(--space-5);
  position: relative;
  line-height: 1.5;
}

.practice-area ul li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-weight: 700;
}

.practice-area-highlight {
  background: var(--color-primary-light);
  border-color: var(--color-primary);
}

/* Process steps */
.process-steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  max-width: var(--content-narrow);
  margin: 0 auto;
}

.process-step {
  display: flex;
  gap: var(--space-6);
  align-items: flex-start;
}

.process-number {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: var(--color-text-inverse);
  border-radius: 50%;
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 700;
  flex-shrink: 0;
}

.process-content h3 {
  font-size: var(--text-lg);
  margin-bottom: var(--space-2);
  font-family: var(--font-body);
  font-weight: 600;
}

.process-content p {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  line-height: 1.6;
}

/* Referral form */
.referral-form-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: var(--space-12);
  align-items: start;
}

.referral-form-info h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-4);
}

.referral-form-info > p {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  margin-bottom: var(--space-8);
  line-height: 1.7;
}

.referral-contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.referral-form-wrap {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  box-shadow: var(--shadow-md);
}

.form-heading {
  font-size: var(--text-lg);
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-divider);
}

.form-section-label {
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary);
  margin-bottom: var(--space-3);
  margin-top: var(--space-4);
}

.form-row-double {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}

.form-row-double > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

/* --- Responsive for attorney page --- */
@media (max-width: 900px) {
  .attorney-value-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .practice-areas {
    grid-template-columns: 1fr;
  }

  .referral-form-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
}

@media (max-width: 600px) {
  .attorney-value-grid {
    grid-template-columns: 1fr;
  }

  .process-step {
    flex-direction: column;
    gap: var(--space-3);
  }

  .form-row-double {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
}

/* --- Care Coordination Highlight (Attorney Page) --- */
.care-coord-highlight {
  background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-surface-offset) 100%);
  padding-block: clamp(var(--space-12), 5vw, var(--space-20));
  border-top: 1px solid var(--color-divider);
  border-bottom: 1px solid var(--color-divider);
}

.care-coord-inner {
  display: flex;
  gap: var(--space-8);
  align-items: flex-start;
}

.care-coord-icon {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: var(--color-text-inverse);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.care-coord-text {
  flex: 1;
}

.care-coord-text .eyebrow {
  margin-bottom: var(--space-2);
}

.care-coord-text h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-4);
  color: var(--color-primary);
}

.care-coord-text > p {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  line-height: 1.7;
  margin-bottom: var(--space-6);
  max-width: 680px;
}

.care-coord-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-3) var(--space-6);
}

.care-coord-item {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  font-size: var(--text-sm);
  color: var(--color-text);
  line-height: 1.5;
  font-weight: 500;
}

@media (max-width: 700px) {
  .care-coord-inner {
    flex-direction: column;
  }

  .care-coord-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Scenario Cards (When to Call Me) --- */
.scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.scenario-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  transition: box-shadow var(--transition), transform var(--transition);
  display: flex;
  flex-direction: column;
}

.scenario-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.scenario-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary-light);
  color: var(--color-primary);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
}

.scenario-card h3 {
  font-size: var(--text-base);
  font-family: var(--font-body);
  font-weight: 600;
  margin-bottom: var(--space-3);
}

.scenario-card p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
  flex: 1;
}

.scenario-card-cta {
  background: var(--color-primary-light);
  border-color: var(--color-primary);
}

.scenario-card-cta h3 {
  color: var(--color-primary);
}

.scenario-link {
  display: inline-block;
  margin-top: var(--space-3);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition);
}

.scenario-link:hover {
  color: var(--color-primary-hover);
}

/* --- Outcomes Grid (What You Get) --- */
.outcomes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.outcome-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  text-align: left;
  position: relative;
  transition: box-shadow var(--transition);
}

.outcome-card:hover {
  box-shadow: var(--shadow-md);
}

.outcome-number {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: var(--color-text-inverse);
  border-radius: 50%;
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 700;
  margin-bottom: var(--space-4);
}

.outcome-card h3 {
  font-size: var(--text-base);
  font-family: var(--font-body);
  font-weight: 600;
  margin-bottom: var(--space-2);
}

.outcome-card p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
}

/* --- Timeline (About section) --- */
.timeline {
  margin-top: var(--space-8);
  position: relative;
  padding-left: var(--space-8);
}

.timeline::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-accent) 100%);
  border-radius: 2px;
}

.timeline-item {
  position: relative;
  margin-bottom: var(--space-8);
}

.timeline-item:last-child {
  margin-bottom: 0;
}

.timeline-marker {
  position: absolute;
  left: -29px;
  top: 4px;
  width: 16px;
  height: 16px;
  background: var(--color-surface);
  border: 3px solid var(--color-primary);
  border-radius: 50%;
  z-index: 1;
}

.timeline-content h4 {
  font-size: var(--text-base);
  font-family: var(--font-body);
  font-weight: 600;
  margin-bottom: var(--space-2);
  color: var(--color-text);
}

.timeline-content p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.7;
}

.cred-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.cred-tag {
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--color-text);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
}

.about-lead {
  font-size: var(--text-lg) !important;
  color: var(--color-text) !important;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: var(--space-4);
}

/* --- CTA Band --- */
.cta-band {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-active) 100%);
  padding-block: clamp(var(--space-12), 5vw, var(--space-16));
}

.cta-band-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-8);
  flex-wrap: wrap;
}

.cta-band-text h2 {
  font-size: var(--text-2xl);
  color: var(--color-text-inverse);
  margin-bottom: var(--space-2);
}

.cta-band-text p {
  font-size: var(--text-base);
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.6;
  max-width: 500px;
}

.cta-band .btn-primary {
  background: var(--color-surface);
  color: var(--color-primary);
  border-color: var(--color-surface);
}

.cta-band .btn-primary:hover {
  background: var(--color-surface-2);
  color: var(--color-primary-hover);
}

.btn-large {
  padding: var(--space-4) var(--space-8);
  font-size: var(--text-base);
}

/* --- Responsive for new sections --- */
@media (max-width: 900px) {
  .hero-split {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .scenario-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .outcomes-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cta-band-inner {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 600px) {
  .scenario-grid {
    grid-template-columns: 1fr;
  }

  .outcomes-grid {
    grid-template-columns: 1fr;
  }

  .hero-trust {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
  }
}

/* --- Responsive --- */
@media (max-width: 900px) {
  .nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-divider);
    flex-direction: column;
    padding: var(--space-4) var(--space-6);
    gap: var(--space-4);
    box-shadow: var(--shadow-md);
  }

  .nav.open {
    display: flex;
  }

  .menu-toggle {
    display: flex;
  }

  .menu-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .menu-toggle.active span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .service-cards {
    grid-template-columns: 1fr;
  }

  .pricing-retainers {
    grid-template-columns: 1fr;
  }

  .pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .attorney-grid {
    grid-template-columns: 1fr;
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .about-photo {
    position: static;
    display: flex;
    justify-content: center;
  }

  .about-portrait {
    max-width: 280px;
  }

  .about-stats {
    position: static;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-3);
  }

  .stat-card {
    padding: var(--space-4);
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .hero-stats {
    gap: var(--space-4);
  }
}

@media (max-width: 600px) {
  .pricing-grid {
    grid-template-columns: 1fr;
  }

  .about-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-cta .btn {
    width: 100%;
  }

  .hero-stats {
    flex-direction: column;
    gap: var(--space-6);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* --- Credential badges (footer) --- */
.footer-badges { display:block; width:100%; padding: var(--space-6) 0; }
.footer-badges-title { text-align:center; max-width:none; width:100%; font-size: var(--text-xs); letter-spacing:.14em; text-transform:uppercase; color: var(--color-text-muted); margin-bottom: var(--space-5); font-weight:600; }
.footer-badges-row { display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap: var(--space-8); }
.cred-badge { margin:0; display:flex; flex-direction:column; align-items:center; text-align:center; width:150px; gap: var(--space-2); }
.cred-badge-img { height:84px; width:84px; object-fit:contain; }
.cred-badge-wide { width:150px; background:#fff; border-radius: var(--radius-md); padding:6px; box-shadow: var(--shadow-sm); }
.cred-badge figcaption { font-family: var(--font-display); font-size: var(--text-sm); font-weight:600; color: var(--color-primary); line-height:1.25; }
.cred-badge figcaption span { font-family: var(--font-body, Inter, sans-serif); font-size: var(--text-xs); font-weight:400; color: var(--color-text-muted); }
/* --- Hero badges --- */
.hero-badges { display:flex; align-items:center; gap: var(--space-3); flex-wrap:wrap; }
.hero-badge-chc { width:auto; height:64px; background:#fff; border-radius: var(--radius-sm); padding:6px 10px; box-sizing:border-box; }
@media (max-width: 640px){ .footer-badges-row{ gap: var(--space-5);} .cred-badge{ width:130px;} .cred-badge-wide{ width:130px;} }

/* About timeline — executive format */
.timeline-content h4 { color:#1A204C; letter-spacing:-0.005em; margin-bottom:4px; }
.timeline-content p.timeline-sub { font-size:0.8rem; font-weight:600; letter-spacing:0.04em; text-transform:none; color:#A8650F; margin:0 0 10px; max-width:none; }
.timeline-list { list-style:none; margin:0; padding:0; display:grid; gap:7px; }
.timeline-list li { position:relative; padding-left:18px; font-size:0.97rem; line-height:1.6; color:#3F4459; }
.timeline-list li::before { content:""; position:absolute; left:0; top:0.62em; width:7px; height:7px; border-radius:50%; background:#F6A623; }

/* Education & credentials with badges */
.cred-list { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin-top:6px; }
.cred-row { display:flex; align-items:center; gap:14px; padding:12px 14px; background:#fff; border:1px solid #E6E3DC; border-radius:12px; }
.cred-row-badge { flex:0 0 52px; width:52px; height:52px; display:flex; align-items:center; justify-content:center; }
.cred-row-badge img { width:52px; height:52px; object-fit:contain; }
.cred-row-badge-wide { flex-basis:72px; width:72px; }
.cred-row-badge-wide img { width:72px; height:44px; }
.cred-row-text { display:flex; flex-direction:column; gap:2px; min-width:0; }
.cred-row-text strong { font-size:0.92rem; font-weight:600; color:#1A204C; line-height:1.35; }
.cred-row-text span { font-size:0.82rem; color:#5A5F73; line-height:1.4; }
@media (max-width: 640px) { .cred-list { grid-template-columns:1fr; } }

/* Branding: footer logo + section emblem dividers */
.footer-logo { width:240px; height:auto; display:block; }
.brand-divider { display:flex; align-items:center; justify-content:center; gap:14px; margin:0 auto var(--space-4); }
.brand-divider span { width:48px; height:1px; background:linear-gradient(90deg, transparent, #F6A623); }
.brand-divider span:last-child { background:linear-gradient(90deg, #F6A623, transparent); }
.brand-divider img { width:34px; height:34px; object-fit:contain; }
@media (max-width: 768px) { .footer-logo { width:200px; margin-inline:auto; } }
@media (min-width: 641px) { .footer-badges-row { gap: var(--space-5); } .cred-badge, .cred-badge-wide { width:140px; } }

/* Regulatory framework tags */
.reg-tags { list-style:none; margin:0 0 12px; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.reg-tags li { font-family: Inter, sans-serif; font-size:0.72rem; font-weight:600; letter-spacing:0.08em; color:#1A204C; background:#EEF0F7; border:1px solid #D9DDEB; border-radius:999px; padding:4px 11px; line-height:1.2; }

.pricing-note { max-width:640px; margin-inline:auto; }
.hero-badges .hero-badge { height:64px; width:auto; max-width:none; }

/* Text credential cards (no logos) */
.cred-row { border-top:3px solid #F6A623; }
.cred-row-text strong { font-size:0.95rem; }
.footer-badges-row { align-items:stretch; }
.cred-text-card { width:150px; background:#fff; border-radius: var(--radius-md); border-top:3px solid #F6A623; box-shadow: var(--shadow-sm); padding:14px 12px; display:flex; flex-direction:column; justify-content:center; gap:4px; text-align:center; }
.cred-text-card strong { font-family: var(--font-display); font-size: var(--text-sm); font-weight:600; color:#1A204C; line-height:1.25; }
.cred-text-card span { font-size: var(--text-xs); color: var(--color-text-muted); line-height:1.35; }
.footer-badges-row .cred-badge { justify-content:center; }
.hero-cred-chip { display:inline-flex; flex-direction:column; justify-content:center; height:64px; box-sizing:border-box; padding:8px 16px; background:#fff; border-radius: var(--radius-sm); border-left:3px solid #F6A623; box-shadow: var(--shadow-sm); }
.hero-cred-chip strong { font-family: var(--font-display); font-size:1.05rem; color:#1A204C; line-height:1.1; letter-spacing:0.03em; }
.hero-cred-chip span { font-size:0.72rem; color:#5A5F73; line-height:1.3; }
@media (max-width: 640px){ .cred-text-card{ width:130px; } }

/* ===== Private practice pages ===== */
@media (max-width: 1399px) {
  .nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--color-surface); border-bottom:1px solid var(--color-divider); flex-direction:column; align-items:flex-start; padding:var(--space-4) var(--space-6); gap:var(--space-4); box-shadow:var(--shadow-md); }
  .nav.open { display:flex; }
  .menu-toggle { display:flex; }
  .menu-toggle.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .menu-toggle.active span:nth-child(2){ opacity:0; }
  .menu-toggle.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}
@media (min-width: 1400px) { .nav { gap: var(--space-4); } .nav a { white-space:nowrap; } }
.page-hero { background:linear-gradient(170deg, var(--color-primary-light) 0%, var(--color-bg) 70%); padding-block: clamp(3.5rem, 7vw, 5.5rem) clamp(2.5rem, 5vw, 3.5rem); border-bottom:1px solid var(--color-divider); }
.page-hero h1 { font-family:var(--font-display); font-size:clamp(2.2rem, 4.5vw, 3.4rem); line-height:1.08; color:var(--color-text); margin:var(--space-2) 0 var(--space-4); max-width:20ch; }
.page-hero-lead { font-size:var(--text-lg); color:var(--color-text-muted); max-width:60ch; line-height:1.6; }
.meet-grid { display:grid; grid-template-columns:300px 1fr; gap:var(--space-12); align-items:center; max-width:980px; margin:0 auto; }
.meet-photo { width:300px; height:300px; object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow-md); }
.meet-text h2 { margin:var(--space-2) 0 var(--space-4); }
.meet-text p { color:var(--color-text-muted); line-height:1.7; max-width:60ch; }
.meet-actions { display:flex; gap:var(--space-3); flex-wrap:wrap; margin-top:var(--space-6); }
.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5); }
.info-card { background:var(--color-surface); border:1px solid var(--color-divider); border-top:3px solid #F6A623; border-radius:var(--radius-lg); padding:var(--space-6); }
.info-card h3 { font-family:var(--font-display); font-size:var(--text-lg); color:var(--color-text); margin-bottom:var(--space-2); }
.info-card p { color:var(--color-text-muted); line-height:1.65; font-size:var(--text-sm); }
.info-card a, .faq-answer a, .policy-content a, .info-footnote a, .privacy-note a, .form-note a { color:var(--color-primary); text-decoration:underline; text-underline-offset:2px; }
.info-footnote { text-align:center; margin-top:var(--space-8); color:var(--color-text-muted); font-size:var(--text-sm); }
.two-col { display:grid; grid-template-columns:1fr 1.2fr; gap:var(--space-12); align-items:start; }
.two-col h2 { margin:var(--space-2) 0 var(--space-4); }
.two-col > div > p { color:var(--color-text-muted); line-height:1.7; }
.privacy-note { margin-top:var(--space-5); padding:var(--space-4) var(--space-5); background:var(--color-surface); border-left:3px solid #F6A623; border-radius:var(--radius-sm); font-size:var(--text-sm); }
.check-list { list-style:none; padding:0; margin:0; display:grid; gap:var(--space-3); }
.check-list li { position:relative; padding:var(--space-4) var(--space-5) var(--space-4) 3rem; background:var(--color-surface); border:1px solid var(--color-divider); border-radius:var(--radius-md); color:var(--color-text); line-height:1.5; }
.check-list li::before { content:"✓"; position:absolute; left:1.1rem; top:50%; transform:translateY(-50%); width:22px; height:22px; border-radius:50%; background:#1A204C; color:#F6A623; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.faq-list { max-width:820px; margin:0 auto; display:grid; gap:var(--space-3); }
.faq-item { background:var(--color-surface); border:1px solid var(--color-divider); border-radius:var(--radius-md); }
.faq-item summary { cursor:pointer; list-style:none; padding:var(--space-5) var(--space-6); font-weight:600; color:var(--color-text); display:flex; justify-content:space-between; gap:var(--space-4); align-items:center; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; font-size:1.4rem; font-weight:400; color:#A8650F; line-height:1; flex-shrink:0; }
.faq-item[open] summary::after { content:"−"; }
.faq-item[open] { border-left:3px solid #F6A623; }
.faq-answer { padding:0 var(--space-6) var(--space-5); }
.faq-answer p { color:var(--color-text-muted); line-height:1.7; }
.policy-layout { display:grid; grid-template-columns:240px 1fr; gap:var(--space-12); align-items:start; max-width:1040px; margin:0 auto; }
.policy-toc { position:sticky; top:100px; }
.policy-toc ul { list-style:none; padding:0; margin:var(--space-3) 0 0; display:grid; gap:var(--space-2); border-left:2px solid var(--color-divider); }
.policy-toc a { display:block; padding:4px 0 4px var(--space-4); font-size:var(--text-sm); color:var(--color-text-muted); }
.policy-toc a:hover { color:var(--color-primary); }
.policy-block { padding-bottom:var(--space-8); margin-bottom:var(--space-8); border-bottom:1px solid var(--color-divider); scroll-margin-top:100px; }
.policy-block h2 { font-family:var(--font-display); font-size:var(--text-xl); color:var(--color-text); margin-bottom:var(--space-3); }
.policy-block p { color:var(--color-text-muted); line-height:1.75; margin-bottom:var(--space-3); max-width:68ch; }
.policy-updated { font-size:var(--text-sm); color:var(--color-text-faint); }
.footer-practice { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-2) var(--space-8); font-size:var(--text-sm); color:var(--color-text-muted); text-align:center; }
.footer-practice p { margin:0; }
.footer-practice strong { color:var(--color-primary); font-weight:600; margin-right:6px; }
.footer-practice a, .footer-legal a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
@media (max-width: 900px) {
  .meet-grid, .two-col, .policy-layout { grid-template-columns:1fr; gap:var(--space-8); }
  .meet-photo { width:240px; height:240px; margin:0 auto; }
  .info-grid { grid-template-columns:1fr; }
  .policy-toc { position:static; }
}
.footer-legal { max-width:820px; margin-inline:auto; } .footer-legal p { white-space:normal; }

/* ===== About page typography refresh ===== */
#about .eyebrow { color:#A8650F; letter-spacing:0.14em; font-size:0.78rem; }
#about .about-text h2 { font-family:var(--font-display); font-weight:600; font-size:clamp(2.2rem,3.6vw,2.9rem); line-height:1.08; letter-spacing:-0.015em; color:#1A204C; margin-bottom:var(--space-6); }
#about .about-lead { font-family:var(--font-display) !important; font-weight:400 !important; font-size:1.3rem !important; line-height:1.6 !important; color:#1A204C !important; letter-spacing:-0.005em; padding-left:var(--space-5); border-left:3px solid #F6A623; margin-bottom:var(--space-6); max-width:62ch; }
#about .about-text > p:not(.about-lead):not(.eyebrow) { font-size:1.02rem; line-height:1.8; color:#4A4F63; max-width:62ch; }
#about .timeline-content h4 { font-family:var(--font-display); font-weight:600; font-size:1.2rem; letter-spacing:-0.01em; color:#1A204C; margin-bottom:4px; }
#about .timeline-content p.timeline-sub { font-family:var(--font-body); font-size:0.72rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:#A8650F; margin:2px 0 12px; }
#about .timeline-list { gap:9px; }
#about .timeline-list li { font-size:0.98rem; line-height:1.65; color:#3F4459; }
#about .cred-row-text strong { font-family:var(--font-display); font-weight:600; font-size:1rem; letter-spacing:-0.005em; }
#about .cred-row-text span { font-size:0.84rem; }
#about .about-lead { font-size:1.18rem !important; line-height:1.65 !important; }
@media (max-width: 640px) { #about .about-lead { font-size:1.04rem !important; padding-left:var(--space-4); } #about .about-text h2 { font-size:2rem; } }

/* ===== About page (redesign) ===== */
.ab-hero { background:linear-gradient(165deg, var(--color-primary-light) 0%, var(--color-bg) 65%); padding-block:clamp(3.5rem,7vw,6rem) clamp(3rem,6vw,5rem); }
.ab-hero-grid { display:grid; grid-template-columns:1.25fr 0.9fr; gap:clamp(2.5rem,6vw,5rem); align-items:center; max-width:1120px; margin:0 auto; }
.ab-eyebrow { font-size:0.78rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#A8650F; margin-bottom:var(--space-4); }
.ab-hero h1 { font-family:var(--font-display); font-weight:600; font-size:clamp(2.4rem,4.6vw,3.6rem); line-height:1.05; letter-spacing:-0.02em; color:#1A204C; margin-bottom:var(--space-6); max-width:14ch; }
.ab-lead { font-family:var(--font-display); font-size:clamp(1.25rem,1.9vw,1.5rem); line-height:1.45; color:#1A204C; padding-left:var(--space-5); border-left:3px solid #F6A623; margin-bottom:var(--space-5); max-width:34ch; }
.ab-body { font-size:1.05rem; line-height:1.8; color:#4A4F63; max-width:58ch; margin-bottom:var(--space-8); }
.ab-hero-actions { display:flex; gap:var(--space-3); flex-wrap:wrap; }
.ab-portrait { margin:0; background:#fff; padding:12px 12px 0; border-radius:20px; box-shadow:0 24px 60px -24px rgba(26,32,76,.35); max-width:400px; justify-self:end; width:100%; }
.ab-portrait img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:12px; display:block; }
.ab-portrait figcaption { padding:var(--space-4) var(--space-2) var(--space-5); text-align:center; }
.ab-portrait figcaption strong { display:block; font-family:var(--font-display); font-size:1.2rem; color:#1A204C; }
.ab-portrait figcaption span { display:block; font-size:0.82rem; color:#5A5F73; line-height:1.45; margin-top:4px; }

.ab-glance { background:#1A204C; color:#fff; padding-block:var(--space-8); }
.ab-glance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-6); margin:0 auto; max-width:1120px; }
.ab-glance-grid > div { text-align:center; padding-inline:var(--space-3); border-left:1px solid rgba(246,166,35,.35); }
.ab-glance-grid > div:first-child { border-left:0; }
.ab-glance dt { font-family:var(--font-display); font-weight:600; font-size:clamp(1.6rem,2.8vw,2.2rem); color:#F6A623; line-height:1.1; }
.ab-glance dd { margin:6px 0 0; font-size:0.86rem; color:rgba(255,255,255,.82); line-height:1.4; }

.ab-sides { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); max-width:1040px; margin:0 auto; }
.ab-side { background:#fff; border:1px solid var(--color-divider); border-radius:18px; padding:clamp(1.75rem,3vw,2.5rem); }
.ab-side-dark { background:#1A204C; border-color:#1A204C; }
.ab-side-label { font-size:0.72rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#A8650F; margin-bottom:var(--space-2); }
.ab-side-dark .ab-side-label { color:#F6A623; }
.ab-side h3, .ab-role h3 { font-family:var(--font-display); font-weight:600; font-size:1.45rem; color:#1A204C; margin-bottom:var(--space-5); letter-spacing:-0.01em; }
.ab-side-dark h3 { color:#fff; }
.ab-list { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.ab-list li { position:relative; padding-left:22px; font-size:1rem; line-height:1.6; color:#3F4459; }
.ab-list li::before { content:""; position:absolute; left:0; top:0.6em; width:8px; height:8px; border-radius:50%; background:#F6A623; }
.ab-side-dark .ab-list li { color:rgba(255,255,255,.88); }
.ab-quote { max-width:820px; margin:clamp(2.5rem,5vw,3.5rem) auto 0; text-align:center; font-family:var(--font-display); font-style:italic; font-size:clamp(1.15rem,1.8vw,1.4rem); line-height:1.6; color:#1A204C; }

.ab-career { display:grid; grid-template-columns:1.15fr 1fr; gap:var(--space-6); max-width:1040px; margin:0 auto; }
.ab-role { background:#fff; border:1px solid var(--color-divider); border-top:3px solid #F6A623; border-radius:18px; padding:clamp(1.75rem,3vw,2.5rem); }
.ab-role-head { margin-bottom:var(--space-5); padding-bottom:var(--space-5); border-bottom:1px solid var(--color-divider); }
.ab-role-head h3 { margin-bottom:var(--space-2); }
.ab-role-meta { font-size:0.72rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#A8650F; margin-bottom:var(--space-2); }
.ab-role-path { font-size:0.9rem; color:#5A5F73; }
.ab-role .reg-tags { margin:var(--space-3) 0 0; }

.ab-creds { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-6); max-width:1120px; margin:0 auto; }
.ab-cred-group { background:#fff; border:1px solid var(--color-divider); border-radius:18px; padding:var(--space-6) var(--space-6) var(--space-4); }
.ab-cred-group h3 { font-size:0.74rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#A8650F; padding-bottom:var(--space-3); margin-bottom:var(--space-2); border-bottom:2px solid #F6A623; font-family:var(--font-body); }
.ab-cred-group ul { list-style:none; padding:0; margin:0; }
.ab-cred-group li { padding:var(--space-4) 0; border-bottom:1px solid var(--color-divider); }
.ab-cred-group li:last-child { border-bottom:0; }
.ab-cred-group strong { display:block; font-family:var(--font-display); font-weight:600; font-size:1.02rem; line-height:1.35; color:#1A204C; }
.ab-cred-group span { display:block; font-size:0.86rem; color:#5A5F73; margin-top:3px; }
.ab-member { display:flex; align-items:center; justify-content:center; gap:var(--space-5); margin:var(--space-10, 2.5rem) auto 0; max-width:720px; padding:var(--space-5) var(--space-6); background:#fff; border:1px solid var(--color-divider); border-radius:14px; }
.ab-member img { height:64px; width:auto; }
.ab-member p { color:#3F4459; line-height:1.5; font-size:0.95rem; }

@media (max-width: 960px) {
  .ab-hero-grid, .ab-sides, .ab-career { grid-template-columns:1fr; }
  .ab-portrait { justify-self:center; max-width:340px; order:-1; }
  .ab-creds { grid-template-columns:1fr; max-width:640px; }
  .ab-glance-grid { grid-template-columns:repeat(2,1fr); row-gap:var(--space-6); }
  .ab-glance-grid > div:nth-child(3) { border-left:0; }
}
@media (max-width: 560px) {
  .ab-hero h1 { font-size:2.2rem; }
  .ab-member { flex-direction:column; text-align:center; }
}
.ab-hero .ab-body { margin-bottom:var(--space-4); }
.ab-hero .ab-body + .ab-hero-actions, .ab-hero .ab-body:last-of-type { margin-bottom:var(--space-8); }

/* Homepage intro typography refresh */
.hero-intro { max-width:560px; padding-left:var(--space-6); }
.hero-lead { font-family:var(--font-display) !important; font-weight:500 !important; font-size:clamp(1.3rem,1.1rem + 0.7vw,1.6rem) !important; line-height:1.35 !important; letter-spacing:-0.01em !important; color:#1A204C; margin-bottom:var(--space-5) !important; }
.hero-subtitle { font-family:var(--font-display) !important; font-weight:400 !important; font-size:clamp(1.08rem,1rem + 0.3vw,1.2rem) !important; line-height:1.6 !important; color:#2E3350 !important; margin-bottom:var(--space-5) !important; }
.hero-step { font-weight:600; color:#A8650F; white-space:nowrap; }
.hero-credential { font-family:var(--font-body); font-size:0.95rem; line-height:1.75; color:#5A5F73; margin:0; padding-top:var(--space-5); border-top:1px solid rgba(26,32,76,.12); }
.hero-credential strong { color:#1A204C; font-weight:600; }

/* Hero: scannable intro */
.hero-tags { list-style:none; padding:0; margin:0 0 var(--space-5); display:flex; flex-wrap:wrap; gap:8px; }
.hero-tags li { font-size:0.82rem; font-weight:600; letter-spacing:0.01em; color:#1A204C; background:#fff; border:1px solid rgba(26,32,76,.16); border-radius:999px; padding:7px 14px; line-height:1.2; box-shadow:0 1px 2px rgba(26,32,76,.06); }
.hero-proof { margin:0; padding-top:var(--space-4); border-top:1px solid rgba(246,166,35,.6); font-size:0.92rem; line-height:1.6; color:#4A4F63; display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; }
.hero-proof strong { color:#1A204C; font-weight:600; }
.hero-proof-dot { color:#F6A623; font-weight:700; }
.hero-proof { display:block; }
.hero-proof strong { display:block; }
.hero-proof-sub { display:block; margin-top:2px; color:#A8650F; font-weight:600; font-size:0.85rem; letter-spacing:0.02em; }
.hero-lead-combined { font-size:clamp(1.2rem,1.05rem + 0.55vw,1.42rem) !important; line-height:1.5 !important; font-weight:500 !important; margin-bottom:var(--space-5) !important; }
.hero-lead-combined .hero-step { font-weight:600; }
.pricing-table .pt-desc { display:block; margin-top:4px; font-size:0.82rem; font-weight:400; line-height:1.45; color:#5A5F73; max-width:36ch; }
.pricing-table .pt-desc { font-size:0.9em !important; color:#6B7085 !important; margin-top:3px; }
.pricing-table dt { font-weight:600; color:#1A204C; }
.pricing-table dt .pt-desc { font-weight:400; }
/* Refined service definitions */
.pricing-table dt { font-family:'Inter',system-ui,sans-serif; font-size:0.95rem !important; font-weight:600; color:#1A204C; letter-spacing:-0.005em; line-height:1.35; }
.pricing-table .pt-desc { font-family:'Inter',system-ui,sans-serif; font-size:0.8rem !important; font-weight:400 !important; color:#5B6275 !important; line-height:1.6; letter-spacing:0.005em; margin-top:6px; padding-left:10px; border-left:2px solid rgba(246,166,35,.55); max-width:none; }
.pricing-table dt { font-size:0.9rem !important; }
.cred-values { font-size:clamp(1.05rem,0.95rem + 0.5vw,1.35rem) !important; letter-spacing:0.01em; white-space:nowrap; }
.cred-dot { color:#F6A623; margin:0 0.45em; font-weight:700; }
@media (max-width:420px){ .cred-values{ white-space:normal; } }
@media (max-width:700px){ .credentials-strip-inner{ flex-direction:column; align-items:center; } .cred-item{ width:100%; } .cred-values{ white-space:normal; } }
/* Values strip */
.values-strip { display:grid !important; grid-template-columns:repeat(3,1fr); gap:0 !important; max-width:1080px; margin:0 auto; }
.value-item { text-align:center; padding:var(--space-2) var(--space-8); position:relative; }
.value-item + .value-item::before { content:""; position:absolute; left:0; top:12%; bottom:12%; width:1px; background:var(--color-border); }
.value-word { display:block; font-family:var(--font-display); font-size:clamp(1.3rem,1.1rem + 0.6vw,1.6rem); font-weight:700; color:#1A204C; line-height:1.2; }
.value-word::after { content:""; display:block; width:28px; height:2px; background:#F6A623; margin:10px auto 12px; border-radius:2px; }
.value-text { display:block; font-size:0.88rem; line-height:1.6; color:#5B6275; max-width:30ch; margin:0 auto; }
@media (max-width:760px){ .values-strip{ grid-template-columns:1fr; gap:var(--space-6) !important; } .value-item + .value-item::before{ display:none; } .value-item{ padding:0 var(--space-4); } }
.values-strip{ align-items:start !important; }
/* About hero expertise panels */
.ab-expertise { display:grid; gap:var(--space-4); margin-bottom:var(--space-8); max-width:620px; }
.ab-exp-block { background:#fff; border:1px solid rgba(26,32,76,.10); border-radius:14px; padding:var(--space-5) var(--space-6); box-shadow:0 1px 2px rgba(26,32,76,.04),0 8px 24px -16px rgba(26,32,76,.18); }
.ab-exp-label { font-size:0.72rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#A8650F; margin:0 0 6px; }
.ab-exp-lead { font-family:var(--font-display); font-size:1.08rem; line-height:1.45; color:#1A204C; margin:0 0 var(--space-4); }
.ab-exp-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 22px; }
.ab-exp-list li { position:relative; padding-left:16px; font-size:0.88rem; line-height:1.45; color:#4A4F63; }
.ab-exp-list li::before { content:""; position:absolute; left:0; top:0.6em; width:7px; height:2px; background:#F6A623; border-radius:2px; }
@media (max-width:560px){ .ab-exp-list{ grid-template-columns:1fr; } .ab-exp-block{ padding:var(--space-5); } }
.form-ack { display:flex; gap:10px; align-items:flex-start; margin:var(--space-2) 0 var(--space-4); }
.form-ack input { margin-top:3px; width:18px; height:18px; flex-shrink:0; accent-color:#1A204C; }
.form-ack label { font-size:0.82rem; line-height:1.5; color:#4A4F63; font-weight:400; }
/* Secure upload card */
.secure-upload { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid rgba(26,32,76,.12); border-left:4px solid #1A204C; border-radius:14px; padding:20px 22px; margin:var(--space-6) 0; box-shadow:0 8px 24px -18px rgba(26,32,76,.35); max-width:520px; }
.secure-upload-icon { flex-shrink:0; width:42px; height:42px; border-radius:50%; background:rgba(246,166,35,.14); color:#A8650F; display:grid; place-items:center; }
.secure-upload-title { font-family:var(--font-display); font-size:1.12rem; font-weight:600; color:#1A204C; margin:0 0 4px; }
.secure-upload-text { font-size:0.88rem; line-height:1.55; color:#4A4F63; margin:0 0 14px; }
.secure-upload-btn { font-size:0.9rem; }
.secure-upload-btn{ white-space:nowrap; }
/* Client forms downloads */
.client-forms { max-width:520px; margin:0 0 var(--space-6); }
.client-forms-title { font-size:0.72rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#A8650F; margin:0 0 4px; }
.client-forms-intro { font-size:0.88rem; color:#4A4F63; margin:0 0 12px; }
.form-dl { display:flex; gap:14px; align-items:flex-start; padding:14px 16px; background:#fff; border:1px solid rgba(26,32,76,.12); border-radius:12px; margin-bottom:10px; text-decoration:none; transition:border-color .2s, box-shadow .2s, transform .2s; }
.form-dl:hover { border-color:#1A204C; box-shadow:0 8px 22px -16px rgba(26,32,76,.45); transform:translateY(-1px); }
.form-dl:focus-visible { outline:2px solid #F6A623; outline-offset:2px; }
.form-dl-icon { flex-shrink:0; width:36px; height:36px; border-radius:10px; background:#1A204C; color:#fff; display:grid; place-items:center; }
.form-dl-body strong { display:block; font-size:0.93rem; color:#1A204C; font-weight:600; line-height:1.35; margin-bottom:3px; }
.form-dl-body span { display:block; font-size:0.8rem; line-height:1.5; color:#5B6275; }
.client-forms-note { font-size:0.78rem; color:#6B7085; margin:6px 0 0; line-height:1.5; }
/* Meet section refined type */
.meet-lead { font-family:var(--font-display); font-size:clamp(1.25rem,1.05rem + 0.7vw,1.55rem); font-weight:500; line-height:1.45; color:#1A204C; letter-spacing:-0.005em; margin:0 0 var(--space-4); padding-left:var(--space-5); border-left:3px solid #F6A623; max-width:36ch; }
.meet-body { font-size:1rem; line-height:1.75; color:#4A4F63; margin:0 0 var(--space-5); max-width:52ch; }
.meet-sign { display:flex; flex-direction:column; gap:2px; padding-top:var(--space-4); margin-bottom:var(--space-6); border-top:1px solid rgba(26,32,76,.12); max-width:52ch; }
.meet-sign-name { font-family:var(--font-display); font-size:1.15rem; font-weight:600; color:#1A204C; }
.meet-sign-title { font-size:0.78rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:#A8650F; }
.meet-text .meet-lead { color:#1A204C; line-height:1.4; font-size:clamp(1.25rem,1.05rem + 0.7vw,1.5rem); }
.meet-text .meet-body { color:#4A4F63; }
/* Payment card */
.pay-card { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; background:#fff; border:1px solid rgba(26,32,76,.12); border-left:4px solid #F6A623; border-radius:14px; padding:20px 24px; margin:var(--space-8) auto var(--space-4); max-width:900px; box-shadow:0 8px 24px -18px rgba(26,32,76,.35); }
.pay-card-icon { width:44px; height:44px; border-radius:50%; background:#1A204C; color:#fff; display:grid; place-items:center; }
.pay-card-title { font-family:var(--font-display); font-size:1.15rem; font-weight:600; color:#1A204C; margin:0 0 3px; }
.pay-card-text { font-size:0.88rem; line-height:1.55; color:#4A4F63; margin:0; }
.pay-card-btn { white-space:nowrap; }
@media (max-width:700px){ .pay-card{ grid-template-columns:auto 1fr; } .pay-card-btn{ grid-column:1 / -1; justify-self:start; } }
.pkg-list { list-style:none; margin:8px 0 0; padding:0 0 0 10px; border-left:2px solid rgba(246,166,35,.55); }
.pkg-list li { font-family:'Inter',system-ui,sans-serif; font-size:0.8rem; font-weight:400; color:#5B6275; line-height:1.5; padding:2px 0 2px 14px; position:relative; }
.pkg-list li::before { content:"✓"; position:absolute; left:0; color:#A8650F; font-weight:700; font-size:0.75rem; }
.pkg-item .pt-desc { border-left:none !important; padding-left:0 !important; }
/* Definitions as information boxes */
.pricing-table .pt-desc { background:#F4F5F9 !important; border:1px solid rgba(26,32,76,.08) !important; border-left:3px solid #F6A623 !important; border-radius:8px; padding:8px 10px !important; margin:6px 0 2px !important; color:#4A4F63 !important; }
.pkg-item .pt-desc { border-left:3px solid #F6A623 !important; padding-left:10px !important; }
.pricing-table div.pt-desc { display:block; }
.pricing-table div.pt-desc .pkg-list { border-left:none; padding-left:0; margin-top:8px; }
/* --- Simplified standalone services --- */
.start-strip { display:grid; grid-template-columns:repeat(3,1fr); background:#1A204C; border-radius:var(--radius-md); margin:0 auto var(--space-6); max-width:1032px; overflow:hidden; }
.start-item { display:flex; flex-direction:column; align-items:center; text-align:center; padding:18px 16px; gap:2px; }
.start-item + .start-item { border-left:1px solid rgba(255,255,255,.12); }
.si-name { font-family:'Inter',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.75); }
.si-price { font-family:'Fraunces',serif; font-size:1.6rem; font-weight:600; color:#F6A623; line-height:1.2; }
.si-desc { font-size:.8rem; color:rgba(255,255,255,.7); }
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5); max-width:1032px; margin:0 auto; }
.svc-col { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md); padding:var(--space-6); }
.svc-col-title { font-family:'Fraunces',serif; font-size:1.15rem; font-weight:600; color:#1A204C; margin-bottom:var(--space-3); padding-bottom:var(--space-3); border-bottom:2px solid #F6A623; }
.svc-row { padding:14px 0; border-bottom:1px solid var(--color-divider); }
.svc-row:last-child { border-bottom:none; padding-bottom:0; }
.svc-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.svc-name { font-size:.92rem; font-weight:600; color:#1A204C; line-height:1.35; }
.svc-price { font-size:.95rem; font-weight:700; color:#A8650F; white-space:nowrap; }
.svc-desc { font-size:.82rem; color:#5B6275; line-height:1.5; margin-top:4px; }
.svc-feature { background:#F4F5F9; border-left:3px solid #F6A623; border-radius:8px; padding:14px; margin-bottom:6px; border-bottom:none; }
.svc-feature .pkg-list { border-left:none; padding-left:0; margin-top:8px; }
@media (max-width: 900px) { .svc-grid { grid-template-columns:1fr; } }
@media (max-width: 600px) { .start-strip { grid-template-columns:1fr; } .start-item + .start-item { border-left:none; border-top:1px solid rgba(255,255,255,.12); } }
/* --- Professional timeline (New Clients) --- */
.tl-steps { list-style:none; margin:0 auto; padding:0; max-width:820px; position:relative; }
.tl-step { display:grid; grid-template-columns:64px 1fr; gap:28px; position:relative; padding-bottom:28px; }
.tl-step:last-child { padding-bottom:0; }
.tl-step::before { content:""; position:absolute; left:31px; top:64px; bottom:0; width:2px; background:linear-gradient(#F6A623, rgba(26,32,76,.15)); }
.tl-step:last-child::before { display:none; }
.tl-marker { width:64px; height:64px; border-radius:50%; background:#1A204C; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 6px rgba(246,166,35,.15); }
.tl-marker span { font-family:'Fraunces',serif; font-size:1.3rem; font-weight:600; color:#F6A623; }
.tl-body { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md); padding:22px 26px; box-shadow:0 2px 10px rgba(26,32,76,.04); }
.tl-label { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; font-family:'Inter',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#A8650F; margin-bottom:8px; }
.tl-meta { font-size:.7rem; letter-spacing:.06em; color:#1A204C; background:rgba(26,32,76,.06); border-radius:999px; padding:4px 10px; }
.tl-body h3 { font-family:'Fraunces',serif; font-size:1.3rem; font-weight:600; color:#1A204C; margin-bottom:6px; }
.tl-body p:last-child { font-size:.95rem; color:#4A4F63; line-height:1.65; }
@media (max-width:600px) { .tl-step { grid-template-columns:44px 1fr; gap:14px; } .tl-marker { width:44px; height:44px; } .tl-marker span { font-size:1rem; } .tl-step::before { left:21px; top:44px; } .tl-body { padding:18px; } }
@media (max-width:600px) { .tl-label { flex-direction:column; align-items:flex-start; gap:8px; } }
/* --- New Clients hero refinement --- */
.nc-lead { border-left:3px solid #F6A623; padding-left:18px; color:#3F4560; font-size:1.12rem; line-height:1.7; max-width:62ch; }
.nc-points { list-style:none; padding:0; margin:28px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:860px; background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md); box-shadow:0 2px 10px rgba(26,32,76,.05); }
.nc-points li { padding:16px 20px; display:flex; flex-direction:column; gap:3px; }
.nc-points li + li { border-left:1px solid var(--color-divider); }
.nc-k { font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#A8650F; }
.nc-v { font-family:'Fraunces',serif; font-size:1rem; font-weight:600; color:#1A204C; line-height:1.35; }
@media (max-width:700px) { .nc-points { grid-template-columns:1fr; } .nc-points li + li { border-left:none; border-top:1px solid var(--color-divider); } }
/* --- Expertise list refinement --- */
.ab-exp-list { gap:10px 14px; }
.ab-exp-list li { display:flex; align-items:center; gap:10px; padding:10px 12px 10px 10px; background:#F7F8FB; border:1px solid rgba(26,32,76,.07); border-radius:10px; font-family:'Inter',sans-serif; font-size:0.86rem; font-weight:600; letter-spacing:.005em; line-height:1.35; color:#1A204C; }
.ab-exp-list li::before { content:"✓"; position:static; flex:0 0 22px; width:22px; height:22px; border-radius:50%; background:#1A204C; color:#F6A623; font-size:.72rem; font-weight:700; display:flex; align-items:center; justify-content:center; top:auto; left:auto; }
/* --- Scenario cards v2 --- */
.sc2-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.sc2-card { position:relative; background:#fff; border:1px solid rgba(26,32,76,.10); border-radius:16px; padding:26px 26px 24px; box-shadow:0 1px 2px rgba(26,32,76,.04),0 10px 28px -18px rgba(26,32,76,.25); border-top:4px solid #F6A623; transition:transform .2s ease, box-shadow .2s ease; display:flex; flex-direction:column; }
.sc2-card:hover { transform:translateY(-3px); box-shadow:0 2px 4px rgba(26,32,76,.05),0 18px 36px -18px rgba(26,32,76,.35); }
.sc2-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.sc2-icon { width:48px; height:48px; border-radius:12px; background:#1A204C; color:#F6A623; display:flex; align-items:center; justify-content:center; }
.sc2-icon svg { width:24px; height:24px; }
.sc2-tag { font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#A8650F; background:rgba(246,166,35,.12); border-radius:999px; padding:5px 11px; }
.sc2-card h3 { font-family:'Fraunces',serif; font-size:1.22rem; font-weight:600; line-height:1.3; color:#1A204C; margin:0 0 8px; }
.sc2-prob { font-size:.9rem; line-height:1.55; color:#5B6275; margin:0 0 16px; }
.sc2-how { font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#1A204C; margin:0 0 10px; padding-top:14px; border-top:1px solid rgba(26,32,76,.08); }
.sc2-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.sc2-list li { position:relative; padding-left:28px; font-size:.9rem; font-weight:500; line-height:1.45; color:#1A204C; }
.sc2-list li::before { content:"✓"; position:absolute; left:0; top:1px; width:19px; height:19px; border-radius:50%; background:rgba(26,32,76,.08); color:#A8650F; font-size:.68rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.sc2-cta { background:#1A204C; border-color:#1A204C; }
.sc2-cta .sc2-icon { background:#F6A623; color:#1A204C; }
.sc2-cta .sc2-tag { background:rgba(246,166,35,.18); color:#F6A623; }
.sc2-cta h3, .sc2-cta .sc2-list li, .sc2-cta .sc2-how { color:#fff; }
.sc2-cta .sc2-prob { color:rgba(255,255,255,.75); }
.sc2-cta .sc2-how { border-top-color:rgba(255,255,255,.15); }
.sc2-cta .sc2-list li::before { background:rgba(246,166,35,.2); color:#F6A623; }
.sc2-link { margin-top:auto; padding-top:18px; color:#F6A623; font-weight:600; font-size:.92rem; text-decoration:none; }
.sc2-link:hover { text-decoration:underline; }
@media (max-width:980px) { .sc2-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .sc2-grid { grid-template-columns:1fr; } .sc2-card { padding:22px; } }
/* --- About glance: integrity statement --- */
.ab-glance-int { display:grid; grid-template-columns:auto 1fr; gap:44px; align-items:center; max-width:1040px; margin:0 auto; }
.agi-stat { display:flex; flex-direction:column; align-items:center; text-align:center; padding-right:44px; border-right:1px solid rgba(246,166,35,.35); }
.agi-num { font-family:var(--font-display); font-weight:600; font-size:clamp(2.4rem,4vw,3.2rem); color:#F6A623; line-height:1; }
.agi-lbl { margin-top:8px; font-size:.86rem; color:rgba(255,255,255,.82); max-width:16ch; line-height:1.4; }
.agi-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#F6A623; margin:0 0 8px; }
.agi-quote { font-family:var(--font-display); font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.55; color:#fff; margin:0; }
@media (max-width:720px) { .ab-glance-int { grid-template-columns:1fr; gap:22px; text-align:center; } .agi-stat { padding-right:0; border-right:0; padding-bottom:20px; border-bottom:1px solid rgba(246,166,35,.35); } .agi-lbl { max-width:none; } }
/* --- Outcome cards v2 --- */
.oc2-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.oc2-card { background:#fff; border:1px solid rgba(26,32,76,.10); border-left:4px solid #F6A623; border-radius:14px; padding:22px 24px; box-shadow:0 1px 2px rgba(26,32,76,.04),0 10px 26px -18px rgba(26,32,76,.25); transition:transform .2s ease; }
.oc2-card:hover { transform:translateY(-3px); }
.oc2-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.oc2-num { width:44px; height:44px; border-radius:50%; background:#1A204C; color:#F6A623; font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem; display:flex; align-items:center; justify-content:center; }
.oc2-card h3 { font-family:'Fraunces',serif; font-size:1.18rem; font-weight:600; color:#1A204C; margin:0 0 6px; line-height:1.3; }
.oc2-card p { font-size:.9rem; line-height:1.55; color:#4A4F63; margin:0; }
@media (max-width:980px) { .oc2-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .oc2-grid { grid-template-columns:1fr; } }
.sc2-grid-4 { grid-template-columns:repeat(4,1fr); }
.sc2-body { margin-bottom:0; font-size:.9rem; color:#4A4F63; }
.diff-panel { margin-top:26px; background:#1A204C; border-radius:16px; padding:32px 34px; border-top:4px solid #F6A623; }
.diff-head h3 { font-family:'Fraunces',serif; color:#fff; font-size:1.4rem; margin:0 0 18px; }
.diff-list { grid-template-columns:repeat(2,1fr); gap:10px 28px; }
.diff-list li { color:#fff; }
.diff-list li::before { background:rgba(246,166,35,.2); color:#F6A623; }
@media (max-width:1100px) { .sc2-grid-4 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .sc2-grid-4, .diff-list { grid-template-columns:1fr; } .diff-panel { padding:24px 20px; } }
.sc2-grid-4 { grid-template-columns:repeat(2,1fr); max-width:900px; margin-inline:auto; }
.sc2-tag { white-space:nowrap; }
@media (max-width:640px) { .sc2-grid-4 { grid-template-columns:1fr; } }
/* --- Attorney hero brief box --- */
.atty-brief { background:#fff; border:1px solid rgba(26,32,76,.10); border-left:4px solid #F6A623; border-radius:14px; padding:22px 26px; margin:22px 0 28px; max-width:600px; box-shadow:0 1px 2px rgba(26,32,76,.04),0 12px 28px -18px rgba(26,32,76,.28); }
.atty-brief-label { font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#A8650F; margin:0 0 10px; }
.atty-brief-body { font-size:.98rem; line-height:1.65; color:#3F4560; margin:0 0 14px; }
.atty-brief-close { font-family:'Fraunces',serif; font-size:1.06rem; font-weight:600; line-height:1.45; color:#1A204C; margin:0; padding-top:14px; border-top:1px solid rgba(26,32,76,.10); }
@media (max-width:640px) { .atty-brief { padding:18px 20px; } }
.contact-urgent { display:block; margin-top:6px; font-size:.85rem; line-height:1.5; color:#5B6275; padding-left:10px; border-left:2px solid #F6A623; }
.contact-urgent a { color:#1A204C; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
/* --- FAQ accordion v2 --- */
.faq-list { counter-reset:faq; gap:14px; }
.faq-item { counter-increment:faq; background:#fff; border:1px solid rgba(26,32,76,.10); border-radius:14px; box-shadow:0 1px 2px rgba(26,32,76,.04),0 8px 22px -18px rgba(26,32,76,.25); overflow:hidden; transition:box-shadow .2s ease, border-color .2s ease; }
.faq-item:hover { border-color:rgba(246,166,35,.55); box-shadow:0 2px 4px rgba(26,32,76,.05),0 14px 30px -18px rgba(26,32,76,.32); }
.faq-item[open] { border-left:1px solid rgba(26,32,76,.10); border-top:4px solid #F6A623; }
.faq-item summary { padding:20px 24px; gap:16px; font-family:'Fraunces',serif; font-size:1.1rem; font-weight:600; line-height:1.35; color:#1A204C; justify-content:flex-start; }
.faq-item summary::before { content:counter(faq, decimal-leading-zero); flex:0 0 38px; width:38px; height:38px; border-radius:50%; background:#1A204C; color:#F6A623; font-family:'Fraunces',serif; font-size:.9rem; font-weight:600; display:flex; align-items:center; justify-content:center; }
.faq-item summary::after { content:""; margin-left:auto; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:rgba(246,166,35,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23A8650F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/14px no-repeat; transition:transform .25s ease; font-size:0; }
.faq-item[open] summary::after { content:""; transform:rotate(180deg); background-color:#F6A623; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231A204C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
.faq-item[open] summary { background:#FBF8F2; }
.faq-answer { padding:18px 24px 22px 78px; border-top:1px solid rgba(26,32,76,.08); }
.faq-answer p { font-family:'Inter',sans-serif; font-size:.96rem; line-height:1.75; color:#3F4560; }
.faq-answer a { color:#1A204C; font-weight:600; }
.faq-item summary:focus-visible { outline:2px solid #F6A623; outline-offset:-2px; }
@media (max-width:640px) { .faq-item summary { padding:16px 16px; font-size:1rem; gap:12px; } .faq-item summary::before { flex-basis:32px; width:32px; height:32px; font-size:.8rem; } .faq-answer { padding:16px 18px 18px; } }
/* --- FAQ editorial numerals (replaces circles) --- */
.faq-item summary { gap:0; }
.faq-item summary::before { content:counter(faq, decimal-leading-zero); flex:0 0 auto; width:auto; height:auto; border-radius:0; background:none; display:block; font-family:'Fraunces',serif; font-size:1.6rem; font-weight:500; font-style:italic; letter-spacing:-.02em; color:#C9952F; line-height:1; padding-right:18px; margin-right:18px; border-right:1px solid rgba(168,101,15,.35); min-width:52px; text-align:right; }
.faq-item[open] summary::before { color:#A8650F; border-right-color:#F6A623; }
.faq-answer { padding-left:94px; }
@media (max-width:640px) { .faq-item summary::before { font-size:1.25rem; padding-right:12px; margin-right:12px; min-width:38px; } .faq-answer { padding-left:18px; } }
/* --- FAQ: no numbers --- */
.faq-item summary::before { content:none; display:none; }
.faq-answer { padding-left:24px; }
@media (max-width:640px) { .faq-answer { padding-left:18px; } }
/* --- What Makes Me Different v2 --- */
.diff-panel { padding:38px 40px 30px; }
.diff-head { text-align:center; margin-bottom:28px; }
.diff-head h3 { margin:0; font-size:1.55rem; }
.diff-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.diff-col { padding:0 28px; }
.diff-col + .diff-col { border-left:1px solid rgba(246,166,35,.28); }
.diff-col:first-child { padding-left:0; } .diff-col:last-child { padding-right:0; }
.diff-col-title { font-family:'Fraunces',serif; font-size:1.08rem; font-weight:600; color:#F6A623; margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.14); }
.diff-ul { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.diff-ul li { position:relative; padding-left:18px; font-size:.88rem; line-height:1.5; color:rgba(255,255,255,.9); }
.diff-ul li::before { content:""; position:absolute; left:0; top:.58em; width:7px; height:7px; background:#F6A623; transform:rotate(45deg); }
.diff-edu { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.diff-edu li { display:flex; flex-direction:column; gap:1px; }
.diff-edu span { font-size:.9rem; font-weight:600; color:#fff; line-height:1.35; }
.diff-edu em { font-style:normal; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,166,35,.85); }
.diff-foot { margin:28px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); text-align:center; font-family:'Fraunces',serif; font-style:italic; font-size:1rem; color:rgba(255,255,255,.85); }
@media (max-width:900px) { .diff-cols { grid-template-columns:1fr; gap:26px; } .diff-col, .diff-col:first-child, .diff-col:last-child { padding:0; } .diff-col + .diff-col { border-left:0; padding-top:24px; border-top:1px solid rgba(246,166,35,.28); } .diff-panel { padding:28px 22px 24px; } }
.diff-head, .diff-foot { width:100%; max-width:none; margin-left:0; margin-right:0; }
.diff-panel > * { max-width:none; }
.diff-head .agi-eyebrow { display:block; width:100%; max-width:none; text-align:center; margin-left:0; margin-right:0; }
.inline-link { color:#1A204C; font-weight:600; text-decoration:underline; text-decoration-color:#F6A623; text-decoration-thickness:2px; text-underline-offset:3px; }
.inline-link:hover { color:#A8650F; }
.form-row textarea { min-height:170px; resize:vertical; }
.char-count { margin:6px 0 0; font-size:.75rem; color:#8A8FA3; text-align:right; }
.hours-urgent { display:inline-block; margin-top:4px; font-size:.85em; opacity:.9; }
.hours-urgent a { color:inherit; text-decoration:underline; text-decoration-color:#F6A623; text-underline-offset:2px; }
.hours-emergent { display:block; margin-top:10px; padding:10px 12px; border-left:3px solid #F6A623; background:rgba(246,166,35,.08); border-radius:4px; font-size:.9em; line-height:1.5; }
.hours-emergent strong { color:#A8650F; }
.hours-emergent a { color:inherit; font-weight:600; text-decoration:underline; text-decoration-color:#F6A623; text-underline-offset:2px; }
.standalone-value { max-width:720px; margin:14px auto 28px; padding:14px 20px; border-left:3px solid #F6A623; background:rgba(246,166,35,.07); border-radius:4px; color:#1A204C; font-size:1rem; line-height:1.6; text-align:left; }
[data-theme="dark"] .standalone-value { color:inherit; }
.sv-box { max-width:900px; margin:18px auto 30px; padding:20px 24px; background:#fff; border:1px solid rgba(26,32,76,.1); border-top:3px solid #F6A623; border-radius:10px; box-shadow:0 4px 16px rgba(26,32,76,.06); }
.sv-lead { margin:0 0 16px; text-align:center; color:#1A204C; font-size:1.05rem; }
.sv-lead strong { color:#A8650F; }
.sv-points { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.sv-points li { display:flex; gap:12px; align-items:flex-start; }
.sv-points li > span:last-child { font-size:.88rem; color:#5A5F75; line-height:1.4; }
.sv-points strong { display:block; color:#1A204C; font-size:.98rem; margin-bottom:2px; }
.sv-ic { flex:0 0 38px; height:38px; border-radius:50%; background:#1A204C; color:#F6A623; display:flex; align-items:center; justify-content:center; }
.sv-ic svg { width:19px; height:19px; }
@media (max-width:720px){ .sv-points { grid-template-columns:1fr; } }
[data-theme="dark"] .sv-box { background:rgba(255,255,255,.04); }
[data-theme="dark"] .sv-lead, [data-theme="dark"] .sv-points strong { color:inherit; }
.vendor-note { margin:8px 0 0; font-size:.75rem; color:#8A8FA3; letter-spacing:.01em; }
.book-alt { margin:10px 0 22px; font-size:.9rem; color:#5A5F75; line-height:1.5; max-width:440px; }
.contact-info .calendly-btn + .book-alt { margin-top: calc(10px - var(--space-8)); }

/* Where we help photo section */
.where-help { padding-bottom: var(--space-8, 2rem); }
.wh-grid {
  display: grid;
  grid-template-columns: 1.372fr 0.8fr;
  gap: var(--space-5, 1.25rem);
  margin-top: var(--space-8, 2rem);
}
.wh-photo {
  position: relative;
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(26,32,76,0.12);
  background: #1A204C;
}
.wh-photo img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1207 / 880; }
.wh-tall img { aspect-ratio: 880 / 1100; object-position: center 30%; }
.wh-photo figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 2.5rem 1.25rem 1.1rem;
  background: linear-gradient(to top, rgba(26,32,76,0.92), rgba(26,32,76,0.55) 60%, rgba(26,32,76,0));
  color: #fff;
  display: flex; flex-direction: column; gap: 0.2rem;
}
.wh-photo figcaption strong {
  font-family: var(--font-display); font-size: 1.15rem; font-weight: 600;
  padding-left: 0.6rem; border-left: 3px solid #F6A623;
}
.wh-photo figcaption span { font-size: 0.92rem; line-height: 1.4; color: rgba(255,255,255,0.92); padding-left: calc(0.6rem + 3px); }
@media (max-width: 760px) {
  .wh-grid { grid-template-columns: 1fr; }
  .wh-tall img { aspect-ratio: 4 / 4.2; }
}

/* Hero photo (top right) */
.hero-photo {
  position: relative;
  margin: 0 0 var(--space-5, 1.25rem);
  border-radius: var(--radius-xl, 16px);
  overflow: hidden;
  box-shadow: var(--shadow-lg, 0 14px 40px rgba(26,32,76,0.16));
  border: 1px solid var(--color-border, rgba(26,32,76,0.08));
}
.hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1057 / 928; object-fit: cover; }
.hero-photo figcaption {
  position: absolute; left: 12px; bottom: 12px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border-radius: 999px;
  background: rgba(255,255,255,0.94); color: #1A204C;
  font-size: 0.8rem; font-weight: 600;
  box-shadow: 0 4px 14px rgba(26,32,76,0.15);
}
.hero-photo-dot { width: 8px; height: 8px; border-radius: 50%; background: #F6A623; }
@media (max-width: 600px) {
  .hero-photo figcaption { left: 8px; bottom: 8px; font-size: 0.7rem; padding: 5px 10px; white-space: nowrap; }
}

.hero-sub {
  margin: -0.25rem 0 1.5rem;
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  font-weight: 500;
  color: #A8650F;
  letter-spacing: 0.005em;
}

.statement-sub {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5;
  color: #A8650F;
  max-width: 58ch;
  margin: var(--space-3, 0.75rem) auto var(--space-4, 1rem);
}

/* ===== How We Help (side tabs) ===== */
.help-section { padding-top: var(--space-12); }
.help-layout { display:grid; grid-template-columns: 290px 1fr; gap: var(--space-10); align-items:start; }
.help-side { position:sticky; top:104px; background:var(--color-surface); border:1px solid var(--color-divider); border-radius:var(--radius-lg); padding:var(--space-5) var(--space-4); box-shadow:0 1px 2px rgba(26,32,76,.04); }
.help-side-title { font-family:var(--font-display); font-weight:600; font-size:1.15rem; color:#1A204C; margin:0 0 var(--space-3) var(--space-3); }
.help-tabs { display:flex; flex-direction:column; gap:2px; }
.help-group { font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#A8650F; margin: var(--space-4) 0 var(--space-1) var(--space-3); }
.help-group:first-child { margin-top:0; }
.help-tab { text-align:left; font:inherit; font-size:.95rem; font-weight:500; color:var(--color-text); background:transparent; border:0; border-left:3px solid transparent; border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:.6rem .75rem; cursor:pointer; transition:background .15s, color .15s, border-color .15s; }
.help-tab:hover { background:var(--color-surface-2); color:#1A204C; }
.help-tab:focus-visible { outline:2px solid #F6A623; outline-offset:1px; }
.help-tab[aria-selected="true"] { background:#E8EAF2; color:#1A204C; font-weight:600; border-left-color:#F6A623; }
.help-panels { min-width:0; }
.help-panel { background:var(--color-surface); border:1px solid var(--color-divider); border-radius:var(--radius-lg); padding: var(--space-10); }
.help-panel[hidden] { display:none; }
.help-kicker { font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#A8650F; margin:0 0 var(--space-2); }
.help-panel h2 { font-family:var(--font-display); font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem); color:#1A204C; line-height:1.15; margin:0 0 var(--space-4); }
.help-intro { font-family:var(--font-display); font-size:clamp(1.05rem,1rem + .35vw,1.25rem); line-height:1.55; color:var(--color-text); max-width:62ch; padding-left:var(--space-5); border-left:3px solid #F6A623; margin:0 0 var(--space-8); }
.help-steps-title { font-family:var(--font-body); font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#1A204C; margin:0 0 var(--space-4); }
.help-steps { list-style:none; counter-reset:hs; margin:0 0 var(--space-6); padding:0; display:grid; gap:var(--space-3); }
.help-steps li { counter-increment:hs; position:relative; padding:var(--space-4) var(--space-4) var(--space-4) 3.5rem; background:var(--color-surface-2); border-radius:var(--radius-md); line-height:1.55; color:var(--color-text-muted); }
.help-steps li::before { content:counter(hs); position:absolute; left:var(--space-4); top:var(--space-4); width:1.75rem; height:1.75rem; border-radius:50%; background:#1A204C; color:#fff; font-size:.85rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.help-steps li strong { color:#1A204C; font-weight:600; }
.help-note-small { font-size:.9rem; color:var(--color-text-muted); margin:0 0 var(--space-4); }
.help-related { font-size:.95rem; color:var(--color-text-muted); margin:0; }
.help-related a { color:#A8650F; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.help-copied { margin-top:var(--space-6); background:#1A204C; color:#fff; border-radius:var(--radius-lg); padding:var(--space-8) var(--space-10); }
.help-copied-title { font-family:var(--font-display); font-size:1.35rem; font-weight:600; color:#F6A623; margin:0 0 var(--space-2); }
.help-copied p { color:rgba(255,255,255,.88); max-width:60ch; margin:0 0 var(--space-5); line-height:1.6; }
.help-copied .btn { background:#F6A623; color:#1A204C; border-color:#F6A623; }
.help-copied .btn:hover { background:#fff; border-color:#fff; color:#1A204C; }
@media (max-width: 900px) {
  .help-layout { grid-template-columns:1fr; gap:var(--space-5); }
  .help-side { position:static; padding:var(--space-3); border-radius:var(--radius-md); }
  .help-side-title, .help-group { display:none; }
  .help-tabs { flex-direction:row; overflow-x:auto; gap:var(--space-2); padding-bottom:4px; scrollbar-width:thin; }
  .help-tab { flex:0 0 auto; white-space:nowrap; border-left:0; border:1px solid var(--color-divider); border-radius:var(--radius-full); padding:.5rem .9rem; font-size:.9rem; }
  .help-tab[aria-selected="true"] { border-color:#1A204C; background:#1A204C; color:#fff; }
  .help-panel { padding:var(--space-6) var(--space-5); }
  .help-copied { padding:var(--space-6) var(--space-5); }
}
.help-layout > * { min-width:0; }
.help-copied p.help-copied-title { color:#F6A623; margin-bottom:var(--space-2); }

/* How We Help overview (Services / About) */
.hw-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-6); margin-top:var(--space-8); }
.hw-card { background:var(--color-surface); border:1px solid var(--color-divider); border-top:4px solid #F6A623; border-radius:var(--radius-lg); padding:var(--space-8) var(--space-6); }
.hw-num { font-family:var(--font-display); font-size:1rem; font-weight:600; color:#A8650F; margin:0 0 var(--space-2); }
.hw-card h3 { font-family:var(--font-display); font-size:1.5rem; color:#1A204C; margin:0 0 var(--space-2); }
.hw-desc { color:var(--color-text-muted); margin:0 0 var(--space-5); line-height:1.55; }
.hw-list { list-style:none; margin:0; padding:0; }
.hw-list li { border-top:1px solid var(--color-divider); }
.hw-list a { display:flex; justify-content:space-between; align-items:center; gap:var(--space-3); padding:.7rem 0; color:#1A204C; font-weight:500; text-decoration:none; transition:color .15s, padding .15s; }
.hw-list a span { color:#A8650F; transition:transform .15s; }
.hw-list a:hover { color:#A8650F; }
.hw-list a:hover span { transform:translateX(3px); }
.hw-more { text-align:center; margin-top:var(--space-8); }
@media (max-width: 900px) { .hw-grid { grid-template-columns:1fr; } }

/* Fees: Healthcare Navigation Package */
.nav-pkg { background:var(--color-surface); border:1px solid var(--color-divider); border-left:4px solid #F6A623; border-radius:var(--radius-lg); padding:var(--space-8); margin:var(--space-8) 0; }
.nav-pkg-head { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-6); margin-bottom:var(--space-6); }
.nav-pkg-kicker { font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#A8650F; margin:0 0 var(--space-1); }
.nav-pkg-title { font-family:var(--font-display); font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem); color:#1A204C; margin:0 0 var(--space-2); }
.nav-pkg-desc { color:var(--color-text-muted); max-width:62ch; margin:0; line-height:1.55; }
.nav-pkg-price { white-space:nowrap; font-size:1.25rem; }
.nav-pkg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-6); }
.nav-pkg-group { font-weight:700; color:#1A204C; margin:0 0 var(--space-2); font-size:.95rem; }
.nav-pkg .pkg-list a { color:inherit; text-decoration:none; }
.nav-pkg .pkg-list a:hover { color:#A8650F; text-decoration:underline; }
.nav-pkg-more { margin:var(--space-6) 0 0; }
.nav-pkg-more a { color:#A8650F; font-weight:600; }
@media (max-width: 900px) { .nav-pkg { padding:var(--space-6) var(--space-5); } .nav-pkg-grid { grid-template-columns:1fr; gap:var(--space-4); } .nav-pkg-head { flex-direction:column; gap:var(--space-2); } }
.hero-proof-sub .hp-item { white-space:nowrap; display:inline-block; }
.hero-proof-sub .hp-item + .hp-item::before { content:"\00B7"; margin:0 .45em; }
@media (max-width: 600px) {
  .hero-proof-sub .hp-item { display:block; }
  .hero-proof-sub .hp-item + .hp-item::before { content:none; }
}
.hero-proof-sub .hp-line { display:block; }

.ab-exp-list li.ab-exp-wide { grid-column:1/-1; }
.ab-exp-list li.ab-exp-detail { display:block; padding:12px 14px; }
.ab-exp-list li.ab-exp-detail::before { display:none; }
.ab-exp-detail > strong { display:block; font-size:.92rem; color:#1A204C; }
.ab-exp-detail > span { display:block; margin-top:2px; font-weight:400; color:#4A4F63; font-size:.84rem; }
.ab-exp-sub { list-style:none; margin:10px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 18px; }
.ab-exp-list .ab-exp-sub li { display:block; position:relative; padding:0 0 0 16px; background:none; border:0; border-radius:0; font-weight:500; font-size:.84rem; color:#1A204C; }
.ab-exp-list .ab-exp-sub li::before { content:""; display:block; position:absolute; left:0; top:.6em; width:7px; height:2px; background:#F6A623; border-radius:2px; flex:none; }
@media (max-width:560px){ .ab-exp-sub{ grid-template-columns:1fr; } }

/* 2026-10-19 polish: cleaner cards */
.sc2-tag { display:none !important; }
.sc2-icon { width:42px; height:42px; border-radius:11px; background:rgba(26,32,76,.06); color:#1A204C; border:1px solid rgba(26,32,76,.08); }
.sc2-icon svg { width:21px; height:21px; }
.sc2-cta .sc2-icon { background:rgba(246,166,35,.16); color:#F6A623; border-color:rgba(246,166,35,.25); }
.sc2-top { margin-bottom:14px; }

.start-strip { grid-template-columns:repeat(2,1fr); max-width:760px; }
@media (max-width: 600px) { .start-strip { grid-template-columns:1fr; } }
.nw { white-space:nowrap; }
@media (max-width: 480px) { h2.h-phrases { font-size:1.7rem !important; } }
/* logo credential cards */
.cred-logo-card { justify-content:flex-start; gap:4px; }
.cred-logo-card img { width:auto; height:54px; max-width:80%; object-fit:contain; margin:0 auto 8px; display:block; }
@media (max-width: 640px){ .cred-logo-card img { height:46px; } }
@media (min-width: 1100px) {
  .footer-badges-row { gap:12px; flex-wrap:nowrap; }
  .footer-badges-row .cred-text-card { width:134px; padding:14px 10px; }
  .footer-badges-row .cred-badge, .footer-badges-row .cred-badge-wide { width:134px; }
}
@media (min-width: 1100px) {
  .footer-badges-row { gap:10px; }
  .footer-badges-row .cred-text-card { width:122px; padding:14px 8px; }
  .footer-badges-row .cred-badge, .footer-badges-row .cred-badge-wide { width:124px; }
  .footer-badges-row .cred-text-card strong { font-size:.86rem; }
}
@media (min-width: 1100px) {
  .footer-badges-row .cred-text-card { width:116px; }
  .footer-badges-row .cred-badge, .footer-badges-row .cred-badge-wide { width:118px; }
  .footer-badges-row .cred-text-card span { font-size:.72rem; }
}

/* Client portal login link in header */
.nav a.nav-login { color: var(--color-primary); font-weight: 600; border: 1px solid var(--color-primary); padding: calc(var(--space-2) - 1px) var(--space-4); border-radius: var(--radius-full); }
.nav a.nav-login:hover { background: var(--color-primary-light); color: var(--color-primary); }

/* Independence statement label */
.indep-label { display: block; font-weight: 700; color: var(--color-primary); letter-spacing: 0.01em; margin-bottom: var(--space-1); }

/* Hero photo caption: allow longer caption to wrap cleanly */
.hero-photo figcaption { max-width: calc(100% - 24px); border-radius: 14px; line-height: 1.35; }
.hero-photo-dot { flex: none; }
@media (max-width: 600px) {
  .hero-photo figcaption { max-width: calc(100% - 16px); white-space: normal; }
}

/* Payment integrity: single, uniform column */
.ab-exp-sub { grid-template-columns: 1fr; gap: 8px; }

/* Credentials link beside About eyebrow */
.ab-eyebrow-sep { margin: 0 0.4em; color: #A8650F; }
.ab-eyebrow-link { color: #1A204C; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #F6A623; white-space: nowrap; }
.ab-eyebrow-link:hover { color: #A8650F; }

/* Keep referral column within phone width */
.referral-form-grid > * { min-width: 0; }
.referral-contact a { overflow-wrap: anywhere; }

/* Form send status */
.form-status { margin-top: var(--space-3); font-size: 0.95rem; line-height: 1.5; padding: 10px 14px; border-radius: 10px; }
.form-status-ok { background: #E8F3EC; color: #1E5B34; }
.form-status-err { background: #FBECEC; color: #8A1F1F; }
.form-status a { color: inherit; text-decoration: underline; }
.start-strip.start-strip-single { grid-template-columns:1fr; max-width:380px; }
.pricing-list li.pricing-group { padding-left:0; margin-top:var(--space-3); font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--color-primary); }
.pricing-list li.pricing-group:first-child { margin-top:0; }
.pricing-list li.pricing-group::before { content:none; }
.pricing-card { display:flex; flex-direction:column; } .pricing-card > .btn-block { margin-top:auto; }
.meet-callout { margin:var(--space-5) 0 var(--space-6); padding:var(--space-4) var(--space-5); background:var(--color-surface); border-left:4px solid var(--color-accent); border-radius:0 var(--radius-md) var(--radius-md) 0; box-shadow:0 1px 3px rgba(26,32,76,.08); }
.meet-text .meet-callout-title, .meet-callout .meet-callout-title { font-family:var(--font-display, inherit); font-size:var(--text-base); font-weight:700; color:var(--color-primary); line-height:1.4; margin:0 0 var(--space-2); }
.meet-callout-text { font-size:var(--text-sm); color:var(--color-text-muted); line-height:1.55; margin:0; }
.meet-callout-text a { color:var(--color-primary); font-weight:600; text-decoration:none; white-space:nowrap; }
.meet-callout-text a:hover { text-decoration:underline; }
.atty-mission { max-width:600px; margin:14px 0 0 !important; }
.atty-mission strong { color:#1A204C; font-weight:600; }
.nowrap { white-space:nowrap; }
.hero-sub-bold { font-weight: 700; }
.sc2-wide { grid-column: 1 / -1; }
@media (min-width:981px) { .sc2-wide .sc2-list { columns: 2; column-gap: 32px; } .sc2-wide .sc2-list li { break-inside: avoid; } }

/* Help page hero: polished intro + independence callout */
.help-lead { font-family: var(--font-display); font-size: clamp(1.2rem, 1.7vw, 1.45rem); color: var(--color-primary); font-weight: 500; line-height: 1.45; margin-top: var(--space-2); }
.indep-callout { max-width: 760px; margin-top: var(--space-6); background: #fff; border: 1px solid var(--color-divider); border-left: 4px solid #F6A623; border-radius: var(--radius-lg); padding: var(--space-5) var(--space-6); box-shadow: var(--shadow-sm, 0 2px 10px rgba(20,30,60,.06)); }
.indep-callout-title { font-family: var(--font-display); font-size: clamp(1.15rem, 1.5vw, 1.35rem); font-weight: 700; color: var(--color-primary); margin: 0 0 var(--space-2); letter-spacing: .005em; }
.indep-callout-body { font-size: 1.05rem; line-height: 1.7; color: #3d3f4a; margin: 0; max-width: 66ch; }
.indep-callout-body strong { color: #A8650F; font-weight: 700; }
@media (max-width: 600px) { .indep-callout { padding: var(--space-4) var(--space-5); } .indep-callout-body { font-size: 1rem; } }
.hero-national { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--font-display); font-size:clamp(1.02rem,1.25vw,1.15rem); font-weight:600; color:var(--color-primary); line-height:1.4; background:none; border:0; padding:0; margin:0 0 1.4rem; max-width:620px; }
.hero-national svg { flex:none; width:20px; height:20px; color:#A8650F; }
@media (max-width:600px){ .hero-national { font-size:.98rem; } }
