
/* ECC Kinetic Blocks — shared utilities */
:root{
  --kt-bg: var(--wp--preset--color--background);
  --kt-fg: var(--wp--preset--color--foreground);
  --kt-muted: var(--wp--preset--color--muted);
  --kt-muted-fg: var(--wp--preset--color--muted-foreground);
  --kt-accent: var(--wp--preset--color--accent);
  --kt-accent-fg: var(--wp--preset--color--accent-foreground);
  --kt-border: var(--wp--preset--color--border);
  --kt-bw: 2px;
}

.kt-container{
  width: 100%;
  max-width: var(--wp--custom--kt--containerMax, 95vw);
  margin-left: auto;
  margin-right: auto;
}

.kt-section{
  background: var(--kt-bg);
  color: var(--kt-fg);
}

.kt-tone-accent{
  background: var(--kt-accent);
  color: var(--kt-accent-fg);
}

.kt-divider-top{ border-top: var(--kt-bw) solid var(--kt-border); }
.kt-divider-bottom{ border-bottom: var(--kt-bw) solid var(--kt-border); }

.kt-pad-y-md{ padding-top: 5rem; padding-bottom: 5rem; }
.kt-pad-y-lg{ padding-top: 8rem; padding-bottom: 8rem; }
.kt-pad-y-xl{ padding-top: 10rem; padding-bottom: 10rem; }

.kt-border{
  border: var(--kt-bw) solid var(--kt-border);
}

.kt-card{
  border: var(--kt-bw) solid var(--kt-border);
  background: var(--kt-bg);
  color: var(--kt-fg);
}

.kt-card .kt-muted{ color: var(--kt-muted-fg); }

.kt-card--invert:hover{
  background: var(--kt-accent);
  color: var(--kt-accent-fg);
  border-color: var(--kt-accent);
}
.kt-card--invert:hover .kt-muted{
  color: rgba(0,0,0,0.75);
}

.kt-uppercase{ text-transform: uppercase; }
.kt-track-tight{ letter-spacing: -0.04em; }
.kt-leading-tight{ line-height: 0.9; }

.kt-display{
  font-size: var(--wp--preset--font-size--display, clamp(3rem, 12vw, 14rem));
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.85;
  text-transform: uppercase;
}

.kt-h2{
  font-size: var(--wp--preset--font-size--h2, clamp(2.5rem, 8vw, 6rem));
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.9;
  text-transform: uppercase;
}

.kt-title{
  font-size: var(--wp--preset--font-size--title, clamp(1.5rem, 2.2vw, 3.75rem));
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 0.95;
  text-transform: uppercase;
}

.kt-body{
  font-size: var(--wp--preset--font-size--body, clamp(1.125rem, 1.25vw, 1.5rem));
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

/* Focus visible (front-end fallback; theme may also apply) */
:where(.kt-card a, .kt-button, a):focus-visible{
  outline: none;
  box-shadow: 0 0 0 2px var(--kt-accent);
}
