/* ===========================================================
   home.css — sezioni specifiche della home
   Usa le variabili di palette definite in style.css (:root),
   così un cambio di colore si propaga a tutto il sito.
   =========================================================== */

/* ---------- hero ---------- */
.home-hero-wrap{ background:var(--ink); }
.home-hero{
  max-width:var(--maxw); margin:0 auto;
  padding:96px 28px 84px;
  display:grid; grid-template-columns:1.15fr 0.85fr;
  gap:64px; align-items:end;
}
.home-hero .eyebrow-gold{
  display:block; font-family:inherit; line-height:inherit; font-size:0.75rem; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--gold-light);
  font-weight:600; margin-bottom:26px;
}
.home-hero .home-hero-title{
  font-family:var(--serif);
  font-size:clamp(2.6rem,5.6vw,4.6rem);
  font-weight:400; line-height:1.03; letter-spacing:-0.025em;
  margin:0; color:var(--paper); text-wrap:pretty;
}
.home-hero .home-hero-title em{ font-style:italic; color:var(--gold-light); font-weight:400; }
.home-rule{ width:56px; height:2px; background:var(--gold-light); margin:38px 0 26px; }
.home-hero-lead{
  font-size:1.06rem; line-height:1.62;
  color:var(--stone-light); max-width:52ch; margin:0;
}
.home-hero-actions{ display:flex; gap:14px; margin-top:38px; flex-wrap:wrap; }
.home-btn{
  font-size:0.94rem; font-weight:600; padding:15px 30px;
  white-space:nowrap; text-decoration:none; display:inline-block;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.home-btn-gold{ background:var(--gold); color:var(--ink); }
.home-btn-gold:hover{ background:var(--gold-light); color:var(--ink); }
.home-btn-ghost{ border:1px solid rgba(246,243,236,0.35); color:var(--paper); }
.home-btn-ghost:hover{ border-color:var(--gold-light); color:var(--gold-light); }
.home-btn-dark{ background:var(--ink); color:var(--paper); }
.home-btn-dark:hover{ background:var(--gold); color:var(--ink); }
.home-btn-outline{ border:1px solid rgba(26,25,23,0.25); color:var(--ink); }
.home-btn-outline:hover{ border-color:var(--gold); color:var(--gold); }

.home-hero-figure{
  position:relative; width:100%; aspect-ratio:4/5;
  border:1px solid rgba(246,243,236,0.18);
}

/* ritratto fotografico nell'hero */
.hero-photo{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 32%;
  display:block;
}

/* ---------- fascia dati ---------- */
.home-stats-wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.home-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:rgba(26,25,23,0.09);
  border-top:1px solid rgba(26,25,23,0.09);
  border-bottom:1px solid rgba(26,25,23,0.09);
}
.home-stat{ background:var(--paper); padding:34px 26px; }
.home-stats .home-stat:first-child{ padding-left:0; }
.home-stats .home-stat:last-child{ padding-right:0; }
.home-stat b{
  display:block; font-family:var(--serif); font-size:2rem;
  font-weight:400; color:var(--gold); line-height:1; margin-bottom:10px;
}
.home-stat span{
  font-size:0.88rem; color:var(--charcoal-2); line-height:1.45; display:block;
}

/* ---------- come funziona (fascia scura) ---------- */
.home-steps-sec{ background:var(--ink); color:var(--paper); padding:96px 0; }
.home-steps-inner{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.home-steps-sec .eyebrow-gold{
  display:block; font-size:0.75rem; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--gold-light); font-weight:600; margin-bottom:20px;
}
.home-steps-sec h2{
  font-family:var(--serif); font-size:clamp(1.7rem,2.8vw,2.35rem);
  font-weight:600; line-height:1.12; letter-spacing:-0.01em;
  margin:0 0 60px; max-width:28ch; color:var(--paper); text-wrap:pretty;
}
.home-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:44px; }
.home-step{ border-top:1px solid rgba(211,168,104,0.4); padding-top:24px; }
.home-step .num{
  display:block; font-family:var(--serif); font-style:italic;
  font-size:1.5rem; color:var(--gold-light); margin-bottom:18px;
}
.home-step h3{
  font-family:var(--serif); font-size:1.22rem; font-weight:600;
  color:var(--paper); margin:0 0 12px;
}
.home-step p{ font-size:0.96rem; line-height:1.62; color:var(--stone-light); margin:0; }

/* ---------- citazione ---------- */
.home-quote-sec{ max-width:var(--maxw); margin:0 auto; padding:104px 28px; }
.home-quote{
  margin:0; font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(1.6rem,3.4vw,2.6rem); line-height:1.28;
  letter-spacing:-0.02em; color:var(--ink); max-width:34ch;
}
.home-quote cite{
  display:block; font-family:var(--sans); font-style:normal;
  font-size:0.84rem; letter-spacing:0.04em; color:var(--stone);
  margin-top:28px; font-weight:500;
}

/* ---------- fascia finale ---------- */
.home-cta-sec{ background:var(--paper-2); padding:72px 0; }
.home-cta-band{
  max-width:var(--maxw); margin:0 auto; padding:0 28px;
  display:flex; justify-content:space-between; align-items:center;
  gap:40px; flex-wrap:wrap;
}
.home-cta-band h2{
  font-family:var(--serif); font-size:clamp(1.5rem,2.6vw,2.1rem);
  font-weight:600; letter-spacing:-0.01em; margin:0 0 10px;
}
.home-cta-band p{ font-size:1rem; color:var(--charcoal-2); margin:0; }
.home-cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- focus da tastiera ---------- */
.home-btn:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}

/* ---------- responsive ---------- */
.only-mobile{ display:none; }
@media (max-width:860px){ .only-mobile{ display:inline-block; } }
@media (max-width:860px){
  .home-hero{ grid-template-columns:1fr; gap:36px; padding:32px 22px 56px; }
  .home-hero > div:first-child{ display:flex; flex-direction:column; }
  .home-hero .eyebrow-gold{ margin-bottom:14px; }
  .home-hero .home-hero-title{ font-size:clamp(2.1rem,9vw,2.8rem); }
  .home-hero-actions{ order:3; margin-top:24px; }
  .home-rule{ order:4; margin:32px 0 20px; }
  .home-hero-lead{ order:5; }
  .home-hero-actions .home-btn{ flex:1 1 100%; text-align:center; padding:16px 20px; font-size:1rem; }
  .home-hero-figure{ max-width:280px; }
  .only-desktop{ display:none !important; }
  .home-stats{ grid-template-columns:1fr 1fr; }
  .home-stat,
  .home-stats .home-stat:first-child,
  .home-stats .home-stat:last-child{ padding:26px 20px; }
  .home-steps{ grid-template-columns:1fr; gap:32px; }
  .home-quote-sec{ padding-left:28px; padding-right:28px; padding-top:64px; padding-bottom:64px; }
  .home-stats-wrap,
  .home-steps-inner,
  .home-cta-band{ padding-left:28px; padding-right:28px; }
  .home-steps-sec{ padding:64px 0; }
}
@media (max-width:560px){
  .home-stats{ grid-template-columns:1fr; }
  .home-cta-band{ flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce){
  .home-btn{ transition:none; }
}

/* wrapper di pagina */
.home-page{ background:var(--paper); }
