/* ============================================================
   DULCE DOMOS — Base: variabili, reset, tipografia, utility, pulsanti
   ============================================================ */

/* ================= VARIABILI E RESET ================= */
:root{
  --cream:#faf6f0;        /* sfondo principale */
  --beige:#f0e8dc;        /* sfondo sezioni alternate */
  --sand:#e5d9c8;         /* bordi e dettagli */
  --taupe:#8a7a68;        /* testo secondario / tortora */
  --brown:#4a3c2e;        /* testo principale / marrone */
  --brown-dark:#332a20;   /* footer, sezioni scure */
  --gold:#b99a5f;         /* oro tenue — accenti */
  --gold-light:#d4bd93;
  --white:#ffffff;
  --shadow:0 10px 40px rgba(74,60,46,.10);
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Jost',sans-serif;
  color:var(--brown);
  background:var(--cream);
  line-height:1.7;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:600;line-height:1.25}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ================= UTILITY ================= */
.container{max-width:1160px;margin:0 auto;padding:0 24px}
section{padding:96px 0}
.section-alt{background:var(--beige)}
.eyebrow{
  display:inline-block;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:14px;
}
.section-title{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:18px}
.section-intro{max-width:680px;color:var(--taupe);font-size:1.05rem}
.center{text-align:center}
.center .section-intro{margin:0 auto}

/* CTA di fine sezione e badge piattaforme */
.section-cta{text-align:center;margin-top:46px}
.stats-platforms{text-align:center;margin-top:36px;color:rgba(250,246,240,.55);font-size:.9rem;letter-spacing:.06em}
.stats-platforms strong{color:var(--gold-light);font-weight:500}

/* Animazione reveal allo scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* Pulsanti */
.btn{
  display:inline-block;padding:15px 34px;border-radius:50px;font-weight:500;
  font-size:1rem;letter-spacing:.03em;transition:all .3s ease;cursor:pointer;border:none;
}
.btn-primary{background:var(--gold);color:var(--white)}
.btn-primary:hover{background:#a4874f;transform:translateY(-2px);box-shadow:0 8px 24px rgba(185,154,95,.35)}
.btn-outline{border:1.5px solid var(--brown);color:var(--brown);background:transparent}
.btn-outline:hover{background:var(--brown);color:var(--cream);transform:translateY(-2px)}
.btn-light{border:1.5px solid rgba(255,255,255,.6);color:var(--white);background:transparent}
.btn-light:hover{background:var(--white);color:var(--brown)}
