/* ============================================================
   YUMEKA DREAM — foglio di stile condiviso
   Modifica qui e cambiano TUTTE le pagine libro insieme.
   ============================================================ */
:root{
  /* --- identita del SITO: neutra, vale per la home --- */
  --ink:#111111;          /* nero tipografico   */
  --paper:#ffffff;        /* fondo pagina       */
  --paper-warm:#F2EEE7;   /* carta della home   */
  --hair:#DDD6CC;         /* filetti            */

  /* --- identita del LIBRO: ogni pagina libro la sovrascrive --- */
  --accent:#F2EEE7;       /* fondo dell'hero    */
  --mark:#111111;         /* colore d'accento   */
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65;
  -webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
.narrow{max-width:660px;margin:0 auto}

.hero{background:var(--accent);padding:64px 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:center}
.eyebrow{font-family:Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;margin-bottom:22px;opacity:.75}
h1{font-size:clamp(34px,5vw,52px);line-height:1.12;letter-spacing:-.01em;margin-bottom:20px}
.hero p{font-size:19px;margin-bottom:14px;max-width:34em}
.cover-shot{box-shadow:0 18px 44px rgba(0,0,0,.28);border-radius:2px}

.form-card{background:var(--paper);border-radius:4px;padding:30px 28px;
  box-shadow:0 10px 34px rgba(0,0,0,.16);margin-top:34px;max-width:520px}
.form-card h2{font-size:21px;margin-bottom:6px}
.form-card .sub{font-family:Helvetica,Arial,sans-serif;font-size:14px;
  line-height:1.5;opacity:.72;margin-bottom:20px}
.form-card .reassure{font-family:Helvetica,Arial,sans-serif;font-size:12.5px;
  text-align:center;margin-top:14px;opacity:.6}
label{display:block;font-family:Helvetica,Arial,sans-serif;font-size:12px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
input[type=text],input[type=email]{width:100%;padding:14px 15px;border:2px solid var(--ink);
  border-radius:2px;font-family:Helvetica,Arial,sans-serif;font-size:16px;
  background:#fff;margin-bottom:16px}
input:focus{outline:3px solid var(--mark);outline-offset:1px}
.consent{display:flex;gap:11px;align-items:flex-start;margin:6px 0 20px}
.consent input{margin-top:4px;width:18px;height:18px;flex:0 0 auto;accent-color:#000}
.consent label{display:inline;font-size:13.5px;letter-spacing:0;text-transform:none;
  font-weight:400;font-family:Helvetica,Arial,sans-serif;line-height:1.5;opacity:.85}
button{width:100%;padding:17px 20px;border:none;border-radius:2px;background:var(--ink);
  color:#fff;cursor:pointer;font-family:Helvetica,Arial,sans-serif;font-size:15px;
  font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:background .15s}
button:hover{background:var(--mark)}

.range{display:block;width:100%;height:clamp(80px,11vw,150px);
  object-fit:cover;object-position:center 22%;margin-top:44px}

section{padding:76px 0}
.dark{background:var(--ink);color:#fff}
.accent-bg{background:var(--accent)}
h2.big{font-size:clamp(26px,3.6vw,36px);line-height:1.2;margin-bottom:26px}
.lead{font-size:20px;margin-bottom:22px}
section p{margin-bottom:20px}
.rule{width:64px;height:3px;background:var(--ink);margin:0 0 28px}
.dark .rule{background:var(--mark)}
.pull{font-size:clamp(23px,3.2vw,30px);line-height:1.35;
  border-left:5px solid var(--mark);padding-left:26px;margin:38px 0}

.parts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:38px}
.part{background:var(--accent);color:var(--ink);padding:28px 24px;border-radius:3px}
.part .n{font-family:Helvetica,Arial,sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.2em;opacity:.65;margin-bottom:9px}
.part h3{font-size:22px;margin-bottom:10px}
.part p{font-size:15.5px;line-height:1.55;margin:0;opacity:.85}

.gets{list-style:none;margin-top:30px}
.gets li{display:flex;gap:16px;align-items:flex-start;padding:17px 0;
  border-top:1px solid rgba(0,0,0,.14)}
.gets li:last-child{border-bottom:1px solid rgba(0,0,0,.14)}
.gets .k{flex:0 0 34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:700}
.gets strong{display:block;margin-bottom:2px}
.gets span{font-size:16px;opacity:.78}

/* --- home: griglia libri --- */
.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:38px;margin-top:44px}
.book{text-decoration:none;display:block}
.book img{box-shadow:0 12px 30px rgba(0,0,0,.22);margin-bottom:16px;transition:transform .2s}
.book:hover img{transform:translateY(-5px)}
.book h3{font-size:20px;margin-bottom:4px}
.book p{font-family:Helvetica,Arial,sans-serif;font-size:13.5px;opacity:.7;margin:0}

footer{background:var(--ink);color:#fff;padding:44px 0;
  font-family:Helvetica,Arial,sans-serif;font-size:13.5px}
footer a{color:var(--paper-warm)}
footer p{margin-bottom:9px;opacity:.75}

@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .cover-shot{max-width:230px;margin:0 auto}
  .parts{grid-template-columns:1fr}
  section{padding:56px 0}
  body{font-size:17px}
}


/* ============================================================
   HOME — volutamente neutra: il colore lo mettono le copertine
   ============================================================ */
.site-head{background:var(--paper-warm);padding:96px 0 76px;text-align:center}
.site-head .mark{font-family:Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.34em;text-transform:uppercase;opacity:.55;margin-bottom:26px}
.site-head h1{font-size:clamp(32px,4.6vw,50px);margin-bottom:22px}
.site-head p{font-size:19px;max-width:30em;margin:0 auto;opacity:.82}
.hairline{height:1px;background:var(--hair);border:0;margin:0}
.book p.autore{font-family:Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin-bottom:5px}
