/* Bottiroli · holding page */

/* Interim web faces until the house buys web licences:
   Crimson Pro stands in for Dante, Hanken Grotesk for Forma DJR. */
@font-face {
  font-family: "Crimson Pro";
  src: url("/fonts/crimson-pro-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("/fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --carta: #F4F2ED;
  --inchiostro: #1A1A19;
  --pietra-scura: #6E6C66;
  --pietra: #8A8880;
  --serif: "Crimson Pro", Georgia, serif;
  --sans: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  background: var(--carta);
  color: var(--inchiostro);
  font-family: var(--sans);
  font-weight: 400;
  letter-spacing: normal; /* lowercase is never letterspaced */
  -webkit-font-smoothing: antialiased;
}

main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 16px;
  text-align: center;
}

h1 {
  margin: 0;
  line-height: 0;
}

h1 img {
  display: block;
  width: clamp(190px, 18vw + 120px, 260px);
  height: auto;
}

p {
  margin: 0;
}

.place {
  margin-top: 30px;
  font-family: var(--serif);
  font-size: 21px;
  line-height: 1.2;
}

.email {
  margin-top: 26px;
  font-size: 16px;
  line-height: 1.3;
}

.email a {
  color: var(--inchiostro);
  text-decoration: underline;
  text-decoration-color: var(--pietra);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
}

.email a:hover,
.email a:focus-visible {
  text-decoration-color: var(--inchiostro);
}

.email a:focus-visible {
  outline: 1px solid var(--inchiostro);
  outline-offset: 4px;
}

footer {
  padding: 0 16px 24px;
  text-align: center;
}

/* The legal line breaks only at its separators: each part is kept whole.
   The registered office may break at its commas only on screens too
   narrow to hold it on one line. */
.legal {
  font-size: 12px;
  line-height: 1.6;
  color: var(--pietra-scura);
}

.legal > span {
  display: inline-block;
  max-width: 100%;
}

.legal span span,
.legal > span:not(:last-child) {
  white-space: nowrap;
}
