/* Elle Hub — stili globali
   Font ospitati in locale (nessuna chiamata a Google Fonts o Adobe Fonts):
   DM Sans (variabile, OFL) e Momo Signature (OFL). */

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../fonts/dm-sans-latin-ext-opsz-normal.woff2") format("woff2-variations"),
       url("../fonts/dm-sans-latin-ext-opsz-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../fonts/dm-sans-latin-opsz-normal.woff2") format("woff2-variations"),
       url("../fonts/dm-sans-latin-opsz-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../fonts/dm-sans-latin-ext-opsz-italic.woff2") format("woff2-variations"),
       url("../fonts/dm-sans-latin-ext-opsz-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../fonts/dm-sans-latin-opsz-italic.woff2") format("woff2-variations"),
       url("../fonts/dm-sans-latin-opsz-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: "Momo Signature";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/momo-signature-latin-ext-400-normal.woff2") format("woff2"),
       url("../fonts/momo-signature-latin-ext-400-normal.woff") format("woff");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: "Momo Signature";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/momo-signature-latin-400-normal.woff2") format("woff2"),
       url("../fonts/momo-signature-latin-400-normal.woff") format("woff");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Stili base (identici al design) */
body{margin:0;background:#F3E9B9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
*{box-sizing:border-box}
body,input,select,textarea,button{font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-optical-sizing:auto}
h1,h2,h3{font-family:"DM Sans",system-ui,sans-serif;font-style:normal}
h1{font-weight:400;letter-spacing:-0.035em}
h2{font-weight:400;letter-spacing:-0.03em}
h3{font-weight:500;letter-spacing:-0.015em}
strong,b{font-weight:600}
p{margin:0}
.brand{font-family:"DM Sans",sans-serif;font-weight:600;letter-spacing:-0.02em}
.num{font-family:"DM Sans",sans-serif;font-weight:500;letter-spacing:0.06em;font-variant-numeric:tabular-nums}
.tag{font-family:"DM Sans",sans-serif;font-weight:300;font-style:italic;letter-spacing:-0.005em}
.sig,h1 i,h2 i,h2 span{font-family:"Momo Signature","DM Sans",cursive;font-weight:400;font-style:normal;letter-spacing:0}
h1 b{font-weight:inherit}
a{color:#521013}a:hover{color:#2E0709}
input:focus,select:focus,textarea:focus{outline:2px solid #CC7590;outline-offset:2px}

html { scroll-behavior: smooth; }

/* Schermi stretti: il titolo della hero ha una larghezza fissa di 900px e un
   corpo fisso di 100px nel design desktop; sotto i 960px lo adattiamo allo
   schermo così non viene tagliato. Sopra i 960px nulla cambia. */
@media (max-width: 960px) {
  #top h1 {
    width: auto !important;
    max-width: 100% !important;
    font-size: clamp(44px, 11vw, 100px) !important;
    overflow-wrap: break-word;
  }
}
