@font-face { font-family: "IBM Plex Sans"; src: url("/fonts/ibm-plex-sans-latin.woff2") format("woff2"); font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("/fonts/fraunces-latin.woff2") format("woff2"); font-weight: 400 600; font-display: swap; }

:root {
  color-scheme: light dark;
  --paper: #f2eee7; --ink: #2b2724; --ink-soft: #5a4f47; --line: #d7cfc5; --terracotta: #a8552f;
}
@media (prefers-color-scheme: dark) {
  :root { --paper: #111821; --ink: #f7f4f0; --ink-soft: #d7d0c9; --line: #3e4b5a; --terracotta: #c96b49; }
}

* { box-sizing: border-box; }
html { background: var(--paper); }
body {
  margin: 0; min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto;
  padding: clamp(24px, 5vw, 56px); color: var(--ink); background: var(--paper);
  font-family: "IBM Plex Sans", system-ui, sans-serif; line-height: 1.6;
}
p { margin: 0; }

.marchio { display: inline-flex; align-items: baseline; gap: 5px; font-family: "Fraunces", Georgia, serif; font-size: clamp(26px, 3.4vw, 34px); font-weight: 600; letter-spacing: -.045em; }
.punto { width: .2em; height: .2em; border-radius: 50%; background: var(--terracotta); }

main { align-self: center; display: grid; gap: clamp(20px, 3vw, 32px); padding-block: clamp(40px, 8vw, 96px); }
h1 { margin: 0; font-family: "Fraunces", Georgia, serif; font-size: clamp(56px, 13vw, 168px); font-weight: 600; line-height: .98; letter-spacing: -.035em; }
.punto-titolo { color: var(--terracotta); }
.lead { max-width: 28ch; padding-top: clamp(16px, 2vw, 24px); border-top: 1px solid var(--line); color: var(--ink-soft); font-size: clamp(17px, 2vw, 21px); }

.piede { color: var(--ink-soft); font-size: 14px; }
