@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&display=swap");
/* Colpo di Fortuna: fonts, own tokens and base. Brand colours, spacing, radius, type scale and fonts come from ACSS (Automatic.css settings). */
@font-face { font-family: "Lemon Milk Pro"; font-weight: 300; font-style: normal; font-display: swap; src: url("../assets/lemon-milk-pro-light.woff2") format("woff2"); }
@font-face { font-family: "Lemon Milk Pro"; font-weight: 500; font-style: normal; font-display: swap; src: url("../assets/lemon-milk-pro-medium.woff2") format("woff2"); }
@font-face { font-family: "Lemon Milk Pro"; font-weight: 600; font-style: normal; font-display: swap; src: url("../assets/lemon-milk-pro-semibold.woff2") format("woff2"); }
@font-face { font-family: "Lemon Milk Pro"; font-weight: 700; font-style: normal; font-display: swap; src: url("../assets/lemon-milk-pro-bold.woff2") format("woff2"); }
:root {
  --cf-ink: #1f1a17;
  --cf-muted: #5d5650;
  --cf-shadow: 0 1px 2px rgb(31 26 23 / 6%), 0 8px 24px rgb(31 26 23 / 8%);
  /* own warm palette for section backgrounds (not ACSS-generated tints) */
  --cf-warm-cream: #f7f0e3;
  --cf-sand: #efe3cd;
  --cf-sand-deep: #e4d2b2;
  --cf-warm-paper: #fcf8f0;
  --cf-brand-wine: #5e1d29;  /* brand wine as exact hex for footer and booking band */
  --cf-brand-on-wine: #f7f1e6;
}
* { box-sizing: border-box; }
*::before { box-sizing: border-box; }
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--base); color: var(--cf-ink); font-family: var(--text-font-family); font-weight: 400; font-size: var(--text-m); line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--tertiary); outline-offset: 3px; }
[id] { scroll-margin-top: 88px; }