/* risorse: lo stile che nell'HTML originale stava dentro la pagina */
.risorse{display:grid;grid-template-columns:repeat(2,1fr);gap:38px;margin-top:54px}
.ris{background:#fff;border:1px solid var(--linea);display:flex;flex-direction:column}
.ris .vetro{background:var(--carta2);padding:30px 24px 18px;display:flex;justify-content:center;
  border-bottom:1px solid var(--linea)}
.copertina{width:100%;max-width:330px;height:auto;display:block;margin:0 auto}
.ris .vetro img[hidden]{display:none}
/* ── mockup 3D: ripiego se l'immagine non c'e' ── */
.scena{width:100%;max-width:300px;perspective:1500px;perspective-origin:56% 44%;
  padding:18px 0 40px;position:relative}
.libro{position:relative;width:252px;height:358px;margin:0 auto;
  transform-style:preserve-3d;transform:rotateY(-26deg) rotateX(2deg) rotateZ(-.7deg)}
.faccia{position:absolute;top:0;left:0}
.libro.notte .fronte{background:#16293D}
.libro.notte .dorso{background:#0B1A29}
.libro.navy  .fronte{background:#1B3350}
.libro.navy  .dorso{background:#0F2336}
.fronte{width:252px;height:358px;overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.dorso{width:46px;height:358px;transform-origin:0 50%;transform:rotateY(-90deg);
  background-image:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05))}
.alto{width:252px;height:46px;transform-origin:50% 0;transform:rotateX(90deg);
  background:linear-gradient(180deg,#EDE8DD,#C9C0AE)}
.gutter{position:absolute;inset:0 auto 0 0;width:26px;
  background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,0))}
.lume{position:absolute;inset:0;
  background:linear-gradient(102deg,rgba(255,255,255,0) 12%,rgba(255,255,255,.07) 24%,
    rgba(255,255,255,0) 46%,rgba(0,0,0,.10) 82%,rgba(0,0,0,.22) 100%)}
.testo{position:absolute;inset:0;padding:36px 26px 26px 42px;display:flex;flex-direction:column}
.testo .oc{font-family:Mono,monospace;font-size:8.6px;letter-spacing:.2em;color:#E8C46A}
.testo .tt{margin-top:34px;font-family:Serif,serif;font-size:26px;line-height:1.16;color:#F6F3ED}
.testo .tt span{display:block}
.testo .fil{width:40px;height:2px;background:#D7A93A;margin-top:18px}
.testo .marca{margin-top:auto;display:flex;align-items:center;gap:9px}
.testo .marca svg{width:15px;height:15px}
.testo .marca b{font-family:Serif,serif;font-weight:400;font-size:15px;letter-spacing:.03em;color:#F6F3ED}
.testo .marca em{font-family:Mono,monospace;font-style:normal;font-size:7.4px;letter-spacing:.2em;
  color:#E8C46A;margin-left:-3px;align-self:flex-end;padding-bottom:2px}
.ombra{position:absolute;left:17%;right:5%;top:11%;bottom:10%;border-radius:6px;
  background:#3A3527;opacity:.24;filter:blur(24px)}
.appoggio{position:absolute;left:12%;right:10%;bottom:8px;height:30px;
  background:radial-gradient(60% 100% at 45% 50%,rgba(58,53,39,.55),rgba(58,53,39,0) 72%);
  filter:blur(7px);transform:skewX(-9deg)}
.ris .dentro{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1}
.ris .a-chi{font-family:Mono,monospace;font-size:10px;letter-spacing:.22em;color:var(--oro)}
.ris h3{font-family:Serif,serif;font-weight:400;font-size:23px;line-height:1.14;
  letter-spacing:-.012em;color:var(--inchiostro);margin:12px 0 0}
.ris .som{list-style:none;margin:18px 0 0;padding:0}
.ris .som li{padding:9px 0 9px 22px;border-bottom:1px solid var(--linea);position:relative;
  font-size:14.6px;line-height:1.5;color:var(--grigio)}
.ris .som li:before{content:'';position:absolute;left:0;top:16px;width:9px;height:1px;background:var(--oro-vivo)}
.ris .som li b{color:var(--inchiostro)}
.ris .fondo{margin-top:auto;padding-top:26px}
.ris .fondo .bottone{width:100%;justify-content:center}
.ris .minuta{font-size:12.2px;line-height:1.5;color:var(--grigio2);margin:12px 0 0;text-align:center}

/* ── finestra ── */
.velo{position:fixed;inset:0;background:rgba(17,24,35,.62);display:none;z-index:9998;
  align-items:center;justify-content:center;padding:24px}
.velo.aperto{display:flex}
.finestra{background:var(--carta);width:100%;max-width:470px;border:1px solid var(--linea);
  box-shadow:0 40px 90px -30px rgba(17,24,35,.6);position:relative;max-height:92vh;overflow:auto}
.finestra .capo{background:var(--notte);color:var(--carta);padding:26px 30px 24px}
.finestra .capo .et{font-family:Mono,monospace;font-size:9.4px;letter-spacing:.24em;color:var(--oro2)}
.finestra .capo h4{font-family:Serif,serif;font-weight:400;font-size:24px;line-height:1.14;
  margin:11px 0 0;color:var(--carta)}
.finestra .cont{padding:26px 30px 30px}
.chiudi{position:absolute;top:14px;right:14px;background:none;border:0;color:var(--carta);
  font-size:22px;line-height:1;cursor:pointer;padding:6px 9px;opacity:.72}
.chiudi:hover{opacity:1}
.modulo{display:grid;gap:12px}
.modulo .cp{display:flex;flex-direction:column;gap:5px}
.modulo label{font-family:Mono,monospace;font-size:9.5px;letter-spacing:.16em;color:var(--grigio2)}
.modulo input{font:inherit;font-size:14.6px;padding:11px 12px;border:1px solid var(--linea);
  background:#fff;color:var(--inchiostro);border-radius:0;width:100%}
.modulo input:focus{outline:none;border-color:var(--oro-vivo)}
.modulo .due{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modulo button{width:100%;justify-content:center;margin-top:6px}
.nota{font-size:12.4px;line-height:1.55;color:var(--grigio2);margin:14px 0 0}
.fatto{display:none}
.fatto.si{display:block}
.fatto .segno{font-family:Mono,monospace;font-size:9.4px;letter-spacing:.2em;color:var(--misura)}
.fatto p{font-size:15px;line-height:1.6;color:var(--grigio);margin:12px 0 20px}
.fatto .bottone{width:100%;justify-content:center}
@media(max-width:900px){.risorse{grid-template-columns:1fr;gap:28px}}
@media(max-width:520px){.modulo .due{grid-template-columns:1fr}}
