/* ND78 — base.css
 * Reset extraído do snapshot original + tokens de design do app local.
 * O bloco abaixo é o reset original (preservado integralmente).
 */
a {
            display: inline-block;
            text-decoration: none;
        }
        * {
            margin: 0;
            padding: 0;
            border: 0;
            font-display: swap;
            -webkit-margin-before: 0;
            -webkit-margin-after: 0;
            -webkit-margin-start: 0;
            -webkit-margin-end: 0;
            -webkit-padding-start: 0;
        }
        body {
            display: flex;
            min-height: 100vh;
            flex-direction: column;
            background: #fff;
            font-size: 16px;
            font-family: roboto, Helvetica, Arial, sans-serif;
        }
        #main {
            flex: 1;
        }
        @media screen and (max-width: 480px) {
            h1 {
                font-size: 36px !important;
                line-height: 44px !important;
            }
            h3 {
                font-size: 26px !important;
                line-height: 30px !important;
            }
        }

/* ---- design tokens (app local) ---- */
:root {
  --nd-orange: #ff782d;
  --nd-orange-2: #ff9d28;
  --nd-ink: #17191d;
  --nd-ink-soft: #393f4f;
  --nd-muted: #6b6f7d;
  --nd-line: #ececf1;
  --nd-bg: #ffffff;
  --nd-bg-soft: #f7f7fb;
  --nd-blue: #517df8;
  --nd-purple: #833ee4;
  --nd-radius: 16px;
  --nd-radius-sm: 10px;
  --nd-shadow: 0 12px 40px rgba(23, 25, 29, 0.08);
  --nd-shadow-sm: 0 4px 16px rgba(23, 25, 29, 0.06);
  --nd-max: 1280px;
  --nd-grad: linear-gradient(96deg, #833ee4 0%, #3f92ff 55%, #ff7750 100%);
  --nd-grad-orange: linear-gradient(96deg, #ff782d 0%, #ff9d28 100%);
}

html { scroll-behavior: smooth; }
body { color: var(--nd-ink); background: var(--nd-bg); }
img, video, svg { max-width: 100%; }
button { font: inherit; cursor: pointer; }

/* Box model: largura inclui padding/borda. Sem isto, elementos com
 * width:100% + padding estouram o container e criam scroll horizontal. */
*, *::before, *::after { box-sizing: border-box; }

/* ---- tipografia: Roboto local (gerado por tools/gen-media.js) ----
 * O snapshot original pré-carregava Roboto via CSS remoto (desativado no
 * build). Os .woff abaixo são a mesma fonte, servida localmente.          */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/fonts/Roboto-Regular.woff") format("woff"), local("Roboto");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/fonts/Roboto-Medium.woff") format("woff"), local("Roboto Medium"), local("Roboto");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/fonts/Roboto-Bold.woff") format("woff"), local("Roboto Bold"), local("Roboto");
}
body {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
