@import url("https://api.fontshare.com/v2/css?f[]=switzer@400,500,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400..500&family=STIX+Two+Text:wght@400..600&display=swap");
/* Spaziobianco tokens, from src/styles/colors.css, fonts.css, global.css and Text.astro. Light only. */
:root, [data-theme="light"] {
  --background: oklch(98% 0.005 80.72);        /* warm paper */
  --foreground: oklch(26.45% 0 89.88);         /* charcoal */
  --muted: oklch(94% 0.008 81.79);             /* warm grey cards, hairlines */
  --muted-foreground: oklch(55.10% 0.012 76.53);
  --accent: oklch(81.97% 0.121 334.26);        /* orchid: focus rings, shader */
  --accent-strong: oklch(60.85% 0.223 11.73);  /* hot pink: dots, markers, shader */
  --highlight: oklch(87.80% 0.071 358.57);     /* blush: CTA cards, logo tiles, code strings */
  --info: oklch(66.67% 0.154 279.30);          /* periwinkle: CTA cards, code keywords, shader */
}
:root {
  --font-sans: "Switzer", sans-serif;
  --font-serif: "STIX Two Text", serif;
  --font-mono: "Geist Mono", monospace;
  --tracking-tight: -0.025em;
  --tracking-tighter: -0.05em;
  --width-wrapper: 1152px;     /* max-w-6xl */
  --space-gutter: 16px;        /* p-4 */
  --space-section: 96px;       /* py-24, the one spacing value */
  --space-hero-top: 224px;     /* pt-56 */
  --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px;
  --shadow: 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
  --shadow-2xl: 0 6.6px 4.7px 0 rgba(43,32,26,.05), 0 16.7px 11.8px 0 rgba(43,32,26,.075), 0 34px 24.1px 0 rgba(43,32,26,.1), 0 70px 49.6px 0 rgba(43,32,26,.12), 0 192px 136px 0 rgba(43,32,26,.17);
  --shadow-button-default: 0 0 0 1px oklch(0.2 0.03 257), inset 0 1px 0 0 rgb(255 255 255 / .18), inset 0 -1px 0 0 rgb(0 0 0 / .3), inset 0 0 0 1px rgb(255 255 255 / .05), 0 1px 2px 0 rgb(20 28 45 / .2), 0 2px 3px -1px rgb(20 28 45 / .25), 0 4px 6px -3px rgb(20 28 45 / .25);
  --shadow-button-muted: 0 0 0 1px rgb(30 31 37 / .1), inset 0 1px 0 0 rgb(255 255 255 / 1), inset 0 -1px 0 0 rgb(30 31 37 / .06), 0 1px 2px 0 rgb(30 31 37 / .06), 0 2px 3px -1px rgb(30 31 37 / .08), 0 4px 6px -3px rgb(30 31 37 / .08);
  --stripes: repeating-linear-gradient(125deg, transparent, transparent 6px, var(--muted) 6px, var(--muted) 7px);
}

/* Type: Text.astro variants. Steps at 640 (sm) / 768 (md) / 1024px (lg).
   display-* are STIX Two Text (serif); text-* are Switzer. */
.display-6xl, .display-5xl, .display-4xl, .display-3xl, .display-2xl, .display-xl, .display-lg, .display-md, .display-sm, .display-xs { font-family: var(--font-serif); font-weight: 400; }
.display-4xl { font-size: 36px; line-height: 40px; }
.display-3xl { font-size: 48px; line-height: 1; }
.display-2xl { font-size: 48px; line-height: 1; }
.display-xl  { font-size: 36px; line-height: 40px; }
.display-lg  { font-size: 30px; line-height: 36px; }
.display-md  { font-size: 24px; line-height: 32px; }
.display-sm  { font-size: 20px; line-height: 28px; }
.display-xs  { font-size: 20px; line-height: 28px; }
.text-xl     { font-size: 20px; line-height: 28px; }
.text-lg     { font-size: 18px; line-height: 28px; }
.text-base   { font-size: 16px; line-height: 24px; }
.text-sm     { font-size: 14px; line-height: 20px; }
.text-xs     { font-size: 12px; line-height: 16px; }
@media (min-width: 640px) {
  .display-4xl { font-size: 72px; line-height: 1; }
  .display-3xl { font-size: 60px; }
}
@media (min-width: 768px) {
  .display-4xl { font-size: 96px; }
  .display-3xl { font-size: 72px; }
  .display-2xl { font-size: 60px; }
  .display-xl  { font-size: 48px; line-height: 1; }
  .display-lg  { font-size: 36px; line-height: 40px; }
  .display-md  { font-size: 30px; line-height: 36px; }
  .display-sm  { font-size: 24px; line-height: 32px; }
  .text-xl     { font-size: 24px; line-height: 32px; }
  .text-lg     { font-size: 20px; line-height: 28px; }
}
@media (min-width: 1024px) {
  .display-4xl { font-size: 128px; }
  .display-3xl { font-size: 96px; }
  .display-2xl { font-size: 72px; }
  .display-xl  { font-size: 60px; }
  .display-lg  { font-size: 48px; line-height: 1; }
  .display-md  { font-size: 36px; line-height: 40px; }
  .display-sm  { font-size: 30px; line-height: 36px; }
  .display-xs  { font-size: 24px; line-height: 32px; }
}
