/* Tukai: estilo comum das páginas da marca (tukai.com.br) e da escola (escola.tukai.com.br).
   Paleta: creme, grafite e o laranja do Kai. Display Sora, texto Manrope, etiquetas JetBrains Mono. */
:root {
  --bg: #f4efe6; --surface: #fffaf2; --surface-2: #ebe3d5; --line: #ddd2c0;
  --fg: #26252c; --muted: #67636e; --accent: #ff6a1a; --accent-ink: #b5460b; --on-accent: #ffffff;
  --ok: #1f8a57; --stage: #26252c; --stage-ink: #f1ece3;
  --font-display: "Sora", "Segoe UI", system-ui, sans-serif;
  --font-body: "Manrope", "Segoe UI", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #141317; --surface: #1d1c21; --surface-2: #26252b; --line: #34323a;
    --fg: #f0eae0; --muted: #a8a3ae; --accent: #ff7a2e; --accent-ink: #ffa36b; --on-accent: #1a1209;
    --ok: #4cc58a; --stage: #0e0e12; --stage-ink: #f0eae0;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: var(--fg); font: 500 17px/1.6 var(--font-body);
  padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px);
}
.wrap { max-width: 1120px; margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
a { color: var(--accent-ink); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
h1, h2, h3 { font-family: var(--font-display); text-wrap: balance; letter-spacing: -0.025em; margin: 0; }

.topo { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 22px; flex-wrap: wrap; }
.marca { font: 800 26px/1 var(--font-display); letter-spacing: -0.03em; color: var(--fg); text-decoration: none; display: flex; align-items: baseline; gap: 10px; }
.marca .t { position: relative; }
.marca .ponto { position: absolute; right: 1px; top: -2px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px var(--accent); }
.marca small { font: 700 13px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.menu { display: flex; gap: 18px; flex-wrap: wrap; font-weight: 700; font-size: 15px; }
.menu a { text-decoration: none; color: var(--fg); }
.menu a:hover { color: var(--accent-ink); }

.selo { display: inline-flex; gap: 8px; align-items: center; font: 700 13px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--accent-ink); background: color-mix(in srgb, var(--accent) 14%, transparent); padding: 8px 12px; border-radius: 999px; }
.botao { display: inline-block; font: 800 17px/1 var(--font-display); background: var(--accent); color: var(--on-accent); text-decoration: none; border-radius: 12px; padding: 17px 24px; }
.botao.sec { background: transparent; color: var(--fg); border: 2px solid var(--line); }
.botao:hover { filter: brightness(1.05); }

section.bloco { padding-block: 64px; border-top: 1px solid var(--line); }
.bloco h2 { font-size: clamp(28px, 3.6vw, 40px); line-height: 1.1; max-width: 22ch; }
.intro { color: var(--muted); max-width: 40em; margin: 14px 0 0; }

.pill { display: inline-flex; align-items: center; gap: 6px; font: 700 12px/1 var(--font-body); padding: 6px 10px; border-radius: 999px; background: var(--surface-2); color: var(--muted); white-space: nowrap; }
.pill.vivo { background: color-mix(in srgb, var(--ok) 16%, transparent); color: var(--ok); }
.pill.vivo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pill.quente { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent-ink); }

footer { padding-block: 28px 40px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
footer .wrap { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
footer a { color: var(--muted); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
