  :root{
    --bg:#FFFFFF;
    --ink:#232323;
    --grey:#7d7d78;
    --card:#ffffff;
    --accent:#2db1d6;
    --warm:#ff6b4a;
    --line:#232323;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Poppins',system-ui,-apple-system,sans-serif;
    overflow-x:hidden;
  }
  h1,h2{font-family:'Titan One',cursive;line-height:1.1;margin:0;}

  .container{max-width:880px;margin:0 auto;padding-left:24px;padding-right:24px;}

  /* decorative falling sweat drops */
  .drops{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
  .drops span{
    position:absolute;top:-5%;width:8px;height:16px;border-radius:50%;
    background:var(--accent);opacity:0;
    animation:fall linear infinite;
  }
  @keyframes fall{
    0%{transform:translateY(0);opacity:0;}
    8%{opacity:.45;}
    92%{opacity:.45;}
    100%{transform:translateY(105vh);opacity:0;}
  }

  main, header, footer{position:relative;z-index:1;}

  /* hero */
  .hero{text-align:center;padding:0 24px 48px;}
  .hero-logo{
    width:100%;margin:0 auto 12px;display:block;
    transition:transform .25s ease;
  }
  .hero-logo:hover{animation:jiggle .5s ease;}
  @keyframes jiggle{
    0%,100%{transform:rotate(0deg);}
    25%{transform:rotate(-4deg);}
    75%{transform:rotate(4deg);}
  }
  .hero h1{font-size:clamp(2.2rem,7vw,3.6rem);}
  .hero h1 .dot{color:var(--accent);}
  .tagline{font-size:clamp(1.05rem,2.6vw,1.3rem);font-weight:600;margin:14px 0 4px;}
  .subtagline{color:var(--grey);margin:0 0 28px;}

  .cta{
    display:inline-block;
    background:var(--warm);color:#fff;text-decoration:none;
    font-weight:700;padding:14px 28px;border-radius:999px;
    border:3px solid var(--line);cursor:pointer;font-size:1rem;
    font-family:inherit;
    box-shadow:0 4px 0 var(--line);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .cta:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--line);}
  .cta:active{transform:translateY(2px);box-shadow:0 2px 0 var(--line);}
  .cta.secondary{background:var(--accent);}
  .cta:disabled{opacity:.6;cursor:default;transform:none;}

  section{padding:48px 24px;}
  section h2{font-size:clamp(1.4rem,4vw,1.9rem);text-align:center;margin-bottom:10px;}
  section > .container > p{text-align:center;color:var(--grey);margin-top:0;}

  /* misuratore */
  .misuratore{text-align:center;}
  .gauge-wrap{margin-top:28px;max-width:420px;margin-inline:auto;}
  .gauge{
    width:100%;height:24px;background:#e4e4df;border-radius:999px;
    border:3px solid var(--line);overflow:hidden;
  }
  .gauge-fill{
    height:100%;width:0%;background:var(--accent);
    transition:width .7s ease, background-color .3s ease;
  }
  .gauge-value{font-family:'Titan One',cursive;font-size:2rem;margin:14px 0 4px;}
  .gauge-caption{font-weight:600;color:var(--ink);min-height:1.4em;}

  /* citazioni */
  .citazioni{text-align:center;}
  blockquote{
    font-size:1.2rem;font-weight:600;max-width:600px;margin:28px auto 8px;
    color:var(--ink);
  }
  blockquote::before{content:"“";}
  blockquote::after{content:"”";}
  .quote-author{color:var(--grey);font-style:italic;margin-bottom:24px;}

  /* chi siamo */
  .chi-siamo{text-align:center;}
  .chi-siamo p{max-width:600px;margin:0 auto;color:var(--ink);}

  footer.site-footer{
    background:var(--ink);color:#f3f3f0;text-align:center;
    padding:32px 24px;border-top:4px solid var(--line);
  }
  .footer-logo{height:120px;margin-bottom:12px;}
  footer.site-footer p{margin:4px 0;}
  footer .disclaimer{color:#9a9a95;font-size:.85rem;font-style:italic;}

