:root {
  --ink: #0f1419;
  --deep: #0f1419;
  --teal: #0f1419;
  --ivory: #f7f3ed;
  --paper: #f7f3ed;
  --white: #fffdfa;
  --copper: #f75a4d;
  --coral: #f75a4d;
  --muted: #5d615f;
  --line: rgba(15, 20, 25, .14);
  --radius: 18px;
}

body {
  font-family: Inter, "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

h1,
h2,
h3,
.wordmark {
  font-family: "Avenir Next", Inter, "Helvetica Neue", Arial, sans-serif;
}

.wordmark {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

.wordmark > span {
  color: var(--coral);
}

.product {
  padding-left: 18px;
  border-left: 1px solid rgba(15, 20, 25, .2);
}

.product strong {
  letter-spacing: .12em;
}

.cta,
.button.primary {
  color: #fff;
  background: var(--coral);
  border-color: var(--coral);
  box-shadow: 0 12px 30px rgba(247, 90, 77, .2);
}

.cta:hover,
.button.primary:hover {
  background: #e94e42;
  border-color: #e94e42;
}

.button.light:hover {
  color: var(--ink);
  background: var(--ivory);
  border-color: var(--ivory);
}

.hero.dark {
  background: radial-gradient(circle at 80% 18%, rgba(247, 90, 77, .18), transparent 30%), var(--ink);
}

.hero.dark::after {
  content: "";
  position: absolute;
  right: -12vw;
  bottom: -21vw;
  width: 46vw;
  height: 46vw;
  border: clamp(38px, 6vw, 92px) solid var(--coral);
  border-radius: 50%;
  opacity: .9;
  pointer-events: none;
}

.hero.dark > .shell,
.section.teal > .shell {
  position: relative;
  z-index: 1;
}

.dark .kicker,
.pulse-main small,
.decision-box small,
.flow b,
.number,
.kicker {
  color: var(--coral);
}

.pulse,
.decision-box,
.card,
.case,
.contact-card,
.zone {
  border-radius: 18px;
}

.section.white {
  background: var(--white);
}

.section.paper {
  background: var(--ivory);
}

.section.dark,
.section.teal {
  background: var(--ink);
}

.section.teal {
  position: relative;
  overflow: hidden;
}

.section.teal::after {
  content: "";
  position: absolute;
  right: -15vw;
  bottom: -28vw;
  width: 43vw;
  height: 43vw;
  border: clamp(32px, 5vw, 78px) solid var(--coral);
  border-radius: 50%;
  pointer-events: none;
}

.flow {
  border-color: rgba(15, 20, 25, .14);
  background: rgba(15, 20, 25, .14);
}

.flow article,
.card {
  background: var(--white);
}

.flow article.human,
.zone.private {
  background: var(--ink);
}

.zone.business {
  background: var(--coral);
}

.case a,
.footer a:hover {
  color: var(--coral);
}

.footer {
  background: var(--ink);
}

.footer-brand {
  align-items: start;
}

/* BRAND V2 — approved VIKTOR Business OS lockups. */
.brand-lockup {
  display: block;
  width: clamp(168px, 15vw, 214px);
  height: auto;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}

.footer-lockup {
  display: block;
  width: min(100%, 380px);
  height: auto;
}

.footer-brand > p {
  max-width: 390px;
  margin: 0;
}

@media (max-width: 700px) {
  .brand-lockup { width: 168px; }
  .footer-lockup { width: min(100%, 320px); }
}

.footer-brand .wordmark {
  color: var(--ivory);
}

@media (max-width: 700px) {
  .hero.dark::after {
    right: -45vw;
    bottom: -5vw;
    width: 88vw;
    height: 88vw;
  }

  .section.teal::after {
    right: -48vw;
    bottom: -18vw;
    width: 92vw;
    height: 92vw;
  }
}
