/*
Theme Name: Robwoh Unified Advisory
Theme URI: https://robwohadvisory.com
Author: Ronixe Technologies
Description: High-Impact Modern Corporate Consulting & Advisory Theme for Robwoh Unified Advisory Inc. Powered by the Convera-Inspired Robwoh Master Design System.
Version: 2.0.0
Text Domain: robwoh-unified-advisory
*/

/* =========================================================================
   0. DESIGN SYSTEM TOKENS IMPORT (FONTS ENQUEUED IN FUNCTIONS.PHP)
   ========================================================================= */
@import url('assets/css/design-tokens.css');

:root {
  /* Core Typography Tokens */
  --primitive-font-heading: 'Plus Jakarta Sans', 'Manrope', sans-serif;
  --primitive-font-body: 'Inter', 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-family-heading: 'Plus Jakarta Sans', 'Manrope', sans-serif;
  --font-family-body: 'Inter', 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-heading: var(--font-family-heading);
  --font-body: var(--font-family-body);

  /* Backward Compatibility Aliases -> Mapping to 3-Tier Semantic Tokens */
  --bg-page: var(--color-canvas-base);
  --bg-page-alt: var(--color-canvas-studio);
  --bg-white: var(--color-canvas-white);

  --brand-dark: var(--color-canvas-dark);
  --brand-dark-hover: var(--primitive-color-slate-800);
  --brand-accent: var(--color-accent-primary);
  --brand-accent-hover: var(--color-accent-hover);
  --brand-accent-light: var(--color-accent-light);
  --brand-accent-vibrant: var(--color-accent-vibrant);

  --bg-dark: var(--color-canvas-dark);
  --bg-dark-card: var(--color-canvas-dark-card);
  --bg-dark-elevated: var(--color-canvas-dark-elevated);

  --border-light: var(--color-border-light);
  --border-light-subtle: var(--color-border-light-subtle);
  --border-dark: var(--color-border-dark);
  --border-dark-subtle: var(--color-border-dark-subtle);

  --text-dark-primary: var(--color-text-dark-primary);
  --text-dark-secondary: var(--color-text-dark-secondary);
  --text-dark-muted: var(--color-text-dark-muted);
  --text-dark-dim: var(--color-text-dark-dim);

  --text-light-primary: var(--color-text-light-primary);
  --text-light-secondary: var(--color-text-light-secondary);
  --text-light-muted: var(--color-text-light-muted);
  --text-light-accent: var(--color-text-light-accent);
}

/* =========================================================================
   BASE RESETS & ARCHITECTURAL INVARIANTS
   ========================================================================= */
*, *::before, *::after {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
}

html {
  scroll-behavior: smooth;
  background-color: var(--color-canvas-base);
  color: var(--color-text-dark-primary);
  margin: 0 !important;
  padding: 0 !important;
}

body {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-family-body);
  background-color: var(--color-canvas-base);
  color: var(--color-text-dark-secondary);
  line-height: var(--line-height-normal);
  font-size: var(--font-size-body-default);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  width: 100%;
}

body.home {
  background-color: #071219;
}

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

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

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

/* Headings — High-Impact Modern Geometric Display */
h1, h2, h3, h4, h5, h6,
.hero-title,
.section-title,
.page-header-title,
.editorial-card-title,
.service-card-title,
.about-story-title,
.stat-item-num,
.stat-monumental-num {
  font-family: var(--font-family-heading);
  color: var(--color-text-dark-primary);
  line-height: var(--line-height-tight);
  font-weight: 700;
  letter-spacing: var(--letter-spacing-tight);
}

h1 {
  font-size: var(--font-size-heading-hero);
  letter-spacing: var(--letter-spacing-tighter);
  font-weight: 700;
}

h2 {
  font-size: var(--font-size-heading-section);
  letter-spacing: -0.015em;
  font-weight: 600;
}

h3 {
  font-size: var(--font-size-heading-card);
  font-weight: 600;
}

h4 {
  font-size: var(--font-size-title-sub);
  font-weight: 500;
}

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

/* Full Width Fluid Container — Scoped to Theme Containers */
.container:not(.elementor-container):not(.e-con) {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 var(--content-padding);
}

/* Hero: inner containers get matching generous content area inset */
.hero-content-container,
.hero-tabs-grid {
  padding-left: var(--content-padding) !important;
  padding-right: var(--content-padding) !important;
}

/* All Core Sections: strict enforcement of increased content-padding */
.exact-about-section > .container,
.exact-expertise-dark-section > .container,
.exact-insights-section > .container,
.why-choose-section > .container,
.testimonials-light-section > .container,
.approach-split-section > .container,
.faq-section > .container,
.direct-access-section > .container,
.site-footer > .container,
.hero-section > .container,
.section-wrapper > .container {
  padding-left: var(--content-padding) !important;
  padding-right: var(--content-padding) !important;
}

/* Keep sections full-bleed background (no outer margin) */
.cinematic-hero-section,
.exact-about-section,
.exact-expertise-dark-section,
.exact-insights-section,
.why-choose-section,
.testimonials-light-section,
.approach-split-section,
.faq-section,
.direct-access-section,
.site-footer {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* =========================================================================
   UNIFIED BUTTON COMPONENT & 8-STATE MATRIX
   ========================================================================= */
.btn,
.btn-header-contact,
.btn-hero-cta,
.btn-about-dark,
.btn-sharp-black,
.btn-insights-black,
.btn-expertise-white,
.btn-northridge-dark,
.btn-cta-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--primitive-space-2);
  font-family: var(--font-family-body);
  font-weight: 600;
  font-size: var(--font-size-body-small);
  line-height: 1;
  padding: var(--primitive-space-3) var(--primitive-space-6);
  border: var(--borderWidth-hairline) solid transparent;
  cursor: pointer;
  text-decoration: none !important;
  transition: var(--transition-fast);
  white-space: nowrap;
  user-select: none;
  outline: none;
}

/* 1. Default State: Dark (Primary) */
.btn,
.btn--dark,
.btn-about-dark,
.btn-about-dark:link,
.btn-sharp-black,
.btn-insights-black,
.btn-northridge-dark,
.btn-cta-dark {
  background: var(--btn-primary-bg) !important;
  background-color: var(--btn-primary-bg) !important;
  color: var(--btn-primary-text) !important;
  border-color: var(--btn-primary-border) !important;
}

/* 2. Default State: Inverted White */
.btn--white,
.btn-header-contact,
.btn-hero-cta,
.btn-expertise-white {
  background: var(--btn-white-bg) !important;
  background-color: var(--btn-white-bg) !important;
  color: var(--btn-white-text) !important;
  border-color: var(--btn-white-border) !important;
}

/* 3. Default State: Accent Gold */
.btn--accent {
  background: var(--btn-accent-bg) !important;
  background-color: var(--btn-accent-bg) !important;
  color: var(--btn-accent-text) !important;
  border-color: var(--btn-accent-border) !important;
}

/* 4. Default State: Ghost Hairline */
.btn--ghost {
  background: transparent !important;
  color: var(--color-text-light-primary) !important;
  border-color: var(--color-border-dark-translucent) !important;
}

/* 5. Theme Standard Primary: Emerald */
.btn-primary,
.btn--primary {
  background: #10B981 !important;
  background-color: #10B981 !important;
  color: #0E1C24 !important;
  border: 1px solid #10B981 !important;
  font-weight: 600;
  border-radius: 6px !important;
}

.btn-primary:hover,
.btn--primary:hover {
  background: #059669 !important;
  background-color: #059669 !important;
  border-color: #059669 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
}

/* 6. Theme Standard Secondary: Subtle Translucent Slate */
.btn-secondary,
.btn--secondary {
  background: rgba(255, 255, 255, 0.08) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-weight: 600;
  border-radius: 6px !important;
}

.btn-secondary:hover,
.btn--secondary:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  background-color: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
}

/* STATE: Hover */
.btn:hover,
.btn--dark:hover,
.btn-about-dark:hover,
.btn-sharp-black:hover,
.btn-insights-black:hover,
.btn-northridge-dark:hover,
.btn-cta-dark:hover {
  background: var(--btn-primary-hover-bg) !important;
  background-color: var(--btn-primary-hover-bg) !important;
  border-color: var(--btn-primary-hover-border) !important;
  color: var(--btn-primary-hover-text) !important;
  transform: translateY(-2px);
}

.btn--white:hover,
.btn-header-contact:hover,
.btn-hero-cta:hover,
.btn-expertise-white:hover {
  background: var(--btn-white-hover-bg) !important;
  background-color: var(--btn-white-hover-bg) !important;
  border-color: var(--btn-white-hover-border) !important;
  color: var(--btn-white-hover-text) !important;
  transform: translateY(-2px);
}

.btn--accent:hover {
  background: var(--btn-accent-hover-bg) !important;
  background-color: var(--btn-accent-hover-bg) !important;
  border-color: var(--btn-accent-hover-border) !important;
  color: var(--btn-accent-hover-text) !important;
  transform: translateY(-2px);
}

.btn--ghost:hover {
  background: var(--color-accent-primary) !important;
  border-color: var(--color-accent-primary) !important;
  color: var(--color-text-light-primary) !important;
  transform: translateY(-2px);
}

/* STATE: Focus-Visible (WCAG 2.2 Standard) */
.btn:focus-visible,
.btn--dark:focus-visible,
.btn--white:focus-visible,
.btn--accent:focus-visible,
.btn--ghost:focus-visible,
.btn-header-contact:focus-visible,
.btn-hero-cta:focus-visible,
.btn-about-dark:focus-visible,
.btn-sharp-black:focus-visible,
.btn-insights-black:focus-visible,
.btn-expertise-white:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow);
}

/* Dark surface focus ring override */
.exact-expertise-dark-section .btn:focus-visible,
.cinematic-hero-section .btn:focus-visible,
.site-header .btn:focus-visible,
.exact-dark-footer .btn:focus-visible {
  box-shadow: var(--focus-ring-shadow-dark);
}

/* STATE: Active (Tactile Press) */
.btn:active,
.btn--dark:active,
.btn--white:active,
.btn--accent:active,
.btn--ghost:active,
.btn-header-contact:active,
.btn-hero-cta:active,
.btn-about-dark:active,
.btn-sharp-black:active,
.btn-insights-black:active,
.btn-expertise-white:active {
  transform: translateY(0) scale(0.98);
}

/* STATE: Disabled */
.btn:disabled,
.btn[disabled],
.btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
  transform: none !important;
}

/* STATE: Loading */
.btn.is-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
  cursor: wait;
}

.btn.is-loading::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -8px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #FFFFFF;
  border-radius: 50% !important;
  animation: btnSpinner 0.6s linear infinite;
}

@keyframes btnSpinner {
  to { transform: rotate(360deg); }
}

/* =========================================================================
   MODERN CORPORATE SUITE: CONVERA-INSPIRED SIGNATURE COMPONENTS
   ========================================================================= */
.text-accent {
  color: var(--color-accent-primary) !important;
}

.bg-studio {
  background-color: var(--color-canvas-studio) !important;
}

.bg-pinstripe {
  background-image: none !important;
}

.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-accent-primary) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 10px !important;
}

.section-eyebrow::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: var(--color-accent-primary);
  flex-shrink: 0;
}

.section-eyebrow--dark {
  color: var(--color-accent-primary) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.section-eyebrow--dark::before {
  background-color: var(--color-accent-primary);
}

/* Action Buttons */
.btn-emerald-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--color-accent-primary) !important;
  color: var(--color-text-light-primary) !important;
  font-family: var(--font-family-body);
  font-size: 14px;
  font-weight: 700;
  padding: 13px 24px;
  border: 1px solid var(--color-accent-primary) !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.25s ease;
  line-height: 1;
}

.btn-emerald-action:hover {
  background: var(--color-accent-hover) !important;
  border-color: var(--color-accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.28);
}

.btn-dark-glass {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--color-text-light-primary) !important;
  font-family: var(--font-family-body);
  font-size: 14px;
  font-weight: 600;
  padding: 13px 24px;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.25s ease;
  line-height: 1;
}

.btn-dark-glass:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-2px);
}

.btn-circle-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--color-accent-primary);
  color: var(--color-text-light-primary) !important;
  border-radius: 50% !important;
  transition: all 0.25s ease;
  text-decoration: none !important;
  flex-shrink: 0;
}

.btn-circle-arrow:hover {
  background: var(--color-accent-hover);
  transform: scale(1.08) rotate(45deg);
}

/* Refined Hero Visual Card & Metrics Bar */
.hero-visual-card {
  position: relative;
  border: var(--border-width-hairline) solid var(--primitive-overlay-white-subtle);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);
  background: #13242E;
  overflow: hidden;
}

.hero-visual-card img {
  width: 100%;
  height: clamp(360px, 38vw, 480px);
  object-fit: cover;
  display: block;
}

.hero-visual-stats-bar {
  background: rgba(14, 28, 36, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 18px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.hero-visual-stat-item .stat-label {
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94A3B8;
  font-weight: 700;
  margin-bottom: 2px;
}

.hero-visual-stat-item .stat-value {
  font-size: 22px;
  font-weight: 800;
  color: var(--color-accent-primary);
  font-family: var(--font-family-heading);
  line-height: 1.1;
}

.hero-visual-stat-item .stat-value--white {
  color: #FFFFFF;
}

/* Hero Bottom Tabs Dock */
.hero-bottom-tabs-dock {
  margin-top: clamp(48px, 6vw, 72px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 24px;
}

.hero-tabs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.hero-tab-block {
  cursor: pointer;
  padding: 12px 0;
  transition: all 0.25s ease;
}

.hero-tab-line-bg {
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0.14);
  margin-bottom: 12px;
  position: relative;
  overflow: hidden;
}

.hero-tab-line-fill {
  height: 100%;
  width: 0%;
  background: var(--color-accent-primary);
  transition: width 0.35s ease;
}

.hero-tab-block.active .hero-tab-line-fill {
  width: 100%;
}

.hero-tab-name {
  font-size: 14px;
  font-weight: 700;
  color: #94A3B8;
  transition: color 0.25s ease;
  letter-spacing: 0.02em;
}

.hero-tab-block.active .hero-tab-name,
.hero-tab-block:hover .hero-tab-name {
  color: #FFFFFF;
}


.fiduciary-excellence-section {
  padding: clamp(80px, 8vw, 110px) 0;
  background-color: var(--color-canvas-studio, #F4F7F8) !important;
  position: relative;
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
}

.pillar-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 48px;
}

.pillar-cards-grid .pillar-card,
.pillar-card {
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 36px 30px 32px 30px !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 340px !important;
  border-radius: 0px !important;
  transition: all 350ms cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
  z-index: 1;
}

.pillar-cards-grid .pillar-card::before,
.pillar-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 95% at 95% 100%, #DCFCE7 0%, #F0FDF4 35%, #FFFFFF 85%);
  opacity: 0;
  transition: opacity 350ms cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
  pointer-events: none;
}

.pillar-cards-grid .pillar-card > *,
.pillar-card > * {
  position: relative;
  z-index: 2;
}

.pillar-cards-grid .pillar-card:hover::before,
.pillar-cards-grid .pillar-card.is-active::before,
.pillar-card:hover::before,
.pillar-card.is-active::before {
  opacity: 1;
}

.pillar-cards-grid .pillar-card:hover,
.pillar-cards-grid .pillar-card.is-active,
.pillar-card:hover,
.pillar-card.is-active {
  background: radial-gradient(120% 95% at 95% 100%, #DCFCE7 0%, #F0FDF4 35%, #FFFFFF 85%) !important;
  border-color: #6EE7B7 !important;
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -10px rgba(16, 185, 129, 0.2), 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.pillar-card-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: #EFF4F6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0E1C24;
  margin-bottom: 24px !important;
  transition: all 300ms ease;
}

.pillar-card:hover .pillar-card-icon,
.pillar-card.is-active .pillar-card-icon {
  background-color: #10B981 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

.pillar-card-title {
  font-size: 20px !important;
  font-weight: 700;
  color: #0E1C24;
  margin-bottom: 12px !important;
  line-height: 1.25;
  transition: color 300ms ease;
  letter-spacing: -0.01em;
}

.pillar-card:hover .pillar-card-title,
.pillar-card.is-active .pillar-card-title {
  color: #064E3B !important;
}

.pillar-card-desc {
  font-size: 14px !important;
  color: #64748B;
  line-height: 1.6 !important;
  margin-bottom: 24px !important;
  transition: color 300ms ease;
}

.pillar-card:hover .pillar-card-desc,
.pillar-card.is-active .pillar-card-desc {
  color: #475569 !important;
}

.pillar-card .btn-circle-arrow {
  width: 36px;
  height: 36px;
  border-radius: 50% !important;
  background-color: #10B981;
  color: #FFFFFF !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 300ms ease;
  border: none;
}

.pillar-card:hover .btn-circle-arrow,
.pillar-card.is-active .btn-circle-arrow {
  background-color: #0E1C24 !important;
  color: #FFFFFF !important;
  transform: scale(1.08) translate(2px, -2px);
  box-shadow: 0 4px 12px rgba(14, 28, 36, 0.18);
}

.pillar-card .btn-circle-arrow svg {
  transition: transform 200ms ease;
}

.pillar-card:hover .btn-circle-arrow svg,
.pillar-card.is-active .btn-circle-arrow svg {
  transform: translate(2px, -2px);
}

/* =========================================================================
   PRACTICE AREAS & SERVICES: EXECUTIVE CENTER-ALIGNED 4-COLUMN GRID
   ========================================================================= */
.services-slider-section,
.services-grid-section {
  padding: clamp(80px, 8vw, 112px) 0;
  background-color: #FFFFFF !important;
  border-top: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0;
  position: relative;
  overflow: hidden;
}

/* Center-Aligned Executive Header */
.services-section-header,
.services-slider-header-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 860px;
  margin: 0 auto clamp(40px, 4.5vw, 56px) auto;
}

.services-slider-title-col {
  max-width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.services-slider-kicker,
.services-section-header .section-badge,
.services-slider-title-col .section-badge,
.services-slider-title-col .section-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-accent-primary, #10B981) !important;
  margin: 0 auto 16px auto;
}

.services-slider-kicker::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: var(--color-accent-primary, #10B981);
  flex-shrink: 0;
}

.services-slider-title,
.services-section-title {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 700;
  color: #0E1C24 !important;
  line-height: 1.18;
  margin: 0 auto 16px auto;
  letter-spacing: -0.015em;
  text-align: center;
  max-width: 820px;
}

.services-slider-title .text-accent,
.services-section-title .text-accent {
  color: var(--color-accent-primary, #10B981) !important;
}

.services-slider-subtitle,
.services-section-subtitle {
  font-size: clamp(15px, 1.1vw, 16.5px);
  color: #475569;
  max-width: 780px;
  margin: 0 auto;
  line-height: 1.7;
  text-align: center;
}

/* Legacy controls hidden in grid layout */
.services-slider-controls {
  display: none !important;
}

/* Track Wrap & Responsive 4-Column Grid */
.services-slider-track-wrap,
.services-grid-wrap {
  position: relative;
  width: 100%;
}

.services-cards-grid,
.services-slider-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 1.8vw, 26px);
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
  list-style: none;
  align-items: stretch;
}

/* Slide Card in Grid */
.service-slide-card {
  flex: none;
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(14, 28, 36, 0.04);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, box-shadow 0.35s ease;
}

.service-slide-card:hover {
  transform: translateY(-6px);
  background: #FFFFFF;
  border-color: var(--color-accent-primary, #10B981);
  box-shadow: 0 20px 40px rgba(14, 28, 36, 0.09);
}

.service-slide-img-wrap {
  display: block;
  position: relative;
  width: 100%;
  height: 195px;
  overflow: hidden;
  background: #F1F5F9;
  flex-shrink: 0;
}

.service-slide-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-slide-card:hover .service-slide-img-wrap img {
  transform: scale(1.06);
}

.service-slide-body {
  padding: 22px 20px 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.service-slide-category {
  font-family: var(--font-family-body);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-accent-primary, #10B981);
  margin-bottom: 8px;
}

.service-slide-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.service-slide-kicker {
  font-family: var(--font-family-body);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-accent-primary, #10B981);
}

.service-slide-num {
  font-family: var(--font-family-body);
  font-size: 11.5px;
  font-weight: 700;
  color: #94A3B8;
  letter-spacing: 0.05em;
}

.service-slide-title {
  font-family: var(--font-family-heading);
  font-size: clamp(17px, 1.25vw, 19px);
  font-weight: 700;
  color: #0E1C24;
  line-height: 1.32;
  margin: 0 0 10px;
  letter-spacing: -0.015em;
  min-height: 48px;
}

.service-slide-title a {
  color: inherit;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.service-slide-card:hover .service-slide-title a,
.service-slide-title a:hover {
  color: var(--color-accent-primary, #10B981);
}

.service-slide-desc {
  font-family: var(--font-family-body);
  font-size: 13.5px;
  color: #64748B;
  line-height: 1.6;
  margin: 0 0 18px;
  flex-grow: 1;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.service-slide-footer {
  border-top: 1px solid #F1F5F9;
  padding-top: 15px;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.service-slide-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 13px;
  font-weight: 700;
  color: #0E1C24;
  text-decoration: none !important;
  gap: 8px;
  transition: color 0.2s ease;
}

.service-slide-link span:first-child {
  line-height: 1.35;
}

.service-slide-link:hover,
.service-slide-card:hover .service-slide-link {
  color: var(--color-accent-primary, #10B981);
}

.service-slide-arrow-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  color: #0E1C24;
  border-radius: 50% !important;
  transition: all 0.25s ease;
  flex-shrink: 0;
}

.service-slide-card:hover .service-slide-arrow-btn,
.service-slide-link:hover .service-slide-arrow-btn {
  background: var(--color-accent-primary, #10B981);
  border-color: var(--color-accent-primary, #10B981);
  color: #FFFFFF;
  transform: rotate(45deg);
}

/* Centered Bottom Action: All Practices */
.services-grid-actions {
  text-align: center;
  margin-top: clamp(38px, 4.5vw, 54px);
  display: flex;
  justify-content: center;
}

.services-grid-actions .btn-dark-glass {
  background: #0E1C24 !important;
  color: #FFFFFF !important;
  border: 1px solid #0E1C24 !important;
  padding: 13px 26px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(14, 28, 36, 0.12);
  text-decoration: none !important;
}

.services-grid-actions .btn-dark-glass:hover {
  background: var(--color-accent-primary, #10B981) !important;
  border-color: var(--color-accent-primary, #10B981) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.28);
}

/* Responsive Grid Breakpoints */
@media (max-width: 1120px) {
  .services-cards-grid,
  .services-slider-track {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .service-slide-img-wrap {
    height: 210px;
  }

  .service-slide-title {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .services-slider-section,
  .services-grid-section {
    padding: clamp(52px, 8vw, 68px) 0;
  }

  .services-section-header,
  .services-slider-header-grid {
    margin-bottom: 30px;
  }

  .services-cards-grid,
  .services-slider-track {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .service-slide-img-wrap {
    height: 200px;
  }

  .service-slide-body {
    padding: 20px 18px 18px;
  }

  .services-grid-actions {
    margin-top: 32px;
  }

  .services-grid-actions .btn-dark-glass {
    width: 100%;
    justify-content: center;
  }
}

/* Featured Consulting Services (01/04) */
.service-steps-container {
  margin-top: 48px;
}

.service-step-card {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  background: var(--color-canvas-dark);
  border: 1px solid var(--color-border-dark);
  position: relative;
  overflow: hidden;
  min-height: 380px;
}

.service-step-body {
  padding: clamp(32px, 4vw, 56px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.service-step-index {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-accent-primary);
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}

.service-step-title {
  font-size: clamp(24px, 2.5vw, 36px);
  color: #FFFFFF;
  font-weight: 700;
  margin-bottom: 16px;
}

.service-step-desc {
  font-size: 15px;
  color: #CBD5E1;
  line-height: 1.65;
  margin-bottom: 28px;
  max-width: 480px;
}

.service-step-bg-watermark {
  position: absolute;
  bottom: -20px;
  left: 20px;
  width: 180px;
  height: 180px;
  opacity: 0.05;
  pointer-events: none;
  color: #FFFFFF;
}

.service-step-image-wrap {
  width: 100%;
  height: 100%;
  min-height: 340px;
}

.service-step-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Performance Highlights Split & SVG Chart */
.perf-highlights-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 40px;
  align-items: center;
  margin-top: 48px;
}

.metric-split-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.metric-split-card {
  display: flex;
  background: #FFFFFF;
  border: 1px solid var(--color-border-light);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
}

.metric-split-card:hover {
  transform: translateX(6px);
  box-shadow: 0 12px 28px rgba(14, 28, 36, 0.08);
  border-color: rgba(16, 185, 129, 0.4);
}

.service-parallax-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--color-canvas-dark) 0%, var(--primitive-color-slate-800) 60%, rgba(16, 185, 129, 0.4) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
}

.metric-split-content {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.metric-split-label {
  font-size: 13.5px;
  color: var(--color-text-dark-secondary);
  font-weight: 500;
  margin-bottom: 4px;
}

.metric-split-val {
  font-size: 38px;
  font-weight: 800;
  color: var(--color-text-dark-primary);
  font-family: var(--font-family-heading);
  line-height: 1;
}

.growth-chart-card {
  background: #FFFFFF;
  border: 1px solid var(--color-border-light);
  padding: 36px 32px 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  position: relative;
}

/* Floating Circular Back-to-Top (Removed) */
.back-to-top-btn,
.back-to-top-exact {
  display: none !important;
}

/* Header Direct Phone & Quotes Action */
.header-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #FFFFFF;
  font-size: 13.5px;
  font-weight: 600;
  padding: 8px 12px;
  transition: color 0.2s ease;
}

.header-phone-link:hover {
  color: var(--color-accent-primary);
}

/* Responsive Grid Fallbacks */
@media (max-width: 1024px) {
  .pillar-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .perf-highlights-grid {
    grid-template-columns: 1fr;
  }
  .service-step-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .pillar-cards-grid {
    grid-template-columns: 1fr;
  }
  .hero-floating-badge.badge-efficiency {
    right: 0;
    top: 5%;
  }
  .hero-floating-badge.badge-revenue {
    left: 0;
    bottom: 5%;
  }
}

/* =========================================================================
   1. GLOBAL FLOATING TOP HEADER & REVEALING WHITE STICKY HEADER
   ========================================================================= */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  padding: 20px 0;
  border-bottom: 1px solid #E2E8F0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transform: translateY(0);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              padding var(--primitive-duration-fast) ease,
              background var(--primitive-duration-fast) ease,
              box-shadow var(--primitive-duration-fast) ease,
              border-color var(--primitive-duration-fast) ease;
  will-change: transform;
}

/* Hidden state when user is scrolling down */
.site-header.header-hidden,
.site-header.is-hidden {
  transform: translateY(-100%);
}

/* Sticky Header Scrolled State (Revealed smoothly when scrolling back UP with Clean Light Styling) */
.site-header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: 14px 0;
  border-bottom: 1px solid #E2E8F0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transform: translateY(0);
}

.site-header.is-sticky.header-hidden,
.site-header.is-sticky.is-hidden {
  transform: translateY(-100%);
}

/* Logo Sizing */
.site-logo-img {
  display: block;
  height: 38px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
}

.site-logo-img--light {
  display: block !important;
}

.site-logo-img--dark {
  display: none !important;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3.5vw, 40px);
  box-sizing: border-box;
}

.site-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-title-sub);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-wider);
  color: var(--color-text-light-primary);
  transition: opacity var(--transition);
}

.site-logo:hover {
  opacity: 0.92;
}

.site-logo:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow-dark);
}

.site-logo-img {
  display: block;
  height: 38px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
}

.footer-brand-logo {
  margin-bottom: 20px;
}

.footer-brand-logo a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.footer-logo-img {
  display: block;
  height: 42px;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  transition: opacity var(--transition);
}

.footer-logo-img:hover {
  opacity: 0.92;
}

@media (max-width: 768px) {
  .site-logo-img {
    height: 32px;
    max-width: 180px;
  }
  .footer-logo-img {
    height: 36px;
    max-width: 200px;
  }
}

/* Header Actions Group */
.header-actions-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* Header Navigation & Dropdowns */
.nav-menu {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 36px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item,
.nav-menu li,
.nav-menu .menu-item {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-link,
.nav-menu li a,
.nav-menu .menu-item a {
  color: #0E1C24 !important;
  font-family: var(--font-family-body, 'Inter', 'DM Sans', sans-serif);
  font-size: 15px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 0;
  text-decoration: none;
  transition: color 0.2s ease;
  line-height: 1.2;
}

.nav-link:hover,
.nav-item:hover > .nav-link,
.nav-menu li:hover > a,
.nav-menu .menu-item:hover > a,
.nav-link.is-active,
.nav-menu li.current-menu-item > a,
.nav-menu li.current_page_item > a {
  color: #10B981 !important;
}

.dropdown-chevron {
  width: 9px;
  height: 6px;
  transition: transform 0.2s ease;
}

/* =========================================================================
   HEADER DROPDOWN NAVIGATION (DESIGN SYSTEM: WHITE BG, SHARP EDGES)
   ========================================================================= */
.nav-item--has-dropdown,
.nav-item.has-dropdown,
.nav-menu .menu-item-has-children {
  position: relative;
}

.nav-link-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.dropdown-chevron,
.nav-link-dropdown-trigger svg {
  width: 12px;
  height: 12px;
  transition: transform var(--primitive-duration-fast, 0.25s) ease;
}

.nav-item.has-dropdown:hover .dropdown-chevron,
.nav-item.has-dropdown:focus-within .dropdown-chevron,
.nav-item--has-dropdown:hover .nav-link-dropdown-trigger svg,
.nav-item--has-dropdown:focus-within .nav-link-dropdown-trigger svg,
.nav-menu .menu-item-has-children:hover > a svg {
  transform: rotate(180deg);
}

.nav-dropdown-menu,
.nav-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--color-canvas-base, #FFFFFF) !important;
  background-color: var(--color-canvas-base, #FFFFFF) !important;
  border: var(--border-width-hairline, 1px) solid var(--color-border-light, #E2E8F0) !important;
  border-radius: var(--border-radius-sharp, 0px) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  padding: 4px 0 !important;
  margin-top: 18px !important;
  list-style: none !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity var(--primitive-duration-fast, 0.2s) cubic-bezier(0.16, 1, 0.3, 1),
              transform var(--primitive-duration-fast, 0.2s) cubic-bezier(0.16, 1, 0.3, 1),
              visibility var(--primitive-duration-fast, 0.2s);
  z-index: 1001;
}

.nav-dropdown-menu::before,
.nav-menu .sub-menu::before {
  content: '';
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  height: 20px;
}

.nav-item.has-dropdown:hover .nav-dropdown-menu,
.nav-item.has-dropdown:focus-within .nav-dropdown-menu,
.nav-item--has-dropdown:hover .nav-dropdown-menu,
.nav-item--has-dropdown:focus-within .nav-dropdown-menu,
.nav-menu .menu-item-has-children:hover > .sub-menu,
.nav-menu .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-dropdown-menu li,
.nav-menu .sub-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nav-dropdown-link,
.nav-dropdown-menu li a,
.nav-menu .sub-menu li a {
  display: block;
  padding: 11px 20px;
  color: var(--color-text-dark-primary, #0E1C24) !important;
  font-family: var(--font-family-body, 'Inter', 'DM Sans', sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  border-radius: var(--border-radius-sharp, 0px) !important;
  border-bottom: 1px solid var(--primitive-color-neutral-gray-100, #F1F5F9);
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.nav-dropdown-menu li:last-child a,
.nav-dropdown-link:last-child,
.nav-menu .sub-menu li:last-child a {
  border-bottom: none;
}

.nav-dropdown-link:hover,
.nav-dropdown-link:focus-visible,
.nav-dropdown-menu li a:hover,
.nav-dropdown-menu li a:focus-visible,
.nav-menu .sub-menu li a:hover,
.nav-menu .sub-menu li a:focus-visible {
  background-color: rgba(16, 185, 129, 0.08) !important;
  color: var(--color-accent-primary, #10B981) !important;
  padding-left: 24px;
}

.nav-dropdown-link.is-active,
.nav-dropdown-menu li.current-menu-item > a,
.nav-menu .sub-menu li.current-menu-item > a {
  color: var(--color-accent-primary, #10B981) !important;
  background-color: rgba(16, 185, 129, 0.05) !important;
}

.nav-dropdown-title {
  display: inline;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
}

/* Explicitly hide link descriptions per design system instruction */
.nav-dropdown-desc {
  display: none !important;
}

/* Header Action Buttons */
.header-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #10B981;
  color: #FFFFFF !important;
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 14px;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: var(--border-radius-sharp, 0px) !important;
  text-decoration: none;
  transition: all 0.25s ease;
  border: none;
  line-height: 1;
  white-space: nowrap;
  flex-shrink: 0;
}

.header-cta-btn:hover {
  background: #059669;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.35);
}

.header-cta-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  background: #F8FAFC !important;
  border-radius: 50% !important;
  color: #0E1C24 !important;
  transition: transform 0.25s ease !important;
}

.header-cta-btn:hover .header-cta-icon {
  transform: translate(2px, -2px);
}

.header-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--border-radius-sharp, 0px) !important;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #0E1C24;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  flex-shrink: 0;
}

.header-icon-btn:hover,
.header-icon-btn:focus-visible {
  border-color: #10B981;
  color: #10B981;
  background: rgba(16, 185, 129, 0.08);
}

.header-menu-toggle-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--border-radius-sharp, 0px) !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0;
  color: #0E1C24;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  flex-shrink: 0;
}

.header-menu-toggle-btn:hover,
.header-menu-toggle-btn:focus-visible {
  border-color: #10B981;
  color: #10B981;
  background: rgba(16, 185, 129, 0.12);
}

/* =========================================================================
   HEADER RESPONSIVE BREAKPOINTS (ZERO COLLISION GUARANTEE)
   ========================================================================= */
@media (max-width: 992px) {
  .main-navigation {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .site-header {
    padding: 12px 0;
  }
  .site-logo-img {
    height: 30px !important;
    max-width: 165px !important;
  }
  .header-actions-group {
    gap: 8px;
  }
  .header-cta-btn {
    padding: 8px 14px;
    font-size: 13px;
    gap: 8px;
  }
  .header-icon-btn {
    width: 40px;
    height: 40px;
  }
  .header-menu-toggle-btn {
    width: 42px;
    height: 42px;
    order: 3;
  }
}

@media (max-width: 580px) {
  .site-logo-img {
    height: 27px !important;
    max-width: 145px !important;
  }
  /* On compact mobile, hide header text CTA so hamburger button is never pushed offscreen */
  .header-cta-btn {
    display: none !important;
  }
  .header-phone-btn {
    width: 38px;
    height: 38px;
    order: 2;
  }
  .header-menu-toggle-btn {
    width: 40px;
    height: 40px;
    order: 3;
    display: inline-flex !important;
  }
}

@media (max-width: 380px) {
  .site-logo-img {
    height: 24px !important;
    max-width: 130px !important;
  }
  .header-phone-btn {
    display: none !important;
  }
}

/* =========================================================================
   EXECUTIVE OFF-CANVAS SIDE MENU DRAWER (ROBWOH UNIFIED ADVISORY)
   ========================================================================= */
.side-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 99998;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.32s ease, visibility 0.32s ease;
}

.side-menu-overlay.is-active,
.side-menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.side-menu-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(390px, 88vw);
  max-width: 100vw;
  height: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: #FFFFFF;
  background-image: radial-gradient(circle at 90% 0%, rgba(16, 185, 129, 0.06) 0%, #FFFFFF 50%, #F8FAFC 100%);
  border-left: 1px solid #E2E8F0;
  box-shadow: -10px 0 40px rgba(15, 23, 42, 0.12);
  z-index: 99999;
  transform: translateX(100%);
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.side-menu-drawer.is-active,
.side-menu-drawer.is-open {
  transform: translateX(0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.side-menu-drawer-inner {
  padding: 32px 24px 44px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* 1. Logo Section & Header */
.side-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.side-menu-logo {
  display: inline-flex;
  align-items: center;
}

.side-menu-logo img {
  height: 30px;
  width: auto;
  max-width: 180px;
  display: block;
}

.side-menu-close-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 0px !important;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #0E1C24;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.side-menu-close-btn:hover,
.side-menu-close-btn:focus-visible {
  border-color: #10B981;
  color: #10B981;
  background: rgba(16, 185, 129, 0.08);
}

.side-menu-tagline {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #059669;
  padding-bottom: 16px;
  border-bottom: 1px solid #E2E8F0;
}

/* Section Common Titles */
.side-menu-section {
  margin: 0;
}

.side-menu-title {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748B;
  margin: 0 0 12px 0;
}

/* 2. Advisory Intelligence Search Form */
.side-menu-search-wrap {
  display: flex;
  align-items: stretch;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 0px !important;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.side-menu-search-wrap:focus-within {
  border-color: #10B981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.15);
}

.side-menu-search-input {
  flex: 1;
  border: none;
  outline: none;
  padding: 12px 14px;
  font-size: 14px;
  color: #0E1C24;
  background: transparent;
  font-family: var(--font-family-body, 'Inter', sans-serif);
}

.side-menu-search-input::placeholder {
  color: #94A3B8;
}

.side-menu-search-btn {
  border: none;
  background: transparent;
  border-left: 1px solid #E2E8F0;
  padding: 0 14px;
  color: #64748B;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease, background 0.2s ease;
}

.side-menu-search-btn:hover {
  color: #10B981;
  background: rgba(16, 185, 129, 0.08);
}

/* 3. Menu Links Section (Visible on all screens within the off-canvas drawer) */
.side-menu-section--nav,
.side-menu-nav {
  display: block;
}

.side-menu-nav-list {
  list-style: none;
  margin: 0 0 16px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.side-menu-nav-list li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.side-nav-link,
.side-menu-nav-list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 15.5px;
  font-weight: 600;
  color: #0E1C24 !important;
  text-decoration: none;
  padding: 10px 14px;
  border-left: 2px solid transparent;
  border-radius: 0px !important;
  transition: all 0.2s ease;
}

.side-nav-arrow {
  font-size: 14px;
  color: #94A3B8;
  transition: transform 0.2s ease, color 0.2s ease;
}

.side-nav-link:hover,
.side-menu-nav-list li a:hover {
  color: #10B981 !important;
  background: rgba(16, 185, 129, 0.08);
  border-left-color: #10B981;
  padding-left: 18px;
}

.side-nav-link:hover .side-nav-arrow,
.side-menu-nav-list li a:hover .side-nav-arrow {
  color: #10B981;
  transform: translateX(3px);
}

.side-nav-link.is-active,
.side-menu-nav-list li.current-menu-item > a,
.side-menu-nav-list li.current_page_item > a {
  color: #10B981 !important;
  background: rgba(16, 185, 129, 0.12);
  border-left-color: #10B981;
  padding-left: 18px;
  font-weight: 700;
}

.side-nav-link.is-active .side-nav-arrow {
  color: #10B981;
}

/* Side Menu Sublist (Dropdown accordion in drawer) */
.side-nav-sublist {
  list-style: none;
  margin: 4px 0 8px 16px;
  padding: 0 0 0 12px;
  border-left: 2px solid #E2E8F0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.side-nav-sublist li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.side-nav-sublist a {
  display: block;
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 13.5px;
  font-weight: 500;
  color: #475569 !important;
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.side-nav-sublist a:hover {
  color: #10B981 !important;
  background: rgba(16, 185, 129, 0.08);
  padding-left: 14px;
}

.side-nav-sublist a.is-active {
  color: #10B981 !important;
  font-weight: 700;
  background: rgba(16, 185, 129, 0.12);
}

/* Side Menu Briefing CTA Button */
.side-menu-cta-wrap {
  margin-top: 8px;
}

.side-menu-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 13px 20px;
  background: #10B981;
  color: #FFFFFF !important;
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0px !important;
  transition: background 0.2s ease, transform 0.2s ease;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

.side-menu-cta-btn:hover {
  background: #059669;
  transform: translateY(-1px);
}

.side-menu-cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: #F8FAFC;
  border-radius: 50%;
  color: #0E1C24;
}

/* 4. Contact Info Section */
.side-menu-contact-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.side-contact-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.side-contact-label {
  font-size: 11.5px;
  font-weight: 600;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.side-contact-val {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #0E1C24;
  text-decoration: none;
  transition: color 0.2s ease;
}

a.side-contact-val:hover {
  color: #10B981;
}

.side-contact-val--static {
  color: #334155;
}

.side-menu-socials-wrap {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #E2E8F0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.side-menu-socials {
  display: flex;
  align-items: center;
  gap: 10px;
}

.side-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50% !important;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  color: #475569;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.side-social-icon:hover {
  border-color: #10B981;
  color: #FFFFFF;
  background: #10B981;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
}

/* =========================================================================
   2. CINEMATIC FULLSCREEN HERO (EXACT REFERENCE DESIGN) — HOMEPAGE ONLY
   ========================================================================= */
.cinematic-hero--homepage,
.cinematic-hero-section:not(.page-header-banner) {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  min-height: 100svh;
  background-color: var(--color-canvas-dark, #0E1C24) !important;
  background-image: url('images/hero-consultation-exact.webp') !important;
  background-size: cover !important;
  background-position: center 28% !important;
  background-repeat: no-repeat !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
  overflow: hidden;
  padding-top: clamp(90px, 11vh, 130px) !important;
  padding-bottom: clamp(40px, 5.5vh, 64px) !important;
}

/* Bottom Fade Gradient Overlay (Fading Upward From Hero Bottom — Increased Transparency) */
.hero-vignette-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(
    0deg,
    rgba(14, 28, 36, 0.58) 0%,
    rgba(14, 28, 36, 0.44) 22%,
    rgba(14, 28, 36, 0.22) 46%,
    rgba(14, 28, 36, 0.05) 68%,
    transparent 100%
  );
}

/* Stepped Vertical Bar Chart Silhouette (Left Motif — Exact Reference Geometry) */
.hero-bars-silhouette {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  gap: clamp(10px, 1.25vw, 18px);
  padding-left: clamp(0px, 1.2vw, 24px);
  pointer-events: none;
  z-index: 2;
  opacity: 0.92;
}

.hero-bar-col {
  width: clamp(20px, 2.05vw, 32px);
  border-radius: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(16, 185, 129, 0.85) 0%,
    rgba(5, 150, 105, 0.75) 28%,
    rgba(6, 78, 59, 0.65) 60%,
    rgba(14, 28, 36, 0.95) 100%
  );
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--color-accent-primary, #10B981) 85%, transparent) 0%,
    color-mix(in srgb, var(--color-accent-hover, #059669) 75%, transparent) 28%,
    color-mix(in srgb, var(--primitive-color-emerald-900, #064E3B) 65%, transparent) 60%,
    color-mix(in srgb, var(--color-canvas-dark, #0E1C24) 95%, transparent) 100%
  );
  transform-origin: bottom;
  transition: height 0.3s ease;
}

/* Linear Descending Staircase: Bar 1 tallest at far left, stepping down ~7% per column */
.hero-bar-col--1 { height: 78%; }
.hero-bar-col--2 { height: 71%; }
.hero-bar-col--3 { height: 64%; }
.hero-bar-col--4 { height: 57%; }
.hero-bar-col--5 { height: 50%; }
.hero-bar-col--6 { height: 43%; }

/* Hero Inner Layout Container */
.hero-container-rel {
  position: relative;
  z-index: 3;
  width: 100%;
}

.hero-layout-wrap {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
}

/* Left Content Column */
.hero-left-block {
  max-width: 960px;
  position: relative;
  z-index: 4;
}

.hero-ref-title {
  font-family: var(--font-heading, 'Plus Jakarta Sans', 'Manrope', sans-serif);
  font-size: clamp(32px, 3.9vw, 56px);
  line-height: 1.15;
  color: #FFFFFF !important;
  font-weight: 600;
  letter-spacing: -0.025em;
  margin-bottom: 20px;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.6);
  text-wrap: balance;
}

.hero-desktop-br {
  display: inline;
}

@media (max-width: 540px) {
  .hero-desktop-br {
    display: none;
  }
}

.hero-ref-title,
.hero-ref-title *,
.hero-ref-title span,
.hero-ref-title .hero-accent-green,
.hero-ref-title .text-accent {
  color: #FFFFFF !important;
  font-weight: 600;
}

.hero-ref-subtitle {
  font-family: var(--font-body, 'Inter', 'DM Sans', sans-serif);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.6;
  color: #D1D9E0;
  max-width: 620px;
  margin-top: 0;
  margin-bottom: 30px;
  font-weight: 400;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}

.hero-action-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Robwoh Design System Emerald CTA Button (Sharp 90° Geometry + Arrow Pill) */
.hero-btn-emerald,
.hero-btn-lime {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background-color: var(--color-accent-primary, #10B981);
  color: #FFFFFF !important;
  font-family: var(--font-body, 'Inter', 'DM Sans', sans-serif);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  padding: 13px 22px 13px 26px;
  border-radius: 0 !important;
  text-decoration: none;
  border: 1px solid var(--color-accent-primary, #10B981);
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.3);
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-btn-emerald:hover,
.hero-btn-lime:hover {
  background-color: var(--color-accent-hover, #059669);
  border-color: var(--color-accent-hover, #059669);
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.45);
}

.hero-btn-emerald:active,
.hero-btn-lime:active {
  transform: translateY(0);
}

.hero-btn-emerald .btn-arrow-pill,
.hero-btn-lime .hero-btn-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #F8FAFC !important;
  color: #0E1C24 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
  transition: transform 200ms ease !important;
}

.hero-btn-emerald:hover .btn-arrow-pill,
.hero-btn-lime:hover .hero-btn-arrow {
  transform: translate(2px, -2px);
}

/* Responsive Rules for Exact Reference Hero */
@media (max-width: 1024px) {
  .cinematic-hero--homepage,
  .cinematic-hero-section:not(.page-header-banner) {
    height: auto;
    min-height: 100vh;
    padding-top: clamp(100px, 12vw, 130px) !important;
    padding-bottom: 40px !important;
  }
  .hero-layout-wrap {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  .cinematic-hero--homepage,
  .cinematic-hero-section:not(.page-header-banner) {
    /* Portrait crop: sharp-subject framing, no landscape upscale waste on phones. */
    background-image: url('images/hero-consultation-portrait.webp') !important;
    background-position: 50% 18% !important;
    background-size: cover !important;
  }
  .hero-bars-silhouette {
    opacity: 0.40;
    height: 100%;
    padding-left: 4px;
    gap: 6px;
  }
  .hero-bar-col {
    width: 12px;
  }
  .hero-ref-title {
    font-size: clamp(30px, 7vw, 42px);
    margin-bottom: 24px;
  }
}

@media (max-width: 480px) {
  .hero-btn-emerald,
  .hero-btn-lime {
    width: 100%;
    justify-content: center;
  }
}

/* Touch devices: disable sticky hover-zoom. On touch screens :hover sticks
   after tap, leaving card images permanently GPU-upscaled (reads as blur). */
@media (hover: none) {
  .service-slide-card:hover .service-slide-img-wrap img,
  .about-portrait-card:hover .about-portrait-img-wrap img,
  .dark-expertise-card:hover .dark-card-image-wrap img,
  .editorial-article-card:hover .editorial-image-frame img,
  .service-img-card:hover .service-img-wrapper img,
  .service-parallax-card:hover .service-parallax-bg img,
  .why-visual-frame:hover .why-main-image img,
  .insight-featured-card:hover .insight-featured-img,
  .insight-card:hover .insight-card-img,
  .leader-card:hover .leader-card-img {
    transform: none !important;
  }
}

/* =========================================================================
   3. EXACT ABOUT SECTION (FULL WIDTH)
   ========================================================================= */
.exact-about-section {
  padding: var(--section-padding-y) 0;
  background-color: var(--color-canvas-base);
  border-bottom: none;
  width: 100%;
}

/* =========================================================================
   UNIVERSAL SECTION TITLE BADGES / EYEBROWS (CLEAN TYPOGRAPHIC STANDARD)
   ========================================================================= */
.section-badge,
.about-top-label,
.why-header-tag,
.testimonial-eyebrow-badge,
.expertise-top-label,
.page-header-kicker,
.section-eyebrow,
.services-slider-kicker,
.section-kicker,
.eyebrow,
.narrative-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-accent-primary) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 10px !important;
  width: fit-content;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1.3;
}

.section-badge::before,
.about-top-label::before,
.why-header-tag::before,
.testimonial-eyebrow-badge::before,
.expertise-top-label::before,
.page-header-kicker::before,
.section-eyebrow::before,
.services-slider-kicker::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: var(--color-accent-primary);
  flex-shrink: 0;
}

.section-badge svg,
.about-top-label svg,
.why-header-tag svg,
.testimonial-eyebrow-badge svg,
.expertise-top-label svg,
.page-header-kicker svg,
.section-eyebrow svg,
.services-slider-kicker svg {
  display: none !important; /* Strict enforcement: no icons */
}

/* Universal tight cohesive gap between subtitle/badge/kicker and heading */
.section-badge + h1,
.section-badge + h2,
.section-badge + h3,
.section-badge + h4,
.section-eyebrow + h1,
.section-eyebrow + h2,
.section-eyebrow + h3,
.section-eyebrow + h4,
.page-header-kicker + h1,
.page-header-kicker + h2,
.about-top-label + h1,
.about-top-label + h2,
.why-header-tag + h1,
.why-header-tag + h2,
.testimonial-eyebrow-badge + h1,
.testimonial-eyebrow-badge + h2,
.expertise-top-label + h1,
.expertise-top-label + h2,
.services-slider-kicker + h1,
.services-slider-kicker + h2,
.services-slider-kicker + .services-slider-title,
.why-header-title,
.testimonial-main-heading,
.faq-heading,
.services-slider-title,
.partners-grid-heading,
.narrative-headline {
  margin-top: 0 !important;
}

/* Dark canvas variant for dark sections */
.exact-expertise-dark-section .section-badge,
.exact-expertise-dark-section .about-top-label,
.exact-expertise-dark-section .expertise-top-label,
.pillars-section .section-badge,
.pillars-section .about-top-label,
.section-badge--dark,
.philosophy-cinematic-section .about-top-label,
.contact-interactive-section .about-top-label,
.bg-dark-section .section-badge {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: var(--color-accent-primary) !important;
}

/* Simplified 2-Column About Section Layout */
.about-split-grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(36px, 5.5vw, 68px);
  align-items: center;
}

.about-portrait-card {
  position: relative;
  width: 100%;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  background: var(--color-canvas-white);
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden;
}

.about-portrait-img-wrap {
  position: relative;
  height: clamp(340px, 44vh, 420px);
  width: 100%;
  overflow: hidden;
  background: var(--color-canvas-dark);
}

.about-portrait-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.about-portrait-card:hover .about-portrait-img-wrap img {
  transform: scale(1.03);
}

.about-portrait-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, rgba(14, 28, 36, 0.92) 0%, rgba(14, 28, 36, 0.55) 60%, transparent 100%);
  padding: 20px 24px;
  color: #FFFFFF;
}

.about-portrait-role {
  display: block;
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--color-accent-primary);
  margin-bottom: 3px;
}

.about-portrait-name {
  font-family: var(--font-family-heading);
  font-size: 18px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0;
}

/* About Narrative Column */
.about-story-col {
  display: flex;
  flex-direction: column;
}

.about-story-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-section); /* clamp(24px, 2.6vw, 36px) */
  line-height: var(--line-height-snug);
  font-weight: 500;
  color: var(--color-text-dark-primary);
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.about-story-lead {
  font-family: var(--font-family-body);
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--color-text-dark-secondary);
  margin-bottom: 14px;
}

.about-story-body {
  font-family: var(--font-family-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--color-text-dark-muted);
  margin-bottom: 24px;
}

.about-actions-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* =========================================================================
   FIDUCIARY EXCELLENCE & STRATEGIC PILLARS SECTION (INSPIRATION REF)
   ========================================================================= */
.fiduciary-excellence-section {
  padding: clamp(80px, 10vh, 120px) 0;
  background: var(--color-canvas-base);
  position: relative;
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.excellence-header-block {
  max-width: 820px;
  margin: 0 auto clamp(48px, 6vh, 68px) auto;
  text-align: center;
}

.excellence-kicker-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.excellence-kicker-dot {
  width: 7px;
  height: 7px;
  background: var(--color-accent-primary);
  display: inline-block;
}

.excellence-kicker-text {
  font-family: var(--font-family-body);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-accent-primary);
}

.excellence-main-headline {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.25;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 16px 0;
  letter-spacing: -0.01em;
}

.excellence-accent-word {
  color: var(--color-accent-primary);
  font-style: normal;
  font-weight: inherit;
}

.excellence-main-lead {
  font-family: var(--font-family-body);
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
  margin: 0 auto;
  max-width: 680px;
}

/* 4-Card Grid */
.excellence-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.excellence-card {
  background: #FFFFFF;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-radius: 8px;
  padding: 36px 28px 30px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  box-shadow: 0 2px 8px rgba(8, 19, 43, 0.03);
}

.excellence-card:hover {
  transform: translateY(-5px);
  border-color: var(--color-accent-primary);
  box-shadow: 0 18px 40px rgba(8, 19, 43, 0.08);
}

.excellence-card-content {
  flex-grow: 1;
}

/* Circular Geometric Icon Box */
.excellence-icon-box {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(8, 19, 43, 0.04);
  border: 1px solid rgba(8, 19, 43, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  color: var(--color-brand-primary);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.excellence-card:hover .excellence-icon-box {
  background: var(--color-accent-primary);
  border-color: var(--color-accent-primary);
  color: #FFFFFF;
  transform: scale(1.06);
}

.excellence-card-title {
  font-family: var(--font-family-body);
  font-size: 19px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  margin: 0 0 12px 0;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.excellence-card-desc {
  font-family: var(--font-family-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary);
  margin: 0 0 24px 0;
}

/* Bottom Action Row with Circular Arrow Button */
.excellence-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid rgba(8, 19, 43, 0.06);
}

.excellence-card-action-label {
  font-family: var(--font-family-body);
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-accent-primary);
  transition: color 0.2s ease;
}

.excellence-card-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(178, 121, 18, 0.12);
  color: var(--color-accent-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.excellence-card:hover .excellence-card-btn {
  background: var(--color-accent-primary);
  color: #FFFFFF;
  transform: translateY(-2px);
}

/* Bottom Centered Section Link Pill */
.excellence-bottom-cta {
  text-align: center;
  margin-top: 12px;
}

.excellence-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  background: #FFFFFF;
  border: 1px solid var(--color-border-light);
  border-radius: 999px;
  color: var(--color-brand-primary);
  font-family: var(--font-family-body);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 6px rgba(8, 19, 43, 0.04);
}

.excellence-pill-btn:hover {
  border-color: var(--color-accent-primary);
  color: var(--color-accent-primary);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(178, 121, 18, 0.15);
}

.excellence-pill-btn svg {
  transition: transform 0.2s ease;
}

.excellence-pill-btn:hover svg {
  transform: translateX(4px);
}

@media (max-width: 1200px) {
  .excellence-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .excellence-cards-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .excellence-card {
    padding: 28px 22px 24px 22px;
  }
}

/* 3-Column Monumental Hairline Metrics Grid (Edge-to-Edge) */
.northridge-metrics-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-top: none;
  border-bottom: none;
  margin-top: var(--primitive-space-5);
  width: 100%;
}

.metric-col-card {
  padding: var(--primitive-space-12) clamp(20px, 2.5vw, 48px) var(--primitive-space-12) 0;
  border-right: var(--borderWidth-hairline) solid var(--color-border-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.metric-col-card:nth-child(2),
.metric-col-card:nth-child(3) {
  padding-left: clamp(20px, 2.5vw, 48px);
}

.metric-col-card:last-child {
  border-right: none;
}

.metric-num-index {
  font-size: var(--font-size-overline);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-wider);
  color: var(--metric-index-color);
  margin-bottom: var(--primitive-space-4);
}

.metric-giant-stat {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-stat-monumental);
  line-height: var(--line-height-none);
  font-weight: 500;
  color: var(--metric-stat-color);
  letter-spacing: var(--letter-spacing-tighter);
  margin-bottom: var(--primitive-space-3);
}

.metric-desc-title {
  font-size: var(--font-size-body-small);
  color: var(--metric-desc-color);
  font-weight: 500;
}

/* =========================================================================
   4. EXACT DARK EXPERTISE SECTION (FULL WIDTH)
   ========================================================================= */
.exact-expertise-dark-section {
  padding: var(--section-padding-y) 0;
  background-color: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  border-top: none;
  border-bottom: none;
  width: 100%;
}

.expertise-top-label {
  display: block;
  font-size: var(--font-size-overline);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-wide);
  text-transform: none;
  color: var(--color-text-light-muted);
  margin-bottom: var(--primitive-space-8);
}

.expertise-main-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-section);
  color: var(--color-text-light-primary);
  margin-bottom: var(--primitive-space-9);
  font-weight: 500;
}

.expertise-split-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--primitive-space-10);
  margin-bottom: var(--primitive-space-16);
}

.expertise-lead-para {
  font-size: 15.5px;
  line-height: var(--line-height-relaxed);
  color: var(--color-text-light-muted);
  max-width: 520px;
}

/* 3 Dark Bento Cards (Edge-to-Edge) */
.expertise-dark-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.5vw, 36px);
  width: 100%;
}

.dark-expertise-card {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: var(--transition-fast);
  outline: none;
}

.dark-expertise-card:focus-visible {
  box-shadow: var(--focus-ring-shadow-dark);
}

.dark-card-image-wrap {
  width: 100%;
  height: clamp(200px, 18vw, 300px);
  overflow: hidden;
  border: var(--borderWidth-hairline) solid var(--bento-card-border);
  margin-bottom: var(--primitive-space-6);
}

.dark-card-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--primitive-duration-slow) var(--primitive-ease-signature);
}

.dark-expertise-card:hover .dark-card-image-wrap img {
  transform: scale(1.05);
}

.dark-card-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--primitive-space-2);
}

.dark-card-title {
  font-size: var(--font-size-title-sub);
  font-weight: 600;
  color: var(--bento-card-title-color);
  letter-spacing: var(--letter-spacing-wide);
  transition: color var(--primitive-duration-fast) var(--primitive-ease-signature);
}

.dark-expertise-card:hover .dark-card-title {
  color: var(--bento-card-title-hover);
}

.dark-card-arrow {
  font-size: 16px;
  color: var(--color-text-light-muted);
  transition: transform var(--primitive-duration-fast) ease, color var(--primitive-duration-fast) ease;
}

.dark-expertise-card:hover .dark-card-arrow {
  color: var(--color-text-light-primary);
  transform: translateX(4px);
}

.dark-card-subtext {
  font-size: var(--font-size-body-small);
  color: var(--bento-card-subtext-color);
  line-height: var(--line-height-normal);
}

/* =========================================================================
   5. EXACT INSIGHTS SECTION (FULL WIDTH)
   ========================================================================= */
.exact-insights-section {
  padding: var(--section-padding-y) 0;
  background-color: var(--color-canvas-base);
  border-bottom: none;
  width: 100%;
}

.insights-top-label {
  display: block;
  font-size: var(--font-size-overline);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-wide);
  text-transform: none;
  color: var(--color-text-dark-muted);
  margin-bottom: var(--primitive-space-8);
}

.insights-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--primitive-space-14);
}

.insights-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-section);
  color: var(--color-text-dark-primary);
  font-weight: 500;
}

/* 3 Editorial Cards with Top Category Hairlines (Edge-to-Edge) */
.insights-editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 3vw, 44px);
  width: 100%;
}

.editorial-article-card {
  display: flex;
  flex-direction: column;
  border-top: var(--borderWidth-hairline) solid var(--editorial-border-color);
  padding-top: var(--primitive-space-5);
  text-decoration: none;
  color: inherit;
  transition: var(--transition-fast);
  outline: none;
}

.editorial-article-card:focus-visible {
  box-shadow: var(--focus-ring-shadow);
}

.editorial-category-label {
  font-size: var(--font-size-overline);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-wide);
  text-transform: none;
  color: var(--editorial-category-color);
  margin-bottom: var(--primitive-space-4);
}

.editorial-image-frame {
  width: 100%;
  height: clamp(200px, 18vw, 290px);
  overflow: hidden;
  border: var(--borderWidth-hairline) solid var(--editorial-border-color);
  margin-bottom: var(--primitive-space-5);
}

.editorial-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--primitive-duration-slow) var(--primitive-ease-signature);
}

.editorial-article-card:hover .editorial-image-frame img {
  transform: scale(1.05);
}

.editorial-date-meta {
  font-size: var(--font-size-caption);
  color: var(--editorial-date-color);
  margin-bottom: var(--primitive-space-2);
}

.editorial-article-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-card);
  color: var(--editorial-title-color);
  line-height: 1.3;
  margin-bottom: var(--primitive-space-3);
  font-weight: 500;
  transition: color var(--primitive-duration-fast) var(--primitive-ease-signature);
}

.editorial-article-card:hover .editorial-article-title {
  color: var(--color-accent-primary);
}

.editorial-article-excerpt {
  font-size: var(--font-size-body-small);
  line-height: 1.7;
  color: var(--editorial-excerpt-color);
}

/* =========================================================================
   6. EXACT REFERENCE FOOTER WITH NEWSLETTER & 4-COLUMN ENCLOSED CARD
   ========================================================================= */

/* Top Newsletter Banner */
.footer-newsletter-banner {
  width: 100%;
  position: relative;
  background-color: var(--color-canvas-dark, #0E1C24);
  background-image: url('images/hero-bg.png');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: clamp(52px, 6.5vw, 84px) 0;
  color: #FFFFFF;
  overflow: hidden;
}

.footer-newsletter-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(32px, 5vw, 64px);
  flex-wrap: wrap;
}

.newsletter-brand-block {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  max-width: 660px;
}

.newsletter-bell-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50% !important;
  background: #10B981;
  color: #FFFFFF;
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(0, 184, 101, 0.45);
  margin-top: 4px;
}

.newsletter-heading {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(24px, 2.7vw, 36px);
  font-weight: 700;
  line-height: 1.22;
  color: #FFFFFF;
  margin: 0;
  letter-spacing: -0.02em;
}

.newsletter-action-block {
  flex: 1;
  max-width: 480px;
  min-width: 280px;
}

.newsletter-exact-form {
  width: 100%;
}

.newsletter-input-group {
  display: flex;
  align-items: stretch;
  background: #F4F6F8;
  border-radius: 0px !important;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.newsletter-input-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 16px;
  padding-right: 10px;
  color: #64748B;
  flex-shrink: 0;
}

.newsletter-field {
  flex: 1;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  color: #0F172A !important;
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 14.5px;
  padding: 14px 12px 14px 0;
  min-width: 0;
  border-radius: 0px !important;
}

.newsletter-field::placeholder {
  color: #94A3B8;
}

.newsletter-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #10B981 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 0px !important;
  padding: 0 20px;
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}

.newsletter-submit-btn:hover {
  background: #059669 !important;
}

.newsletter-btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #F8FAFC !important;
  color: #0E1C24 !important;
  transition: transform 0.2s ease;
}

.newsletter-submit-btn:hover .newsletter-btn-icon {
  transform: translateX(2px) translateY(-2px);
}

.newsletter-subtext {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 13.5px;
  font-style: italic;
  color: rgba(255, 255, 255, 0.9);
  margin: 10px 0 0 2px;
}

.newsletter-feedback-msg {
  margin-top: 10px;
  font-size: 13.5px;
  color: #A7F3D0;
  font-weight: 500;
}

/* Pinstripe Divider Strip */
.footer-pinstripe-strip {
  width: 100%;
  height: 48px;
  background-color: #081219;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.035),
    rgba(255, 255, 255, 0.035) 1px,
    transparent 1px,
    transparent 10px
  );
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Exact Reference Footer Container */
.exact-reference-footer,
.exact-dark-footer,
.site-footer {
  width: 100%;
  background-color: #071219 !important;
  color: rgba(255, 255, 255, 0.7);
  padding: 64px 0 36px 0;
  position: relative;
  border-top: none;
}

/* 4-Column Enclosed Box */
.footer-grid-card {
  display: grid;
  grid-template-columns: 1.15fr 0.95fr 1fr 1.05fr;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 2px;
  margin-bottom: 48px;
}

.footer-card-col {
  padding: 44px 32px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-card-col:last-child {
  border-right: none;
}

.footer-col--logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 48px;
}

.footer-brand-logo img {
  max-width: 210px;
  height: auto;
  display: block;
}

.footer-brand-tagline {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #94A3B8;
  margin: 18px 0 0 0;
  line-height: 1.5;
}

.footer-card-title {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #FFFFFF;
  margin: 0 0 24px 0;
}

.footer-card-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.footer-card-links li,
.footer-card-links .menu-item {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-card-links a,
.footer-card-links li a,
.footer-card-links .menu-item a {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 14px;
  color: rgba(255, 255, 255, 0.72) !important;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
  display: inline-block;
}

.footer-card-links a:hover,
.footer-card-links li a:hover,
.footer-card-links .menu-item a:hover {
  color: #10B981 !important;
  transform: translateX(2px);
}

.footer-contact-block {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 14px;
  line-height: 1.65;
}

.footer-contact-address {
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 16px 0;
}

.footer-contact-item {
  margin: 0 0 10px 0;
}

.footer-contact-link {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
  transition: color 0.2s ease;
}

.footer-contact-link:hover {
  color: #10B981;
}

/* Bottom Bar */
.footer-bottom-exact-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
  gap: 20px;
}

.footer-copyright-exact {
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.55);
}

.footer-copyright-exact strong {
  color: #FFFFFF;
  font-weight: 600;
}

.footer-social-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-social-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50% !important;
  background: #566166;
  border: none;
  color: #0E1C24;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-social-circle:hover {
  background: #10B981;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
}

.footer-legal-exact {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
}

.footer-legal-exact a {
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-legal-exact a:hover {
  color: #10B981;
}

.footer-legal-dot {
  color: rgba(255, 255, 255, 0.3);
  font-size: 10px;
}



/* Responsive Breakpoints */
@media (max-width: 992px) {
  .footer-grid-card {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-card-col:nth-child(2) {
    border-right: none;
  }
  .footer-card-col:nth-child(1),
  .footer-card-col:nth-child(2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .footer-newsletter-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .newsletter-action-block {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 600px) {
  .footer-grid-card {
    grid-template-columns: 1fr;
  }
  .footer-card-col {
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 28px 20px;
  }
  .footer-card-col:last-child {
    border-bottom: none;
  }
  .footer-bottom-exact-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .newsletter-heading {
    font-size: clamp(20px, 5.2vw, 24px);
    line-height: 1.25;
  }
  .newsletter-brand-block {
    gap: 16px;
  }
  .newsletter-bell-badge {
    width: 42px;
    height: 42px;
  }
}

/* =========================================================================
   ARCHITECTURAL PATTERNS, IMAGE CARDS & MICRO-ANIMATIONS
   ========================================================================= */

/* Pattern Utilities */
.pattern-grid-dark {
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 40px 40px;
}

.pattern-grid-light {
  background-image: 
    linear-gradient(to right, rgba(14, 28, 36, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(14, 28, 36, 0.04) 1px, transparent 1px);
  background-size: 32px 32px;
}

.pattern-dots-dark {
  background-image: radial-gradient(rgba(178, 121, 18, 0.2) 1px, transparent 1px);
  background-size: 24px 24px;
}

.pattern-dots-light {
  background-image: radial-gradient(rgba(14, 28, 36, 0.08) 1.5px, transparent 1.5px);
  background-size: 24px 24px;
}

/* Architectural Corner Accents */
.card-with-corners {
  position: relative;
}

.card-with-corners::before {
  content: "+";
  position: absolute;
  top: -8px;
  left: -8px;
  font-family: monospace;
  font-size: 14px;
  color: var(--color-accent-primary);
  opacity: 0.7;
}

.card-with-corners::after {
  content: "+";
  position: absolute;
  bottom: -8px;
  right: -8px;
  font-family: monospace;
  font-size: 14px;
  color: var(--color-accent-primary);
  opacity: 0.7;
}

/* Image Card Containers with Smooth Zoom */
.service-img-card {
  position: relative;
  overflow: hidden;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  background: var(--color-canvas-white);
  transition: all var(--primitive-duration-normal) cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}

.service-img-card:hover {
  transform: translateY(-6px);
  border-color: var(--color-accent-primary);
  box-shadow: 0 20px 40px rgba(14, 28, 36, 0.1);
}

.service-img-wrapper {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: var(--color-canvas-dark);
}

.service-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
  filter: brightness(0.92) contrast(1.05);
}

.service-img-card:hover .service-img-wrapper img {
  transform: scale(1.06);
  filter: brightness(1) contrast(1.1);
}

.service-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(14, 28, 36, 0.75) 100%);
  pointer-events: none;
}

.service-icon-floating {
  position: absolute;
  bottom: 16px;
  left: 20px;
  width: 44px;
  height: 44px;
  background: var(--color-canvas-dark);
  border: var(--borderWidth-hairline) solid var(--color-border-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent-vibrant);
  z-index: 2;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.service-card-body {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: space-between;
}

/* =========================================================================
   1-COLUMN STICKY STACKING PARALLAX SERVICE CARDS (SHARP ARCHITECTURAL FRAME)
   ========================================================================= */
.exact-expertise-dark-section {
  position: relative;
  overflow: visible !important;
}

.services-parallax-container {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  max-width: min(1180px, 94%);
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(36px, 5vh, 56px);
  padding-bottom: clamp(60px, 10vh, 120px);
}

.service-parallax-card {
  position: -webkit-sticky;
  position: sticky;
  top: calc(76px + (var(--card-index, 1) - 1) * 22px);
  z-index: var(--card-index, 1);
  width: 100%;
  max-width: 100%;
  height: clamp(480px, 60vh, 560px);
  min-height: 450px;
  margin-bottom: clamp(120px, 20vh, 260px);
  border-radius: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: none !important;
  background: var(--primitive-color-navy-950);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(28px, 3.5vw, 44px);
  transform-origin: center top;
  transition: border-color var(--primitive-duration-fast) ease;
  will-change: transform, filter, opacity;
}

.service-parallax-card:last-child {
  margin-bottom: clamp(40px, 6vh, 80px);
}

.service-parallax-card:hover {
  border-color: var(--color-accent-primary);
}

/* Parallax Background Image Wrapper */
.service-parallax-bg {
  position: absolute;
  top: -15%;
  left: 0;
  right: 0;
  bottom: -15%;
  width: 100%;
  height: 130%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.service-parallax-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.85) contrast(1.08);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.8s ease;
  will-change: transform;
}

.service-parallax-card:hover .service-parallax-bg img {
  transform: scale(1.03);
  filter: brightness(0.92) contrast(1.12);
}

/* Vignette & Contrast Gradient Overlay */
.service-parallax-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg, 
    rgba(14, 28, 36, 0.52) 0%, 
    rgba(14, 28, 36, 0.25) 40%, 
    rgba(14, 28, 36, 0.82) 100%
  );
  z-index: 1;
  pointer-events: none;
}

/* Top Badge Cluster */
.service-parallax-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.service-pill-solid {
  display: inline-flex;
  align-items: center;
  background: var(--color-accent-primary);
  color: #FFFFFF;
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  padding: 6px 16px;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.service-pill-glass {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  color: var(--primitive-color-navy-950);
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  padding: 6px 16px;
  border-radius: 0 !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: none !important;
}

/* Bottom Row (Split Content Glass Box & Floating Action CTA) */
.service-parallax-bottom {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
}

/* Frosted Glassmorphic Narrative Card */
.service-glass-box {
  background: rgba(14, 28, 36, 0.76);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0 !important;
  padding: clamp(20px, 2.8vw, 32px);
  max-width: min(640px, 100%);
  box-shadow: none !important;
  transition: background var(--primitive-duration-fast) ease, border-color var(--primitive-duration-fast) ease;
}

.service-parallax-card:hover .service-glass-box {
  background: rgba(14, 28, 36, 0.85);
  border-color: rgba(255, 255, 255, 0.28);
}

.service-glass-title {
  font-family: var(--font-family-heading);
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.3;
  color: #FFFFFF;
  margin-bottom: 8px;
  font-weight: 600;
}

.service-glass-desc {
  font-family: var(--font-family-body);
  font-size: clamp(13.5px, 1.05vw, 15px);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
  margin: 0;
}

/* Action Pill CTA Button - Architectural Sharp Style */
.service-action-pill {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: #FFFFFF;
  color: var(--primitive-color-navy-950);
  font-family: var(--font-family-body);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 12px 20px;
  border-radius: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border: 1px solid transparent;
  transition: all var(--primitive-duration-fast) var(--primitive-ease-signature);
  white-space: nowrap;
  flex-shrink: 0;
}

.service-action-pill-icon {
  width: 32px;
  height: 32px;
  border-radius: 0 !important;
  background: var(--primitive-color-navy-900);
  color: var(--color-accent-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--primitive-duration-fast) var(--primitive-ease-signature), background var(--primitive-duration-fast) ease;
}

.service-action-pill:hover {
  background: #FFFFFF;
  border-color: var(--color-accent-primary);
  transform: translateY(-2px);
}

.service-action-pill:hover .service-action-pill-icon {
  transform: translate(2px, -2px);
  background: var(--color-accent-primary);
  color: #FFFFFF;
}

@media (max-width: 768px) {
  .services-parallax-container {
    max-width: 100%;
  }
  .service-parallax-card {
    height: auto;
    min-height: 480px;
    margin-bottom: clamp(60px, 12vh, 120px);
    top: 75px;
  }
  .service-parallax-bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }
  .service-action-pill {
    align-self: flex-start;
  }
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(178, 121, 18, 0.4);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(178, 121, 18, 0);
  }
}

.animate-fade-in {
  animation: fadeInUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Mobile Navigation Backdrop & Drawer */
.site-header {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Legacy nav-menu.is-open superseded by off-canvas side-menu-drawer */

/* Primary navigation dropdown styling is maintained in the Header Navigation & Dropdowns section */

.header-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-light-primary);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 8px 14px;
  border: var(--borderWidth-hairline) solid var(--color-border-dark-translucent);
  transition: all var(--primitive-duration-fast) ease;
}

.header-phone-link:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--color-accent-vibrant);
  color: var(--color-accent-vibrant);
}

@media (max-width: 1200px) and (min-width: 1025px) {
  .header-phone-link span {
    display: none;
  }
  .header-phone-link {
    padding: 8px 10px;
  }
}

/* =========================================================================
   PAGE HEADER / EXECUTIVE HERO BANNER (ARCHITECTURAL BREADCRUMB HEADER)
   ========================================================================= */
.page-header-banner,
.page-header-banner.cinematic-hero-section {
  position: relative;
  width: 100%;
  height: auto !important;
  min-height: auto !important;
  display: block !important;
  background-color: var(--color-breadcrumb-banner-bg, #F4F7F8) !important;
  background-image: none !important;
  background-size: auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  color: var(--color-breadcrumb-banner-title, #0E1C24) !important;
  padding: clamp(96px, 11vh, 120px) 0 clamp(24px, 3vh, 36px) 0 !important;
  border-bottom: 1px solid var(--color-breadcrumb-banner-border, #E2E8F0) !important;
  overflow: hidden;
  box-sizing: border-box;
  text-align: center;
}

.page-header-banner.not-found-hero {
  min-height: 80vh !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: clamp(120px, 14vh, 160px) 0 clamp(60px, 8vh, 90px) 0 !important;
}

.page-header-pattern {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(14, 28, 36, 0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  opacity: 0.4;
  pointer-events: none;
}

.page-header-content {
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.page-header-content .service-hero-breadcrumb {
  justify-content: center;
  margin: 0 auto 16px auto;
}

.page-header-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-accent-primary, #10B981);
  margin-bottom: 14px;
}

.page-header-kicker-dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent-primary, #10B981);
  display: inline-block;
  flex-shrink: 0;
}

.page-header-title {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(32px, 3.8vw, 50px);
  color: var(--color-breadcrumb-banner-title, #0E1C24) !important;
  margin: 0 auto;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-align: center;
  max-width: 860px;
}

.page-header-title .text-accent {
  color: var(--color-accent-primary, #10B981);
}

.page-header-lead {
  font-family: var(--font-family-body);
  font-size: clamp(15px, 1.25vw, 18px);
  color: #475569;
  line-height: 1.65;
  max-width: 760px;
  margin: 16px auto 0 auto;
}

.page-header-actions {
  display: flex;
  gap: var(--primitive-space-4);
  flex-wrap: wrap;
}

/* =========================================================================
   PAGE INTRO HEADER BLOCK (CENTER-ALIGNED CONTENT BELOW BREADCRUMB BANNER)
/* Per client directive: Remove duplicate title sections below breadcrumb header */
.page-intro-header-block {
  display: none !important;
}

.page-intro-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-accent-primary, #10B981);
  margin: 0 auto 16px auto;
}

.page-intro-kicker-dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent-primary, #10B981);
  display: inline-block;
  flex-shrink: 0;
}

.page-intro-heading {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(32px, 3.8vw, 50px);
  font-weight: 700;
  color: #0E1C24;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 auto 18px auto;
  max-width: 860px;
}

.page-intro-heading .text-accent {
  color: var(--color-accent-primary, #10B981);
}

.page-intro-desc {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.7;
  color: #374151;
  margin: 0 auto 12px auto;
  max-width: 820px;
  font-weight: 400;
}

.page-intro-desc:last-child {
  margin-bottom: 0;
}



/* =========================================================================
   ADVISORY 4-STEP ROADMAP TIMELINE
   ========================================================================= */
.advisory-roadmap-section {
  padding: clamp(64px, 10vh, 128px) 0;
  background: var(--color-canvas-base);
  border-bottom: none;
}

.roadmap-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: none;
  border-bottom: none;
  margin-top: clamp(32px, 6vh, 64px);
}

.roadmap-card {
  padding: clamp(32px, 4vw, 48px) clamp(24px, 3vw, 36px);
  border-right: var(--borderWidth-hairline) solid var(--color-border-light);
  display: flex;
  flex-direction: column;
  background: var(--color-canvas-base);
  transition: background var(--primitive-duration-fast) ease, transform var(--primitive-duration-fast) ease;
  position: relative;
}

.roadmap-card:last-child {
  border-right: none;
}

.roadmap-card:hover {
  background: var(--color-canvas-white);
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(14, 28, 36, 0.06);
  z-index: 2;
}

.roadmap-number {
  font-family: var(--font-family-heading);
  font-size: 32px;
  font-weight: 600;
  color: var(--color-accent-primary);
  margin-bottom: var(--primitive-space-4);
  line-height: 1;
}

.roadmap-step-name {
  font-family: var(--font-family-body);
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  margin-bottom: var(--primitive-space-3);
  line-height: 1.3;
}

.roadmap-step-desc {
  font-size: 14px;
  color: var(--color-text-dark-secondary);
  line-height: 1.6;
}

/* =========================================================================
   DUAL-PILLAR MODEL (ABOUT PAGE)
   ========================================================================= */
.pillars-section {
  padding: clamp(64px, 10vh, 128px) 0;
  background: var(--color-canvas-white);
  border-bottom: none;
}

.pillars-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 4vw, 48px);
  margin-top: clamp(32px, 6vh, 56px);
}

.pillars-grid .pillar-card {
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: clamp(36px, 5vw, 64px);
  display: flex;
  flex-direction: column;
}

.pillar-badge {
  display: inline-block;
  align-self: flex-start;
  background: var(--color-canvas-dark);
  color: var(--color-accent-vibrant);
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.02em;
  padding: 6px 14px;
  margin-bottom: var(--primitive-space-5);
}

.pillar-card h3 {
  font-size: clamp(22px, 2.2vw, 32px);
  margin-bottom: var(--primitive-space-4);
  color: var(--color-text-dark-primary);
}

.pillar-desc {
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
  margin-bottom: var(--primitive-space-6);
}

.pillar-offerings-list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--primitive-space-6) 0;
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
}

.pillar-offerings-list li {
  padding: 12px 0;
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--color-text-dark-primary);
  display: flex;
  align-items: center;
  gap: 10px;
}

.pillar-offerings-list li svg {
  color: var(--color-accent-primary);
  flex-shrink: 0;
}

/* =========================================================================
   SERVICES 7-GRID & CLUSTERS
   ========================================================================= */
.services-bento-7-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
  margin-top: clamp(32px, 6vh, 64px);
}

.service-card-item {
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: clamp(28px, 3.5vw, 44px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  transition: all var(--primitive-duration-fast) ease;
}

.service-card-item:hover {
  border-color: var(--color-accent-primary);
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(14, 28, 36, 0.08);
}

.service-card-item--col-4 {
  grid-column: span 4;
}

.service-card-item--col-6 {
  grid-column: span 6;
}

.service-card-item--col-12 {
  grid-column: span 12;
}

.service-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--primitive-space-4);
}

.service-card-idx {
  font-family: var(--font-family-heading);
  font-size: 18px;
  font-weight: 600;
  color: var(--color-accent-primary);
}

.service-card-cluster-tag {
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.02em;
  color: var(--color-text-dark-muted);
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 4px 10px;
}

.service-card-item h3 {
  font-size: 22px;
  margin-bottom: 12px;
  color: var(--color-text-dark-primary);
}

.service-card-item p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary);
  margin-bottom: var(--primitive-space-5);
}

.service-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  text-transform: none;
  letter-spacing: 0.01em;
  transition: gap var(--primitive-duration-fast) ease, color var(--primitive-duration-fast) ease;
}

.service-card-link:hover {
  gap: 12px;
  color: var(--color-accent-primary);
}

/* =========================================================================
   FAQ ACCORDION COMPONENT
   ========================================================================= */
.faq-accordion-group {
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  margin-top: clamp(24px, 4vh, 48px);
}

.faq-item {
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.faq-trigger {
  width: 100%;
  padding: 24px 0;
  background: transparent;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  font-family: var(--font-family-body);
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  cursor: pointer;
  outline: none;
  transition: color var(--primitive-duration-fast) ease;
}

.faq-trigger:hover,
.faq-trigger:focus-visible {
  color: var(--color-accent-primary);
}

.faq-icon {
  font-size: 20px;
  transition: transform var(--primitive-duration-fast) ease;
}

.faq-item.is-open .faq-icon {
  transform: rotate(45deg);
  color: var(--color-accent-primary);
}

.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), padding 0.35s ease;
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
}

.faq-item.is-open .faq-content {
  max-height: 400px;
  padding-bottom: 24px;
}

/* =========================================================================
   EXECUTIVE STRATEGIC CONSULTATION GATEWAY (HIGH-CONVERTING LUXURY INTAKE)
   ========================================================================= */
.direct-access-section,
.contact-engine-section {
  padding: clamp(80px, 9vw, 120px) 0;
  background-color: #071219 !important;
  position: relative;
  overflow: hidden;
}

.direct-access-section::before {
  content: '';
  position: absolute;
  top: -20%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.09) 0%, transparent 70%);
  pointer-events: none;
}

.exec-gateway-card {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(36px, 5vw, 64px);
  background: var(--color-canvas-dark);
  border: var(--border-width-hairline) solid var(--primitive-overlay-white-subtle);
  padding: clamp(36px, 5vw, 64px);
  position: relative;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
}

/* Left Column: Authority & Proof */
.exec-gateway-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.exec-gateway-title {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1.18;
  margin: 0 0 16px 0;
  letter-spacing: -0.01em;
}

.exec-gateway-desc {
  font-family: var(--font-family-body);
  font-size: 15px;
  line-height: 1.65;
  color: #94A3B8;
  margin: 0 0 28px 0;
}

.exec-proof-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.exec-proof-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #CBD5E1;
  line-height: 1.45;
}

.exec-proof-item strong {
  color: #FFFFFF;
}

.exec-proof-check {
  color: var(--color-accent-primary);
  font-weight: 800;
  font-size: 15px;
  flex-shrink: 0;
  margin-top: 1px;
}

.exec-direct-strip {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 20px;
  margin-top: auto;
}

.exec-direct-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748B;
  margin-bottom: 12px;
}

.exec-direct-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Right Column: Intake Glass Card */
.exec-gateway-right {
  background: #13242E;
  border: var(--border-width-hairline) solid var(--primitive-overlay-white-subtle);
  padding: clamp(28px, 3.5vw, 40px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.exec-form-header {
  margin-bottom: 20px;
}

.exec-form-title {
  font-family: var(--font-family-heading);
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 6px 0;
}

.exec-form-sub {
  font-family: var(--font-family-body);
  font-size: 13px;
  color: #94A3B8;
  margin: 0;
}

/* Practice Area 3-Button Group */
.exec-mandate-selector-wrap {
  margin-bottom: 18px;
}

.exec-field-label {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #CBD5E1;
  margin-bottom: 8px;
}

.exec-mandate-btn-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.exec-mandate-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #94A3B8;
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 600;
  padding: 10px 8px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  outline: none;
}

.exec-mandate-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
}

.exec-mandate-btn.active {
  background: var(--color-accent-primary);
  border-color: var(--color-accent-primary);
  color: #FFFFFF;
  font-weight: 700;
}

.exec-input-group {
  margin-bottom: 16px;
}

.exec-text-input {
  width: 100%;
  background: var(--color-canvas-dark) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: var(--color-text-light-primary) !important;
  font-family: var(--font-family-body);
  font-size: 14px;
  padding: 13px 16px;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.exec-text-input:focus {
  border-color: var(--color-accent-primary) !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25);
}

.exec-text-input::placeholder {
  color: #64748B;
}

.exec-calendar-link-wrap {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12.5px;
  color: #94A3B8;
}

.exec-calendar-link {
  color: var(--color-accent-primary);
  font-weight: 700;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.exec-calendar-link:hover {
  text-decoration: underline !important;
}

/* Screen Reader Accessibility Utility */
.sr-only,
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* =========================================================================
   SIMPLE REFERENCE CONTACT INTAKE FORM (DARK THEME WITH REFERENCE ARCHITECTURE)
   ========================================================================= */
.simple-gateway-card {
  background: #13242E !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: clamp(32px, 4.5vw, 44px) !important;
  position: relative;
  border-radius: 0px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

.simple-gateway-header {
  margin-bottom: 24px;
}

.simple-gateway-title {
  font-family: var(--font-family-heading), 'DM Sans', sans-serif !important;
  font-size: clamp(30px, 3.5vw, 40px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  letter-spacing: -0.02em !important;
}

.simple-gateway-title .text-accent,
.simple-gateway-title .text-emerald {
  color: #10B981 !important;
}

.simple-form-group {
  margin-bottom: 16px;
  position: relative;
}

.simple-form-input {
  width: 100% !important;
  background: #0B171F !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #FFFFFF !important;
  font-family: var(--font-family-body), 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  padding: 16px 20px !important;
  border-radius: 0px !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.simple-form-input::placeholder {
  color: #64748B !important;
  opacity: 1 !important;
  font-size: 15px !important;
}

.simple-form-input:focus {
  background: #0D1C26 !important;
  border-color: #10B981 !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25) !important;
}

.simple-form-input.has-error {
  border-color: #EF4444 !important;
  background: rgba(239, 68, 68, 0.12) !important;
}

.simple-form-select-wrap {
  position: relative;
  width: 100%;
}

.simple-form-select {
  width: 100% !important;
  background: #0B171F !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #FFFFFF !important;
  font-family: var(--font-family-body), 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  padding: 16px 44px 16px 20px !important;
  border-radius: 0px !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.simple-form-select option {
  background: #0E1C24 !important;
  color: #FFFFFF !important;
}

.simple-form-select:focus {
  background: #0D1C26 !important;
  border-color: #10B981 !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25) !important;
}

.simple-form-select.has-error {
  border-color: #EF4444 !important;
  background: rgba(239, 68, 68, 0.12) !important;
}

.simple-form-select-chevron {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #94A3B8;
  display: flex;
  align-items: center;
  justify-content: center;
}

.simple-form-textarea {
  min-height: 130px !important;
  resize: vertical !important;
  line-height: 1.5 !important;
}

.simple-form-terms {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 22px 0;
}

.simple-form-checkbox {
  width: 17px !important;
  height: 17px !important;
  accent-color: #10B981 !important;
  cursor: pointer;
  margin: 0 !important;
  flex-shrink: 0;
  border-radius: 2px;
}

.simple-form-terms-text {
  font-family: var(--font-family-body), 'DM Sans', sans-serif;
  font-size: 14px;
  color: #CBD5E1;
  line-height: 1.4;
  cursor: pointer;
  user-select: none;
}

.simple-form-terms-link {
  color: #10B981;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.simple-form-terms-link:hover {
  color: #34D399;
}

.simple-form-submit-btn {
  width: 100% !important;
  background: #10B981 !important;
  border: none !important;
  color: #FFFFFF !important;
  font-family: var(--font-family-body), 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 16px 24px !important;
  border-radius: 0px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.25) !important;
  box-sizing: border-box;
}

.simple-form-submit-btn:hover {
  background: #059669 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35) !important;
}

.simple-form-submit-btn:active {
  transform: translateY(0);
}

.simple-btn-disc-arrow {
  width: 26px;
  height: 26px;
  background: #F8FAFC !important;
  border-radius: 50% !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #0E1C24 !important;
  transition: transform 0.2s ease;
}

.simple-form-submit-btn:hover .simple-btn-disc-arrow {
  transform: translate(2px, -2px);
}

@media (max-width: 991px) {
  .exec-gateway-card {
    grid-template-columns: 1fr;
    padding: 32px 24px;
    gap: 36px;
  }
}

@media (max-width: 640px) {
  .exec-mandate-btn-group {
    grid-template-columns: 1fr;
  }
  
  .exec-direct-links {
    flex-direction: column;
  }
  
  .exec-direct-links a {
    width: 100%;
    justify-content: center;
  }
}

/* Footer Newsletter Inline Feedback */
.footer-newsletter-feedback {
  margin-top: 10px;
  font-size: 12.5px;
  color: var(--color-accent-vibrant);
  display: none;
  align-items: center;
  gap: 6px;
  animation: execFadeIn 0.25s ease forwards;
}

/* =========================================================================
   INSIGHTS FILTER TABS & CARDS
   ========================================================================= */
.insights-filter-bar {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: clamp(32px, 5vh, 48px);
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
  padding-bottom: 16px;
}

.insight-filter-btn {
  padding: 8px 18px;
  background: transparent;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  font-size: 13.5px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.01em;
  color: var(--color-text-dark-secondary);
  cursor: pointer;
  transition: all var(--primitive-duration-fast) ease;
}

.insight-filter-btn.is-active,
.insight-filter-btn:hover {
  background: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  border-color: var(--color-canvas-dark);
}

.insight-article-card {
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: clamp(24px, 3vw, 36px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform var(--primitive-duration-fast) ease, box-shadow var(--primitive-duration-fast) ease;
}

.insight-article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(14, 28, 36, 0.06);
  border-color: var(--color-accent-primary);
}

.why-choose-section {
  padding: clamp(80px, 11vh, 140px) 0;
  background-color: var(--color-canvas-studio, #F4F7F8);
  border-top: 1px solid var(--color-border-light, #E2E8F0);
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
}

.why-split-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(48px, 6vw, 88px);
  align-items: center;
  margin-bottom: clamp(64px, 9vh, 96px);
}

/* Left Image & Floating Chart Card */
.why-visual-frame {
  position: relative;
  width: 100%;
}

.why-main-image {
  position: relative;
  width: 100%;
  height: clamp(460px, 58vh, 580px);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  overflow: hidden;
  background: var(--color-canvas-dark);
}

.why-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  filter: brightness(0.96) contrast(1.04);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.why-visual-frame:hover .why-main-image img {
  transform: scale(1.03);
}

.why-floating-metric {
  position: absolute;
  bottom: -24px;
  right: -20px;
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 22px 26px;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  gap: 24px;
  z-index: 10;
  border-left: 3px solid var(--color-accent-primary);
}

.metric-data-block {
  display: flex;
  flex-direction: column;
}

.metric-tag-label {
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--color-text-dark-muted);
  margin-bottom: 6px;
}

.metric-highlight-value {
  font-family: var(--font-family-heading);
  font-size: clamp(34px, 3.2vw, 44px);
  font-weight: 700;
  color: var(--color-text-dark-primary);
  line-height: 1;
  margin-bottom: 4px;
}

.metric-period-label {
  font-family: var(--font-family-body);
  font-size: 12.5px;
  color: var(--color-text-dark-secondary);
}

/* Micro Bar Chart Visual (S M T W T F S) */
.metric-chart-visual {
  display: flex;
  align-items: flex-end;
  gap: 7px;
  height: 60px;
  padding-left: 20px;
  border-left: var(--borderWidth-hairline) solid var(--color-border-light);
}

.chart-bar-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.chart-bar-fill {
  width: 9px;
  height: var(--bar-height, 28px);
  background: rgba(178, 121, 18, 0.2);
  border-radius: 0 !important;
  transition: background var(--primitive-duration-fast) ease, height var(--primitive-duration-fast) ease;
}

.chart-bar-unit.is-peak .chart-bar-fill {
  background: var(--color-accent-primary);
}

.chart-day-text {
  font-family: var(--font-family-body);
  font-size: 9.5px;
  font-weight: 600;
  color: var(--color-text-dark-muted);
  text-transform: none;
}

/* Right Content & Accordion Column */
.why-content-column {
  display: flex;
  flex-direction: column;
}

.why-header-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--color-accent-primary);
  margin-bottom: 14px;
}

.why-header-title {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  letter-spacing: -0.015em;
  line-height: 1.15;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin-bottom: 24px;
}

/* Accordion Component */
.why-accordion-container {
  display: flex;
  flex-direction: column;
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
}

.why-accordion-item {
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.why-accordion-header {
  width: 100%;
  padding: 18px 0;
  background: none;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
  outline: none;
  transition: color var(--primitive-duration-fast) ease;
}

.why-accordion-label-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
}

.why-accordion-icon {
  width: 22px;
  height: 22px;
  color: var(--color-accent-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.why-accordion-heading {
  font-family: var(--font-family-heading);
  font-size: clamp(15px, 1.1vw, 17.5px);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--color-text-dark-primary);
  margin: 0;
  transition: color var(--primitive-duration-fast) ease;
}

.why-accordion-header:hover .why-accordion-heading,
.why-accordion-item.is-open .why-accordion-heading {
  color: var(--color-accent-primary);
}

.why-accordion-toggle-icon {
  font-family: var(--font-family-body);
  font-size: 18px;
  font-weight: 400;
  color: var(--color-text-dark-primary);
  line-height: 1;
  transition: transform var(--primitive-duration-fast) ease;
  user-select: none;
}

.why-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), padding 0.35s ease;
  padding: 0 0 0 36px;
}

.why-accordion-item.is-open .why-accordion-content {
  max-height: 220px;
  padding: 0 0 20px 36px;
}

.why-accordion-text {
  font-family: var(--font-family-body);
  font-size: var(--font-size-body-default);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-dark-secondary);
  margin: 0;
}

/* Counters Strip (Crisp White Elevated on Studio Canvas) */
.why-stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: var(--borderWidth-hairline) solid #E2E8F0;
  background: #FFFFFF;
  color: #0E1C24;
  border-radius: 0 !important;
  box-shadow: 0 10px 30px rgba(14, 28, 36, 0.05);
}

.why-stat-item {
  padding: clamp(20px, 2.5vw, 32px);
  border-right: var(--borderWidth-hairline) solid #E2E8F0;
  text-align: center;
}

.why-stat-item:last-child {
  border-right: none;
}

.why-stat-num {
  font-family: var(--font-family-heading);
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 700;
  color: #0E1C24;
  margin-bottom: 4px;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.why-stat-label {
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.02em;
  color: #475569;
}

/* =========================================================================
   CLIENT TESTIMONIALS SECTION (SIMPLIFIED EDITORIAL CAROUSEL WITH PEEK CARDS)
   ========================================================================= */
.testimonials-section,
.testimonials-light-section {
  padding: clamp(80px, 12vh, 140px) 0;
  background-color: var(--color-canvas-white);
  border-top: none;
  border-bottom: none;
  position: relative;
  overflow: hidden;
}

.testimonials-split-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: clamp(48px, 5.5vw, 84px);
  align-items: center;
}

/* Left Column Info */
.testimonials-info-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimonial-metric-block {
  margin-bottom: 16px;
}

.testimonial-metric-num {
  font-family: var(--font-family-heading);
  font-size: clamp(38px, 4.2vw, 54px);
  font-weight: 700;
  color: #1E3460;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin-bottom: 6px;
}

.testimonial-metric-label {
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.02em;
  color: var(--color-text-dark-muted);
}

.testimonial-main-heading {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  letter-spacing: -0.015em;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  line-height: 1.15;
  margin-bottom: 12px;
  text-transform: none;
}

.testimonial-heading-italic {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  color: var(--color-accent-primary);
}

.testimonial-main-desc {
  font-family: var(--font-family-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
  margin-bottom: 36px;
  max-width: 320px;
}

/* Nav Control Buttons (Prev / Next) */
.testimonials-nav-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonials-nav-btns {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-nav-btn {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  color: var(--color-text-dark-primary);
  cursor: pointer;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: all var(--primitive-duration-fast) ease;
}

.testimonial-nav-btn:hover {
  background: var(--color-canvas-dark);
  border-color: var(--color-canvas-dark);
  color: #FFFFFF;
}

.testimonial-nav-btn:active {
  transform: scale(0.95);
}

/* Right Column Slider Container (Horizontal Peek Track) */
.testimonials-slider-col {
  position: relative;
  min-width: 0;
  width: 100%;
  overflow: hidden;
  padding: 20px 0;
}

.testimonials-carousel-track {
  display: flex;
  gap: clamp(24px, 3vw, 36px);
  width: 100%;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 36px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 16px 24px 20px 36px;
}

.testimonials-carousel-track::-webkit-scrollbar {
  display: none;
}

/* Individual Slide Card (Card 1 in full view + Card 2 peeking) */
.testimonial-slide-card {
  flex: 0 0 clamp(420px, 45vw, 560px);
  width: clamp(420px, 45vw, 560px);
  min-width: clamp(320px, 45vw, 560px);
  scroll-snap-align: start;
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: clamp(36px, 4vw, 48px) clamp(28px, 3vw, 42px) clamp(30px, 3.5vw, 40px) clamp(32px, 3.5vw, 44px);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color var(--primitive-duration-fast) ease, box-shadow var(--primitive-duration-fast) ease;
}

.testimonial-slide-card:hover {
  border-color: var(--color-accent-primary);
  box-shadow: 0 12px 32px rgba(14, 28, 36, 0.06) !important;
  background: var(--color-canvas-white);
}

/* Elevated Overlapping Quote Mark Badge on Left Border Edge */
.testimonial-quote-badge {
  position: absolute;
  top: 36px;
  left: -22px;
  width: 44px;
  height: 44px;
  background: var(--color-accent-primary);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 5;
  flex-shrink: 0;
  transition: transform var(--primitive-duration-fast) ease;
}

.testimonial-quote-badge svg {
  width: 20px;
  height: 20px;
  fill: #FFFFFF;
  display: block;
  flex-shrink: 0;
}

.testimonial-slide-card:hover .testimonial-quote-badge {
  transform: scale(1.06);
}

/* Card Top Row with Star Ratings */
.testimonial-card-top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 20px;
  min-height: 20px;
}

.testimonial-rating-stars {
  display: flex;
  align-items: center;
  gap: 3px;
  color: #D4AF37;
}

.testimonial-rating-stars svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
  display: block;
}

/* Featured Pull-Quote / Headline */
.testimonial-quote-headline {
  font-family: var(--font-family-heading);
  font-size: clamp(16px, 1.22vw, 18px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-text-dark-primary);
  margin: 0 0 16px 0;
  letter-spacing: -0.01em;
}

.testimonial-quote-body {
  font-family: var(--font-family-body);
  font-size: clamp(14.5px, 1.1vw, 16px);
  line-height: 1.7;
  color: var(--color-text-dark-primary);
  margin-bottom: 24px;
  padding-left: 2px;
}

.testimonial-quote-body p {
  margin: 0 0 14px 0;
  line-height: 1.7;
}

.testimonial-quote-body p:last-child {
  margin-bottom: 0;
}

.testimonial-card-divider {
  width: 100%;
  height: 1px;
  background: var(--color-border-light);
  margin-bottom: 20px;
}

.testimonial-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 2px;
  gap: 16px;
  flex-wrap: wrap;
}

.testimonial-author-block {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* Author Avatar with Monogram Initials */
.testimonial-author-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #0E1C24;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family-heading);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  border: 1.5px solid #C5A059;
  box-shadow: 0 2px 8px rgba(14, 28, 36, 0.1);
}

.testimonial-card-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.testimonial-card-author {
  font-family: var(--font-family-heading);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--color-text-dark-primary);
  line-height: 1.2;
}

.testimonial-card-role {
  font-family: var(--font-family-body);
  font-size: 13.5px;
  color: var(--color-text-dark-secondary);
}

/* Verified Client Trust Badge */
.testimonial-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: rgba(16, 185, 129, 0.08);
  color: #047857;
  font-size: 12px;
  font-weight: 600;
  border-radius: 20px;
  border: 1px solid rgba(16, 185, 129, 0.22);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.testimonial-verified-badge svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
}

/* =========================================================================
   STRATEGIC STEPS SECTION (STACK PARALLAX SCROLL & EXACT REFERENCE DESIGN)
   ========================================================================= */
.strategic-steps-section {
  padding: clamp(90px, 9vw, 130px) 0;
  background-color: var(--color-canvas-studio, #F4F7F8);
  border-top: 1px solid var(--color-border-light, #E2E8F0);
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
  position: relative;
}

.strategic-steps-grid {
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  gap: clamp(48px, 6vw, 84px);
  align-items: start;
  position: relative;
}

/* Left Column: Sticky Intro & Actions */
.steps-intro-col {
  position: sticky;
  top: 130px;
  align-self: start;
  max-width: 520px;
}

.steps-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0E1C24;
  margin-bottom: 20px;
}

.steps-eyebrow-square {
  width: 7px;
  height: 7px;
  background-color: #10B981;
  display: inline-block;
  flex-shrink: 0;
}

.steps-main-headline {
  font-family: var(--font-family-heading);
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 600;
  line-height: 1.14;
  color: #0E1C24;
  margin: 0 0 20px 0;
  letter-spacing: -0.02em;
}

.steps-headline-accent {
  color: #10B981;
  font-weight: inherit;
}

.steps-intro-desc {
  font-family: var(--font-family-body);
  font-size: 15.5px;
  line-height: 1.65;
  color: #64748B;
  margin: 0 0 36px 0;
}

/* Action Row */
.steps-action-row {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}

.steps-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background-color: #10B981;
  color: #FFFFFF !important;
  font-family: var(--font-family-body);
  font-size: 15px;
  font-weight: 700;
  padding: 16px 26px;
  text-decoration: none !important;
  border: none;
  border-radius: 0px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.25);
}

.steps-btn-primary:hover {
  background-color: #059669;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(16, 185, 129, 0.35);
}

.steps-btn-arrow-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  background: #F8FAFC !important;
  color: #0E1C24 !important;
  border-radius: 50% !important;
  transition: transform 0.25s ease !important;
  flex-shrink: 0 !important;
}

.steps-btn-primary:hover .steps-btn-arrow-icon {
  transform: translate(2px, -2px);
}

.steps-phone-widget {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.steps-phone-icon-btn {
  width: 46px;
  height: 46px;
  border-radius: 50% !important;
  background-color: #09151B;
  color: #FFFFFF !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  transition: all 0.25s ease;
  flex-shrink: 0;
}

.steps-phone-icon-btn:hover {
  background-color: #10B981;
  transform: scale(1.06);
}

.steps-phone-link {
  font-family: var(--font-family-body);
  font-size: 16px;
  font-weight: 700;
  color: #0E1C24 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.steps-phone-link:hover {
  color: #10B981 !important;
}

/* Right Column: Stacked Parallax Step Cards Container */
.steps-stack-container {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: relative;
  padding-bottom: 24px;
}

/* Individual Strategic Step Card (Sticky Stacking Deck) */
.strategic-step-card {
  position: sticky;
  display: flex;
  flex-direction: column;
  border-radius: 0px !important;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(9, 21, 27, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.strategic-step-card[data-step="1"] {
  top: 120px;
  z-index: 1;
}

.strategic-step-card[data-step="2"] {
  top: 144px;
  z-index: 2;
}

.strategic-step-card[data-step="3"] {
  top: 168px;
  z-index: 3;
}

.strategic-step-card[data-step="4"] {
  top: 192px;
  z-index: 4;
}

/* Color Variant: Emerald Green Card */
.step-card--green {
  background-color: #10B981;
}

.step-card--green .step-card-stripes-header {
  background-color: #10B981;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.28) 0px, rgba(255, 255, 255, 0.28) 2px, transparent 2px, transparent 10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.step-card--green .step-card-solid-body {
  background-color: #10B981;
}

.step-card--green .step-card-main-desc {
  color: rgba(255, 255, 255, 0.92);
}

/* Color Variant: Light Slate Grey Theme Card */
.step-card--dark {
  background-color: #F1F5F9;
  border: 1px solid #E2E8F0;
  box-shadow: 0 16px 40px rgba(9, 21, 27, 0.06);
}

.step-card--dark .step-card-stripes-header {
  background-color: #E2E8F0;
  background-image: repeating-linear-gradient(45deg, rgba(14, 28, 36, 0.08) 0px, rgba(14, 28, 36, 0.08) 2px, transparent 2px, transparent 10px);
  border-bottom: 1px solid #CBD5E1;
}

.step-card--dark .step-card-big-num {
  color: #0E1C24;
}

.step-card--dark .step-card-badge-circle {
  background-color: #0E1C24;
  color: #FFFFFF;
}

.step-card--dark .step-card-solid-body {
  background-color: #F1F5F9;
}

.step-card--dark .step-card-main-title {
  color: #0E1C24;
}

.step-card--dark .step-card-main-desc {
  color: #475569;
}

/* Card Top Stripes Header Band */
.step-card-stripes-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28px 40px 24px 40px;
  position: relative;
}

.step-card-big-num {
  font-family: var(--font-family-heading);
  font-size: clamp(68px, 6.8vw, 92px);
  font-weight: 800;
  color: #FFFFFF;
  line-height: 0.85;
  letter-spacing: -0.03em;
}

.step-card-badge-circle {
  width: 58px;
  height: 58px;
  border-radius: 50% !important;
  background-color: #FFFFFF;
  color: #0E1C24;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.step-card-badge-circle svg {
  display: block;
}

/* Card Bottom Solid Body */
.step-card-solid-body {
  padding: 32px 40px 48px 40px;
  display: flex;
  flex-direction: column;
}

.step-card-main-title {
  font-family: var(--font-family-body);
  font-size: clamp(24px, 2.3vw, 29px);
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 16px 0;
  line-height: 1.22;
}

.step-card-main-desc {
  font-family: var(--font-family-body);
  font-size: 15.5px;
  line-height: 1.68;
  margin: 0;
  max-width: 480px;
}

/* Responsive adjustments for steps section */
@media (max-width: 991px) {
  .strategic-steps-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .steps-intro-col {
    position: static;
    max-width: 100%;
  }
  .steps-stack-container {
    gap: 24px;
    padding-bottom: 60px;
  }
  .strategic-step-card {
    position: sticky !important;
  }
  .strategic-step-card[data-step="1"] {
    top: 76px !important;
    z-index: 1 !important;
  }
  .strategic-step-card[data-step="2"] {
    top: 96px !important;
    z-index: 2 !important;
  }
  .strategic-step-card[data-step="3"] {
    top: 116px !important;
    z-index: 3 !important;
  }
  .strategic-step-card[data-step="4"] {
    top: 136px !important;
    z-index: 4 !important;
  }
}

@media (max-width: 575px) {
  .step-card-stripes-header {
    padding: 22px 24px 18px 24px;
  }
  .step-card-solid-body {
    padding: 24px 24px 36px 24px;
  }
  .step-card-big-num {
    font-size: 54px;
  }
  .step-card-badge-circle {
    width: 48px;
    height: 48px;
  }
}

/* =========================================================================
   HOMEPAGE TESTIMONIALS SECTION
   ========================================================================= */
.testimonials-light-section {
  padding: clamp(80px, 12vh, 140px) 0;
  background: var(--color-canvas-white);
  border-top: none;
  border-bottom: none;
  position: relative;
}

.testimonials-split-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: clamp(48px, 5.5vw, 84px);
  align-items: center;
}

/* Left Column Info */
.testimonials-info-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimonial-metric-block {
  margin-bottom: 16px;
}

.testimonial-metric-num {
  font-family: var(--font-family-heading);
  font-size: clamp(38px, 4.2vw, 54px);
  font-weight: 700;
  color: #1E3460;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin-bottom: 6px;
}

.testimonial-metric-label {
  font-family: var(--font-family-body);
  font-size: 11.5px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.04em;
  color: var(--color-text-dark-muted);
}

.testimonial-main-heading {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  letter-spacing: -0.015em;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  line-height: 1.15;
  margin-bottom: 12px;
  text-transform: none;
}

.testimonial-heading-italic {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  color: var(--color-accent-primary);
}

.testimonial-main-desc {
  font-family: var(--font-family-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
  margin-bottom: 36px;
  max-width: 320px;
}

/* Nav Control Buttons (Prev / Next) */
.testimonials-nav-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonials-nav-btns {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-nav-btn {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  color: var(--color-text-dark-primary);
  cursor: pointer;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: all var(--primitive-duration-fast) ease;
}

.testimonial-nav-btn:hover {
  background: var(--color-canvas-dark);
  border-color: var(--color-canvas-dark);
  color: #FFFFFF;
}

.testimonial-nav-btn:active {
  transform: scale(0.95);
}

/* Right Column Slider Container (Horizontal Peek Track) */
.testimonials-slider-col {
  position: relative;
  min-width: 0;
  width: 100%;
  overflow: hidden;
  padding: 20px 0;
}

.testimonials-carousel-track {
  display: flex;
  gap: clamp(24px, 3vw, 36px);
  width: 100%;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 36px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 16px 24px 20px 36px;
}

.testimonials-carousel-track::-webkit-scrollbar {
  display: none;
}

/* Individual Slide Card (Card 1 in full view + Card 2 peeking) */
.testimonial-slide-card {
  flex: 0 0 clamp(420px, 45vw, 560px);
  width: clamp(420px, 45vw, 560px);
  min-width: clamp(320px, 45vw, 560px);
  scroll-snap-align: start;
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: clamp(36px, 4vw, 48px) clamp(28px, 3vw, 42px) clamp(30px, 3.5vw, 40px) clamp(32px, 3.5vw, 44px);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color var(--primitive-duration-fast) ease, box-shadow var(--primitive-duration-fast) ease;
}

.testimonial-slide-card:hover {
  border-color: var(--color-accent-primary);
  box-shadow: 0 12px 32px rgba(14, 28, 36, 0.06) !important;
  background: var(--color-canvas-white);
}

/* Elevated Overlapping Quote Mark Badge on Left Border Edge */
.testimonial-quote-badge {
  position: absolute;
  top: 36px;
  left: -22px;
  width: 44px;
  height: 44px;
  background: var(--color-accent-primary);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 5;
  flex-shrink: 0;
  transition: transform var(--primitive-duration-fast) ease;
}

.testimonial-quote-badge svg {
  width: 20px;
  height: 20px;
  fill: #FFFFFF;
  display: block;
  flex-shrink: 0;
}

.testimonial-slide-card:hover .testimonial-quote-badge {
  transform: scale(1.06);
}

.testimonial-quote-body {
  font-family: var(--font-family-body);
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.7;
  color: var(--color-text-dark-primary);
  margin-bottom: 24px;
  padding-left: 2px;
}

.testimonial-card-divider {
  width: 100%;
  height: 1px;
  background: var(--color-border-light);
  margin-bottom: 20px;
}

.testimonial-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 2px;
  gap: 16px;
  flex-wrap: wrap;
}

.testimonial-card-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.testimonial-card-author {
  font-family: var(--font-family-heading);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--color-text-dark-primary);
  line-height: 1.2;
}

.testimonial-card-role {
  font-family: var(--font-family-body);
  font-size: 13.5px;
  color: var(--color-text-dark-secondary);
}



/* =========================================================================
   HOMEPAGE FAQ ACCORDION SECTION
   ========================================================================= */
.faq-section {
  padding: clamp(80px, 10vh, 130px) 0;
  background-color: #FFFFFF !important;
  border-top: 1px solid var(--color-border-light, #E2E8F0);
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
  position: relative;
}

.faq-centered-wrap {
  max-width: 900px;
  margin: 0 auto;
}

.faq-header-centered {
  text-align: center;
  margin-bottom: clamp(36px, 4vw, 54px);
}

.faq-header-centered .section-badge {
  margin-bottom: 16px;
}

.faq-heading {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  letter-spacing: -0.015em;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  line-height: 1.15;
  margin: 0 0 16px 0;
}

.faq-desc {
  font-family: var(--font-family-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-dark-secondary);
  max-width: 640px;
  margin: 0 auto;
}

.faq-footer-prompt {
  margin-top: 40px;
  padding-top: 24px;
  border-top: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 14px;
  color: var(--color-text-dark-muted);
}

.faq-direct-prompt-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  color: var(--color-accent-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

.faq-direct-prompt-link:hover {
  color: var(--color-text-dark-primary);
}

/* Accordion Column - Convera-Inspired Minimalist Full-Width Hairline Layout */
.faq-accordion-col {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid #E2E8F0;
}

.faq-accordion-card {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #E2E8F0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0;
  transition: background-color var(--primitive-duration-fast) ease;
}

.faq-accordion-card:hover {
  border-color: #CBD5E1 !important;
}

.faq-accordion-card.is-open {
  border-color: #CBD5E1 !important;
  background: transparent !important;
}

.faq-accordion-btn {
  width: 100%;
  padding: 26px 0;
  background: transparent;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  cursor: pointer;
  outline: none;
  gap: 24px;
}

.faq-accordion-btn:focus-visible {
  outline: 2px solid var(--color-accent-primary) !important;
  outline-offset: 4px !important;
}

.faq-accordion-question {
  font-family: var(--font-family-heading);
  font-size: clamp(17px, 1.35vw, 19.5px);
  font-weight: 700;
  color: #1E293B;
  line-height: 1.35;
  margin: 0;
  transition: color var(--primitive-duration-fast) ease;
}

.faq-accordion-card:hover .faq-accordion-question {
  color: #0E1C24;
}

.faq-accordion-card.is-open .faq-accordion-question {
  color: #0E1C24;
}

/* Circular Toggle Pill */
.faq-accordion-indicator {
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  border-radius: 50% !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.25s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.faq-accordion-btn:hover .faq-accordion-indicator {
  background: #FFFFFF !important;
  border-color: #CBD5E1 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.faq-accordion-card.is-open .faq-accordion-indicator {
  background: #FFFFFF !important;
  border-color: var(--color-accent-primary, #10B981) !important;
  color: var(--color-accent-primary, #10B981) !important;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15) !important;
}

.faq-accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s ease;
  font-family: var(--font-family-body);
  font-size: 15.5px;
  line-height: 1.75;
  color: #475569;
  padding: 0 54px 0 0;
}

.faq-accordion-card.is-open .faq-accordion-body {
  max-height: 750px;
  padding-bottom: 26px;
}

.faq-accordion-answer {
  margin: 0;
  padding-top: 0;
  border-top: none;
}

@media (max-width: 640px) {
  .faq-accordion-btn {
    padding: 20px 0;
    gap: 16px;
  }
  .faq-accordion-indicator {
    width: 34px;
    height: 34px;
    font-size: 18px;
  }
  .faq-accordion-body {
    padding-right: 0;
  }
}

/* =========================================================================
   RESPONSIVE ADJUSTMENTS FOR NEW TEMPLATES
   ========================================================================= */
@media (max-width: 1024px) {
  .why-split-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .why-floating-metric {
    position: static;
    margin-top: 16px;
    width: 100%;
  }
  .why-stats-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .why-stat-item:nth-child(2) {
    border-right: none;
  }
  .why-stat-item:nth-child(1),
  .why-stat-item:nth-child(2) {
    border-bottom: var(--borderWidth-hairline) solid #E2E8F0;
  }
  .testimonials-grid {
    grid-template-columns: 1fr;
  }
  .testimonials-split-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .testimonial-slide-card {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .approach-split-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .approach-sticky-col {
    position: static;
    margin-bottom: 24px;
  }
  .approach-step-card {
    position: static !important;
    top: auto !important;
    margin-bottom: 24px;
  }
  .approach-image-card {
    height: 380px;
  }
  .pillars-grid {
    grid-template-columns: 1fr;
  }
  .service-card-item--col-4,
  .service-card-item--col-6 {
    grid-column: span 6;
  }
  .contact-split-grid {
    grid-template-columns: 1fr;
  }
  .exec-gateway-card,
  .direct-access-card {
    grid-template-columns: 1fr;
  }
  .exec-gateway-left,
  .direct-access-left {
    border-right: none;
    border-bottom: var(--borderWidth-hairline) solid var(--color-border-dark);
  }
  .footer-main-grid {
    grid-template-columns: 1fr;
    gap: var(--primitive-space-10);
  }
  .footer-newsletter-col {
    padding-right: 0;
    border-right: none;
    border-bottom: var(--borderWidth-hairline) solid var(--color-border-dark-translucent);
    padding-bottom: var(--primitive-space-10);
  }
  .footer-nav-grid {
    padding-left: 0;
  }
}

@media (max-width: 768px) {
  .why-main-image {
    height: 360px;
  }
  .why-floating-metric {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 20px;
  }
  .metric-chart-visual {
    padding-left: 0;
    border-left: none;
    border-top: var(--borderWidth-hairline) solid var(--color-border-light);
    padding-top: 14px;
    width: 100%;
    justify-content: space-between;
  }
  .why-stats-strip {
    grid-template-columns: 1fr;
  }
  .why-stat-item {
    border-right: none;
    border-bottom: var(--borderWidth-hairline) solid #E2E8F0;
  }
  .why-stat-item:last-child {
    border-bottom: none;
  }
  .testimonial-slide-card {
    flex: 0 0 100%;
    min-width: 100%;
    max-width: 100%;
    padding: 28px 20px;
  }
  .testimonial-quote-badge {
    left: -12px;
    width: 30px;
    height: 30px;
    top: 18px;
  }
  .approach-image-card {
    height: 300px;
  }
  .approach-step-card {
    padding: 24px 20px;
    margin-bottom: 24px;
    position: static;
    top: auto;
  }
  .service-card-item--col-4,
  .service-card-item--col-6,
  .service-card-item--col-12 {
    grid-column: span 12;
  }
  .exec-gateway-left,
  .exec-gateway-right,
  .direct-access-left,
  .direct-access-form-card {
    padding: 28px 20px;
  }
  .exec-metrics-grid,
  .exec-metrics-strip {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .exec-metric-item {
    padding: 0;
    border-right: none !important;
    border-bottom: var(--borderWidth-hairline) solid var(--color-border-dark-translucent);
    padding-bottom: 12px;
  }
  .exec-metric-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .exec-pillar-tabs,
  .exec-scope-switcher {
    grid-template-columns: 1fr;
  }
  .exec-mandate-chips,
  .exec-focus-grid {
    grid-template-columns: 1fr;
  }
  .exec-fields-row,
  .exec-inputs-grid {
    grid-template-columns: 1fr;
  }
  .exec-reassurance-bar {
    flex-direction: column;
    gap: 6px;
    align-items: center;
  }
  .exec-reassurance-dot {
    display: none;
  }
  .exec-form-assurances {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .direct-access-form-grid {
    grid-template-columns: 1fr;
  }
  .direct-access-form-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
  .client-type-radios {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-nav-grid {
    grid-template-columns: 1fr !important;
    gap: var(--primitive-space-8);
  }
  .footer-bottom-bar {
    flex-direction: column-reverse;
    gap: var(--primitive-space-4);
    align-items: flex-start;
  }
}

/* =========================================================================
   MASTER SERVICES & SOLUTIONS HUB COMPONENT STYLES (NORTHRIDGE STANDARD)
   ========================================================================= */

/* --- 1. Inner Page Header Banner --- */
.page-header-banner,
.page-header-banner.cinematic-hero-section {
  position: relative;
  background-color: var(--color-breadcrumb-banner-bg, #F4F7F8);
  background-image: none;
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--color-breadcrumb-banner-title, #0E1C24);
  padding: clamp(96px, 11vh, 120px) 0 clamp(24px, 3vh, 36px) 0;
  border-bottom: 1px solid var(--color-breadcrumb-banner-border, #E2E8F0);
  overflow: hidden;
}

/* --- Practice Areas Inner Page Container --- */
.inner-page-content {
  padding: clamp(48px, 6vw, 72px) 0 clamp(72px, 8vw, 104px) 0;
  background: var(--color-canvas-white);
  position: relative;
}

.page-header-pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.35;
}

.page-header-content {
  position: relative;
  z-index: 2;
  max-width: 960px;
}

.page-header-content > :last-child {
  margin-bottom: 0;
}

.header-kicker-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(178, 121, 18, 0.12);
  border: 1px solid rgba(178, 121, 18, 0.35);
  padding: 6px 14px;
  margin-bottom: 20px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-accent-light);
}

.header-kicker-dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent-primary);
  display: inline-block;
}

.page-header-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-hero);
  line-height: 1.15;
  color: var(--color-breadcrumb-banner-title, #0E1C24);
  margin-bottom: 20px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.page-header-lead {
  font-size: clamp(15px, 1.2vw, 17.5px);
  line-height: 1.65;
  color: #475569;
  max-width: 800px;
  margin-bottom: 36px;
}

/* Master Metrics Strip */
.page-header-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--color-border-dark);
  border: 1px solid var(--color-border-dark);
  margin-top: 36px;
}

.page-header-stat-item {
  background: var(--color-canvas-dark-card);
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stat-monumental-num {
  font-family: var(--font-family-heading);
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.1;
  font-weight: 600;
  color: var(--color-accent-light);
  margin-bottom: 6px;
}

.stat-monumental-label {
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.72);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
}

/* --- 2. Practice Directory Header & Filter Dock --- */
.services-hub-header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: clamp(36px, 4.5vw, 52px);
  padding-bottom: 0;
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
  width: 100%;
}

.services-hub-header-left {
  display: none;
}

.services-hub-title {
  display: none;
}

.services-hub-desc {
  display: none;
}

.practice-filter-dock {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(20px, 3vw, 40px);
  background: transparent !important;
  border: none !important;
  padding: 0;
  margin-bottom: -1px;
  flex-wrap: wrap;
}

.filter-tab-btn {
  background: transparent !important;
  border: none !important;
  padding: 10px 4px 16px 4px;
  font-family: var(--font-family-body);
  font-size: 15px;
  font-weight: 500;
  color: #334155;
  cursor: pointer;
  transition: color 0.2s ease;
  white-space: nowrap;
  position: relative;
  border-radius: 0 !important;
  outline: none;
}

.filter-tab-btn:hover {
  color: var(--color-accent-primary, #10B981);
  background: transparent !important;
}

.filter-tab-btn.active {
  background: transparent !important;
  color: var(--color-accent-primary, #10B981) !important;
  font-weight: 600;
}

.filter-tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2.5px;
  background: var(--color-accent-primary, #10B981);
  border-radius: 2px 2px 0 0;
}

/* --- 3. Master Services Grid & Cards (1-Column Horizontal Architecture) --- */
.services-master-grid,
.services-master-list {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.service-master-card {
  background: var(--color-canvas-white);
  border: 1px solid var(--color-border-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  border-radius: 0px !important;
  overflow: hidden;
  transition: all 350ms cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
  z-index: 1;
}

.service-master-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 95% at 95% 100%, #DCFCE7 0%, #F0FDF4 35%, #FFFFFF 85%);
  opacity: 0;
  transition: opacity 350ms cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
  pointer-events: none;
}

.service-master-card > * {
  position: relative;
  z-index: 2;
}

.service-master-card:hover::before {
  opacity: 1;
}

.service-master-card:hover {
  background: radial-gradient(120% 95% at 95% 100%, #DCFCE7 0%, #F0FDF4 35%, #FFFFFF 85%) !important;
  border-color: #6EE7B7 !important;
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -10px rgba(16, 185, 129, 0.2), 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.service-card-body {
  padding: 36px 32px 28px 32px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.service-card-icon {
  width: 54px;
  height: 54px;
  border-radius: 50% !important;
  background: #EFF4F6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #10B981;
  margin-bottom: 24px;
  transition: all 300ms ease;
  flex-shrink: 0;
}

.service-card-icon svg {
  width: 24px;
  height: 24px;
  transition: stroke 300ms ease;
}

.service-master-card:hover .service-card-icon {
  background-color: #10B981 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

.service-card-title {
  font-family: var(--font-family-heading);
  font-size: 21px;
  line-height: 1.3;
  color: #0E1C24;
  margin-bottom: 14px;
  font-weight: 700;
  letter-spacing: -0.015em;
  transition: color 300ms ease;
}

.service-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 300ms ease;
}

.service-master-card:hover .service-card-title,
.service-master-card:hover .service-card-title a {
  color: #064E3B !important;
}

.service-card-excerpt {
  font-size: 14.5px;
  line-height: 1.65;
  color: #64748B;
  margin-bottom: 0;
  flex-grow: 1;
  transition: color 300ms ease;
}

.service-master-card:hover .service-card-excerpt {
  color: #475569 !important;
}

.service-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 32px;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  transition: border-color 300ms ease;
}

.service-master-card:hover .service-card-footer {
  border-top-color: rgba(16, 185, 129, 0.25) !important;
}

.service-card-learn-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 600;
  color: #0E1C24;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1.5px;
  text-decoration-color: #0E1C24;
  transition: all 300ms ease;
}

.service-card-learn-more .arrow {
  display: inline-block;
  font-size: 15px;
  line-height: 1;
  transition: transform 200ms ease;
}

.service-master-card:hover .service-card-learn-more {
  color: #064E3B !important;
  text-decoration-color: #10B981 !important;
}

.service-master-card:hover .service-card-learn-more .arrow {
  transform: translate(2px, -2px);
}

.service-card-index {
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #0E1C24;
  letter-spacing: 0.05em;
  transition: color 300ms ease;
}

.service-master-card:hover .service-card-index {
  color: #10B981 !important;
}

.btn-service-explore {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  background: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--transition-fast);
  border-radius: 3px;
}

.btn-service-explore:hover {
  background: var(--color-accent-primary);
  color: var(--color-text-light-primary);
}

.btn-service-explore .arrow-icon {
  transition: transform var(--transition-fast);
}

.btn-service-explore:hover .arrow-icon {
  transform: translateX(4px);
}

/* --- Full Content Service Master Cards (Horizontal 1-Column Architecture) --- */
.service-master-card--horizontal,
.service-master-card--full {
  display: flex;
  flex-direction: column;
  background: var(--color-canvas-white, #FFFFFF);
  border: 1px solid var(--color-border-light, #E2E8F0);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  transition: all 350ms cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
  padding: 36px 40px;
  border-radius: 0px !important;
}

.service-master-card--horizontal::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 95% at 95% 100%, #DCFCE7 0%, #F0FDF4 35%, #FFFFFF 85%);
  opacity: 0;
  transition: opacity 350ms cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
  pointer-events: none;
}

.service-master-card--horizontal > * {
  position: relative;
  z-index: 2;
}

.service-master-card--horizontal:hover::before {
  opacity: 1;
}

.service-master-card--horizontal:hover {
  border-color: #6EE7B7 !important;
  transform: translateY(-3px);
  box-shadow: 0 20px 40px -10px rgba(16, 185, 129, 0.18), 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

/* Card Header / Meta Strip */
.service-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 22px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
}

.service-card-header-left {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.service-card-index {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 15px;
  font-weight: 800;
  color: #10B981;
  letter-spacing: 0.06em;
  line-height: 1;
}

.service-card-kicker-badge {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #047857;
  background: #ECFDF5;
  padding: 5px 12px;
  border: 1px solid #A7F3D0;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  border-radius: 0px;
}

.service-card-header .service-card-icon {
  width: 50px;
  height: 50px;
  border-radius: 50% !important;
  background: #EFF4F6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0E1C24;
  margin-bottom: 0;
  transition: all 300ms ease;
  flex-shrink: 0;
}

.service-card-header .service-card-icon svg {
  width: 22px;
  height: 22px;
  transition: stroke 300ms ease;
}

.service-master-card--horizontal:hover .service-card-header .service-card-icon {
  background-color: #10B981 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

/* Card Main 2-Column Split */
.service-card-main-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 48px;
  align-items: stretch;
}

/* Overview Column (Left) */
.service-card-col-overview {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.service-card-title {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(22px, 2.2vw, 26px);
  line-height: 1.25;
  color: #0E1C24;
  margin: 0 0 8px 0;
  font-weight: 700;
  letter-spacing: -0.015em;
  transition: color 300ms ease;
}

.service-master-card--horizontal:hover .service-card-title {
  color: #064E3B !important;
}

.service-card-headline {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 15.5px;
  font-weight: 600;
  color: #059669;
  line-height: 1.45;
  margin: 0 0 18px 0;
  letter-spacing: -0.01em;
}

.service-card-narrative {
  font-size: 15px;
  line-height: 1.7;
  color: #475569;
  margin-bottom: 22px;
}

.service-card-narrative p {
  margin-bottom: 12px;
}

.service-card-narrative p:last-child {
  margin-bottom: 0;
}

.service-card-callout {
  border-left: 3px solid #10B981;
  background: #F0FDF4;
  padding: 14px 18px;
  margin-bottom: 26px;
  border-radius: 0px;
}

.service-callout-text {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: #064E3B;
  font-weight: 500;
}

.service-card-action-wrap {
  margin-top: auto;
  padding-top: 4px;
}

.service-card-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 24px;
  background: #0E1C24;
  color: #FFFFFF !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 250ms ease;
  border: 1px solid transparent;
  width: auto;
  max-width: 100%;
  border-radius: 0px;
}

.service-card-cta-btn:hover {
  background: #10B981;
  color: #FFFFFF !important;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.35);
}

.service-card-cta-btn .arrow {
  font-size: 15px;
  line-height: 1;
  transition: transform 200ms ease;
  display: inline-block;
}

.service-card-cta-btn:hover .arrow {
  transform: translate(3px, -3px);
}

/* Solutions Column (Right) */
.service-card-col-solutions {
  display: flex;
  flex-direction: column;
}

.service-solutions-panel-inner {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  padding: 28px 28px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  border-radius: 0px;
}

.service-solutions-heading {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #0E1C24;
  margin: 0 0 16px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.service-solutions-heading::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #10B981;
  border-radius: 50%;
  flex-shrink: 0;
}

.service-solutions-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.service-solutions-item {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-size: 13.5px;
  line-height: 1.55;
  color: #334155;
}

.service-solutions-bullet {
  color: #10B981;
  flex-shrink: 0;
  margin-top: 2px;
  display: inline-flex;
}

.service-solutions-item strong {
  color: #0E1C24;
  font-weight: 700;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
  .service-master-card--horizontal,
  .service-master-card--full {
    padding: 32px 28px;
  }
  .service-card-main-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 600px) {
  .service-master-card--horizontal,
  .service-master-card--full {
    padding: 24px 20px;
  }
  .service-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    margin-bottom: 20px;
  }
  .service-card-header-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    flex: 1;
    min-width: 0;
  }
  .service-card-kicker-badge {
    font-size: 10.5px;
    padding: 4px 8px;
    white-space: normal;
    line-height: 1.3;
  }
  .service-card-header .service-card-icon {
    width: 44px;
    height: 44px;
  }
  .service-card-header .service-card-icon svg {
    width: 20px;
    height: 20px;
  }
  .service-card-main-grid {
    gap: 32px;
  }
  .service-solutions-panel-inner {
    padding: 22px 18px;
  }
  .service-card-cta-btn {
    width: 100%;
    justify-content: center;
    gap: 12px;
  }
}

/* --- 4. Dual-Pillar Framework Matrix Section --- */
.dual-pillar-section {
  background: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  padding: clamp(80px, 10vw, 120px) 0;
  position: relative;
}

.dual-pillar-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 56px auto;
}

.dual-pillar-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-section);
  color: var(--color-text-light-primary);
  margin: 14px 0 16px 0;
}

.dual-pillar-lead {
  font-size: var(--font-size-body-lead);
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.65;
}

.dual-pillar-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 40px;
}

.pillar-column-card {
  background: var(--color-canvas-dark-card);
  border: 1px solid var(--color-border-dark);
  padding: 40px 36px;
}

.pillar-card-header {
  border-bottom: 1px solid var(--color-border-dark);
  padding-bottom: 24px;
  margin-bottom: 28px;
}

.pillar-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-accent-light);
  background: rgba(178, 121, 18, 0.15);
  border: 1px solid rgba(178, 121, 18, 0.35);
  padding: 4px 10px;
  margin-bottom: 12px;
}

.pillar-card-title {
  font-family: var(--font-family-heading);
  font-size: 22px;
  color: var(--color-text-light-primary);
  margin-bottom: 8px;
}

.pillar-card-subtitle {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.55;
}

.pillar-card-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.pillar-feature-row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.pillar-feature-icon {
  color: var(--color-accent-primary);
  font-size: 12px;
  margin-top: 4px;
  flex-shrink: 0;
}

.pillar-feature-row h4 {
  font-family: var(--font-family-body);
  font-size: 15.5px;
  font-weight: 600;
  color: var(--color-text-light-primary);
  margin-bottom: 4px;
}

.pillar-feature-row p {
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
}

.cross-pillar-multiplier-box {
  background: rgba(178, 121, 18, 0.08);
  border: 1px solid rgba(178, 121, 18, 0.4);
  padding: 28px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: wrap;
}

.multiplier-icon-wrapper {
  color: var(--color-accent-light);
  flex-shrink: 0;
}

.multiplier-text-content {
  flex: 1;
  min-width: 280px;
}

.multiplier-title {
  font-family: var(--font-family-heading);
  font-size: 18px;
  color: var(--color-accent-light);
  margin-bottom: 6px;
}

.multiplier-desc {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
}

.multiplier-cta-btn {
  flex-shrink: 0;
  padding: 12px 24px;
  font-size: 13px;
}

/* --- 5. 4-Stage Methodology Section --- */
.methodology-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 56px auto;
}

.methodology-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-section);
  color: var(--color-text-dark-primary);
  margin: 12px 0 14px 0;
}

.methodology-lead {
  font-size: var(--font-size-body-lead);
  color: var(--color-text-dark-secondary);
  line-height: 1.65;
}

.methodology-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.methodology-step-card {
  background: var(--color-canvas-white);
  border: 1px solid var(--color-border-light);
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.methodology-step-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--color-border-light);
  transition: background var(--transition-fast);
}

.methodology-step-card:hover::before {
  background: var(--color-accent-primary);
}

.step-num-badge {
  font-family: var(--font-family-heading);
  font-size: 28px;
  font-weight: 700;
  color: var(--color-accent-primary);
  margin-bottom: 14px;
  line-height: 1;
}

.step-title {
  font-family: var(--font-family-heading);
  font-size: 16.5px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin-bottom: 12px;
  line-height: 1.35;
}

.step-desc {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary);
  margin-bottom: 20px;
  flex: 1;
}

.step-duration {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-dark-muted);
  border-top: 1px solid var(--color-border-light);
  padding-top: 12px;
}

/* --- 6. Fiduciary Comparison Table --- */
.comparison-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 48px auto;
}

.comparison-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-section);
  color: var(--color-text-dark-primary);
  margin: 12px 0 14px 0;
}

.comparison-lead {
  font-size: var(--font-size-body-lead);
  color: var(--color-text-dark-secondary);
  line-height: 1.65;
}

.comparison-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--color-border-light);
  background: var(--color-canvas-white);
}

.fiduciary-comparison-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 14px;
}

.fiduciary-comparison-table th,
.fiduciary-comparison-table td {
  padding: 18px 24px;
  border-bottom: 1px solid var(--color-border-light);
  line-height: 1.5;
}

.fiduciary-comparison-table th {
  font-family: var(--font-family-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(14, 28, 36, 0.03);
  color: var(--color-text-dark-primary);
}

.fiduciary-comparison-table .col-highlight {
  background: rgba(178, 121, 18, 0.05);
  font-weight: 500;
}

.fiduciary-comparison-table th.col-highlight {
  background: rgba(178, 121, 18, 0.12);
  color: var(--color-accent-primary);
}

.table-check {
  color: #10B981;
  font-weight: 700;
  margin-right: 6px;
}

.table-cross {
  color: #EF4444;
  font-weight: 700;
  margin-right: 6px;
}

/* --- 7. Executive Practice FAQs --- */
.services-faq-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 48px auto;
}

.services-faq-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-section);
  color: var(--color-text-dark-primary);
  margin: 12px 0 14px 0;
}

.services-faq-lead {
  font-size: var(--font-size-body-lead);
  color: var(--color-text-dark-secondary);
  line-height: 1.65;
}

.service-faq-accordion-group {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.faq-item {
  border: 1px solid var(--color-border-light);
  background: var(--color-canvas-white);
}

.faq-question-btn {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  padding: 22px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-family-body);
  font-size: 15.5px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  cursor: pointer;
  gap: 16px;
}

.faq-question-btn:hover {
  color: var(--color-accent-primary);
}

.faq-toggle-icon {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-accent-primary);
  line-height: 1;
}

.faq-answer-pane {
  padding: 0 28px 24px 28px;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--color-text-dark-secondary);
  border-top: 1px solid rgba(229, 228, 222, 0.5);
}

.faq-answer-pane p {
  margin-top: 16px;
}

/* --- 8. Services Direct CTA Banner --- */
.services-cta-banner {
  background: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  padding: clamp(72px, 8vw, 100px) 0;
  border-top: 1px solid var(--color-border-dark);
}

.services-cta-inner {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.services-cta-title {
  font-family: var(--font-family-heading);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 600;
  color: var(--color-text-light-primary);
  margin: 16px 0 18px 0;
  line-height: 1.2;
}

.services-cta-lead {
  font-size: var(--font-size-body-lead);
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.65;
  margin-bottom: 32px;
}

.services-cta-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Responsive Overrides */
@media (max-width: 1024px) {
  .page-header-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .services-master-grid,
  .services-master-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .dual-pillar-grid {
    grid-template-columns: 1fr;
  }
  .methodology-steps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .page-header-stats-grid {
    grid-template-columns: 1fr;
  }
  .services-master-grid,
  .services-master-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .practice-filter-dock {
    display: flex;
    justify-content: flex-start;
    overflow-x: auto;
    width: 100%;
    gap: 20px;
    padding: 0 4px 2px 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
  }
  .practice-filter-dock::-webkit-scrollbar {
    display: none;
  }
  .filter-tab-btn {
    font-size: 14px;
    padding: 8px 4px 14px 4px;
    text-align: left;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .methodology-steps-grid {
    grid-template-columns: 1fr;
  }
  .cross-pillar-multiplier-box {
    flex-direction: column;
    align-items: flex-start;
  }
  .multiplier-cta-btn {
    width: 100%;
    text-align: center;
  }
}

/* =========================================================================
   SERVICE DETAIL CONVERSION ARCHITECTURE (DECLUTTERED & STREAMLINED)
   ========================================================================= */

/* 1. Service Hero Banner (Clean, Solid Dark Canvas - No Grid) */
.service-hero-banner {
  padding: clamp(120px, 11vw, 150px) 0 clamp(44px, 5vw, 64px) 0;
  background: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--color-border-dark);
}

.service-hero-content {
  max-width: 860px;
  position: relative;
  z-index: 2;
}

/* Breadcrumbs integrated inside Hero */
.service-hero-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0 auto 14px auto;
  padding: 0;
  font-family: var(--font-family-body);
  font-size: 13px;
  color: var(--color-breadcrumb-text, #64748B);
  flex-wrap: wrap;
}

.service-hero-breadcrumb a {
  color: var(--color-breadcrumb-link, #475569);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--primitive-duration-fast) ease;
}

.service-hero-breadcrumb a:hover {
  color: var(--color-breadcrumb-link-hover, #059669);
}

.service-hero-breadcrumb .service-breadcrumb-sep {
  color: var(--color-breadcrumb-sep, #94A3B8);
  font-size: 11px;
}

.service-hero-breadcrumb .service-breadcrumb-current {
  color: var(--color-breadcrumb-current, #059669);
  font-weight: 600;
}

/* Single Elegant Kicker Badge (NO dual badge clutter) */
.service-hero-kicker-wrap {
  margin-bottom: 16px;
}

.service-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent !important;
  border: none !important;
  color: var(--color-accent-primary) !important;
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0 !important;
}

.service-hero-badge-dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent-primary);
  border-radius: 0 !important;
}

/* Title: Clean, readable Title Case without screaming all-caps */
.service-hero-title {
  font-family: var(--font-family-heading);
  font-size: clamp(26px, 3.2vw, 42px);
  font-weight: 600;
  line-height: 1.22;
  color: var(--color-text-light-primary);
  margin: 0 0 16px 0;
  letter-spacing: var(--letter-spacing-tight);
  text-transform: none;
}

.service-hero-lead {
  font-family: var(--font-family-body);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.6;
  color: var(--color-text-light-secondary);
  max-width: 760px;
  margin: 0 0 24px 0;
}

.service-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.service-hero-actions .btn {
  padding: 12px 24px;
  font-size: 13px;
  font-weight: 600;
}

/* Service Detail Page - Pure Clean Solid Canvas (No Grid Patterns) */
body.service-detail-page,
.single-services body,
.page-template-page-service-detail body {
  background-color: var(--color-text-light-primary) !important;
  background-image: none !important;
}

/* 2. Main 2-Column Editorial Conversion Layout */
.service-detail-section {
  padding: clamp(48px, 6vw, 80px) 0;
  background-color: var(--color-text-light-primary) !important;
  background-image: none !important;
}

.service-detail-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
}

.service-main-content {
  min-width: 0;
}

/* Featured Media Frame (Refined Editorial Height) */
.service-featured-frame {
  margin-bottom: 36px;
  border-radius: 0 !important;
  border: 1px solid var(--color-border-light, #E2E8F0);
  background: var(--color-canvas-base, #F8FAFC);
  overflow: hidden;
  max-height: 320px;
  box-shadow: none;
}

.service-featured-img {
  width: 100%;
  height: clamp(220px, 25vw, 320px);
  object-fit: cover;
  display: block;
}

.service-article-headline {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 700;
  line-height: 1.35;
  color: #071219;
  margin-bottom: 28px;
  letter-spacing: -0.015em;
}

.service-lead-intro p {
  font-size: clamp(17px, 1.3vw, 19px);
  line-height: 1.85;
  color: #1E293B;
  font-weight: 450;
  margin-bottom: 20px;
}

.service-editorial-section {
  margin-bottom: 40px;
}

.service-editorial-section h3 {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 700;
  color: #071219;
  margin-top: 36px;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

.service-editorial-section p {
  font-size: 16.5px;
  line-height: 1.85;
  color: #334155;
  margin-bottom: 18px;
}

.service-takeaway-box {
  margin-top: 44px;
  padding: 24px 28px;
  background: #F8FAFC;
  border-left: 4px solid #10B981;
  border-top: 1px solid #E2E8F0;
  border-right: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0;
  border-radius: 0 !important;
}

/* Streamlined Problem vs. Solution Card (Before/After) */
.service-comparison-block {
  margin-bottom: 36px;
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  overflow: hidden;
}

.service-comparison-header {
  padding: 14px 20px;
  background: var(--color-canvas-white);
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.service-comparison-header h2 {
  font-family: var(--font-family-heading);
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0;
}

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

.service-problem-col {
  padding: 20px;
  background: rgba(220, 38, 38, 0.025);
  border-right: var(--borderWidth-hairline) solid var(--color-border-light);
}

.service-solution-col {
  padding: 20px;
  background: rgba(178, 121, 18, 0.035);
}

.comparison-col-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  margin-bottom: 8px;
}

.comparison-col-badge--problem {
  background: rgba(220, 38, 38, 0.08);
  color: #DC2626;
}

.comparison-col-badge--solution {
  background: rgba(178, 121, 18, 0.12);
  color: var(--color-accent-primary);
}

.comparison-col-text {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--color-text-dark-secondary);
  margin: 0;
}

/* Editorial Summary Lead */
.service-article-lead {
  font-size: 16px;
  line-height: 1.65;
  color: var(--color-text-dark-primary);
  font-weight: 400;
  margin-bottom: 32px;
  border-left: 3px solid var(--color-accent-primary);
  padding-left: 16px;
}

/* Structured Deliverables Grid (Clean & Scannable) */
.service-deliverables-section {
  margin: 36px 0;
}

.service-deliverables-title {
  font-family: var(--font-family-heading);
  font-size: 19px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 16px 0;
}

.service-deliverables-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.service-deliverable-item {
  background: var(--color-canvas-white);
  padding: 16px 18px;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  transition: border-color var(--primitive-duration-fast) ease;
}

.service-deliverable-item:hover {
  border-color: var(--color-accent-primary);
}

.deliverable-item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.deliverable-item-icon {
  width: 18px;
  height: 18px;
  background: var(--color-accent-primary);
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex-shrink: 0;
}

.deliverable-item-name {
  font-family: var(--font-family-heading);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0;
}

.deliverable-item-desc {
  font-size: 13px;
  color: var(--color-text-dark-secondary);
  line-height: 1.5;
  margin: 0;
}

/* 4-Phase Compact Methodology Timeline */
.service-methodology-section {
  margin: 40px 0;
}

.service-methodology-title {
  font-family: var(--font-family-heading);
  font-size: 19px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 16px 0;
}

.service-methodology-timeline {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.methodology-step-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 14px 16px;
  transition: border-color var(--primitive-duration-fast) ease;
}

.methodology-step-card:hover {
  border-color: var(--color-accent-primary);
}

.methodology-step-badge {
  background: var(--color-canvas-dark);
  color: var(--color-accent-primary);
  padding: 6px 8px;
  font-family: var(--font-family-heading);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}

.methodology-step-content {
  min-width: 0;
}

.methodology-step-name {
  font-family: var(--font-family-heading);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 3px 0;
}

.methodology-step-text {
  font-size: 12.5px;
  color: var(--color-text-dark-secondary);
  line-height: 1.45;
  margin: 0;
}

/* Practice Area FAQs Accordion */
.service-faqs-section {
  margin: 40px 0 24px 0;
}

.service-faqs-title {
  font-family: var(--font-family-heading);
  font-size: 19px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 16px 0;
}

.service-faq-item {
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  background: var(--color-canvas-white);
  margin-bottom: 8px;
}

.service-faq-item.is-open {
  border-color: var(--color-accent-primary);
}

.service-faq-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: transparent;
  border: none;
  text-align: left;
  font-family: var(--font-family-heading);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  cursor: pointer;
  gap: 14px;
  border-radius: 0;
}

.service-faq-icon {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-accent-primary);
  transition: transform var(--primitive-duration-fast) ease;
  flex-shrink: 0;
}

.service-faq-item.is-open .service-faq-icon {
  transform: rotate(45deg);
}

.service-faq-body {
  padding: 0 18px 14px 18px;
  font-family: var(--font-family-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-text-dark-secondary);
  display: none;
}

.service-faq-item.is-open .service-faq-body {
  display: block;
}

/* Right Sticky Sidebar Dock */
.service-sidebar-dock {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.service-sidebar-card {
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 18px;
}

.service-sidebar-card--dark {
  background: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  border-color: var(--color-border-dark);
}

.sidebar-card-title {
  font-family: var(--font-family-heading);
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: var(--color-text-dark-primary);
  padding-bottom: 8px;
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.service-sidebar-card--dark .sidebar-card-title {
  color: var(--color-text-light-primary);
  border-bottom-color: var(--color-border-dark-translucent);
}

/* Fiduciary Trust Checklist in Sidebar */
.sidebar-trust-list {
  list-style: none;
  margin: 12px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sidebar-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--color-text-light-secondary);
}

.sidebar-trust-item svg {
  color: var(--color-accent-primary);
  flex-shrink: 0;
}

/* Sidebar Practice Navigation List */
.sidebar-practice-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sidebar-practice-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  font-family: var(--font-family-body);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--color-text-dark-secondary);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: all var(--primitive-duration-fast) ease;
}

.sidebar-practice-link:hover {
  color: var(--color-accent-primary);
  background: var(--color-canvas-base);
  border-left-color: var(--color-accent-primary);
}

.sidebar-practice-link.is-active {
  color: var(--color-accent-primary);
  background: rgba(178, 121, 18, 0.06);
  border-left-color: var(--color-accent-primary);
  font-weight: 600;
}

.sidebar-practice-link .arrow {
  color: var(--color-text-dark-muted);
  font-size: 12px;
  transition: transform var(--primitive-duration-fast) ease;
}

.sidebar-practice-link:hover .arrow,
.sidebar-practice-link.is-active .arrow {
  transform: translateX(4px);
  color: var(--color-accent-primary);
}

/* Sidebar Consultation Mini Widget */
.sidebar-cta-text {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--color-text-light-secondary);
  margin-bottom: 14px;
}

.sidebar-cta-btn {
  width: 100%;
  padding: 11px 16px;
  background: var(--color-accent-primary);
  color: #FFFFFF;
  border: 1px solid var(--color-accent-primary);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all var(--primitive-duration-fast) ease;
}

.sidebar-cta-btn:hover {
  background: var(--color-accent-light);
  color: #FFFFFF;
}

/* Sidebar Hotline Card */
.sidebar-hotline-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  margin-bottom: 8px;
}

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

.sidebar-hotline-item a {
  color: var(--color-text-dark-primary);
  text-decoration: none;
  font-weight: 600;
  transition: color var(--primitive-duration-fast) ease;
}

.sidebar-hotline-item a:hover {
  color: var(--color-accent-primary);
}

.sidebar-hotline-item svg {
  color: var(--color-accent-primary);
  flex-shrink: 0;
}

/* Adjacent Service Navigation */
.service-adjacent-nav {
  padding: 20px 0;
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  margin-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.service-adjacent-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-family: var(--font-family-body);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  transition: color var(--primitive-duration-fast) ease;
}

.service-adjacent-link:hover {
  color: var(--color-accent-primary);
}

.service-adjacent-link svg {
  color: var(--color-accent-primary);
  transition: transform var(--primitive-duration-fast) ease;
}

.service-adjacent-link--prev:hover svg {
  transform: translateX(-3px);
}

.service-adjacent-link--next:hover svg {
  transform: translateX(3px);
}

/* Responsive Rules for Service Details */
@media (max-width: 1024px) {
  .service-detail-layout {
    grid-template-columns: 1fr;
  }
  .service-sidebar-dock {
    position: static;
    margin-top: 36px;
  }
  .service-comparison-grid {
    grid-template-columns: 1fr;
  }
  .service-problem-col {
    border-right: none;
    border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
  }
}

@media (max-width: 768px) {
  .service-deliverables-grid {
    grid-template-columns: 1fr;
  }
  .service-methodology-timeline {
    grid-template-columns: 1fr;
  }
  .service-featured-img {
    height: 200px;
  }
  .service-adjacent-nav {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* =========================================================================
   ABOUT US & FOUNDER STORY ARCHITECTURE (NORTHRIDGE STANDARD)
   ========================================================================= */

/* 1. About Page Clean Canvas Base */
.about-page-main {
  background: var(--color-canvas-white);
  color: var(--color-text-dark-primary);
}

/* 2. Authority Counters Bar in Hero */
.hero-authority-strip {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  padding-top: 0;
  border-top: none;
  flex-wrap: wrap;
}

.hero-authority-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-light-primary);
  background: rgba(255, 255, 255, 0.05);
  border: var(--borderWidth-hairline) solid rgba(255, 255, 255, 0.15);
  padding: 6px 14px;
}

.hero-authority-badge svg {
  color: var(--color-accent-primary);
  flex-shrink: 0;
}

/* 3. Founder Profile & Leadership Section */
.founder-profile-section {
  padding: clamp(48px, 5.5vw, 72px) 0;
  background: var(--color-canvas-white);
  border-bottom: none;
}

.founder-profile-grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: clamp(40px, 5vw, 72px);
  align-items: start;
}

.founder-media-card {
  position: sticky;
  top: 100px;
}

/* Founder social toolbar: reuses the member .leader-social-* system.
   Attached flush to the portrait frame (shared edge, no gap) so the
   portrait + credentials + socials read as ONE card. */
.founder-media-card .founder-social-bar {
  margin-top: 0;
  background: var(--color-canvas-base, #FFFFFF);
  border: var(--borderWidth-hairline) solid var(--color-border-light, #E2E8F0);
  border-top: none;
  padding: 12px 16px 14px;
}

.founder-portrait-frame {
  position: relative;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  background: var(--color-canvas-base);
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(14, 28, 36, 0.06);
}

.founder-portrait-img {
  width: 100%;
  height: clamp(380px, 40vw, 480px);
  object-fit: cover;
  object-position: top center;
  display: block;
}

.founder-credential-pill {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  padding: 16px 20px;
  border-top: var(--borderWidth-hairline) solid #E2E8F0;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.04);
  text-align: center;
}

.founder-name {
  font-family: var(--font-family-heading);
  font-size: 19px;
  font-weight: 700;
  color: #0E1C24 !important;
  margin: 0 0 3px 0;
}

.founder-title {
  font-size: 12.5px;
  font-weight: 700;
  color: #059669 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0;
}

.founder-quote-box {
  margin-top: 20px;
  padding: 18px 20px;
  background: var(--color-canvas-base);
  border-left: 3px solid var(--color-accent-primary);
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  border-right: var(--borderWidth-hairline) solid var(--color-border-light);
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.founder-quote-text {
  font-family: var(--font-family-heading);
  font-size: 14.5px;
  font-style: italic;
  line-height: 1.55;
  color: var(--color-text-dark-primary);
  margin: 0;
}

/* Founder Narrative Column */
.founder-narrative-col {
  min-width: 0;
}

.section-kicker-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent !important;
  border: none !important;
  color: var(--color-accent-primary) !important;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0 !important;
  margin-bottom: 14px;
}

.section-kicker-tag .dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent-primary);
  border-radius: 0 !important;
}

.narrative-headline {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: var(--color-text-dark-primary, #0F172A);
  margin: 0 0 20px 0;
}

.narrative-lead {
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
  margin-bottom: 24px;
  font-weight: 400;
}

.narrative-body p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-dark-secondary);
  margin-bottom: 18px;
}

.narrative-body strong {
  color: var(--color-text-dark-primary);
}

.narrative-breakout-card {
  margin: 32px 0;
  padding: 24px;
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.breakout-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.breakout-title {
  font-family: var(--font-family-heading);
  font-size: 14.5px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  display: flex;
  align-items: center;
  gap: 8px;
}

.breakout-title svg {
  color: var(--color-accent-primary);
  flex-shrink: 0;
}

.breakout-desc {
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-text-dark-secondary);
  margin: 0;
}

/* 4. Core Tenets & Advisory Philosophy Section */
.about-tenets-section {
  padding: clamp(72px, 8vw, 100px) 0;
  background: var(--color-canvas-base);
  border-bottom: none;
}

.section-header-centered {
  text-align: center;
  max-width: 760px;
  margin: 0 auto clamp(36px, 5vw, 56px) auto;
}

.section-centered-title {
  font-family: var(--font-family-heading);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 10px 0 14px 0;
}

.section-centered-lead {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary);
  margin: 0;
}

.tenets-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.tenet-card {
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-top: 3px solid var(--color-accent-primary);
  padding: 32px 26px;
  display: flex;
  flex-direction: column;
  transition: transform var(--primitive-duration-fast) ease, box-shadow var(--primitive-duration-fast) ease;
}

.tenet-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(14, 28, 36, 0.06);
}

.tenet-num-badge {
  font-family: var(--font-family-heading);
  font-size: 14px;
  font-weight: 800;
  color: var(--color-accent-primary);
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 14px;
}

.tenet-card-title {
  font-family: var(--font-family-heading);
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 12px 0;
  line-height: 1.35;
}

.tenet-card-text {
  font-size: 14px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
  margin: 0;
  flex: 1;
}

/* 5. Dual-Pillar Framework Section */
.about-pillars-section {
  padding: clamp(72px, 9vw, 110px) 0;
  background: var(--color-canvas-white);
  border-bottom: none;
}

.pillars-split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

.pillar-arch-card {
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
}

.pillar-arch-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.pillar-tag {
  font-family: var(--font-family-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-accent-primary);
}

.pillar-arch-title {
  font-family: var(--font-family-heading);
  font-size: 21px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 10px 0;
}

.pillar-arch-desc {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary);
  margin-bottom: 20px;
}

.pillar-capabilities-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pillar-capability-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: var(--color-text-dark-primary);
  line-height: 1.45;
}

.pillar-capability-item svg {
  color: var(--color-accent-primary);
  flex-shrink: 0;
  margin-top: 2px;
}

/* Cross-Pillar Multiplier Box */
.cross-pillar-box {
  background: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  border: var(--borderWidth-hairline) solid var(--color-border-dark);
  padding: 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
}

.cross-pillar-content h3 {
  font-family: var(--font-family-heading);
  font-size: 19px;
  font-weight: 600;
  color: var(--color-text-light-primary);
  margin: 0 0 8px 0;
}

.cross-pillar-content p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text-light-secondary);
  margin: 0;
}

.cross-pillar-actions .btn {
  white-space: nowrap;
}

/* 6. Impact Metrics Strip */
.impact-metrics-section {
  padding: clamp(48px, 6vw, 64px) 0;
  background: var(--color-canvas-dark);
  border-bottom: none;
}

.impact-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.impact-metric-item {
  border-left: 2px solid var(--color-accent-primary);
  padding-left: 18px;
}

.impact-metric-num {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 700;
  color: var(--color-accent-primary);
  line-height: 1.1;
  margin-bottom: 6px;
}

.impact-metric-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-light-secondary);
  line-height: 1.4;
}

/* 7. Code of Governance & Standards */
.about-standards-section {
  padding: clamp(72px, 8vw, 100px) 0;
  background: var(--color-canvas-white);
  border-bottom: none;
}

.standards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.standard-card {
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 26px 24px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.standard-icon-box {
  width: 36px;
  height: 36px;
  background: var(--color-accent-primary);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.standard-info {
  min-width: 0;
}

.standard-title {
  font-family: var(--font-family-heading);
  font-size: 15.5px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 6px 0;
}

.standard-desc {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--color-text-dark-secondary);
  margin: 0;
}

/* Responsive Rules for About Page */
@media (max-width: 1024px) {
  .founder-profile-grid {
    grid-template-columns: 1fr;
  }
  .founder-media-card {
    position: static;
    max-width: 460px;
    margin: 0 auto;
  }
  .tenets-grid {
    grid-template-columns: 1fr;
  }
  .pillars-split-grid {
    grid-template-columns: 1fr;
  }
  .cross-pillar-box {
    grid-template-columns: 1fr;
  }
  .impact-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
  .standards-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .hero-authority-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .narrative-breakout-card {
    grid-template-columns: 1fr;
  }
  .impact-metrics-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* =========================================================================
   WORDPRESS GUTENBERG BLOCK EDITOR & INSIGHTS HUB ARCHITECTURE
   ========================================================================= */

/* 1. Insights Canvas Base */
.insights-page-main,
.insight-single-main {
  background: var(--color-canvas-white);
  color: var(--color-text-dark-primary);
}

/* =========================================================================
   2. INSIGHTS 2-COLUMN LAYOUT & SIDEBAR ARCHITECTURE (SEARCH, CATEGORIES, CTA)
   ========================================================================= */
.insights-page-section {
  padding: clamp(36px, 4vw, 56px) 0 clamp(64px, 8vw, 96px) 0;
  background: var(--color-canvas-white);
}

.insights-layout-grid {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  gap: clamp(32px, 3.5vw, 48px);
  align-items: start;
}

/* Sidebar Container */
.insights-sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  z-index: 10;
}

/* Sidebar Widgets Base */
.insights-sidebar-widget {
  background: var(--primitive-color-neutral-gray-50, #F8FAFC);
  border: var(--borderWidth-hairline) solid var(--color-border-light, #E2E8F0);
  padding: 24px;
  transition: border-color var(--primitive-duration-fast) ease, box-shadow var(--primitive-duration-fast) ease;
}

.insights-sidebar-widget:hover {
  border-color: rgba(16, 185, 129, 0.3);
}

.insights-widget-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-family-heading);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--color-text-dark-primary, #111827);
  margin: 0 0 16px 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.insights-widget-title-bar {
  width: 3px;
  height: 14px;
  background: var(--color-accent-primary, #10B981);
  display: inline-block;
  flex-shrink: 0;
}

/* Widget 1: Search */
.insights-search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.insights-search-icon {
  position: absolute;
  left: 14px;
  color: var(--color-text-dark-secondary, #6B7280);
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color var(--primitive-duration-fast) ease;
}

.insights-search-input {
  width: 100%;
  height: 44px;
  padding: 0 38px 0 42px;
  font-family: var(--font-family-body);
  font-size: 13.5px;
  color: var(--color-text-dark-primary, #111827);
  background: var(--color-canvas-white, #FFFFFF);
  border: var(--borderWidth-hairline) solid var(--color-border-light, #E2E8F0);
  outline: none;
  transition: border-color var(--primitive-duration-fast) ease, box-shadow var(--primitive-duration-fast) ease;
}

.insights-search-input:focus {
  border-color: var(--color-accent-primary, #10B981);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}

.insights-search-clear-btn {
  position: absolute;
  right: 10px;
  background: transparent;
  border: none;
  color: var(--color-text-dark-secondary, #6B7280);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50% !important;
  transition: all var(--primitive-duration-fast) ease;
}

.insights-search-clear-btn:hover {
  color: var(--color-accent-primary, #10B981);
  background: rgba(16, 185, 129, 0.08);
}

/* Widget 2: Post Categories */
.insights-category-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.insights-category-item {
  margin: 0;
  list-style: none;
}

.insights-category-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 12px;
  font-family: var(--font-family-body);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--color-text-dark-secondary, #4B5563);
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  cursor: pointer;
  text-align: left;
  transition: all var(--primitive-duration-fast) ease;
}

.insights-category-btn:hover {
  color: var(--color-text-dark-primary, #111827);
  background: rgba(16, 185, 129, 0.05);
  border-left-color: var(--color-accent-primary, #10B981);
}

.insights-category-btn.active {
  color: var(--color-accent-primary, #10B981);
  background: rgba(16, 185, 129, 0.08);
  border-left-color: var(--color-accent-primary, #10B981);
  font-weight: 700;
}

.insights-category-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 22px;
  padding: 0 8px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--color-text-dark-secondary, #6B7280);
  background: var(--color-canvas-white, #FFFFFF);
  border: var(--borderWidth-hairline) solid var(--color-border-light, #E2E8F0);
  border-radius: 9999px !important;
  transition: all var(--primitive-duration-fast) ease;
}

.insights-category-btn:hover .insights-category-count {
  border-color: rgba(16, 185, 129, 0.4);
  color: var(--color-accent-primary, #10B981);
}

.insights-category-btn.active .insights-category-count {
  color: #FFFFFF;
  background: var(--color-canvas-dark, #0E1C24);
  border-color: var(--color-canvas-dark, #0E1C24);
}

/* Widget 3: Executive CTA Widget (Light Theme) */
.insights-cta-widget {
  background: #F8FAFC !important;
  color: #0E1C24;
  border: var(--borderWidth-hairline) solid #E2E8F0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(14, 28, 36, 0.04);
}

.insights-cta-widget::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.insights-cta-inner {
  position: relative;
  z-index: 1;
}

.insights-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #059669;
  margin-bottom: 12px;
}

.insights-cta-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50% !important;
  background: #10B981;
  box-shadow: 0 0 8px #10B981;
}

.insights-cta-title {
  font-family: var(--font-family-heading);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: #0E1C24;
  margin: 0 0 10px 0;
}

.insights-cta-desc {
  font-size: 13px;
  line-height: 1.6;
  color: #475569;
  margin: 0 0 20px 0;
}

.insights-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 44px;
  font-family: var(--font-family-body);
  font-size: 13.5px;
  font-weight: 600;
  color: #0E1C24 !important;
  background: var(--color-accent-primary, #10B981);
  border: none;
  border-radius: 0 !important;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--primitive-duration-fast) ease;
}

.insights-cta-btn:hover {
  background: #059669;
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.3);
}

.insights-cta-icon {
  display: inline-flex;
  align-items: center;
  transition: transform var(--primitive-duration-fast) ease;
}

.insights-cta-btn:hover .insights-cta-icon {
  transform: translate(2px, -2px);
}

.insights-cta-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  font-size: 11.5px;
  color: #64748B;
  justify-content: center;
}

.insights-cta-trust-icon {
  color: #059669;
  font-weight: bold;
}

/* Main Column & Results Header */
.insights-main-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.insights-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 16px 0;
  margin-bottom: 24px;
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light, #E2E8F0);
  flex-wrap: wrap;
  gap: 12px;
}

.insights-results-count {
  font-size: 13.5px;
  color: var(--color-text-dark-secondary, #4B5563);
}

.insights-results-count strong {
  color: var(--color-text-dark-primary, #111827);
  font-weight: 700;
}

.insights-active-filter-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-accent-primary, #10B981);
  background: rgba(16, 185, 129, 0.08);
  border: var(--borderWidth-hairline) solid rgba(16, 185, 129, 0.25);
  border-radius: 9999px !important;
}

.insights-clear-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--color-text-dark-secondary, #6B7280);
  background: var(--color-canvas-base, #F8FAFC);
  border: var(--borderWidth-hairline) solid var(--color-border-light, #E2E8F0);
  cursor: pointer;
  padding: 5px 12px;
  border-radius: 9999px !important;
  transition: all var(--primitive-duration-fast) ease;
}

.insights-clear-filter-btn:hover {
  color: var(--color-accent-primary, #10B981);
  border-color: var(--color-accent-primary, #10B981);
  background: rgba(16, 185, 129, 0.08);
}

/* Empty State */
.insights-empty-state {
  text-align: center;
  padding: clamp(48px, 6vw, 72px) 24px;
  background: var(--color-canvas-base, #F8FAFC);
  border: var(--borderWidth-hairline) dashed var(--color-border-light, #E2E8F0);
  margin-bottom: 32px;
}

.insights-empty-icon {
  color: var(--color-text-dark-secondary, #6B7280);
  margin-bottom: 16px;
  display: flex;
  justify-content: center;
}

.insights-empty-title {
  font-family: var(--font-family-heading);
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text-dark-primary, #111827);
  margin: 0 0 8px 0;
}

.insights-empty-desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary, #4B5563);
  max-width: 440px;
  margin: 0 auto 20px auto;
}

/* 3. Featured Hero Insight Card */
.insights-featured-section {
  padding: 40px 0 20px 0;
  background: var(--color-canvas-white);
}

.insight-featured-card {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: clamp(24px, 3.5vw, 40px);
  align-items: center;
  transition: transform var(--primitive-duration-fast) ease, box-shadow var(--primitive-duration-fast) ease;
}

.insight-featured-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(14, 28, 36, 0.06);
}

.insight-featured-media {
  position: relative;
  overflow: hidden;
  height: clamp(260px, 28vw, 360px);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
}

.insight-featured-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--primitive-duration-normal) ease;
}

.insight-featured-card:hover .insight-featured-img {
  transform: scale(1.03);
}

.insight-featured-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--color-canvas-dark);
  color: var(--color-accent-primary);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border: var(--borderWidth-hairline) solid var(--color-border-dark);
}

.insight-featured-content {
  display: flex;
  flex-direction: column;
}

.insight-meta-strip {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12.5px;
  color: var(--color-text-dark-secondary);
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.insight-cat-tag {
  color: var(--color-accent-primary);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 11.5px;
}

.insight-meta-dot {
  opacity: 0.5;
}

.insight-featured-title {
  font-family: var(--font-family-heading);
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text-dark-primary);
  margin: 0 0 14px 0;
}

.insight-featured-title a {
  color: var(--color-text-dark-primary);
  text-decoration: none;
  transition: color var(--primitive-duration-fast) ease;
}

.insight-featured-title a:hover {
  color: var(--color-accent-primary);
}

.insight-featured-excerpt {
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
  margin: 0 0 22px 0;
}

.insight-featured-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  flex-wrap: wrap;
  gap: 14px;
}

.insight-author-mini {
  display: flex;
  align-items: center;
  gap: 10px;
}

.insight-author-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
}

.insight-author-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
}

.insight-read-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--color-accent-primary);
  text-decoration: none;
  transition: transform var(--primitive-duration-fast) ease;
}

.insight-read-link svg {
  transition: transform var(--primitive-duration-fast) ease;
}

.insight-read-link:hover svg {
  transform: translateX(4px);
}

/* 4. Insights Standard 3-Column Grid */
.insights-grid-section {
  padding: 32px 0 clamp(64px, 8vw, 96px) 0;
  background: var(--color-canvas-white);
}

.insights-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.insight-card {
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-top: 3px solid transparent;
  display: flex;
  flex-direction: column;
  transition: all var(--primitive-duration-fast) ease;
}

.insight-card:hover {
  border-top-color: var(--color-accent-primary);
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(14, 28, 36, 0.05);
}

.insight-card-media {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: var(--color-canvas-base);
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.insight-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--primitive-duration-normal) ease;
}

.insight-card:hover .insight-card-img {
  transform: scale(1.04);
}

.insight-card-body {
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.insight-card-title {
  font-family: var(--font-family-heading);
  font-size: 17.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-dark-primary);
  margin: 0 0 20px 0;
  flex-grow: 1;
}

.insight-card-title a {
  color: var(--color-text-dark-primary);
  text-decoration: none;
  transition: color var(--primitive-duration-fast) ease;
}

.insight-card-title a:hover {
  color: var(--color-accent-primary);
}

.insight-card-excerpt {
  display: none;
}

.insight-card-footer {
  margin-top: auto;
  padding-top: 16px;
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Insights & Blog Archive Pagination */
/* Insights & Blog Archive & Services Hub Pagination */
.insights-pagination-wrap,
.services-pagination-wrap,
.pagination-wrap,
.navigation.pagination {
  margin-top: clamp(48px, 6vw, 64px);
  display: flex;
  justify-content: center;
  align-items: center;
}

.insights-pagination-list,
.services-pagination-list,
.nav-links,
ul.page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.insights-pagination-list li,
.services-pagination-list li,
ul.page-numbers li {
  margin: 0;
  list-style: none;
}

/* Base Page Button */
.page-numbers,
.insights-page-btn,
.services-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  text-decoration: none;
  cursor: pointer;
  transition: all var(--primitive-duration-fast) var(--primitive-ease-signature);
}

/* Pagination Number Buttons — Rounded Circular Style */
.insights-pagination-list li .insights-page-btn:not(.insights-page-btn--prev):not(.insights-page-btn--next),
.services-pagination-list li .services-page-btn:not(.services-page-btn--prev):not(.services-page-btn--next),
.nav-links .page-numbers:not(.prev):not(.next):not(.dots),
ul.page-numbers li .page-numbers:not(.prev):not(.next):not(.dots),
.page-numbers:not(.prev):not(.next):not(.dots),
.insights-page-btn:not(.insights-page-btn--prev):not(.insights-page-btn--next),
.services-page-btn:not(.services-page-btn--prev):not(.services-page-btn--next) {
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  border-radius: 50% !important;
  text-align: center;
}

.page-numbers:hover:not(:disabled):not(.disabled),
.insights-page-btn:hover:not(:disabled):not(.disabled),
.services-page-btn:hover:not(:disabled):not(.disabled) {
  color: var(--color-accent-primary);
  border-color: var(--color-accent-primary);
  background: rgba(16, 185, 129, 0.08);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15);
}

.page-numbers.current,
.page-numbers.active,
.insights-page-btn.active,
.services-page-btn.active {
  background: var(--color-canvas-dark);
  color: #FFFFFF;
  border-color: var(--color-canvas-dark);
  cursor: default;
  transform: none;
  box-shadow: 0 4px 14px rgba(14, 28, 36, 0.2);
}

/* Next / Prev Navigation Buttons — Rounded Pill Style */
.page-numbers.prev,
.page-numbers.next,
.insights-page-btn--prev,
.insights-page-btn--next,
.services-page-btn--prev,
.services-page-btn--next {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 20px;
  border-radius: 9999px !important;
}

/* Disabled Pagination State */
.insights-page-btn:disabled,
.insights-page-btn.disabled,
.services-page-btn:disabled,
.services-page-btn.disabled,
.page-numbers:disabled,
.page-numbers.disabled {
  opacity: 0.38;
  cursor: not-allowed !important;
  pointer-events: none;
  transform: none !important;
  box-shadow: none !important;
}

.page-numbers.dots {
  border: none;
  background: transparent;
  color: var(--color-text-dark-secondary);
  cursor: default;
  min-width: 24px;
  padding: 0 4px;
}

.page-numbers:focus-visible,
.insights-page-btn:focus-visible,
.services-page-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-canvas-white), 0 0 0 4px var(--color-accent-primary);
}

/* 5. WordPress Gutenberg Block Editor Typography */
.entry-content,
.service-article-body {
  font-size: 16.5px;
  line-height: 1.8;
  color: var(--color-text-dark-primary);
}

.entry-content p,
.service-article-body p {
  margin: 0 0 22px 0;
}

.article-lead-paragraph {
  font-size: clamp(18px, 1.4vw, 20px);
  line-height: 1.65;
  font-weight: 500;
  color: #1A2A44;
  margin-bottom: 30px;
}

.entry-content h2,
.service-article-body h2 {
  font-family: var(--font-family-heading);
  font-size: clamp(22px, 2.3vw, 28px);
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 44px 0 16px 0;
  line-height: 1.3;
}

.entry-content h3,
.service-article-body h3 {
  font-family: var(--font-family-heading);
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 32px 0 12px 0;
  line-height: 1.35;
}

.entry-content h4,
.service-article-body h4 {
  font-family: var(--font-family-heading);
  font-size: 17px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 24px 0 8px 0;
}

.entry-content strong,
.service-article-body strong {
  font-weight: 700;
  color: var(--color-text-dark-primary);
}

.entry-content em,
.service-article-body em {
  font-style: italic;
}

/* Blockquotes & Pullquotes */
.wp-block-quote,
blockquote {
  background: var(--color-canvas-base);
  border-left: 3px solid var(--color-accent-primary);
  padding: 24px 28px;
  margin: 32px 0;
  font-family: var(--font-family-heading);
  font-size: 17px;
  line-height: 1.6;
  font-style: italic;
  color: var(--color-text-dark-primary);
}

.wp-block-quote p,
blockquote p {
  margin: 0;
}

.wp-block-quote cite,
blockquote cite {
  display: block;
  font-family: var(--font-family-body);
  font-size: 13px;
  font-weight: 600;
  font-style: normal;
  color: var(--color-accent-primary);
  margin-top: 10px;
}

/* Lists */
.wp-block-list,
.entry-content ul,
.service-article-body ul {
  margin: 0 0 24px 0;
  padding-left: 22px;
  list-style: disc;
}

.entry-content ol,
.service-article-body ol {
  margin: 0 0 24px 0;
  padding-left: 22px;
  list-style: decimal;
}

.wp-block-list li,
.entry-content li,
.service-article-body li {
  margin-bottom: 10px;
  line-height: 1.65;
}

/* Block Images */
.wp-block-image,
figure.wp-block-image {
  margin: 36px 0;
}

.wp-block-image img,
figure.wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
}

.wp-block-image figcaption,
figure.wp-block-image figcaption {
  text-align: center;
  font-size: 13px;
  font-style: italic;
  color: var(--color-text-dark-secondary);
  margin-top: 10px;
}

/* Tables */
.wp-block-table-wrapper,
.wp-block-table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  overflow-x: auto;
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table th {
  background: var(--color-canvas-dark);
  color: #FFFFFF;
  font-family: var(--font-family-heading);
  font-size: 13.5px;
  font-weight: 600;
  text-align: left;
  padding: 14px 18px;
  border: var(--borderWidth-hairline) solid var(--color-border-dark);
}

.wp-block-table td {
  padding: 12px 18px;
  font-size: 14px;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  color: var(--color-text-dark-primary);
}

.wp-block-table tr:nth-child(even) {
  background: var(--color-canvas-base);
}

/* Callout Group Box */
.callout-takeaway-box {
  background: var(--color-canvas-base);
  border-left: 3px solid var(--color-accent-primary);
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  border-right: var(--borderWidth-hairline) solid var(--color-border-light);
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 24px 28px;
  margin: 36px 0;
  border-radius: 0 !important;
}

.callout-box-title {
  font-family: var(--font-family-heading);
  font-size: 15.5px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  margin: 0 0 8px 0;
}

.callout-takeaway-box p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
}

/* 6. Blog Single Post Author & Share Dock */
.insight-author-card {
  margin-top: 48px;
  padding: 28px;
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-radius: 0 !important;
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 22px;
  align-items: center;
}

.insight-author-img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--color-accent-primary);
}

.insight-author-card-name {
  font-family: var(--font-family-heading);
  font-size: 17px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  margin: 0 0 3px 0;
}

.insight-author-card-role {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--color-accent-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 8px 0;
}

.insight-author-card-bio {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--color-text-dark-secondary);
  margin: 0;
}

/* Share Strip */
.insight-share-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 36px 0;
  padding: 16px 20px;
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-radius: 0 !important;
  flex-wrap: wrap;
  gap: 14px;
}

.insight-share-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
}

.insight-share-btns {
  display: flex;
  align-items: center;
  gap: 10px;
}

.insight-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-radius: 0 !important;
  text-decoration: none;
  transition: all var(--primitive-duration-fast) ease;
}

.insight-share-btn:hover {
  color: var(--color-accent-primary);
  border-color: var(--color-accent-primary);
}

/* Responsive Rules for Insights */
@media (max-width: 1100px) {
  .insights-layout-grid {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 28px;
  }
  .insights-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 860px) {
  .insights-layout-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .insights-sidebar {
    position: static;
    order: -1;
  }
  .insights-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .insights-grid {
    grid-template-columns: 1fr;
  }
  .insight-author-card {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .insight-author-img {
    margin: 0 auto;
  }
  .insight-share-strip {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* =========================================================================
   CONTACT & INQUIRY ARCHITECTURE (MINIMALIST SINGLE-COLUMN EXECUTIVE DESK)
   ========================================================================= */

/* 1. Contact Canvas Base */
.contact-page-main {
  background: var(--color-canvas-white);
  color: var(--color-text-dark-primary);
}

/* 2. Main Contact Layout (Single Column) */
.contact-main-section {
  padding: clamp(56px, 7vw, 92px) 0;
  background: var(--color-canvas-white);
}

.contact-single-column,
.contact-layout-grid {
  max-width: 720px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 28px;
  scroll-margin-top: 100px;
}

/* 3. Unified Executive Direct Reach & Strategy Desk */
.contact-reach-hub {
  background: var(--color-canvas-white);
  border: var(--border-width-hairline, 1px) solid var(--color-border-light);
  border-top: 2px solid var(--color-accent-primary);
  box-shadow: 0 4px 20px rgba(14, 28, 36, 0.04);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Upper Tier: 3 Minimalist Interaction Tiles */
.contact-reach-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--color-canvas-white);
}

.contact-reach-tile {
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  background: var(--color-canvas-white);
  border-right: var(--border-width-hairline, 1px) solid var(--color-border-light);
  transition: all var(--primitive-duration-fast) ease;
  position: relative;
}

.contact-reach-tile:last-child {
  border-right: none;
}

a.contact-reach-tile:hover {
  background: #F8FAFC;
}

a.contact-reach-tile:hover .contact-reach-icon-wrap {
  background: var(--color-accent-primary);
  color: #FFFFFF;
  transform: translateY(-2px);
}

a.contact-reach-tile:hover .contact-reach-val {
  color: var(--color-accent-primary);
}

.contact-reach-tile-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.contact-reach-tile-lbl {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-dark-muted);
}

.contact-reach-icon-wrap {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.12);
  color: var(--color-accent-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--primitive-duration-fast) ease;
  flex-shrink: 0;
}

.contact-reach-val {
  font-family: var(--font-family-heading);
  font-size: 13px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color var(--primitive-duration-fast) ease;
}

.contact-reach-sub {
  font-size: 11.5px;
  color: var(--color-text-dark-muted);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Lower Tier: Executive Obsidian Strategy Intake Ribbon */
.contact-reach-booking-bar {
  background: var(--color-canvas-dark);
  border-top: 1px solid var(--color-border-dark);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.contact-reach-booking-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.contact-reach-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-accent-primary);
}

.contact-reach-badge .pulse-dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent-primary);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--color-accent-primary);
}

.contact-reach-booking-title {
  font-family: var(--font-family-heading);
  font-size: 14.5px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: -0.01em;
}

.contact-reach-booking-desc {
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.4;
}

.contact-reach-booking-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-family: var(--font-family-body);
  font-size: 13px;
  font-weight: 700;
  color: #FFFFFF;
  background: var(--color-accent-primary);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all var(--primitive-duration-fast) ease;
  letter-spacing: 0.02em;
}

.contact-reach-booking-btn:hover {
  background: var(--primitive-color-emerald-600);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.35);
  transform: translateY(-1px);
}

.contact-reach-booking-btn:hover svg {
  transform: translateX(3px);
}

.contact-reach-booking-btn svg {
  transition: transform var(--primitive-duration-fast) ease;
}

/* Backward compatibility for quick-bar and booking-banner */
.contact-quick-bar,
.contact-booking-banner {
  display: none;
}

/* 5. Minimalist Single-Column Contact Form Card */
.contact-form-card {
  background: var(--color-canvas-white);
  border: var(--border-width-hairline, 1px) solid var(--color-border-light);
  box-shadow: 0 4px 20px rgba(14, 28, 36, 0.04);
  padding: clamp(28px, 5vw, 44px);
  position: relative;
}

.contact-form-header {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: var(--border-width-hairline, 1px) solid var(--color-border-light);
}

.contact-form-title {
  font-family: var(--font-family-heading);
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 700;
  color: var(--color-text-dark-primary);
  letter-spacing: -0.02em;
  margin: 0 0 6px 0;
}

.contact-form-lead {
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-text-dark-secondary);
  margin: 0;
}

/* Form Groups & Inputs */
.contact-form-group {
  margin-bottom: 20px;
}

.contact-field-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin-bottom: 8px;
}

.contact-form-input,
.contact-form-select,
.contact-form-textarea {
  width: 100%;
  padding: 13px 16px;
  font-family: var(--font-family-body);
  font-size: 14.5px;
  color: var(--color-text-dark-primary);
  background: var(--color-canvas-studio);
  border: var(--border-width-hairline, 1px) solid var(--color-border-light);
  box-sizing: border-box;
  transition: border-color var(--primitive-duration-fast) ease, background var(--primitive-duration-fast) ease, box-shadow var(--primitive-duration-fast) ease;
}

.contact-form-input:focus,
.contact-form-select:focus,
.contact-form-textarea:focus {
  outline: none;
  border-color: var(--color-accent-primary);
  background: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}

.contact-form-input.has-error,
.contact-form-textarea.has-error {
  border-color: #EF4444;
  background: #FFF5F5;
}

.contact-form-textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.55;
}

.field-error-msg {
  display: none;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #DC2626;
  margin-top: 6px;
}

.field-error-msg.visible {
  display: flex;
}

/* Actions & Buttons */
.contact-form-actions {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.contact-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 15px 32px;
  font-family: var(--font-family-body);
  font-size: 14.5px;
  font-weight: 700;
  color: #FFFFFF;
  background: var(--color-canvas-dark);
  border: none;
  cursor: pointer;
  transition: all var(--primitive-duration-fast) ease;
  letter-spacing: 0.02em;
}

.contact-submit-btn:hover {
  background: var(--color-accent-primary);
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.25);
  transform: translateY(-1px);
}

.contact-submit-btn:active {
  transform: translateY(0);
}

.contact-submit-btn svg {
  transition: transform var(--primitive-duration-fast) ease;
}

.contact-submit-btn:hover svg {
  transform: translateX(4px);
}

.contact-reassurance-text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 12px;
  color: var(--color-text-dark-muted);
  text-align: center;
}

.contact-reassurance-text svg {
  color: var(--color-accent-primary);
  flex-shrink: 0;
}

/* Success Confirmation Card Overrides for Contact */
.contact-form-card .form-confirmation-card {
  background: var(--color-canvas-studio);
  border: 1px solid var(--color-border-light);
  border-top: 3px solid var(--color-accent-primary);
  color: var(--color-text-dark-primary);
  padding: clamp(28px, 4vw, 40px);
}

.contact-form-card .form-confirmation-title {
  font-family: var(--font-family-heading);
  font-size: 22px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  margin-bottom: 10px;
}

.contact-form-card .form-confirmation-desc {
  color: var(--color-text-dark-secondary);
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 20px;
}

.contact-form-card .form-confirmation-summary-box {
  background: #FFFFFF;
  border: 1px solid var(--color-border-light);
  padding: 14px 18px;
  margin-bottom: 20px;
  text-align: left;
}

.contact-form-card .form-confirmation-summary-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 13px;
  border-bottom: 1px solid var(--color-border-light);
}

.contact-form-card .form-confirmation-summary-row:last-child {
  border-bottom: none;
}

.contact-form-card .form-confirmation-summary-label {
  font-weight: 600;
  color: var(--color-text-dark-muted);
}

.contact-form-card .form-confirmation-summary-val {
  color: var(--color-text-dark-primary);
  font-weight: 600;
}

.contact-form-card .form-confirmation-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  background: var(--color-canvas-dark);
  color: #FFFFFF;
  border: none;
  font-weight: 600;
  font-size: 13.5px;
  cursor: pointer;
  transition: background var(--primitive-duration-fast) ease;
}

.contact-form-card .form-confirmation-btn:hover {
  background: var(--color-accent-primary);
}

/* Responsive Rules for Single Column Contact */
@media (max-width: 640px) {
  .contact-reach-grid {
    grid-template-columns: 1fr;
  }
  .contact-reach-tile {
    border-right: none;
    border-bottom: var(--border-width-hairline, 1px) solid var(--color-border-light);
    padding: 16px 18px;
  }
  .contact-reach-tile:last-child {
    border-bottom: none;
  }
  .contact-reach-booking-bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 18px;
    gap: 14px;
  }
  .contact-reach-booking-btn {
    width: 100%;
    justify-content: center;
  }
  .contact-quick-bar {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px;
  }
  .contact-booking-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

/* =========================================================================
   BOOK CONSULTATION ARCHITECTURE (EXECUTIVE STRATEGY INTAKE)
   ========================================================================= */

.booking-page-main {
  background: var(--color-canvas-white);
  color: var(--color-text-dark-primary);
}

.booking-main-section {
  padding: clamp(64px, 8vw, 100px) 0;
  background: var(--color-canvas-white);
}

.booking-layout-grid {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: clamp(36px, 5vw, 64px);
  align-items: start;
}

/* Left Column: Senior Principal Advisory Profile */
.booking-desk-col {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.booking-founder-card {
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-top: 3px solid var(--color-accent-primary);
  padding: 28px 24px;
}

.booking-founder-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.booking-founder-photo {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--color-accent-primary);
  flex-shrink: 0;
}

.booking-founder-name {
  font-family: var(--font-family-heading);
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  margin: 0 0 4px 0;
}

.booking-founder-role {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-accent-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.booking-founder-quote {
  font-family: var(--font-family-heading);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.55;
  color: var(--color-text-dark-secondary);
  margin: 0 0 20px 0;
  padding-top: 14px;
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
}

.booking-metrics-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 14px 10px;
  text-align: center;
}

.booking-metric-val {
  display: block;
  font-family: var(--font-family-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-accent-primary);
  line-height: 1.2;
}

.booking-metric-lbl {
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--color-text-dark-secondary);
  margin-top: 2px;
  line-height: 1.3;
}

/* Fiduciary Commitments in Booking */
.booking-commitments-box {
  background: var(--color-canvas-dark);
  color: var(--color-text-light-primary);
  border: var(--borderWidth-hairline) solid var(--color-border-dark);
  padding: 22px 20px;
}

.booking-commitments-title {
  font-family: var(--font-family-heading);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--color-accent-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 12px 0;
}

.booking-commitments-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.booking-commitment-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--color-text-light-secondary);
}

.booking-commitment-item svg {
  color: var(--color-accent-primary);
  flex-shrink: 0;
  margin-top: 2px;
}

/* Direct Help Box */
.booking-direct-help {
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 18px 20px;
  font-size: 13px;
  color: var(--color-text-dark-secondary);
  line-height: 1.5;
}

.booking-direct-help a {
  color: var(--color-accent-primary);
  font-weight: 600;
  text-decoration: none;
}

.booking-direct-help a:hover {
  text-decoration: underline;
}

/* Right Column: Interactive Consultation Card */
.booking-form-card {
  background: var(--color-canvas-white);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-top: 3px solid var(--color-accent-primary);
  padding: clamp(28px, 4vw, 48px);
}

.booking-form-header {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.booking-form-title {
  font-family: var(--font-family-heading);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 8px 0;
}

.booking-form-lead {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary);
  margin: 0;
}

/* Meeting Format & Time Window Buttons */
.booking-option-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 8px;
}

.booking-option-btn {
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 10px 12px;
  font-family: var(--font-family-body);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  transition: all var(--primitive-duration-fast) ease;
}

.booking-option-btn:hover {
  border-color: var(--color-accent-primary);
  color: var(--color-accent-primary);
}

.booking-option-btn.active {
  background: var(--color-canvas-dark);
  color: #FFFFFF;
  border-color: var(--color-canvas-dark);
}

.booking-option-btn svg {
  color: var(--color-accent-primary);
}

/* =========================================================================
   UNIVERSAL FORM VALIDATION, ERROR HANDLERS & CONFIRMATION SYSTEM
   ========================================================================= */

.field-error-msg {
  display: none;
  font-size: 12px;
  font-weight: 600;
  color: #D32F2F;
  margin-top: 6px;
  align-items: center;
  gap: 5px;
}

.field-error-msg.visible {
  display: flex;
}

.field-error-msg svg {
  flex-shrink: 0;
}

.has-error {
  border-color: #D32F2F !important;
  background-color: #FFF8F8 !important;
}

.has-error:focus {
  outline: 2px solid rgba(211, 47, 47, 0.2) !important;
}

/* Form Alert Banner (Top of Form on Validation Error) */
.form-error-banner {
  display: none;
  background: #FDEDED;
  border-left: 3px solid #D32F2F;
  border-top: var(--borderWidth-hairline) solid #FFCDD2;
  border-right: var(--borderWidth-hairline) solid #FFCDD2;
  border-bottom: var(--borderWidth-hairline) solid #FFCDD2;
  padding: 14px 18px;
  margin-bottom: 22px;
  font-size: 13.5px;
  color: #B71C1C;
  align-items: center;
  gap: 10px;
}

.form-error-banner.visible {
  display: flex;
}

.form-error-banner svg {
  color: #D32F2F;
  flex-shrink: 0;
}

/* Form Confirmation Card (Success State) */
.form-confirmation-card {
  display: none;
  background: #13242E;
  border: var(--border-width-hairline) solid var(--primitive-overlay-white-subtle);
  border-top: 3px solid var(--color-accent-primary);
  padding: clamp(32px, 5vw, 48px);
  text-align: center;
  animation: fadeInConfirmation 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.form-confirmation-card.visible {
  display: block;
}

@keyframes fadeInConfirmation {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.form-confirmation-icon-wrap {
  width: 56px;
  height: 56px;
  margin: 0 auto 18px auto;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.15);
  color: var(--color-accent-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.form-confirmation-title {
  font-family: var(--font-family-heading);
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 10px 0;
}

.form-confirmation-desc {
  font-family: var(--font-family-body);
  font-size: 14px;
  line-height: 1.6;
  color: #94A3B8;
  max-width: 540px;
  margin: 0 auto 20px auto;
}

.form-confirmation-summary-box {
  background: var(--color-canvas-dark);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 16px 20px;
  max-width: 480px;
  margin: 0 auto 24px auto;
  text-align: left;
}

.form-confirmation-summary-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 13px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.form-confirmation-summary-row:last-child {
  border-bottom: none;
}

.form-confirmation-summary-label {
  color: #94A3B8;
  font-weight: 500;
}

.form-confirmation-summary-val {
  color: #FFFFFF;
  font-weight: 600;
}

.form-confirmation-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  font-size: 13.5px;
  font-weight: 700;
  color: #FFFFFF;
  background: var(--color-accent-primary);
  border: none;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--primitive-duration-fast) ease;
}

.form-confirmation-btn:hover {
  background: var(--color-accent-light);
  transform: translateY(-2px);
}

/* Responsive Rules for Booking */
@media (max-width: 1024px) {
  .booking-layout-grid {
    grid-template-columns: 1fr;
  }
  .booking-desk-col {
    position: static;
  }
}

@media (max-width: 768px) {
  .booking-option-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================================
   LEGAL & COMPLIANCE ARCHITECTURE (PRIVACY POLICY & TERMS OF ENGAGEMENT)
   ========================================================================= */

/* 1. Legal Canvas Base */
.legal-page-main {
  background: var(--color-canvas-white);
  color: var(--color-text-dark-primary);
}

.legal-meta-strip {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: var(--color-text-light-secondary);
  margin-top: 18px;
  flex-wrap: wrap;
}

.legal-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.legal-meta-item svg {
  color: var(--color-accent-primary);
}

/* 2. Main Legal Layout Grid */
.legal-main-section {
  padding: clamp(64px, 8vw, 100px) 0;
  background: var(--color-canvas-white);
}

.legal-layout-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: clamp(40px, 5vw, 64px);
  align-items: start;
}

/* Left Column: Sticky Table of Contents Dock */
.legal-toc-dock {
  position: sticky;
  top: 100px;
  background: var(--color-canvas-base);
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  border-top: 3px solid var(--color-accent-primary);
  padding: 24px 20px;
}

.legal-toc-title {
  font-family: var(--font-family-heading);
  font-size: 13px;
  font-weight: 700;
  color: var(--color-text-dark-primary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 16px 0;
  padding-bottom: 10px;
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.legal-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.legal-toc-link {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-dark-secondary);
  text-decoration: none;
  padding: 4px 0;
  line-height: 1.45;
  transition: all var(--primitive-duration-fast) ease;
}

.legal-toc-link:hover,
.legal-toc-link.active {
  color: var(--color-accent-primary);
  font-weight: 600;
  padding-left: 6px;
  border-left: 2px solid var(--color-accent-primary);
}

.legal-toc-contact-box {
  margin-top: 20px;
  padding-top: 16px;
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  font-size: 12.5px;
  color: var(--color-text-dark-secondary);
  line-height: 1.5;
}

.legal-toc-contact-box strong {
  color: var(--color-text-dark-primary);
  display: block;
  margin-bottom: 4px;
}

/* Right Column: Legal Article Content */
.legal-article-content {
  min-width: 0;
  max-width: 860px;
}

.legal-article-content section {
  margin-bottom: 40px;
  scroll-margin-top: 110px;
}

.legal-article-content h2 {
  font-family: var(--font-family-heading);
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 14px 0;
  line-height: 1.3;
  padding-bottom: 8px;
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
}

.legal-article-content h3 {
  font-family: var(--font-family-heading);
  font-size: 17px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 22px 0 10px 0;
}

.legal-article-content p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--color-text-dark-secondary);
  margin: 0 0 16px 0;
}

.legal-article-content strong {
  color: var(--color-text-dark-primary);
}

.legal-article-content ul,
.legal-article-content ol {
  margin: 0 0 20px 0;
  padding-left: 22px;
}

.legal-article-content li {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary);
  margin-bottom: 8px;
}

.legal-highlight-box {
  background: var(--color-canvas-base);
  border-left: 3px solid var(--color-accent-primary);
  border-top: var(--borderWidth-hairline) solid var(--color-border-light);
  border-right: var(--borderWidth-hairline) solid var(--color-border-light);
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 20px 24px;
  margin: 24px 0;
}

.legal-highlight-box p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: var(--color-text-dark-primary);
}

/* Responsive Rules for Legal */
@media (max-width: 1024px) {
  .legal-layout-grid {
    grid-template-columns: 1fr;
  }
  .legal-toc-dock {
    position: static;
    margin-bottom: 32px;
  }
}

/* ==========================================================================
   HEADER SEARCH TRIGGER & EXECUTIVE SEARCH MODAL DESIGN SYSTEM
   ========================================================================== */

/* Header Search Toggle Button */
.header-search-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.08);
  border: var(--borderWidth-hairline) solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 0;
  border-radius: 0;
  flex-shrink: 0;
}

.header-search-toggle-btn:hover {
  background: var(--color-accent-primary);
  border-color: var(--color-accent-primary);
  color: #FFFFFF;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(178, 121, 18, 0.35);
}

.header-search-toggle-btn:focus-visible {
  outline: 2px solid var(--color-accent-light);
  outline-offset: 2px;
}

/* Search Modal Overlay */
.site-search-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(8, 19, 43, 0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 40px 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow-y: auto;
}

.site-search-modal.is-active {
  opacity: 1;
  visibility: visible;
}

.search-modal-container {
  width: 100%;
  max-width: 820px;
  margin-top: 40px;
  transform: translateY(-20px);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.site-search-modal.is-active .search-modal-container {
  transform: translateY(0);
}

/* Search Modal Top Bar */
.search-modal-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  border-bottom: var(--borderWidth-hairline) solid rgba(255, 255, 255, 0.12);
  padding-bottom: 16px;
}

.search-modal-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-accent-light);
}

.search-modal-kicker-dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent-primary);
  border-radius: 50%;
}

.search-modal-close-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: var(--borderWidth-hairline) solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.8);
  font-size: 12.5px;
  font-family: var(--font-body);
  font-weight: 600;
  padding: 6px 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.search-modal-close-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.5);
  color: #FFFFFF;
}

.search-modal-close-btn kbd {
  background: rgba(255, 255, 255, 0.15);
  padding: 2px 6px;
  font-size: 10.5px;
  border-radius: 2px;
  font-family: inherit;
}

/* Search Form Input Field */
.search-modal-form {
  position: relative;
  width: 100%;
  margin-bottom: 24px;
}

.search-modal-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.search-modal-search-icon {
  position: fixed;
  left: 20px;
  color: var(--color-accent-primary);
  pointer-events: none;
}

.search-modal-input {
  width: 100%;
  height: 64px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 0 60px 0 58px;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  color: #FFFFFF;
  border-radius: 0;
  transition: all 0.25s ease;
}

.search-modal-input:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--color-accent-primary);
  box-shadow: 0 0 0 3px rgba(178, 121, 18, 0.25);
}

.search-modal-input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}

.search-modal-submit-btn {
  position: fixed;
  right: 12px;
  width: 40px;
  height: 40px;
  background: var(--color-accent-primary);
  border: none;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.search-modal-submit-btn:hover {
  background: #8E600E;
}

/* Quick Suggestion Chips */
.search-modal-suggestions {
  margin-bottom: 28px;
}

.search-modal-suggestions-label {
  display: block;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 10px;
}

.search-modal-chips-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.search-chip-btn {
  background: rgba(255, 255, 255, 0.06);
  border: var(--borderWidth-hairline) solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 500;
  padding: 6px 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.search-chip-btn:hover {
  background: rgba(178, 121, 18, 0.2);
  border-color: var(--color-accent-primary);
  color: #FFFFFF;
  transform: translateY(-1px);
}

/* Live Search Results Container */
.search-modal-live-results {
  background: rgba(14, 28, 36, 0.8);
  border: var(--borderWidth-hairline) solid rgba(255, 255, 255, 0.12);
  padding: 16px;
  max-height: 380px;
  overflow-y: auto;
}

.search-result-item {
  display: block;
  text-decoration: none;
  padding: 14px 16px;
  border-bottom: var(--borderWidth-hairline) solid rgba(255, 255, 255, 0.08);
  transition: all 0.2s ease;
}

.search-result-item:last-child {
  border-bottom: none;
}

.search-result-item:hover {
  background: rgba(255, 255, 255, 0.06);
}

.search-result-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.search-result-category {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-accent-light);
}

.search-result-arrow {
  color: var(--color-accent-primary);
  font-size: 14px;
  transition: transform 0.2s ease;
}

.search-result-item:hover .search-result-arrow {
  transform: translateX(3px);
}

.search-result-title {
  font-family: var(--font-heading);
  font-size: 15.5px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 4px 0;
  line-height: 1.35;
}

.search-result-excerpt {
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(255, 255, 255, 0.65);
  margin: 0;
  line-height: 1.45;
}

.search-result-empty {
  padding: 32px 16px;
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}

/* ==========================================================================
   SEARCH RESULTS STANDALONE PAGE (SEARCH.PHP & SEARCH.HTML)
   ========================================================================== */
.search-results-main {
  background: var(--color-canvas-base);
  padding: 64px 0 96px 0;
  min-height: 60vh;
}

.search-results-header-info {
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: var(--borderWidth-hairline) solid var(--color-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.search-results-count {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-dark-secondary);
}

.search-results-query-highlight {
  color: var(--color-brand-primary);
  font-weight: 700;
}

.search-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.search-page-card {
  background: #FFFFFF;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 28px 32px;
  text-decoration: none;
  display: block;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.search-page-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-accent-primary);
  box-shadow: 0 10px 30px rgba(8, 19, 43, 0.08);
}

.search-page-card-category {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-accent-primary);
  margin-bottom: 8px;
}

.search-page-card-title {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text-dark-primary);
  margin: 0 0 10px 0;
  line-height: 1.35;
}

.search-page-card-excerpt {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary);
  margin: 0 0 16px 0;
}

.search-page-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--color-accent-primary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.search-no-results-box {
  background: #FFFFFF;
  border: var(--borderWidth-hairline) solid var(--color-border-light);
  padding: 48px 32px;
  text-align: center;
}

.search-no-results-title {
  font-family: var(--font-heading);
  font-size: 24px;
  color: var(--color-brand-primary);
  margin: 0 0 12px 0;
}

.search-no-results-lead {
  font-size: 15px;
  color: var(--color-text-dark-secondary);
  max-width: 540px;
  margin: 0 auto 24px auto;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .search-modal-input {
    height: 52px;
    font-size: 15px;
    padding: 0 48px 0 46px;
  }
  .search-modal-search-icon {
    left: 14px;
  }
  .search-page-card {
    padding: 20px 20px;
  }
}




/* UI/UX Audit Refinements */
.narrative-list { display: flex; flex-direction: column; gap: var(--primitive-space-4); margin-bottom: var(--primitive-space-7); }
.narrative-list-item { display: flex; gap: var(--primitive-space-3); align-items: flex-start; }
.narrative-check { color: var(--color-accent-primary); font-weight: 700; font-size: 16px; line-height: 1.4; }
.narrative-list-item p { font-size: var(--font-size-body-default); color: var(--color-text-dark-secondary); line-height: 1.55; margin: 0; }


.exec-kicker-tag { margin-bottom: var(--primitive-space-3); }
.service-hero-actions { display: flex; gap: var(--primitive-space-3); flex-wrap: wrap; align-items: center; }
.exec-action-block { margin-top: var(--primitive-space-6); }


.section-eyebrow { margin-bottom: var(--primitive-space-5); }


.btn-emerald-action--full { width: 100%; justify-content: center; margin-top: var(--primitive-space-4); }
.btn-emerald-action--lg { font-size: var(--font-size-body-default); padding: var(--primitive-space-4) var(--primitive-space-6); }
.btn-dark-glass--sm { padding: var(--primitive-space-2) var(--primitive-space-4); font-size: var(--font-size-body-small); }


/* Micro-interactions & Spring Physics */
.methodology-step-card, .service-deliverable-item, .founder-media-card { transition: var(--transition-normal); }
.methodology-step-card:hover, .service-deliverable-item:hover, .founder-media-card:hover { transform: translateY(-4px); box-shadow: var(--primitive-overlay-emerald-glow), 0 12px 24px -10px rgba(0, 0, 0, 0.1); }


/* Service Grids */
.service-deliverables-grid { display: grid; grid-template-columns: 1fr; gap: var(--primitive-space-6); margin-top: var(--primitive-space-8); }
@media (min-width: 768px) { .service-deliverables-grid { grid-template-columns: repeat(2, 1fr); } }
.service-methodology-timeline { display: flex; flex-direction: column; gap: var(--primitive-space-6); margin-top: var(--primitive-space-8); position: relative; padding-left: var(--primitive-space-6); border-left: var(--border-width-hairline) solid var(--color-border-light); }
.methodology-step-card { position: relative; }
.methodology-step-badge { position: absolute; left: calc(-1 * var(--primitive-space-6) - 16px); top: 0; width: 32px; height: 32px; border-radius: var(--border-radius-circle); background: var(--color-accent-primary); color: var(--color-canvas-white); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--font-size-body-small); }


.bg-canvas-dark { background-color: var(--color-canvas-dark) !important; color: var(--color-text-light-primary); }
.text-canvas-white { color: var(--color-canvas-white) !important; }


.about-blocks-content { padding: clamp(64px, 8vw, 112px) 0; }


/* Light Theme Override for Direct Access Gateway */
.direct-access-section.about-light-gateway {
  background-color: var(--color-canvas-white) !important;
  padding: clamp(48px, 5.5vw, 72px) 0 !important;
}

.about-leadership-grid {
  padding: clamp(48px, 5.5vw, 72px) 0;
  background: var(--color-canvas-white);
}
.direct-access-section.about-light-gateway .exec-gateway-card {
  background: var(--color-canvas-base);
  border-color: var(--color-border-light);
  box-shadow: 0 12px 32px rgba(11,21,28,0.06);
}
.direct-access-section.about-light-gateway .section-eyebrow {
  color: var(--color-accent-primary);
  opacity: 1;
}
.direct-access-section.about-light-gateway .exec-gateway-title {
  color: var(--color-text-dark-primary);
}
.direct-access-section.about-light-gateway .exec-gateway-desc,
.direct-access-section.about-light-gateway .exec-direct-label {
  color: var(--color-text-dark-secondary);
}
.direct-access-section.about-light-gateway .exec-proof-item,
.direct-access-section.about-light-gateway .exec-proof-item strong {
  color: var(--color-text-dark-primary);
}

/* Ensure Simple Intake Card Retains Dark Theme inside Light Section */
.direct-access-section.about-light-gateway .exec-gateway-right.simple-gateway-card,
.direct-access-section.about-light-gateway .simple-gateway-card {
  background: #13242E !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 16px 40px rgba(11, 21, 28, 0.28) !important;
}

.direct-access-section.about-light-gateway .simple-gateway-title {
  color: #FFFFFF !important;
}

.direct-access-section.about-light-gateway .simple-gateway-title .text-accent,
.direct-access-section.about-light-gateway .simple-gateway-title .text-emerald {
  color: #10B981 !important;
}

.direct-access-section.about-light-gateway .simple-form-input,
.direct-access-section.about-light-gateway .simple-form-select,
.direct-access-section.about-light-gateway .simple-form-textarea {
  background: #0B171F !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #FFFFFF !important;
}

.direct-access-section.about-light-gateway .simple-form-input::placeholder,
.direct-access-section.about-light-gateway .simple-form-textarea::placeholder {
  color: #64748B !important;
  opacity: 1 !important;
}

.direct-access-section.about-light-gateway .simple-form-input:focus,
.direct-access-section.about-light-gateway .simple-form-select:focus,
.direct-access-section.about-light-gateway .simple-form-textarea:focus {
  background: #0D1C26 !important;
  border-color: #10B981 !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25) !important;
}

.direct-access-section.about-light-gateway .simple-form-select option {
  background: #0E1C24 !important;
  color: #FFFFFF !important;
}

.direct-access-section.about-light-gateway .simple-form-select-chevron {
  color: #94A3B8 !important;
}

.direct-access-section.about-light-gateway .simple-form-terms-text {
  color: #CBD5E1 !important;
}

.direct-access-section.about-light-gateway .simple-form-terms-link {
  color: #10B981 !important;
}

.direct-access-section.about-light-gateway .simple-form-submit-btn {
  background: #10B981 !important;
  color: #FFFFFF !important;
}

.direct-access-section.about-light-gateway .simple-btn-disc-arrow {
  background: #F8FAFC !important;
  color: #0E1C24 !important;
}

/* High-Contrast Phone & Email Direct Communication Buttons for Light Gateways */
.direct-access-section.about-light-gateway .btn-dark-glass,
.exec-gateway-card .btn-dark-glass,
.exec-direct-links .btn-dark-glass {
  background: #F1F5F9 !important;
  border: 1px solid #CBD5E1 !important;
  color: #0F172A !important;
  font-weight: 600 !important;
  border-radius: 0px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.direct-access-section.about-light-gateway .btn-dark-glass svg,
.exec-gateway-card .btn-dark-glass svg,
.exec-direct-links .btn-dark-glass svg {
  color: #10B981 !important;
  transition: color 0.25s ease !important;
}

.direct-access-section.about-light-gateway .btn-dark-glass:hover,
.exec-gateway-card .btn-dark-glass:hover,
.exec-direct-links .btn-dark-glass:hover {
  background: #09151B !important;
  border-color: #09151B !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(9, 21, 27, 0.15) !important;
}

.direct-access-section.about-light-gateway .btn-dark-glass:hover svg,
.exec-gateway-card .btn-dark-glass:hover svg,
.exec-direct-links .btn-dark-glass:hover svg {
  color: #10B981 !important;
}

/* =========================================================================
   9. About Us: Operational Excellence & Vision Section (Reference Redesign)
   ========================================================================= */
.about-mandate-section {
  background: var(--color-canvas-alt, #F4F7F8);
  padding: clamp(64px, 7.5vw, 108px) 0;
  border-top: 1px solid var(--color-border-light, #E2E8F0);
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
  position: relative;
}

/* Centered Section Header for Our Vision & Mandate */
.vision-header-split,
.vision-header-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 820px;
  margin: 0 auto clamp(36px, 4.5vw, 52px) auto;
}

.vision-header-center .section-eyebrow,
.vision-header-split .section-eyebrow,
.vision-header-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-family-body);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-accent-primary, #10B981) !important;
  margin-bottom: 14px;
}

.vision-kicker-square {
  width: 6px;
  height: 6px;
  background-color: var(--color-accent-primary, #10B981);
  display: inline-block;
  flex-shrink: 0;
}

.vision-header-title {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 700;
  line-height: 1.18;
  color: var(--color-text-dark-primary, #0F172A) !important;
  letter-spacing: -0.02em;
  margin: 0 auto;
  max-width: 800px;
  text-align: center;
}

.vision-header-title .text-accent {
  color: var(--color-accent-primary, #10B981) !important;
}


/* 2x2 Grid of Horizontal Strategy Cards */
.vision-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, 2.5vw, 30px);
  width: 100%;
}

/* Base Card (Crisp White on Light Neutral Canvas - Sharp 90deg Edges) */
.vision-card {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 0 !important;
  padding: clamp(30px, 3.2vw, 38px) clamp(24px, 2.8vw, 36px) !important;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(11, 21, 28, 0.02) !important;
  transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 350ms cubic-bezier(0.16, 1, 0.3, 1),
              border-color 350ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: default;
}

/* GPU-Accelerated Gradient Hover Overlay */
.vision-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 0 !important;
  background: radial-gradient(120% 95% at 95% 100%, #DCFCE7 0%, #F0FDF4 35%, #FFFFFF 85%) !important;
  opacity: 0;
  transition: opacity 350ms cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
  pointer-events: none;
}

.vision-card:hover::before,
.vision-card:focus-within::before {
  opacity: 1;
}

.vision-card:hover,
.vision-card:focus-within {
  border-color: #6EE7B7 !important;
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -10px rgba(16, 185, 129, 0.2), 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.vision-card > * {
  position: relative;
  z-index: 2;
}

/* Circular Isometric Icon Badge */
.vision-card-icon {
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  border-radius: 50% !important;
  background: #EFF4F6 !important;
  border: 1px solid #DFE8EC !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #162B37 !important;
  transition: all 350ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  flex-shrink: 0;
}

.vision-card:hover .vision-card-icon,
.vision-card:focus-within .vision-card-icon {
  background: #10B981 !important;
  border-color: #10B981 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3) !important;
}

/* Card Content & Text Transitions */
.vision-card-content {
  flex: 1;
  min-width: 0;
}

.vision-card-title {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(19px, 1.4vw, 22px);
  font-weight: 700;
  color: var(--color-text-dark-primary, #111827);
  margin: 0 0 10px 0;
  line-height: 1.25;
  letter-spacing: -0.01em;
  transition: color 300ms ease;
}

.vision-card:hover .vision-card-title,
.vision-card:focus-within .vision-card-title {
  color: #064E3B;
}

.vision-card-desc {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--color-text-dark-muted, #4B5563);
  margin: 0;
  transition: color 300ms ease;
}

.vision-card:hover .vision-card-desc,
.vision-card:focus-within .vision-card-desc {
  color: #475569;
}

/* Responsive Breakpoints */
@media (max-width: 960px) {
  .vision-header-split,
  .vision-header-center {
    margin-bottom: 36px;
  }
  .vision-header-title {
    text-align: center;
    margin: 0 auto;
    max-width: 100%;
  }
}


@media (max-width: 768px) {
  .vision-cards-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .vision-card {
    padding: 24px 22px;
    gap: 18px;
  }
  
  .vision-card-icon {
    width: 54px;
    height: 54px;
    min-width: 54px;
  }
  
  .vision-card-icon svg {
    width: 26px;
    height: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vision-card {
    transition: none !important;
  }
  .vision-card:hover,
  .vision-card:focus-within {
    transform: none !important;
  }
  .vision-card::before,
  .vision-card-icon,
  .vision-card-title,
  .vision-card-desc {
    transition: none !important;
  }
}

/* =========================================================================
   HOMEPAGE SINGLE-COLUMN EXECUTIVE STRATEGIC BRIEFING GATEWAY (STUDIO WHITE)
   ========================================================================= */

.direct-access-section.direct-access-section--1col {
  background-color: var(--color-canvas-studio, #F4F7F8) !important;
  padding: clamp(64px, 8vw, 104px) 0 !important;
  position: relative;
  border-top: 1px solid var(--color-border-light, #E2E8F0);
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
}

/* Section Header (Positioned Above the Form Card) */
.exec-gateway-section-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto clamp(36px, 4.5vw, 52px) auto;
}

.exec-gateway-section-header .section-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent-primary, #10B981) !important;
  font-family: var(--font-family-mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.exec-gateway-section-title {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 700;
  color: var(--color-text-dark-primary, #0F172A) !important;
  line-height: 1.18;
  margin: 0 0 16px 0;
  letter-spacing: -0.02em;
}

.exec-gateway-section-title .text-accent {
  color: var(--color-accent-primary, #10B981) !important;
}

.exec-gateway-section-desc {
  font-family: var(--font-family-body);
  font-size: clamp(15px, 1.2vw, 16.5px);
  line-height: 1.65;
  color: var(--color-text-dark-secondary, #475569) !important;
  max-width: 660px;
  margin: 0 auto;
}

/* Elevated Intake Card Container - White Edition */
.exec-gateway-1col {
  max-width: 760px;
  margin: 0 auto;
  background: #FFFFFF !important;
  border: var(--border-width-hairline, 1px) solid var(--color-border-light, #E2E8F0) !important;
  border-radius: var(--radius-md, 12px);
  box-shadow: 0 16px 48px rgba(14, 28, 36, 0.06), 0 2px 8px rgba(14, 28, 36, 0.03) !important;
  padding: clamp(32px, 4.5vw, 56px);
  position: relative;
}

/* Concise Heading Inside the Form Card */
.exec-form-card-header {
  text-align: center;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
}

.exec-form-card-title {
  font-family: var(--font-family-heading);
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 700;
  color: var(--color-text-dark-primary, #0F172A) !important;
  line-height: 1.25;
  margin: 0 0 6px 0;
  letter-spacing: -0.01em;
}

.exec-form-card-sub {
  font-family: var(--font-family-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-text-dark-secondary, #64748B) !important;
  margin: 0;
}

/* Legacy Support */
.exec-gateway-1col-header {
  text-align: center;
  margin-bottom: 32px;
}

.exec-gateway-1col-header .section-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent-primary, #10B981) !important;
}

.exec-gateway-1col-title {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 700;
  color: var(--color-text-dark-primary, #0F172A) !important;
  line-height: 1.18;
  margin: 0 0 14px 0;
  letter-spacing: -0.02em;
}

.exec-gateway-1col-title .text-accent {
  color: var(--color-accent-primary, #10B981) !important;
}

.exec-gateway-1col-desc {
  font-family: var(--font-family-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary, #475569) !important;
  max-width: 620px;
  margin: 0 auto;
}

/* 3 Consolidated Fiduciary Trust Proof Pills - White Edition */
.exec-proof-pill-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.exec-proof-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-canvas-studio, #F8FAFC) !important;
  border: 1px solid var(--color-border-light, #E2E8F0) !important;
  padding: 8px 16px;
  font-size: 12.5px;
  color: var(--color-text-dark-primary, #1E293B) !important;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.exec-proof-pill strong {
  color: var(--color-text-dark-primary, #0F172A) !important;
  font-weight: 700;
}

.exec-proof-pill-sub {
  color: var(--color-text-dark-muted, #64748B) !important;
  font-size: 11.5px;
}

.exec-proof-pill-check {
  color: var(--color-accent-primary, #10B981) !important;
  font-weight: 800;
  font-size: 13px;
}

/* Form Grid */
.exec-form-grid-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* Form Inputs - White Edition */
.exec-gateway-1col .simple-form-group {
  margin-bottom: 18px;
}

.exec-gateway-1col .simple-form-input,
.exec-gateway-1col .simple-form-select,
.exec-gateway-1col .simple-form-textarea {
  width: 100%;
  background: var(--color-canvas-studio, #F8FAFC) !important;
  border: 1px solid #CBD5E1 !important;
  color: #0F172A !important;
  font-family: var(--font-family-body);
  font-size: 14.5px !important;
  box-sizing: border-box;
  padding: 13px 16px !important;
  border-radius: 0px !important;
  transition: all var(--primitive-duration-fast) ease !important;
}

.exec-gateway-1col .simple-form-input::placeholder,
.exec-gateway-1col .simple-form-textarea::placeholder {
  color: #64748B !important;
  opacity: 1 !important;
}

.exec-gateway-1col .simple-form-input:focus,
.exec-gateway-1col .simple-form-select:focus,
.exec-gateway-1col .simple-form-textarea:focus {
  background: #FFFFFF !important;
  border-color: #10B981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
  outline: none !important;
}

.exec-gateway-1col .simple-form-select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.exec-gateway-1col .simple-form-select option {
  background: #FFFFFF !important;
  color: #0F172A !important;
}

.exec-gateway-1col .simple-form-select-chevron {
  color: #64748B !important;
}

.exec-gateway-1col .simple-form-textarea {
  resize: vertical;
  min-height: 96px;
  line-height: 1.55;
}

/* Terms Checkbox */
.exec-gateway-1col .simple-form-terms {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
}

.exec-gateway-1col .simple-form-checkbox {
  width: 16px;
  height: 16px;
  accent-color: #10B981;
  cursor: pointer;
}

.exec-gateway-1col .simple-form-terms-text {
  font-size: 13px;
  color: #475569 !important;
  line-height: 1.4;
}

.exec-gateway-1col .simple-form-terms-link {
  color: #10B981 !important;
  font-weight: 600;
  text-decoration: none;
}

.exec-gateway-1col .simple-form-terms-link:hover {
  text-decoration: underline;
}

/* Submit Action Button */
.exec-gateway-1col .simple-form-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px 28px;
  background: #10B981 !important;
  color: #FFFFFF !important;
  font-family: var(--font-family-body);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: none !important;
  border-radius: 0px !important;
  cursor: pointer;
  transition: all var(--primitive-duration-fast) ease;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.25);
}

.exec-gateway-1col .simple-form-submit-btn:hover {
  background: #059669 !important;
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35) !important;
  transform: translateY(-1px);
}

.exec-gateway-1col .simple-btn-disc-arrow {
  width: 24px;
  height: 24px;
  background: #F8FAFC !important;
  color: #0E1C24 !important;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform var(--primitive-duration-fast) ease;
}

.exec-gateway-1col .simple-form-submit-btn:hover .simple-btn-disc-arrow {
  transform: translateX(2px) translateY(-2px);
}

/* Reassurance Strip */
.exec-1col-reassurance {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #E2E8F0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12.5px;
  color: #64748B !important;
  flex-wrap: wrap;
}

.exec-reassurance-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0F172A !important;
  text-decoration: none;
  font-weight: 600;
  transition: color var(--primitive-duration-fast) ease;
}

.exec-reassurance-link:hover {
  color: #10B981 !important;
}

.exec-reassurance-link svg {
  color: #10B981 !important;
}

.exec-reassurance-sep {
  opacity: 0.5;
  color: #CBD5E1 !important;
}

/* Confirmation Screen in White Edition */
.exec-gateway-1col .form-confirmation-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-top: 3px solid #10B981 !important;
  padding: clamp(32px, 5vw, 48px);
}

.exec-gateway-1col .form-confirmation-icon-wrap {
  background: rgba(16, 185, 129, 0.12) !important;
  color: #10B981 !important;
}

.exec-gateway-1col .form-confirmation-title {
  color: #0F172A !important;
}

.exec-gateway-1col .form-confirmation-desc {
  color: #475569 !important;
}

.exec-gateway-1col .form-confirmation-summary-box {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.exec-gateway-1col .form-confirmation-summary-row {
  border-bottom: 1px solid #E2E8F0 !important;
}

.exec-gateway-1col .form-confirmation-summary-label {
  color: #64748B !important;
}

.exec-gateway-1col .form-confirmation-summary-val {
  color: #0F172A !important;
}

/* Mobile Responsive */
@media (max-width: 640px) {
  .exec-gateway-1col {
    padding: 28px 20px;
  }
  .exec-form-grid-2col {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .exec-proof-pill-row {
    flex-direction: column;
    align-items: stretch;
  }
  .exec-proof-pill {
    justify-content: center;
  }
  .exec-1col-reassurance {
    flex-direction: column;
    gap: 8px;
  }
  .exec-reassurance-sep {
    display: none;
  }
}

/* =========================================================================
   ABOUT PAGE: EXECUTIVE LEADERSHIP ARCHITECTURE & SOCIAL TOOLBAR
   ========================================================================= */

.about-leadership-section {
  padding: clamp(64px, 8vw, 104px) 0;
  background-color: var(--color-canvas-base, #FFFFFF);
  position: relative;
}

.about-leadership-header {
  text-align: center;
  margin-bottom: clamp(36px, 5vw, 56px);
}

.about-leadership-header .section-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent-primary, #10B981) !important;
  margin-bottom: 12px;
}

.about-leadership-title {
  font-family: var(--font-family-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-text-dark-primary, #0F172A) !important;
  letter-spacing: -0.02em;
  margin: 0 0 14px 0;
}

.about-leadership-title .text-accent {
  color: var(--color-accent-primary, #10B981) !important;
}

.about-leadership-subtitle {
  font-family: var(--font-family-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--color-text-dark-secondary, #475569) !important;
  max-width: 620px;
  margin: 0 auto;
}

.about-leadership-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 3vw, 36px);
  align-items: stretch;
}

.leader-card {
  background: #FFFFFF !important;
  border: 1px solid var(--color-border-light, #E2E8F0) !important;
  box-shadow: 0 4px 20px rgba(11, 21, 28, 0.04);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}

.leader-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(11, 21, 28, 0.08);
  border-color: #CBD5E1 !important;
}

.leader-card-media-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 20 / 21;
  background-color: #0B171F;
}

.leader-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.leader-card:hover .leader-card-img {
  transform: scale(1.03);
}

.leader-card-badge {
  display: none !important;
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0px;
}

.leader-card-body {
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex-grow: 1;
}

.leader-card-meta {
  margin-bottom: 14px;
  text-align: center;
  width: 100%;
}

.leader-card-name {
  font-family: var(--font-family-heading);
  font-size: 20px;
  font-weight: 700;
  color: var(--color-text-dark-primary, #0F172A) !important;
  margin: 0 0 6px 0;
  letter-spacing: -0.015em;
  line-height: 1.25;
  text-align: center;
}

.leader-card-role {
  font-family: var(--font-family-body);
  font-size: 12px;
  font-weight: 700;
  color: var(--color-accent-primary, #10B981) !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin: 0;
  text-align: center;
}

.leader-card-bio {
  display: none !important;
}

/* Social & Direct Engagement Toolbar */
.leader-social-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 14px;
  border-top: 1px solid var(--color-border-light, #F1F5F9);
  margin-top: auto;
  width: 100%;
}

.leader-social-links {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}


.leader-social-btn {
  width: 34px;
  height: 34px;
  border-radius: 50% !important;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #475569;
  text-decoration: none;
  transition: all 0.2s ease;
}

.leader-social-btn:hover,
.leader-social-btn--linkedin:hover {
  background: var(--color-accent-primary, #10B981) !important;
  border-color: var(--color-accent-primary, #10B981) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
  transform: translateY(-2px);
}

.leader-social-btn svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.leader-briefing-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12.5px;
  font-weight: 700;
  color: #0F172A;
  text-decoration: none;
  transition: color 0.2s ease;
}

.leader-briefing-link:hover {
  color: #10B981;
}

.leader-briefing-link svg {
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
}

.leader-briefing-link:hover svg {
  transform: translateX(2px) translateY(-2px);
}

/* Tablet & Mobile Responsive */
@media (max-width: 1024px) {
  .about-leadership-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .about-leadership-grid {
    grid-template-columns: 1fr;
  }
  .leader-card-body {
    padding: 20px;
  }
}

/* =========================================================================
   EXACT REFERENCE CONTACT & STRATEGY BRIEFING SECTION (2-COLUMN SPLIT)
   ========================================================================= */

.ref-contact-section {
  background-color: var(--color-canvas-studio, #F4F7F8);
  padding: clamp(64px, 8vw, 108px) 0;
  position: relative;
  border-top: 1px solid var(--color-border-light, #E2E8F0);
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
}

.ref-contact-section--standalone {
  padding-top: clamp(120px, 12vw, 160px);
  min-height: calc(100vh - 200px);
}

.ref-contact-section--white {
  background-color: var(--color-canvas-white, #FFFFFF) !important;
}

.ref-contact-section--white .ref-contact-card {
  background-color: #FFFFFF;
  border: 1px solid var(--color-border-light, #E2E8F0);
  box-shadow: 0 16px 44px rgba(14, 28, 36, 0.07), 0 2px 8px rgba(14, 28, 36, 0.03);
}

.ref-contact-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(36px, 5.5vw, 76px);
  align-items: start;
}

/* Left Column: Context, Fiduciary Narrative & Direct Reach */
.ref-contact-left {
  display: flex;
  flex-direction: column;
}

.ref-contact-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #334155;
  margin-bottom: 18px;
}

.ref-contact-kicker-dot {
  width: 7px;
  height: 7px;
  background-color: var(--color-accent-primary, #10B981);
  border-radius: 1px;
  display: inline-block;
  flex-shrink: 0;
}

.ref-contact-title {
  font-family: var(--font-family-heading);
  font-size: clamp(32px, 3.8vw, 50px);
  font-weight: 700;
  color: var(--color-text-dark-primary, #0E1C24);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0 0 20px 0;
}

.ref-contact-title .text-accent {
  color: var(--color-accent-primary, #10B981);
}

.ref-contact-desc {
  font-family: var(--font-family-body);
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary, #64748B);
  max-width: 520px;
  margin: 0 0 36px 0;
}

/* Direct Metadata Stack (Exact Reference Format) */
.ref-contact-items {
  display: flex;
  flex-direction: column;
  gap: 26px;
  margin-top: 8px;
}

.ref-contact-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ref-contact-item-lbl {
  font-family: var(--font-family-body, 'Plus Jakarta Sans', sans-serif);
  font-size: 15px;
  color: #64748B;
  font-weight: 400;
  line-height: 1.4;
}

.ref-contact-item-val {
  font-family: var(--font-family-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(21px, 2.2vw, 25px);
  font-weight: 700;
  color: #0E1C24;
  line-height: 1.35;
  letter-spacing: -0.015em;
}

a.ref-contact-item-val {
  color: #0E1C24;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 5px;
  display: inline-block;
  width: fit-content;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a.ref-contact-item-val:hover {
  color: var(--color-accent-primary, #10B981);
  text-decoration-color: var(--color-accent-primary, #10B981);
}

/* Social Icon Buttons Row */
.ref-contact-socials {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}

.ref-social-btn {
  width: 40px;
  height: 40px;
  border-radius: 50% !important;
  background: #23353F;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}

.ref-social-btn:hover {
  background: var(--color-accent-primary, #10B981);
  transform: translateY(-2px);
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
}

.ref-social-btn svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.ref-social-btn svg[fill="none"] {
  fill: none;
}



/* Right Column: White Card Container */
.ref-contact-card {
  background: #FFFFFF;
  border: 1px solid var(--color-border-light, #E2E8F0);
  box-shadow: 0 16px 44px rgba(14, 28, 36, 0.05), 0 2px 8px rgba(14, 28, 36, 0.02);
  padding: clamp(32px, 4.5vw, 48px);
  position: relative;
}

.ref-card-title {
  font-family: var(--font-family-heading);
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 700;
  color: #0E1C24;
  line-height: 1.2;
  margin: 0 0 24px 0;
  letter-spacing: -0.02em;
}

/* Form Styles */
.ref-form,
#refContactForm,
#execBriefForm {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.ref-form-field {
  position: relative;
  width: 100%;
}

.ref-input,
.ref-select,
.ref-textarea {
  width: 100%;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #0E1C24;
  font-family: var(--font-family-body);
  font-size: 14.5px;
  padding: 14px 18px;
  box-sizing: border-box;
  transition: all 0.2s ease;
  border-radius: 0;
}

.ref-input::placeholder,
.ref-textarea::placeholder {
  color: #64748B;
  opacity: 1;
}

.ref-input:focus,
.ref-select:focus,
.ref-textarea:focus {
  background: #FFFFFF;
  border-color: var(--color-accent-primary, #10B981);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14);
  outline: none;
}

.ref-input.has-error,
.ref-select.has-error,
.ref-textarea.has-error {
  border-color: #EF4444;
  background: #FFF5F5;
}

.ref-select-wrap {
  position: relative;
  width: 100%;
}

.ref-select-wrap select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  padding-right: 42px;
}

.ref-select-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #64748B;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

.ref-select:focus + .ref-select-icon {
  color: var(--color-accent-primary, #10B981);
}

.ref-textarea {
  min-height: 130px;
  resize: vertical;
  line-height: 1.55;
}

/* Checkbox & Terms */
.ref-terms-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}

.ref-checkbox {
  width: 16px;
  height: 16px;
  accent-color: var(--color-accent-primary, #10B981);
  cursor: pointer;
  flex-shrink: 0;
}

.ref-terms-text {
  font-size: 13.5px;
  color: #475569;
  cursor: pointer;
  user-select: none;
}

.ref-terms-text a {
  color: var(--color-accent-primary, #10B981);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
  transition: opacity 0.2s ease;
}

.ref-terms-text a:hover {
  opacity: 0.85;
}

/* Submit CTA with Disc Arrow */
.ref-submit-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 15px 18px 15px 24px;
  background: var(--color-accent-primary, #10B981);
  color: #FFFFFF;
  font-family: var(--font-family-body);
  font-size: 15px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
  letter-spacing: 0.01em;
  margin-top: 8px;
}

.ref-submit-btn:hover {
  background: #059669;
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.32);
  transform: translateY(-1px);
}

.ref-submit-btn:active {
  transform: translateY(0);
}

.ref-submit-arrow {
  width: 28px;
  height: 28px;
  border-radius: 50% !important;
  background: #F8FAFC !important;
  color: #0E1C24 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}

.ref-submit-btn:hover .ref-submit-arrow {
  transform: translateX(2px) translateY(-2px);
}

/* 4-State UI Matrix Elements */
.ref-error-banner {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 11px 16px;
  background: #FEF2F2;
  border: 1px solid #FECACA;
  color: #B91C1C;
  font-size: 13px;
  margin-bottom: 14px;
}

.ref-error-banner.visible {
  display: flex;
}

.ref-field-error {
  display: none;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #DC2626;
  margin-top: 4px;
}

.ref-field-error.visible {
  display: flex;
}

.ref-confirmation {
  display: none;
  flex-direction: column;
  gap: 18px;
}

.ref-confirmation.visible {
  display: flex;
}

.ref-confirmation-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.12);
  color: var(--color-accent-primary, #10B981);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ref-confirmation-title {
  font-family: var(--font-family-heading);
  font-size: 22px;
  font-weight: 700;
  color: #0E1C24;
  margin: 0;
}

.ref-confirmation-desc {
  font-size: 14.5px;
  line-height: 1.6;
  color: #475569;
  margin: 0;
}

.ref-confirmation-summary {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ref-conf-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}

.ref-conf-lbl {
  color: #64748B;
  font-weight: 500;
}

.ref-conf-val {
  color: #0E1C24;
  font-weight: 700;
}

.ref-conf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background: #0E1C24;
  color: #FFFFFF;
  border: none;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
  margin-top: 8px;
}

.ref-conf-btn:hover {
  background: var(--color-accent-primary, #10B981);
}

.ref-card-subtitle {
  font-family: var(--font-family-body);
  font-size: 13.5px;
  line-height: 1.5;
  color: #64748B;
  margin: -16px 0 20px 0;
}

/* =========================================================================
   DEDICATED CONTACT US PAGE PORTAL ARCHITECTURE (.contact-portal-section)
   ========================================================================= */
.contact-portal-section {
  background-color: var(--color-canvas-white, #FFFFFF);
  padding: clamp(64px, 8vw, 108px) 0;
  position: relative;
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
}

.contact-portal-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(36px, 5.5vw, 76px);
  align-items: start;
}

/* Directory Column */
.contact-portal-directory {
  display: flex;
  flex-direction: column;
}

.contact-portal-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #334155;
  margin-bottom: 18px;
}

.contact-portal-kicker-dot {
  width: 7px;
  height: 7px;
  background-color: var(--color-accent-primary, #10B981);
  border-radius: 1px;
  display: inline-block;
  flex-shrink: 0;
}

.contact-portal-title {
  font-family: var(--font-family-heading);
  font-size: clamp(32px, 3.8vw, 50px);
  font-weight: 600;
  color: var(--color-text-dark-primary, #0E1C24);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0 0 18px 0;
}

.contact-portal-title .text-accent {
  color: var(--color-accent-primary, #10B981);
}

.contact-portal-desc {
  font-family: var(--font-family-body);
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--color-text-dark-secondary, #64748B);
  max-width: 520px;
  margin: 0 0 32px 0;
}

/* Contact Message Card */
.contact-message-card {
  background: #FFFFFF;
  border: 1px solid var(--color-border-light, #E2E8F0);
  box-shadow: 0 16px 44px rgba(14, 28, 36, 0.05), 0 2px 8px rgba(14, 28, 36, 0.02);
  padding: clamp(32px, 4.5vw, 48px);
  position: relative;
}

.contact-message-card-title {
  font-family: var(--font-family-heading);
  font-size: clamp(24px, 2.6vw, 30px);
  font-weight: 700;
  color: #0E1C24;
  line-height: 1.2;
  margin: 0 0 6px 0;
  letter-spacing: -0.02em;
}

.contact-message-card-desc {
  font-family: var(--font-family-body);
  font-size: 14px;
  color: #64748B;
  margin: 0 0 22px 0;
  line-height: 1.5;
}

/* Responsive Media Queries */
@media (max-width: 992px) {
  .ref-contact-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .ref-contact-title {
    font-size: clamp(28px, 5.5vw, 40px);
  }
  .contact-portal-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .contact-portal-title {
    font-size: clamp(28px, 5.5vw, 40px);
  }
}

@media (max-width: 640px) {
  .ref-contact-section {
    padding: 48px 0;
  }
  .ref-contact-card {
    padding: 24px 20px;
  }
  .ref-submit-btn {
    padding: 14px 16px;
  }
  .contact-portal-section {
    padding: 48px 0;
  }
  .contact-message-card {
    padding: 24px 20px;
  }
  .contact-channel-card {
    padding: 16px;
    gap: 14px;
  }
}

/* =========================================================================
   PARTNERS & CARRIER NETWORK MARQUEE (HOMEPAGE - MINIMAL LIGHT THEME)
   ========================================================================= */
.partners-marquee-section {
  padding: clamp(32px, 3.5vw, 48px) 0;
  background-color: var(--color-canvas-white, #FFFFFF);
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--color-border-light, #E2E8F0);
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
}

/* Marquee Viewport & Masking */
.partners-marquee-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 8px 0;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000000 8%, #000000 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000000 8%, #000000 92%, transparent 100%);
}

.partners-marquee-viewport:focus-visible {
  outline: 2px solid var(--color-accent-primary, #10B981);
  outline-offset: 4px;
}

.partners-marquee-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: robwohMarquee 35s linear infinite;
}

.partners-marquee-viewport:hover .partners-marquee-track,
.partners-marquee-viewport:focus-within .partners-marquee-track {
  animation-play-state: paused;
}

.partners-marquee-group {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 24px);
  padding-right: clamp(16px, 2vw, 24px);
  flex-shrink: 0;
}

/* Partner Logo Card (Sharp 90° Light Minimalist Box) */
.partners-marquee-card {
  width: clamp(170px, 15vw, 210px);
  height: clamp(72px, 6vw, 86px);
  background-color: #FFFFFF;
  border: 1px solid var(--color-border-light, #E2E8F0);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(14, 28, 36, 0.02);
  transition: border-color var(--primitive-duration-fast, 250ms) var(--primitive-ease-signature, cubic-bezier(0.16, 1, 0.3, 1)),
              box-shadow var(--primitive-duration-fast, 250ms) ease,
              transform var(--primitive-duration-fast, 250ms) ease;
}

.partners-marquee-card:hover {
  border-color: var(--color-accent-primary, #10B981);
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.08), 0 2px 6px rgba(14, 28, 36, 0.03);
  transform: translateY(-2px);
}

.partners-marquee-img {
  max-width: 100%;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(0.2) opacity(0.92);
  transition: filter var(--primitive-duration-fast, 250ms) ease,
              transform var(--primitive-duration-fast, 250ms) ease;
  user-select: none;
  pointer-events: none;
}

.partners-marquee-card:hover .partners-marquee-img {
  filter: grayscale(0) opacity(1);
  transform: scale(1.03);
}

@keyframes robwohMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .partners-marquee-track {
    animation: none;
    overflow-x: auto;
    width: 100%;
    scrollbar-width: thin;
  }
  .partners-marquee-viewport {
    -webkit-mask-image: none;
    mask-image: none;
  }
}

/* =========================================================================
   INSTITUTIONAL PARTNERS & UNDERWRITING NETWORK GRID (ABOUT PAGE)
   ========================================================================= */
.partners-grid-section {
  padding: clamp(70px, 7vw, 100px) 0;
  background-color: var(--color-canvas-studio, #F4F7F8);
  border-top: 1px solid var(--color-border-light, #E2E8F0);
  border-bottom: 1px solid var(--color-border-light, #E2E8F0);
  position: relative;
}

.partners-grid-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto clamp(40px, 4.5vw, 56px);
}

.partners-grid-heading {
  font-family: var(--font-family-heading);
  font-size: clamp(30px, 3.5vw, 46px);
  font-weight: 700;
  line-height: 1.18;
  color: var(--color-text-dark-primary, #0E1C24);
  margin: 0 auto 16px;
  letter-spacing: -0.025em;
}

.partners-grid-heading .text-accent {
  color: var(--color-accent-primary, #10B981);
}

.partners-grid-subtitle {
  font-family: var(--font-family-body);
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.65;
  color: var(--color-text-dark-secondary, #4B5563);
  margin: 0 auto;
  max-width: 700px;
}

/* 3-Column Architectural Grid (Symmetrical 3x2 with 6 items) */
.partners-grid-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.partners-grid-card {
  background-color: var(--color-canvas-white, #FFFFFF);
  border: 1px solid var(--color-border-light, #E2E8F0);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  padding: 24px 28px;
  box-shadow: 0 4px 12px rgba(14, 28, 36, 0.02);
  transition: transform var(--primitive-duration-fast, 250ms) var(--primitive-ease-signature, cubic-bezier(0.16, 1, 0.3, 1)),
              border-color var(--primitive-duration-fast, 250ms) ease,
              box-shadow var(--primitive-duration-fast, 250ms) ease;
  position: relative;
}

.partners-grid-card:hover,
.partners-grid-card:focus-visible {
  transform: translateY(-4px);
  border-color: var(--color-accent-primary, #10B981);
  box-shadow: 0 16px 32px rgba(16, 185, 129, 0.08), 0 4px 12px rgba(14, 28, 36, 0.04);
  outline: none;
}

.partners-grid-card-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.partners-grid-img {
  max-width: 100%;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(0.2) opacity(0.9);
  transition: filter var(--primitive-duration-fast, 250ms) ease,
              transform var(--primitive-duration-fast, 250ms) ease;
}

.partners-grid-card:hover .partners-grid-img,
.partners-grid-card:focus-visible .partners-grid-img {
  filter: grayscale(0) opacity(1);
  transform: scale(1.04);
}

/* 12th Complementary Fiduciary Highlight Card */
.partners-grid-card--highlight {
  background-color: var(--color-canvas-dark, #0E1C24);
  border-color: var(--color-border-dark, #1E2E38);
}

.partners-grid-card--highlight:hover {
  border-color: var(--color-accent-primary, #10B981);
  box-shadow: 0 16px 32px rgba(16, 185, 129, 0.15);
}

.partners-highlight-content {
  flex-direction: column;
  text-align: center;
  gap: 8px;
}

.partners-highlight-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-family-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-primary, #10B981);
}

.partners-highlight-dot {
  width: 6px;
  height: 6px;
  background-color: var(--color-accent-primary, #10B981);
  border-radius: 1px;
}

.partners-highlight-text {
  font-family: var(--font-family-heading);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--color-text-light-primary, #FFFFFF);
  line-height: 1.4;
}

/* Responsive Breakpoints */
@media (max-width: 1100px) {
  .partners-grid-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .partners-grid-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  .partners-grid-card {
    min-height: 100px;
    padding: 16px 20px;
  }
  .partners-grid-img {
    max-height: 46px;
  }
}

@media (max-width: 480px) {
  .partners-grid-cards {
    grid-template-columns: 1fr;
  }
}

/* =========================================================================
   20. EDITORIAL PROSE & GUTENBERG BLOCK STYLING (NEW WORDPRESS POSTS)
   Guarantees that newly created WordPress articles automatically inherit
   the institutional Robwoh editorial typography, hierarchy, and design.
   ========================================================================= */

.service-article-body,
.entry-content.prose-content,
.prose-content {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 1.05rem;
  line-height: 1.85;
  color: #334155;
}

.service-article-body > p:first-of-type,
.article-lead-paragraph {
  font-size: clamp(1.15rem, 1.3vw, 1.25rem);
  line-height: 1.8;
  color: #0F172A;
  font-weight: 500;
  margin-bottom: 28px;
}

.service-article-body h2,
.entry-content h2 {
  font-family: var(--font-family-heading, 'Forum', serif);
  font-size: clamp(24px, 2.5vw, 32px);
  color: var(--color-text-dark-primary, #0B151C);
  margin: 48px 0 20px 0;
  font-weight: 700;
  line-height: 1.3;
  border-bottom: 2px solid #F1F5F9;
  padding-bottom: 12px;
}

.service-article-body h3,
.entry-content h3 {
  font-family: var(--font-family-heading, 'Forum', serif);
  font-size: clamp(20px, 2vw, 24px);
  color: #0F172A;
  margin: 36px 0 16px 0;
  font-weight: 600;
  line-height: 1.35;
}

.service-article-body h4,
.entry-content h4 {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-size: 1.15rem;
  color: #1E293B;
  margin: 28px 0 12px 0;
  font-weight: 600;
}

.service-article-body p,
.entry-content p {
  margin-bottom: 22px;
  line-height: 1.85;
  color: #334155;
}

.service-article-body blockquote,
.entry-content blockquote,
.wp-block-quote {
  background: #F8FAFC;
  border-left: 4px solid var(--color-accent-primary, #C5A059);
  padding: 24px 28px;
  margin: 36px 0;
  font-style: italic;
  color: #1E293B;
  font-size: 1.12rem;
  line-height: 1.75;
}

.wp-block-quote p,
blockquote p {
  margin-bottom: 8px !important;
}

.wp-block-quote cite,
blockquote cite {
  display: block;
  margin-top: 10px;
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 600;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.service-article-body ul,
.service-article-body ol,
.entry-content ul,
.entry-content ol,
.wp-block-list {
  padding-left: 24px;
  margin: 0 0 28px 0;
  line-height: 1.8;
  color: #334155;
}

.service-article-body ul li,
.service-article-body ol li,
.entry-content ul li,
.entry-content ol li {
  margin-bottom: 10px;
}

.service-article-body ul li strong,
.service-article-body ol li strong,
.entry-content ul li strong,
.entry-content ol li strong {
  color: #0F172A;
}

.service-article-body table,
.entry-content table,
.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  margin: 36px 0;
  font-size: 0.95rem;
}

.service-article-body table th,
.entry-content table th,
.wp-block-table table th {
  background: #0B151C;
  color: #FFFFFF;
  font-weight: 600;
  padding: 14px 18px;
  text-align: left;
  border: 1px solid #1E2E38;
}

.service-article-body table td,
.entry-content table td,
.wp-block-table table td {
  padding: 12px 18px;
  border-bottom: 1px solid #E2E8F0;
  border-left: 1px solid #F1F5F9;
  border-right: 1px solid #F1F5F9;
  color: #334155;
}

.service-article-body table tr:nth-child(even),
.entry-content table tr:nth-child(even),
.wp-block-table table tr:nth-child(even) {
  background: #F8FAFC;
}

.callout-takeaway-box,
.wp-block-group.callout-takeaway-box {
  background: #F0FDF4;
  border-left: 4px solid #10B981;
  padding: 24px 28px;
  margin: 36px 0;
}

.callout-takeaway-box h3 {
  margin-top: 0 !important;
  color: #065F46 !important;
  font-size: 1.15rem !important;
}

.callout-takeaway-box p:last-child {
  margin-bottom: 0 !important;
}

.service-article-body img,
.entry-content img,
.wp-block-image img {
  max-width: 100%;
  height: auto;
  border: 1px solid #E2E8F0;
  display: block;
}

.wp-block-image figcaption {
  font-size: 0.85rem;
  color: #64748B;
  text-align: center;
  margin-top: 8px;
  font-style: italic;
}

.service-article-body hr,
.entry-content hr,
.wp-block-separator {
  border: none;
  border-top: 1px solid #E2E8F0;
  margin: 44px 0;
}

/* Branded Fallback Placeholder Canvas */
.insight-card-fallback-canvas {
  transition: transform var(--primitive-duration-normal) ease;
}

.insight-card:hover .insight-card-fallback-canvas {
  transform: scale(1.03);
}

.insight-card-fallback-canvas::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, transparent 30%, rgba(6, 13, 18, 0.4) 100%);
  pointer-events: none;
}

