@charset "utf-8";

/* Federo */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Federo";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Federo-Regular.ttf") format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* elms-sans-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Elms Sans";
  font-style: normal;
  font-weight: 200;
  src:
    url("../fonts/elms-sans-v7-latin-200.woff2") format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url("../fonts/elms-sans-v7-latin-200.ttf") format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* elms-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Elms Sans";
  font-style: normal;
  font-weight: 400;
  src:
    url("../fonts/elms-sans-v7-latin-regular.woff2") format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url("../fonts/elms-sans-v7-latin-regular.ttf") format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* elms-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Elms Sans";
  font-style: normal;
  font-weight: 600;
  src:
    url("../fonts/elms-sans-v7-latin-600.woff2") format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url("../fonts/elms-sans-v7-latin-600.ttf") format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* elms-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Elms Sans";
  font-style: normal;
  font-weight: 800;
  src:
    url("../fonts/elms-sans-v7-latin-800.woff2") format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url("../fonts/elms-sans-v7-latin-800.ttf") format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

:root {
  interpolate-size: allow-keywords;

  /* Salvia #3F5738 */
  --color-primary: 42.812% 0.05759 138.782;
  /* Legno di risonanza #C7A467 */
  --color-secondary: 73.67% 0.08906 80.567;
  /* Dolomia #D6D0C2 */
  --color-light-gray: 85.854% 0.02004 87.513;
  /* Bruma #ECEDE4 */
  --color-light: 94.286% 0.0119 111.949;
  /* Abete #1F2E24 */
  --color-dark-gray: 28.413% 0.02724 155.184;
  /* Notte d'alta quota #12180F */
  --color-dark: 19.951% 0.01969 135.411;
  /* #005b00 */
  --color-success: 40.827% 0.13891 142.511;
  /* #9b0000 */
  --color-error: 43.295% 0.17767 29.223;
  /* #fff */
  --color-white: 100% 0.00011 271.152;

  /** Type */
  --accent-font: "Federo", system-ui, sans-serif;
  --main-font: "Elms Sans", system-ui, sans-serif;
  --fw-light: 200;
  --fw-regular: 400;
  --fw-medium: 600;
  --fw-bold: 800;
  --heading-line-height: 1.05;
  --base-line-height: 1.5;
  --tracking: 0.015em;
  --tracking-s: 0.025em;
  --heading-length: 25ch;
  --text-length: 75ch;

  /** Sizes */
  /* @link https://utopia.fyi/type/calculator?c=320,16,1.2,2560,20,1.333,7,2,&s=1,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
  --step--1: clamp(0.8333rem, 0.8184rem + 0.0746vw, 0.9377rem);
  --step-0: clamp(1rem, 0.9643rem + 0.1786vw, 1.25rem);
  --step-1: clamp(1.2rem, 1.1334rem + 0.333vw, 1.6663rem);
  --step-2: clamp(1.44rem, 1.3284rem + 0.5579vw, 2.2211rem);
  --step-3: clamp(1.728rem, 1.5519rem + 0.8805vw, 2.9607rem);
  --step-4: clamp(2.0736rem, 1.806rem + 1.3379vw, 3.9467rem);
  --step-5: clamp(2.4883rem, 2.0922rem + 1.9804vw, 5.2609rem);
  --step-6: clamp(2.986rem, 2.4107rem + 2.8763vw, 7.0128rem);
  --step-7: clamp(3.5832rem, 2.7596rem + 4.1178vw, 9.3481rem);
  --step-ultra: clamp(2.0736rem, 1.806rem + 2.8763vw, 9.3481rem);

  /* @link https://utopia.fyi/space/calculator?c=320,16,1.2,2560,20,1.333,7,2,&s=1,1.5|2|3|4|6|8|10|12,3xl-6xl|s-2xl|s-5xl|s-6xl|xl-4xl|xl-xs|xl-m&g=s,l,xl,12 */
  --space-xs: clamp(1rem, 0.9643rem + 0.1786vw, 1.25rem);
  --space-s: clamp(1rem, 0.9643rem + 0.1786vw, 1.25rem);
  --space-m: clamp(1.5rem, 1.4464rem + 0.2679vw, 1.875rem);
  --space-l: clamp(2rem, 1.9286rem + 0.3571vw, 2.5rem);
  --space-xl: clamp(3rem, 2.8929rem + 0.5357vw, 3.75rem);
  --space-2xl: clamp(4rem, 3.8571rem + 0.7143vw, 5rem);
  --space-3xl: clamp(6rem, 5.7857rem + 1.0714vw, 7.5rem);
  --space-4xl: clamp(8rem, 7.7143rem + 1.4286vw, 10rem);
  --space-5xl: clamp(10rem, 9.6429rem + 1.7857vw, 12.5rem);
  --space-6xl: clamp(12rem, 11.5714rem + 2.1429vw, 15rem);

  /* One-up pairs */
  --space-xs-s: clamp(1rem, 0.9643rem + 0.1786vw, 1.25rem);
  --space-s-m: clamp(1rem, 0.875rem + 0.625vw, 1.875rem);
  --space-m-l: clamp(1.5rem, 1.3571rem + 0.7143vw, 2.5rem);
  --space-l-xl: clamp(2rem, 1.75rem + 1.25vw, 3.75rem);
  --space-xl-2xl: clamp(3rem, 2.7143rem + 1.4286vw, 5rem);
  --space-2xl-3xl: clamp(4rem, 3.5rem + 2.5vw, 7.5rem);
  --space-3xl-4xl: clamp(6rem, 5.4286rem + 2.8571vw, 10rem);
  --space-4xl-5xl: clamp(8rem, 7.3571rem + 3.2143vw, 12.5rem);
  --space-5xl-6xl: clamp(10rem, 9.2857rem + 3.5714vw, 15rem);

  /* Custom pairs */
  --space-3xl-6xl: clamp(6rem, 4.7143rem + 6.4286vw, 15rem);
  --space-s-2xl: clamp(1rem, 0.4286rem + 2.8571vw, 5rem);
  --space-s-5xl: clamp(1rem, -0.6429rem + 8.2143vw, 12.5rem);
  --space-s-6xl: clamp(1rem, -1rem + 10vw, 15rem);
  --space-xl-4xl: clamp(3rem, 2rem + 5vw, 10rem);
  --space-xl-xs: clamp(1.25rem, 3.25rem + -1.25vw, 3rem);
  --space-xl-m: clamp(1.875rem, 3.1607rem + -0.8036vw, 3rem);

  /** Grid */
  --grid-gutter: var(--space-s-l, clamp(1rem, 0.4783rem + 2.6087vw, 2.5rem));

  /** Animation */
  --timing-fast: 500ms;
  --timing-medium: 750ms;
  --timing-slow: 1s;
  --timing-extra_slow: 1.5s;
  --timing-super_slow: 3s;
  --bounce: linear(
    0,
    0.009 1%,
    0.035 2%,
    0.08 3.1%,
    0.144 4.3%,
    0.292 6.5%,
    0.741 12.5%,
    0.858 14.3%,
    0.958 16.1%,
    1.034 17.8%,
    1.097 19.6%,
    1.141 21.4%,
    1.169 23.3%,
    1.181 25.8%,
    1.169 28.6%,
    1.141 31.3%,
    1.015 41.1%,
    0.986 44.8%,
    0.97 48.6%,
    0.969 54.3%,
    1.005 73.5%,
    1
  );
  --anim-fast: var(--timing-fast);
  --anim-medium: var(--timing-medium);
  --anim-slow: var(--timing-slow);
  --anim-extra-slow: var(--timing-extra_slow);
  --anim-super-slow: var(--timing-super_slow);
  --anim-bounce: var(--timing-slow) var(--bounce);
  /*--fade-card-anim: cubic-bezier(0.36, 0, 0.66, -0.56); with small reversing */
  --fade-card-anim: cubic-bezier(0.16, 1, 0.3, 1);
  --overshoot-soft: linear(
    0,
    -0.011 5.5%,
    -0.053 10.6%,
    -0.115 15.2%,
    -0.269 24.6%,
    -0.316 28.4%,
    -0.333 31.8%,
    -0.32 34.9%,
    -0.285 37.2%,
    -0.228 39.4%,
    -0.047 43.5%,
    0.219 47.2%,
    0.952 55%,
    1.158 58.7%,
    1.285 62.8%,
    1.33 66.6%,
    1.333 68.7%,
    1.322 70.9%,
    1.272 75.2%,
    1.115 84.8%,
    1.051 89.5%,
    1.011 94.5%,
    1
  );

  /** Misc */
  --inverse-clamp: var(--space-xl-xs);
  --border-radius: 5px;
  --border-thickness: 6px;
  --border-style: solid;

  --shadow-basic: 5px 5px 10px oklch(var(--color-dark) / 0.25);
  --shadow-around: 0 0 10px oklch(var(--color-dark) / 0.25);
  --shadow-primary-around: 0 0 10px oklch(var(--color-primary) / 0.25);

  --btn-bg: radial-gradient(
    circle at 50% -50%,
    oklch(var(--color-primary)),
    oklch(var(--color-dark-gray))
  );

  --fancybox-zIndex: 999999999999;
}

@media (prefers-reduced-motion) {
  :root {
    --timing-fast: 10ms;
    --timing-medium: 10ms;
    --timing-slow: 10ms;
    --timing-extra_slow: 10ms;
    --timing-super_slow: 10ms;
  }
}

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

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

[role="list"] {
  padding: 0;
}

html {
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture,
video {
  width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  shape-margin: 1em;
}

input,
button,
textarea,
select {
  font: inherit;
}
