/* Base condivisa da sito e pagine legali */
@font-face { font-family: "DM Sans"; font-weight: 400; font-display: swap; src: url("/fonts/dm-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-weight: 500; font-display: swap; src: url("/fonts/dm-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-weight: 700; font-display: swap; src: url("/fonts/dm-sans-latin-700-normal.woff2") format("woff2"); }
:root {
  color-scheme: light;
  --bg: #edf0fb; --card: #ffffff; --soft: #dfe4f7; --text: #12163a; --muted: #5b618a;
  --blue: #2438e8; --on-blue: #ffffff; --on-blue-soft: #dbe0ff; --pink: #f7cbe6; --on-pink: #12163a; --link: #2438e8;
  --font: "DM Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; --bg: #0f1228; --card: #1a1e3c; --soft: #272c54; --text: #eef0fb; --muted: #a2a8cf; --blue: #3f52f5; --link: #b3bdff; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 17px/1.5 var(--font); -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: var(--link); }
:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }
.wrap { width: 100%; max-width: 1040px; margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.brand { display: inline-flex; align-items: center; gap: 9px; color: inherit; font-size: 17px; font-weight: 700; text-decoration: none; }
