/*
 * Carlos Marquez Landing V2 Preview
 * Form palette and visual balance
 * Transport intentionally ASCII-only
 */

:root {
  --cm-bg: #121212;
  --cm-bg-2: #151515;

  --cm-surface: #141414;
  --cm-surface-2: #171717;
  --cm-surface-3: #1a1a1a;

  --cm-gold-title: #f0d28a;
  --cm-gold: #c5a36f;
  --cm-gold-2: #d0ad70;
  --cm-gold-dark: #8f744b;
  --cm-bronze: #ad8b5b;

  --cm-text: #d2cfca;
  --cm-text-soft: #b8b5b1;
  --cm-muted: #87847f;
  --cm-muted-2: #66635f;

  --cm-line: #303030;
  --cm-line-soft: #292929;
  --cm-line-strong: #55504a;

  --cm-focus: #c5a36f;
  --cm-black: #101010;

  --shadow-gold:
    0 14px 38px rgba(0, 0, 0, 0.28);

  --shadow-soft:
    0 18px 48px rgba(0, 0, 0, 0.24);

  --radius-6: 3px;
  --radius-10: 4px;
  --radius-14: 6px;
  --radius-20: 10px;
}

html {
  color-scheme: dark;
  background: #121212;
}

body {
  background: #121212;
  color: var(--cm-text-soft);
  font-size: 16px;
  line-height: 1.65;
}

.cm-page {
  background: #121212;
  color: var(--cm-text-soft);
}

.cm-header {
  border-bottom-color: #2d2d2d;
  background: rgba(18, 18, 18, 0.96);
  box-shadow: none;
}

.cm-brand__name {
  color: var(--cm-gold-title);
}

.cm-brand__tagline {
  color: var(--cm-gold-dark);
  opacity: 1;
}

.cm-menu-toggle {
  border-color: #44413e;
  background: #141414;
  box-shadow: none;
}

.cm-menu-toggle:hover,
.cm-menu-toggle:focus-visible {
  border-color: var(--cm-focus);
  background: #181818;
  box-shadow: 0 0 0 2px rgba(197, 163, 111, 0.12);
}

.cm-menu-toggle span {
  background: var(--cm-gold);
}

.hero--v2 {
  min-height: min(720px, calc(100vh - 92px));
  background: #121212 !important;
}

.hero--v2::before {
  background:
    linear-gradient(
      112deg,
      rgba(18, 18, 18, 0.12),
      rgba(18, 18, 18, 0.82)
    );
}

.hero-v2__copy {
  max-width: 820px;
}

.hero-v2__copy .eyebrow {
  margin-bottom: 18px;
}

.hero-v2__copy h1 {
  max-width: 760px;
  margin-bottom: 24px;
  color: var(--cm-text);
  font-size: clamp(3rem, 4.6vw, 4.25rem);
  font-weight: 500;
  line-height: 0.99;
  letter-spacing: -0.025em;
  text-shadow: none;
}

.hero-v2__copy h1 em {
  color: var(--cm-gold-2);
}

.hero-v2__lead {
  max-width: 660px;
  margin-bottom: 30px;
  color: var(--cm-text-soft);
  font-size: clamp(1rem, 1.15vw, 1.08rem);
  line-height: 1.75;
}

.hero-v2__secondary {
  color: var(--cm-text-soft);
  border-bottom-color: #55504a;
}

.hero-v2__secondary:hover,
.hero-v2__secondary:focus-visible {
  color: var(--cm-gold-title);
  border-bottom-color: var(--cm-gold);
}

.hero-v2__facts {
  border-top-color: #303030;
}

.hero-v2__fact {
  border-left-color: #303030;
}

.hero-v2__fact strong {
  color: #c9ad82;
  font-size: clamp(1.25rem, 2vw, 1.72rem);
}

.hero-v2__fact span {
  color: var(--cm-muted);
}

.section {
  color: var(--cm-text-soft);
}

.section--portfolio,
.section--about,
.section--process,
.section--agenda {
  background: #121212;
}

.section--commercial,
.section--fit,
.section--testimonials,
.section--faq {
  background: #151515;
}

.section-head {
  max-width: 760px;
}

.section h2,
.cta-final h2 {
  max-width: 820px;
  color: var(--cm-text);
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.015em;
  text-shadow: none;
}

.section h3,
.cta-final h3 {
  color: var(--cm-text);
  font-size: clamp(1.15rem, 1.55vw, 1.42rem);
  font-weight: 500;
  line-height: 1.3;
}

.section p,
.cta-final p {
  color: var(--cm-text-soft);
  line-height: 1.72;
}

.section-head > p,
.about-copy > p,
.cta-box > p {
  max-width: 68ch;
}

.eyebrow,
.commercial-card__label {
  color: var(--cm-gold-dark);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
}

.commercial-card,
.value-card,
.fit-card,
.process-card,
.testimonial-card,
.agenda-card,
.faq-card,
.about-panel {
  border-color: #303030;
  background: #141414;
  box-shadow: none;
}

.commercial-card:hover,
.value-card:hover,
.fit-card:hover,
.process-card:hover,
.testimonial-card:hover,
.agenda-card:hover,
.faq-card:hover {
  border-color: #55504a;
  background: #171717;
  box-shadow: none;
  transform: none;
}

.commercial-card h3,
.value-card h3,
.fit-card h3,
.process-card h3,
.testimonial-card h3,
.agenda-card h3 {
  color: var(--cm-text);
}

.commercial-card p,
.value-card p,
.fit-card p,
.process-card p,
.testimonial-card p,
.agenda-card p,
.faq-card p {
  color: var(--cm-text-soft);
}

.btn {
  min-height: 46px;
  border-radius: 3px;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  box-shadow: none;
}

.btn--primary,
.nav-modal__primary {
  border-color: #d9bd88 !important;
  background: #b9935f !important;
  color: #17130f !important;
  box-shadow: none !important;
}

.btn--primary:hover,
.btn--primary:focus-visible,
.nav-modal__primary:hover,
.nav-modal__primary:focus-visible {
  border-color: var(--cm-gold-title) !important;
  background: #c9a36c !important;
  color: #17130f !important;
  box-shadow:
    0 0 0 2px rgba(240, 210, 138, 0.12) !important;
}

.btn--ghost,
.btn--secondary {
  border-color: #55504a;
  background: #141414;
  color: var(--cm-text-soft);
  box-shadow: none;
}

.btn--ghost:hover,
.btn--ghost:focus-visible,
.btn--secondary:hover,
.btn--secondary:focus-visible {
  border-color: var(--cm-gold);
  background: #181818;
  color: var(--cm-gold-title);
}

.btn--pulse {
  animation: none !important;
}

.cta-final {
  background: #121212;
}

.cta-box {
  border-color: #303030;
  background: #151515;
  box-shadow: none;
}

.faq-card summary {
  color: var(--cm-text);
}

.faq-card[open] {
  border-color: #55504a;
  background: #171717;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--cm-focus);
  outline-offset: 3px;
}

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

  .hero--v2 {
    min-height: auto;
  }

  .hero-v2__copy h1 {
    font-size: clamp(2.55rem, 12vw, 3.35rem);
    line-height: 1.02;
  }

  .section h2,
  .cta-final h2 {
    font-size: clamp(1.85rem, 9vw, 2.45rem);
  }

  .hero-v2__lead {
    font-size: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .btn--pulse,
  .reveal {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}
