/*
  AMMOR V2 Enterprise Design System
  Purpose: replace prototype-era visual language with a restrained,
  readable, accessible enterprise product system.
*/
:root {
  --v2-bg: #0b0f14;
  --v2-bg-elevated: #10161f;
  --v2-bg-panel: #151c26;
  --v2-bg-soft: #1a2330;
  --v2-text: #f4f6f8;
  --v2-text-muted: #a9b2bf;
  --v2-text-subtle: #748093;
  --v2-line: #263140;
  --v2-line-strong: #344255;
  --v2-gold: #c7a04b;
  --v2-gold-strong: #dfbd65;
  --v2-danger: #d84c4c;
  --v2-success: #45a66a;
  --v2-warning: #d8a23e;
  --v2-info: #6ea8d9;
  --v2-radius-sm: 6px;
  --v2-radius-md: 10px;
  --v2-radius-lg: 14px;
  --v2-space-1: 4px;
  --v2-space-2: 8px;
  --v2-space-3: 12px;
  --v2-space-4: 16px;
  --v2-space-5: 24px;
  --v2-space-6: 32px;
  --v2-space-7: 48px;
  --v2-font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --v2-mono: "SFMono-Regular", "IBM Plex Mono", Consolas, monospace;
  --v2-shadow: 0 12px 34px rgba(0, 0, 0, .24);
  --v2-focus: 0 0 0 3px rgba(199, 160, 75, .28);
}

* {
  box-sizing: border-box;
}

html {
  color-scheme: dark;
  scroll-behavior: smooth;
}

body {
  font-family: var(--v2-font) !important;
  background: var(--v2-bg) !important;
  color: var(--v2-text) !important;
  overflow-x: hidden !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body::before,
body::after,
.hero-grid,
.hero-canvas,
.hero-glow-a,
.hero-glow-b,
canvas,
.core-pulse,
.ring-a,
.ring-b,
.line-a,
.line-b,
.panel-scan {
  display: none !important;
  animation: none !important;
}

a {
  color: inherit;
}

.nav a,
.nav button,
.footer a,
.top-nav a,
.mobile-nav a,
.nav-link,
.btn-nav-ghost,
.btn-nav-cta {
  min-height: 44px !important;
  min-width: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

:focus-visible {
  outline: 2px solid var(--v2-gold-strong) !important;
  outline-offset: 3px !important;
  box-shadow: var(--v2-focus) !important;
}

.v2-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 10000;
  transform: translateY(-160%);
  background: var(--v2-gold);
  color: #071018;
  padding: 10px 14px;
  border-radius: var(--v2-radius-sm);
  font-weight: 800;
}

.v2-skip-link:focus {
  transform: translateY(0);
}

.v2-sr-only {
  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;
}

.container,
.nav-inner,
.hero-body,
.access-layout,
.cta-inner,
.footer .container {
  max-width: 1180px !important;
}

section {
  padding-top: clamp(48px, 7vw, 88px) !important;
  padding-bottom: clamp(48px, 7vw, 88px) !important;
}

h1,
h2,
h3,
h4,
.section-h,
.hero-h1,
.hero-h1-a,
.hero-h1-b,
.title,
.access-panel h1,
.plat-ai-h,
.serve-h,
.why-card-h,
.plat-card-h,
.ammor-market-title,
.cta-h {
  font-family: var(--v2-font) !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

h1,
.hero-h1,
.access-panel h1 {
  font-size: clamp(38px, 5vw, 68px) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
}

h2,
.section-h,
.ammor-market-title,
.cta-h {
  font-size: clamp(28px, 3.6vw, 46px) !important;
  line-height: 1.1 !important;
  font-weight: 760 !important;
}

h3,
.plat-card-h,
.serve-h,
.why-card-h,
.ammor-workflow-card h3 {
  font-size: clamp(17px, 1.6vw, 22px) !important;
  line-height: 1.25 !important;
  font-weight: 720 !important;
}

p,
li,
.section-p,
.hero-p,
.serve-p,
.why-card-p,
.plat-card-p,
.result-p,
.ammor-market-copy,
.ammor-workflow-card p,
.subtitle,
.lead {
  font-size: clamp(15px, 1.1vw, 17px) !important;
  line-height: 1.65 !important;
  color: var(--v2-text-muted) !important;
}

.eyebrow,
.hero-label,
.serve-tag,
.form-title,
.page-hero-eyebrow,
.plat-tag,
.ammor-market-kicker,
.logo-sub,
.brand-sub,
.nav-logo-bot,
.footer-bot,
.strip-lbl,
.strip-logo,
.result-org,
.result-meta,
.hc-time,
.hc-live {
  font-family: var(--v2-mono) !important;
  letter-spacing: .08em !important;
  color: var(--v2-text-subtle) !important;
}

.nav,
.nav.solid {
  height: 64px !important;
  background: rgba(11, 15, 20, .96) !important;
  border-bottom: 1px solid var(--v2-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px) !important;
}

.nav-logo-top,
.brand-name,
.logo-name {
  color: var(--v2-text) !important;
  letter-spacing: .08em !important;
}

.nav-logo-top span,
.brand-name span,
.logo-name span,
em,
.hero-h1-b {
  color: var(--v2-gold-strong) !important;
}

.nav-link,
.btn-nav-ghost {
  color: var(--v2-text-muted) !important;
}

.nav-link:hover,
.btn-nav-ghost:hover {
  background: var(--v2-bg-panel) !important;
  color: var(--v2-text) !important;
}

.btn-p,
.btn-nav-cta,
.form-submit,
.btn-price,
.btn-price-f,
.nm-cta,
.btn,
.btn-primary,
button[type="submit"] {
  min-height: 44px !important;
  border-radius: var(--v2-radius-sm) !important;
  border: 1px solid var(--v2-gold) !important;
  background: var(--v2-gold) !important;
  color: #071018 !important;
  font-family: var(--v2-font) !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}

.btn-p:hover,
.btn-nav-cta:hover,
.form-submit:hover,
.btn-price:hover,
.btn-price-f:hover,
.nm-cta:hover,
.btn:hover,
.btn-primary:hover,
button[type="submit"]:hover {
  background: var(--v2-gold-strong) !important;
  border-color: var(--v2-gold-strong) !important;
  transform: translateY(-1px) !important;
}

.btn-s,
.btn-nav-ghost,
.btn-secondary,
.portal-link,
.serve-cta {
  min-height: 44px !important;
  border-radius: var(--v2-radius-sm) !important;
  border: 1px solid var(--v2-line-strong) !important;
  background: transparent !important;
  color: var(--v2-text-muted) !important;
  font-family: var(--v2-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.btn-s:hover,
.btn-nav-ghost:hover,
.btn-secondary:hover,
.portal-link:hover,
.portal-link.active,
.serve-cta:hover {
  border-color: var(--v2-gold) !important;
  color: var(--v2-text) !important;
  background: rgba(199, 160, 75, .08) !important;
}

.hero {
  min-height: auto !important;
  padding-top: clamp(120px, 13vw, 160px) !important;
  padding-bottom: clamp(64px, 9vw, 104px) !important;
  background: var(--v2-bg) !important;
  border-bottom: 1px solid var(--v2-line) !important;
}

.hero-body {
  grid-template-columns: minmax(0, .86fr) minmax(320px, .64fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
}

.hero-card,
.info-card,
.price-card,
.contact-grid > div,
.service-card,
.diff-card,
.serve-card,
.plat-card,
.why-card,
.result-card,
.feature-card,
.success-box,
.cs-badge,
.plat-ai,
.plat-ind-item,
.ai-vis,
.ammor-signal,
.ammor-workflow-card,
.ammor-product-frame,
.ammor-product-card,
.ammor-product-metric,
.ammor-product-chart,
.strip-logo,
.dp,
.flip-front,
.flip-back,
.access-panel,
.access-form-card,
.card,
.hc-mini,
.hc-flag {
  background: var(--v2-bg-elevated) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: var(--v2-radius-lg) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
}

.hero-card::before,
.hero-card::after,
.info-card::before,
.info-card::after,
.price-card::before,
.price-card::after,
.service-card::before,
.service-card::after,
.diff-card::before,
.diff-card::after,
.serve-card::before,
.serve-card::after,
.plat-card::before,
.plat-card::after,
.why-card::before,
.why-card::after,
.result-card::before,
.result-card::after,
.feature-card::before,
.feature-card::after,
.success-box::before,
.success-box::after,
.plat-ai::before,
.plat-ai::after,
.plat-ind-item::before,
.plat-ind-item::after,
.ai-vis::before,
.ai-vis::after,
.ammor-signal::before,
.ammor-signal::after,
.ammor-workflow-card::before,
.ammor-workflow-card::after,
.access-panel::before,
.access-panel::after,
.access-form-card::before,
.access-form-card::after {
  display: none !important;
}

.hero-card:hover,
.info-card:hover,
.price-card:hover,
.contact-grid > div:hover,
.service-card:hover,
.diff-card:hover,
.serve-card:hover,
.plat-card:hover,
.why-card:hover,
.result-card:hover,
.feature-card:hover,
.plat-ind-item:hover,
.ammor-workflow-card:hover {
  transform: none !important;
  border-color: var(--v2-line-strong) !important;
  box-shadow: none !important;
}

.plat-grid,
.why-grid,
.results-grid,
.price-grid {
  gap: var(--v2-space-5) !important;
}

.serve-grid,
.ammor-workflow-grid {
  gap: var(--v2-space-4) !important;
}

.plat-card,
.serve-card,
.why-card,
.result-card,
.price-card,
.ammor-workflow-card,
.access-form-card,
.access-panel {
  padding: clamp(20px, 2vw, 28px) !important;
}

.form-input,
.field input,
.field select,
.field textarea,
input,
select,
textarea {
  min-height: 44px !important;
  border: 1px solid var(--v2-line-strong) !important;
  border-radius: var(--v2-radius-sm) !important;
  background: var(--v2-bg-panel) !important;
  color: var(--v2-text) !important;
  font-family: var(--v2-font) !important;
  font-size: 16px !important;
}

label,
.field label {
  color: var(--v2-text-muted) !important;
  font-family: var(--v2-font) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 700 !important;
}

.alert,
.status,
.success-box {
  border-radius: var(--v2-radius-md) !important;
}

table {
  border-collapse: collapse;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid var(--v2-line);
  padding: 12px 14px;
  text-align: left;
}

th {
  color: var(--v2-text-muted);
  font-size: 13px;
  font-weight: 800;
}

.footer {
  background: #080c11 !important;
  border-top: 1px solid var(--v2-line) !important;
}

.footer a {
  color: var(--v2-text-muted) !important;
}

.footer a:hover {
  color: var(--v2-text) !important;
}

/* Logged-in platform normalization */
.platform-layout,
.app-shell,
.dashboard-shell,
.command-center-shell,
.main-content,
.platform-main,
.content,
main {
  min-width: 0;
}

.sidebar,
.platform-sidebar,
aside {
  background: #080c11 !important;
  border-right: 1px solid var(--v2-line) !important;
}

.sidebar a,
.sidebar button,
.nav-item,
.sidebar-link {
  min-height: 44px !important;
  border-radius: var(--v2-radius-sm) !important;
}

.status-badge,
.badge,
[class*="badge"],
[class*="status"] {
  border-radius: 999px !important;
  font-weight: 800 !important;
}

.delete,
.danger,
.btn-danger,
[data-action*="delete"],
button[aria-label*="Delete"] {
  color: #fff !important;
  background: var(--v2-danger) !important;
  border-color: var(--v2-danger) !important;
}

@media (max-width: 980px) {
  .hero-body,
  .plat-ai,
  .diff-layout,
  .ai-layout,
  .access-layout {
    grid-template-columns: 1fr !important;
  }

  .plat-grid,
  .why-grid,
  .results-grid,
  .plat-ind-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body {
    font-size: 16px !important;
  }

  .container,
  .hero,
  section,
  .access-shell {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .plat-grid,
  .why-grid,
  .results-grid,
  .plat-ind-grid,
  .serve-grid,
  .price-grid,
  .ammor-workflow-grid,
  .trust-grid,
  .grid-2 {
    grid-template-columns: 1fr !important;
  }

  .hero-actions,
  .cta-actions,
  .submit-row {
    width: 100% !important;
    flex-direction: column !important;
  }

  .hero-actions a,
  .cta-actions a,
  .submit-row a,
  .submit-row button,
  .btn-p,
  .btn-s {
    width: 100% !important;
  }

  .nav-logo-top {
    font-size: 13px !important;
  }
}

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