/* ==========================================================================
   DwaparaTech - Design System & Modern Look & Feel
   Brand Palette from Logo:
   - Deep Midnight Navy: #11184f
   - Amber Orange:       #f7941d
   - Jade Green:         #209b68
   - Azure Blue:         #2675d8
   - Crimson Red:        #df1717
   ========================================================================== */

:root {
  /* Brand Core Colors */
  --navy: #11184f;
  --navy-dark: #0a0f33;
  --navy-deep: #070a22;
  --navy-surface: #141b56;
  --navy-elevated: #1a236c;
  --navy-light: #232f8c;

  /* The 4 Logo Bar Colors */
  --amber: #f7941d;
  --green: #209b68;
  --blue: #2675d8;
  --red: #df1717;

  /* Logo Color Tints & Soft Surfaces */
  --amber-soft: rgba(247, 148, 29, 0.09);
  --amber-border: rgba(247, 148, 29, 0.28);
  --green-soft: rgba(32, 155, 104, 0.09);
  --green-border: rgba(32, 155, 104, 0.28);
  --blue-soft: rgba(38, 117, 216, 0.09);
  --blue-border: rgba(38, 117, 216, 0.28);
  --red-soft: rgba(223, 23, 23, 0.09);
  --red-border: rgba(223, 23, 23, 0.28);

  /* Light Theme Canvas */
  --bg-page: #f8fafd;
  --bg-surface: #ffffff;
  --bg-subtle: #edf3fa;
  --bg-card: #ffffff;

  /* Text Hierarchies */
  --text-primary: #11184f;
  --text-secondary: #4b5874;
  --text-muted: #72809c;
  --text-inverse: #ffffff;
  --text-inverse-muted: #9aa8c7;

  /* Lines & Borders */
  --border-light: rgba(17, 24, 79, 0.08);
  --border-mid: rgba(17, 24, 79, 0.14);
  --border-strong: rgba(17, 24, 79, 0.22);
  --dark-border: rgba(255, 255, 255, 0.12);
  --dark-border-subtle: rgba(255, 255, 255, 0.07);

  /* Signature Spectrum Gradient */
  --spectrum-grad: linear-gradient(90deg, #f7941d 0%, #209b68 33%, #2675d8 66%, #df1717 100%);
  --spectrum-grad-v: linear-gradient(180deg, #f7941d 0%, #209b68 33%, #2675d8 66%, #df1717 100%);

  /* Shadows */
  --shadow-sm: 0 2px 6px rgba(17, 24, 79, 0.04);
  --shadow-card: 0 10px 30px -5px rgba(17, 24, 79, 0.07), 0 2px 8px -2px rgba(17, 24, 79, 0.04);
  --shadow-card-hover: 0 20px 40px -10px rgba(17, 24, 79, 0.14), 0 4px 12px -2px rgba(17, 24, 79, 0.06);
  --shadow-dark-card: 0 20px 50px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.08);

  /* Typography */
  --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'DM Mono', monospace;

  /* Layout */
  --max-width: 1240px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 9999px;

  /* Transitions */
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --trans-fast: 0.2s var(--ease);
  --trans-base: 0.35s var(--ease);
}

/* ==========================================================================
   Reset & Base Styles
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--bg-page);
  color: var(--text-primary);
  font-family: var(--font-sans);
  line-height: 1.6;
  overflow-x: hidden;
}

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

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

button, input, textarea {
  font-family: inherit;
  font-size: inherit;
}

button {
  cursor: pointer;
}

.mono {
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
}

.page-grid {
  width: min(calc(100% - 64px), var(--max-width));
  margin-inline: auto;
}

/* ==========================================================================
   Spectrum Brand Elements (Signature 4-Color Motif)
   ========================================================================== */
.spectrum-line {
  height: 3px;
  width: 100%;
  background: var(--spectrum-grad);
}

.spectrum-bars {
  display: inline-flex;
  align-items: flex-end;
  gap: 3px;
  height: 16px;
  vertical-align: middle;
}

.spectrum-bars span {
  width: 3.5px;
  border-radius: 2px;
}

.spectrum-bars span:nth-child(1) { height: 7px; background: var(--amber); }
.spectrum-bars span:nth-child(2) { height: 16px; background: var(--green); }
.spectrum-bars span:nth-child(3) { height: 13px; background: var(--blue); }
.spectrum-bars span:nth-child(4) { height: 9px; background: var(--red); }

/* ==========================================================================
   Announcement Bar
   ========================================================================== */
.announcement {
  background: var(--navy-dark);
  color: var(--text-inverse-muted);
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 9px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
  z-index: 101;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.announcement-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(32, 155, 104, 0.15);
  border: 1px solid rgba(32, 155, 104, 0.4);
  color: #4ee09b;
  padding: 2px 8px;
  border-radius: var(--radius-pill);
  font-size: 10px;
  text-transform: uppercase;
}

.announcement-dot {
  width: 6px;
  height: 6px;
  background: #39e097;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 8px #39e097;
  animation: pulse-dot 2s infinite ease-in-out;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.85); }
}

.announcement-text {
  color: rgba(255, 255, 255, 0.85);
}

.announcement a {
  color: var(--amber);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  margin-left: 8px;
  transition: var(--trans-fast);
}

.announcement a:hover {
  color: #ffaa3b;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-light);
  transition: background-color var(--trans-fast), box-shadow var(--trans-fast);
}

.header-inner {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand img {
  height: 34px;
  width: auto;
  transition: transform var(--trans-fast);
}

.brand:hover img {
  transform: scale(1.02);
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.main-nav > a:not(.nav-cta) {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-secondary);
  position: relative;
  padding: 6px 0;
}

.main-nav > a:not(.nav-cta)::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--blue);
  transition: width var(--trans-fast);
  border-radius: 2px;
}

.main-nav > a:not(.nav-cta):hover {
  color: var(--navy);
}

.main-nav > a:not(.nav-cta):hover::after {
  width: 100%;
}

.nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--navy);
  color: #ffffff !important;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 10px 20px;
  border-radius: var(--radius-pill);
  box-shadow: 0 4px 14px rgba(17, 24, 79, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.12);
  transition: all var(--trans-fast);
}

.nav-cta:hover {
  background: var(--navy-light);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(38, 117, 216, 0.28);
}

.nav-cta span {
  font-size: 14px;
  transition: transform var(--trans-fast);
}

.nav-cta:hover span {
  transform: translate(2px, -2px);
}

.menu-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 8px;
  flex-direction: column;
  gap: 5px;
}

.menu-toggle span {
  width: 22px;
  height: 2px;
  background: var(--navy);
  transition: transform 0.2s, opacity 0.2s;
  border-radius: 2px;
}

/* ==========================================================================
   Buttons & Links
   ========================================================================== */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
  padding: 14px 26px;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  transition: all var(--trans-base);
  text-transform: uppercase;
}

.button span {
  font-size: 15px;
  transition: transform var(--trans-fast);
}

.button:hover span {
  transform: translate(2px, -2px);
}

.button-primary {
  background: var(--navy);
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(17, 24, 79, 0.2);
  border-color: rgba(255, 255, 255, 0.1);
}

.button-primary:hover {
  background: var(--navy-light);
  box-shadow: 0 10px 28px rgba(38, 117, 216, 0.3);
  transform: translateY(-2px);
}

.button-secondary {
  background: #ffffff;
  color: var(--navy);
  border-color: var(--border-mid);
  box-shadow: var(--shadow-sm);
}

.button-secondary:hover {
  border-color: var(--blue);
  color: var(--blue);
  background: var(--blue-soft);
  transform: translateY(-1px);
}

.button-copper {
  background: linear-gradient(135deg, #f7941d, #f58403);
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(247, 148, 29, 0.3);
}

.button-copper:hover {
  background: linear-gradient(135deg, #ffaa3b, #f7941d);
  box-shadow: 0 10px 28px rgba(247, 148, 29, 0.45);
  transform: translateY(-2px);
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--blue);
  transition: gap var(--trans-fast), color var(--trans-fast);
}

.text-link span {
  font-size: 15px;
  transition: transform var(--trans-fast);
}

.text-link:hover {
  color: var(--navy);
  gap: 9px;
}

.text-link:hover span {
  transform: translate(2px, -2px);
}

.light-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--amber);
  transition: all var(--trans-fast);
}

.light-link span {
  font-size: 15px;
  transition: transform var(--trans-fast);
}

.light-link:hover {
  color: #ffaa3b;
  gap: 9px;
}

.light-link:hover span {
  transform: translate(2px, -2px);
}

/* ==========================================================================
   Eyebrows & Section Headings
   ========================================================================== */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 16px;
  padding: 4px 12px;
  background: var(--blue-soft);
  border: 1px solid var(--blue-border);
  border-radius: var(--radius-pill);
}

.eyebrow-line {
  display: none;
}

.eyebrow.light {
  color: var(--amber);
  background: rgba(247, 148, 29, 0.12);
  border-color: rgba(247, 148, 29, 0.3);
}

.eyebrow-amber {
  color: var(--amber);
  background: var(--amber-soft);
  border-color: var(--amber-border);
}

.eyebrow-green {
  color: var(--green);
  background: var(--green-soft);
  border-color: var(--green-border);
}

.eyebrow-red {
  color: var(--red);
  background: var(--red-soft);
  border-color: var(--red-border);
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.hero {
  position: relative;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 64px;
  padding: 80px 0 100px;
  align-items: center;
  min-height: calc(100vh - 120px);
}

.hero::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(38, 117, 216, 0.08) 0%, rgba(32, 155, 104, 0.04) 50%, transparent 70%);
  pointer-events: none;
  z-index: -1;
}

.hero::after {
  content: '';
  position: absolute;
  bottom: -50px;
  left: -150px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(247, 148, 29, 0.06) 0%, transparent 70%);
  pointer-events: none;
  z-index: -1;
}

.hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.hero-pill-spectrum {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  border: 1px solid var(--border-mid);
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--navy);
  margin-bottom: 24px;
  box-shadow: var(--shadow-sm);
}

.hero-pill-spectrum .dots {
  display: flex;
  gap: 4px;
}

.hero-pill-spectrum .dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.hero-pill-spectrum .dots i:nth-child(1) { background: var(--amber); }
.hero-pill-spectrum .dots i:nth-child(2) { background: var(--green); }
.hero-pill-spectrum .dots i:nth-child(3) { background: var(--blue); }
.hero-pill-spectrum .dots i:nth-child(4) { background: var(--red); }

.hero h1 {
  font-size: clamp(42px, 5.2vw, 72px);
  line-height: 1.05;
  letter-spacing: -0.045em;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 24px;
}

.hero h1 em {
  font-style: normal;
  background: linear-gradient(135deg, var(--blue) 0%, var(--green) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
}

.hero-lede {
  color: var(--text-secondary);
  font-size: 17.5px;
  line-height: 1.65;
  margin: 0 0 36px;
  max-width: 530px;
}

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

.hero-proof {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 54px;
  padding-top: 28px;
  border-top: 1px solid var(--border-light);
  width: 100%;
}

.proof-avatars {
  display: flex;
}

.proof-avatars span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  margin-right: -8px;
  box-shadow: var(--shadow-sm);
}

.proof-avatars span:nth-child(1) { background: var(--navy); }
.proof-avatars span:nth-child(2) { background: var(--amber); }
.proof-avatars span:nth-child(3) { background: var(--green); }
.proof-avatars span:nth-child(4) { background: var(--blue); }

.hero-proof p {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--text-muted);
}

.hero-proof p strong {
  color: var(--navy);
  font-weight: 600;
}

/* ==========================================================================
   Hero Visual - Interactive System Architecture Console
   ========================================================================== */
.hero-visual {
  position: relative;
}

.console-card {
  background: var(--navy-dark);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-dark-card), 0 25px 60px -15px rgba(17, 24, 79, 0.4);
  border: 1px solid var(--dark-border);
  overflow: hidden;
  position: relative;
}

.console-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--spectrum-grad);
  z-index: 2;
}

.console-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid var(--dark-border-subtle);
}

.console-dots {
  display: flex;
  gap: 7px;
}

.console-dots span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.console-dots span:nth-child(1) { background: var(--amber); }
.console-dots span:nth-child(2) { background: var(--green); }
.console-dots span:nth-child(3) { background: var(--blue); }
.console-dots span:nth-child(4) { background: var(--red); }

.console-title {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-inverse-muted);
  letter-spacing: 0.05em;
}

.console-status-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: #39e097;
  background: rgba(32, 155, 104, 0.15);
  padding: 3px 9px;
  border-radius: var(--radius-pill);
}

.console-status-live i {
  width: 5px;
  height: 5px;
  background: #39e097;
  border-radius: 50%;
  box-shadow: 0 0 6px #39e097;
}

.console-body {
  padding: 26px;
}

.telemetry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 22px;
}

.telemetry-item {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-md);
  padding: 16px;
  position: relative;
  overflow: hidden;
  transition: transform var(--trans-fast), border-color var(--trans-fast);
}

.telemetry-item:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.14);
}

.telemetry-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
}

.telemetry-item.item-blue::before { background: var(--blue); }
.telemetry-item.item-green::before { background: var(--green); }
.telemetry-item.item-amber::before { background: var(--amber); }
.telemetry-item.item-red::before { background: var(--red); }

.telemetry-label {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-inverse-muted);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.telemetry-value {
  font-size: 24px;
  font-weight: 800;
  color: #ffffff;
  margin: 6px 0 2px;
  letter-spacing: -0.03em;
}

.telemetry-sub {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  font-family: var(--font-mono);
}

/* Console Pipeline Architecture */
.console-pipeline {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-md);
  padding: 18px;
}

.pipeline-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.pipeline-header span {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--text-inverse-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.pipeline-badge {
  font-family: var(--font-mono);
  font-size: 9.5px;
  color: var(--amber);
  background: rgba(247, 148, 29, 0.12);
  padding: 2px 7px;
  border-radius: var(--radius-pill);
}

.pipeline-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  position: relative;
}

.flow-node {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-sm);
  padding: 10px 8px;
  text-align: center;
  position: relative;
}

.flow-node strong {
  display: block;
  font-size: 11px;
  color: #ffffff;
  margin-bottom: 2px;
}

.flow-node small {
  display: block;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-inverse-muted);
}

.flow-node.active-blue { border-color: rgba(38, 117, 216, 0.4); background: rgba(38, 117, 216, 0.12); }
.flow-node.active-green { border-color: rgba(32, 155, 104, 0.4); background: rgba(32, 155, 104, 0.12); }
.flow-node.active-amber { border-color: rgba(247, 148, 29, 0.4); background: rgba(247, 148, 29, 0.12); }
.flow-node.active-red { border-color: rgba(223, 23, 23, 0.4); background: rgba(223, 23, 23, 0.12); }

/* Decorative Badge on Hero Visual */
.hero-stamp-modern {
  position: absolute;
  right: -20px;
  bottom: -20px;
  background: #ffffff;
  border: 1px solid var(--border-mid);
  padding: 14px 18px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 3;
}

.hero-stamp-icon {
  width: 38px;
  height: 38px;
  background: var(--navy);
  color: #ffffff;
  border-radius: var(--radius-sm);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: -0.04em;
}

.hero-stamp-text strong {
  display: block;
  font-size: 12px;
  color: var(--navy);
  font-weight: 700;
}

.hero-stamp-text > span {
  display: block;
  margin-bottom: 4px;
  color: var(--blue);
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.hero-stamp-text small {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
}

.hero-stamp-status {
  align-self: flex-start;
  margin-left: 6px;
  padding: 4px 6px;
  border: 1px solid rgba(32, 155, 104, 0.3);
  border-radius: var(--radius-pill);
  color: var(--green);
  font-family: var(--font-mono);
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* ==========================================================================
   Marquee Band
   ========================================================================== */
.marquee-band {
  background: #ffffff;
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
  padding: 15px 0;
  overflow: hidden;
  position: relative;
}

.marquee-track {
  display: flex;
  align-items: center;
  gap: 36px;
  width: max-content;
  animation: marquee 35s linear infinite;
  text-transform: uppercase;
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
}

.marquee-track:hover {
  animation-play-state: paused;
}

.marquee-track i {
  font-style: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.marquee-track i:nth-of-type(4n+1) { color: var(--amber); }
.marquee-track i:nth-of-type(4n+2) { color: var(--green); }
.marquee-track i:nth-of-type(4n+3) { color: var(--blue); }
.marquee-track i:nth-of-type(4n+4) { color: var(--red); }

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ==========================================================================
   Section Generic Styles
   ========================================================================== */
.section {
  padding: 88px 0;
  position: relative;
}

#capabilities {
  padding-top: 76px;
}

#capabilities::before {
  content: '01 / PLATFORM CAPABILITIES';
  display: block;
  width: fit-content;
  margin-bottom: 28px;
  padding: 7px 10px;
  border-left: 2px solid var(--blue);
  background: rgba(38, 117, 216, 0.06);
  color: var(--blue);
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.section-intro {
  margin-bottom: 60px;
}

.section-intro h2 {
  font-size: clamp(34px, 4.2vw, 54px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 16px;
  max-width: 720px;
}

.section-intro h2 em {
  font-style: normal;
  color: var(--blue);
}

.section-intro > p:last-child {
  font-size: 16.5px;
  color: var(--text-secondary);
  max-width: 620px;
  line-height: 1.65;
  margin: 0;
}

.section-dark {
  background-color: var(--navy-dark);
  color: #ffffff;
  position: relative;
  overflow: hidden;
}

.section-dark::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(38, 117, 216, 0.12) 0%, transparent 60%);
  pointer-events: none;
}

.section-dark::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(247, 148, 29, 0.08) 0%, transparent 60%);
  pointer-events: none;
}

.section-dark .section-intro h2 {
  color: #ffffff;
}

.section-dark .section-intro h2 em {
  color: var(--amber);
}

.section-dark .section-intro > p:last-child {
  color: var(--text-inverse-muted);
}

/* ==========================================================================
   Capabilities Section (4 Logo Color Pillars)
   ========================================================================== */
.capabilities {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 72px;
  align-items: start;
}

.capabilities-lead {
  position: sticky;
  top: 120px;
}

.capability-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.capability {
  background: var(--bg-surface);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 32px;
  display: grid;
  grid-template-columns: 56px 1fr 32px;
  gap: 24px;
  align-items: start;
  box-shadow: var(--shadow-sm);
  transition: all var(--trans-base);
  position: relative;
  overflow: hidden;
}

.capability::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  opacity: 0;
  transition: opacity var(--trans-fast);
}

.capability:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--border-mid);
}

.capability:hover::before {
  opacity: 1;
}

/* Capability Distinct Brand Accents */
.capability:nth-child(1)::before { background: var(--blue); }
.capability:nth-child(2)::before { background: var(--green); }
.capability:nth-child(3)::before { background: var(--amber); }
.capability:nth-child(4)::before { background: var(--red); }

.cap-number {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  text-align: center;
}

.capability:nth-child(1) .cap-number { background: var(--blue-soft); color: var(--blue); }
.capability:nth-child(2) .cap-number { background: var(--green-soft); color: var(--green); }
.capability:nth-child(3) .cap-number { background: var(--amber-soft); color: var(--amber); }
.capability:nth-child(4) .cap-number { background: var(--red-soft); color: var(--red); }

.capability-content h3 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--navy);
  margin: 0 0 10px;
}

.capability-content p {
  font-size: 14.5px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0 0 16px;
}

.capability-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.capability-tags span {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  background: var(--bg-subtle);
  padding: 3px 8px;
  border-radius: 4px;
}

.cap-arrow {
  font-size: 20px;
  color: var(--border-strong);
  transition: all var(--trans-fast);
  text-align: right;
  line-height: 1;
}

.capability:hover .cap-arrow {
  color: var(--navy);
  transform: translate(3px, -3px);
}

/* ==========================================================================
   Products Section (Vriddhi Suite)
   ========================================================================== */
.products {
  padding: 130px 0;
}

.products-heading {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: flex-end;
  margin-bottom: 70px;
}

.products-heading h2 {
  font-size: clamp(38px, 4.8vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 800;
  margin: 0;
}

.products-note {
  color: var(--text-inverse-muted);
  font-size: 16.5px;
  line-height: 1.65;
  margin: 0;
}

.product-showcase {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 48px;
  align-items: start;
}

.product-tabs {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: rgba(255, 255, 255, 0.03);
  padding: 12px;
  border-radius: var(--radius-md);
  border: 1px solid var(--dark-border-subtle);
}

.product-tab {
  display: block;
  text-align: left;
  width: 100%;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--text-inverse-muted);
  padding: 20px;
  transition: all var(--trans-fast);
}

.product-tab span {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-inverse-muted);
  margin-bottom: 8px;
}

.product-tab strong {
  display: block;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #ffffff;
}

.product-tab small {
  display: block;
  margin-top: 4px;
  font-size: 12.5px;
  color: var(--text-inverse-muted);
}

.product-tab.active {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.product-tab.active span {
  color: var(--amber);
}

.product-tab:hover:not(.active) {
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
}

.product-display {
  min-width: 0;
}

.product-panel {
  display: none;
  animation: fadeIn 0.4s ease forwards;
}

.product-panel.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.panel-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--dark-border-subtle);
  padding-bottom: 18px;
  margin-bottom: 36px;
}

.product-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--amber);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.live-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: #39e097;
  background: rgba(32, 155, 104, 0.15);
  padding: 4px 10px;
  border-radius: var(--radius-pill);
}

.live-status i {
  width: 6px;
  height: 6px;
  background: #39e097;
  border-radius: 50%;
  box-shadow: 0 0 6px #39e097;
}

.panel-content {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 56px;
  align-items: center;
}

.panel-content h3 {
  font-size: clamp(32px, 3.8vw, 50px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 800;
  margin: 0 0 18px;
  color: #ffffff;
}

.panel-content h3 em {
  font-style: normal;
  color: var(--amber);
}

.panel-content p {
  color: var(--text-inverse-muted);
  font-size: 15.5px;
  line-height: 1.7;
  margin: 0 0 28px;
  max-width: 440px;
}

/* Dashboard Cards (Mockups with Brand Colors) */
.dashboard-card {
  background: #ffffff;
  color: var(--navy);
  border-radius: var(--radius-md);
  padding: 28px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.15);
  position: relative;
}

.dashboard-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.pos-card::before {
  background: linear-gradient(90deg, var(--amber), var(--green));
}

.cloud-card::before {
  background: linear-gradient(90deg, var(--blue), var(--amber));
}

.dash-nav, .cloud-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-light);
}

.dash-nav b, .cloud-top b {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.dash-nav b span { color: var(--amber); }
.cloud-top b span { color: var(--blue); }

.dash-nav small, .cloud-top small {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 10px;
}

.dash-stat {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 24px;
}

.dash-stat small {
  display: block;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.dash-stat strong {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: var(--navy);
}

.dash-stat span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--green);
  background: var(--green-soft);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: var(--radius-pill);
}

.chart {
  height: 100px;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  border-bottom: 1px solid var(--border-mid);
  padding-bottom: 4px;
  margin-bottom: 8px;
}

.chart span {
  display: block;
  flex: 1;
  background: var(--amber-soft);
  border-top: 2px solid var(--amber);
  border-radius: 3px 3px 0 0;
  transition: height 0.5s ease;
}

.chart span:nth-child(5) {
  background: rgba(38, 117, 216, 0.15);
  border-top-color: var(--blue);
}

.chart span:nth-child(6), .chart span:nth-child(7) {
  background: rgba(32, 155, 104, 0.15);
  border-top-color: var(--green);
}

.dash-foot {
  display: flex;
  justify-content: space-between;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9.5px;
}

/* Cloud Card Styles */
.cloud-card {
  background: #ffffff;
}

.project-name {
  margin-bottom: 20px;
}

.project-name small {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
}

.project-name strong {
  display: block;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--navy);
  margin: 4px 0 8px;
}

.progress-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--green);
  font-weight: 600;
}

.progress-label i {
  font-style: normal;
  color: var(--text-muted);
  font-weight: 400;
}

.progress {
  height: 8px;
  background: var(--bg-subtle);
  border-radius: var(--radius-pill);
  margin: 8px 0 24px;
  overflow: hidden;
}

.progress span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--blue), var(--amber));
  border-radius: var(--radius-pill);
}

.cloud-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  border-top: 1px solid var(--border-light);
  padding-top: 16px;
}

.cloud-items b {
  display: block;
  font-size: 17px;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.02em;
}

.cloud-items small {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  margin-top: 2px;
}

/* ==========================================================================
   Solutions Section
   ========================================================================== */
.solutions {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 72px;
  align-items: start;
}

.solution-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.solution-card {
  background: #ffffff;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 30px;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-sm);
  transition: all var(--trans-base);
  position: relative;
  overflow: hidden;
}

.solution-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  opacity: 0;
  transition: opacity var(--trans-fast);
}

.solution-card:nth-child(1)::before { background: var(--blue); }
.solution-card:nth-child(2)::before { background: var(--green); }
.solution-card:nth-child(3)::before { background: var(--amber); }

.solution-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--border-mid);
}

.solution-card:hover::before {
  opacity: 1;
}

.solution-icon {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  display: inline-block;
  margin-bottom: 32px;
  width: max-content;
}

.solution-card:nth-child(1) .solution-icon { background: var(--blue-soft); color: var(--blue); }
.solution-card:nth-child(2) .solution-icon { background: var(--green-soft); color: var(--green); }
.solution-card:nth-child(3) .solution-icon { background: var(--amber-soft); color: var(--amber); }

.solution-card h3 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--navy);
  margin: 0 0 10px;
}

.solution-card p {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0 0 28px;
  flex-grow: 1;
}

.solution-card .text-link {
  margin-top: auto;
}

/* ==========================================================================
   Methodology Section
   ========================================================================== */
.method {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.method-visual {
  position: relative;
}

.method-card {
  background: #ffffff;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 36px;
  box-shadow: var(--shadow-card);
  position: relative;
  overflow: hidden;
}

.method-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--spectrum-grad);
}

.method-steps-flow {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.method-step-item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  align-items: start;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border-light);
}

.method-step-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.method-badge {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  display: grid;
  place-items: center;
}

.method-step-item:nth-child(1) .method-badge { background: var(--amber-soft); color: var(--amber); }
.method-step-item:nth-child(2) .method-badge { background: var(--blue-soft); color: var(--blue); }
.method-step-item:nth-child(3) .method-badge { background: var(--green-soft); color: var(--green); }

.method-step-item strong {
  display: block;
  font-size: 16.5px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
  letter-spacing: -0.02em;
}

.method-step-item p {
  margin: 0;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.55;
}

.method-copy h2 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 18px;
}

.method-copy h2 em {
  font-style: normal;
  color: var(--blue);
}

.method-copy > p:not(.eyebrow) {
  font-size: 16.5px;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 36px;
}

/* ==========================================================================
   Team / Hyderabad Section
   ========================================================================== */
.team {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 72px;
  align-items: start;
}

.team-intro h2 {
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 18px;
}

.team-intro h2 em {
  font-style: normal;
  color: var(--green);
}

.team-intro > p:not(.eyebrow) {
  font-size: 16px;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 28px;
}

.team-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.team-card {
  background: #ffffff;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 26px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all var(--trans-base);
}

.team-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--border-mid);
}

.team-card-featured {
  grid-column: 1 / -1;
  background: var(--navy);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.1);
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 20px;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.team-card-featured::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--spectrum-grad);
}

.team-avatar {
  width: 58px;
  height: 58px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--amber);
  border-radius: var(--radius-sm);
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 800;
  font-family: var(--font-mono);
}

.team-role {
  font-family: var(--font-mono);
  font-size: 10.5px;
  text-transform: uppercase;
  color: var(--blue);
  letter-spacing: 0.06em;
}

.team-card-featured .team-role {
  color: var(--amber);
}

.team-card-featured h3 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 6px 0 4px;
}

.team-card-featured p {
  color: var(--text-inverse-muted);
  font-size: 13.5px;
  line-height: 1.55;
  margin: 0;
}

.team-card > strong {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--navy);
  margin-top: 14px;
}

.team-card p {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  margin: 6px 0 0;
}

.team-mark {
  color: var(--amber);
  font-size: 24px;
}

/* ==========================================================================
   Insights Section
   ========================================================================== */
.insights {
  padding: 120px 0;
}

.insights-inner {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 72px;
  align-items: start;
}

.insights h2 {
  font-size: clamp(38px, 4.5vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 800;
  margin: 0;
}

.insights-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.insight-item {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--dark-border-subtle);
  border-radius: var(--radius-md);
  padding: 26px 30px;
  transition: all var(--trans-base);
  position: relative;
  overflow: hidden;
}

.insight-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--blue);
  opacity: 0;
  transition: opacity var(--trans-fast);
}

.insight-item:nth-child(2)::before { background: var(--green); }
.insight-item:nth-child(3)::before { background: var(--amber); }

.insight-item:hover {
  background: rgba(255, 255, 255, 0.07);
  transform: translateX(4px);
  border-color: rgba(255, 255, 255, 0.15);
}

.insight-item:hover::before {
  opacity: 1;
}

.insight-item > span {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--amber);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.insight-item h3 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #ffffff;
  margin: 10px 0 16px;
  line-height: 1.35;
}

/* ==========================================================================
   Contact Section
   ========================================================================== */
.contact {
  padding: 130px 0;
  position: relative;
}

.contact-inner {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 80px;
  align-items: start;
}

.contact h2 {
  font-size: clamp(38px, 4.8vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 800;
  margin: 0;
}

.contact h2 em {
  font-style: normal;
  color: var(--amber);
}

.contact-lead-text {
  font-size: 16.5px;
  color: var(--text-inverse-muted);
  line-height: 1.65;
  margin: 24px 0 36px;
  max-width: 440px;
}

.contact-channels {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.contact-channel-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text-inverse-muted);
  font-size: 14px;
}

.contact-channel-item .channel-icon {
  width: 32px;
  height: 32px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.06);
  display: grid;
  place-items: center;
  color: var(--blue);
  font-family: var(--font-mono);
  font-size: 12px;
}

.contact-channel-item a {
  color: #ffffff;
  font-weight: 600;
}

.contact-channel-item a:hover {
  color: var(--amber);
}

.contact-form-wrap {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--dark-border);
  border-radius: var(--radius-lg);
  padding: 40px;
  box-shadow: var(--shadow-dark-card);
  position: relative;
  overflow: hidden;
}

.contact-form-wrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--spectrum-grad);
}

.contact-form label {
  display: block;
  color: var(--text-inverse-muted);
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 20px;
}

.contact-form input,
.contact-form textarea {
  display: block;
  width: 100%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-sm);
  padding: 13px 16px;
  color: #ffffff;
  margin-top: 8px;
  outline: none;
  transition: all var(--trans-fast);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--blue);
  background: rgba(38, 117, 216, 0.08);
  box-shadow: 0 0 0 3px rgba(38, 117, 216, 0.2);
}

.contact-form-actions {
  margin-top: 24px;
}

.form-success {
  display: none;
  color: #39e097;
  font-family: var(--font-mono);
  font-size: 12.5px;
  background: rgba(32, 155, 104, 0.15);
  border: 1px solid rgba(32, 155, 104, 0.3);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  margin-top: 16px;
}

.form-success.visible {
  display: block;
  animation: fadeIn 0.3s ease;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer {
  background: var(--navy-deep);
  color: var(--text-inverse-muted);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 60px 0 40px;
  position: relative;
}

.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
  gap: 24px;
}

.footer-brand img {
  height: 32px;
  width: auto;
}

.footer-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 13px;
  font-weight: 600;
}

.footer-nav a:hover {
  color: #ffffff;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 30px;
  font-family: var(--font-mono);
  font-size: 11px;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-meta {
  display: flex;
  align-items: center;
  gap: 24px;
}

.footer-meta a:hover {
  color: var(--amber);
}

.back-to-top {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text-inverse-muted);
  transition: color var(--trans-fast);
}

.back-to-top:hover {
  color: #ffffff;
}

/* Inner pages */
.inner-page .site-header{background:var(--bg-page)}
.legal-main{background:var(--bg-page)}
.inner-hero{padding:110px 0 82px;border-bottom:1px solid var(--border-light);position:relative;overflow:hidden}
.inner-hero::after{content:'';position:absolute;right:-110px;top:35px;width:320px;height:320px;border:1px solid rgba(38,117,216,.14);border-radius:50%;box-shadow:0 0 0 28px rgba(32,155,104,.035),0 0 0 58px rgba(247,148,29,.025);pointer-events:none}
.inner-hero h1{font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.07em;color:var(--navy);margin:0 0 26px;max-width:720px;position:relative;z-index:1}.inner-hero h1 em{font-style:normal;color:var(--blue)}
.inner-hero>p:not(.eyebrow){max-width:560px;color:var(--text-secondary);font-size:18px;line-height:1.65;margin:0;position:relative;z-index:1}.inner-hero-meta{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:44px;color:var(--text-muted);font:10px var(--font-mono);letter-spacing:.07em}.inner-hero-meta span:first-child{color:var(--blue)}.inner-hero.compact{padding-bottom:70px}
.legal-content{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;padding-top:92px;padding-bottom:125px}.legal-sidebar{position:sticky;top:120px;height:max-content;border-top:2px solid var(--blue);padding-top:16px}.legal-label{display:block;color:var(--blue);font:10px var(--font-mono);letter-spacing:.08em;margin-bottom:22px}.legal-sidebar strong{font-size:27px;line-height:1.15;letter-spacing:-.05em;color:var(--navy)}.legal-copy{max-width:720px}.legal-copy h2{font-size:28px;line-height:1.12;letter-spacing:-.05em;color:var(--navy);margin:0 0 14px}.legal-copy h2:not(:first-child){margin-top:50px}.legal-copy p{color:var(--text-secondary);font-size:16px;line-height:1.8;margin:0 0 20px}.legal-copy a{color:var(--blue);font-weight:700}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:48px 0 42px}.fact-grid>div{padding:18px;border:1px solid var(--border-light);background:var(--bg-surface);border-radius:var(--radius-md)}.fact-grid span{display:block;color:var(--amber);font:10px var(--font-mono);margin-bottom:26px}.fact-grid strong{display:block;color:var(--navy);font-size:14px}.fact-grid p{font-size:12px;line-height:1.55;margin:7px 0 0}.legal-copy .button{color:#fff}

/* ==========================================================================
   Scroll Reveal Animations
   ========================================================================== */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 { transition-delay: 0.12s; }
.delay-2 { transition-delay: 0.24s; }
.delay-3 { transition-delay: 0.36s; }

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (max-width: 1024px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 50px;
    padding: 60px 0 80px;
  }

  .capabilities,
  .products-heading,
  .product-showcase,
  .solutions,
  .method,
  .team,
  .insights-inner,
  .contact-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .capabilities-lead {
    position: static;
  }

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

  .panel-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 850px) {
  .page-grid {
    width: min(calc(100% - 40px), var(--max-width));
  }

  .header-inner {
    height: 72px;
  }

  .menu-toggle {
    display: flex;
  }

  .main-nav {
    display: none;
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    background: #ffffff;
    box-shadow: 0 20px 40px rgba(17, 24, 79, 0.15);
    border-bottom: 1px solid var(--border-light);
    padding: 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    z-index: 99;
  }

  .main-nav.open {
    display: flex;
  }

  .main-nav .nav-cta {
    text-align: center;
    justify-content: center;
    margin-top: 8px;
  }

  .section {
    padding: 80px 0;
  }

  .products {
    padding: 90px 0;
  }

  .product-tabs {
    flex-direction: row;
  }

  .product-tab {
    flex: 1;
  }

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

  .team-card-featured {
    grid-template-columns: 50px 1fr;
  }

  .team-mark {
    display: none;
  }

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

  .hero-stamp-modern {
    display: none;
  }
}

@media (max-width: 850px){
  .inner-hero{padding:76px 0 60px}.inner-hero::after{right:-190px;top:30px;width:260px;height:260px}.inner-hero-meta{margin-top:32px;gap:10px 18px}.legal-content{grid-template-columns:1fr;gap:48px;padding-top:64px;padding-bottom:84px}.legal-sidebar{position:static}.legal-copy h2{font-size:25px}.legal-copy h2:not(:first-child){margin-top:40px}.fact-grid{grid-template-columns:1fr;margin-top:36px}.fact-grid>div{min-height:130px}.footer-nav{flex-wrap:wrap;gap:14px 22px}
}

@media (max-width: 600px) {
  .announcement {
    font-size: 10px;
    padding: 8px 16px;
    justify-content: center;
  }

  .announcement a {
    display: none;
  }

  .hero h1 {
    font-size: 38px;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .hero-actions .button {
    width: 100%;
  }

  .product-tabs {
    flex-direction: column;
  }

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

  .pipeline-flow {
    grid-template-columns: 1fr 1fr;
  }

  .footer-top, .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .footer-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .footer-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .contact-form-wrap {
    padding: 24px 20px;
  }
}
