/* lartedellintaglio.it — foglio di stile */
:root{
  --avorio:#FAF6EF; --carta:#F3EDE2; --bordo:#7A1F2B; --bordo-scuro:#5E1521; --salvia:#7D8B6A; --salvia-chiara:#E6EADF;
  --testo:#2B2320; --grigio:#6E6259; --linea:#E3DACB; --nero:#121010;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
  --max:1020px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--avorio);color:var(--testo);font:17px/1.6 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--bordo)}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;margin:0 0 .4em;color:var(--bordo);text-wrap:balance}
h1{font-size:clamp(32px,4.5vw,50px)}
h2{font-size:clamp(26px,3.2vw,36px)}
h3{font-size:clamp(22px,3vw,27px)}
p{margin:0 0 1em}
.eyebrow{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--salvia);font-weight:600;margin:0 0 10px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.prosa{max-width:68ch}
.prosa p{font-size:18px}
.centro{text-align:center}
.cta{display:inline-block;background:var(--bordo);color:#fff;text-decoration:none;font-weight:600;padding:13px 22px;border-radius:3px;border:1px solid var(--bordo)}
.cta:hover{background:var(--bordo-scuro)}
.cta.sec{background:transparent;color:var(--bordo)}
.cta.sec:hover{background:#fff}
.cta.wa{background:#1f7a4d;border-color:#1f7a4d}
.cta.wa:hover{background:#175e3b}
.azioni{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.riga{height:1px;background:var(--linea);border:0;margin:0}
.sez{padding-block:clamp(44px,7vw,84px)}
.sez.carta{background:var(--carta)}
.sez.scura{background:var(--nero);color:#EDE4D6}
.sez.scura h2,.sez.scura h3{color:#F3E6D2}
.sez.scura .eyebrow{color:#B9C3A6}
.sez.scura a{color:#F0C9CF}
.sez.bordo{background:var(--bordo);color:#F7EEE6}
.sez.bordo h2,.sez.bordo h3{color:#fff}
.sez.bordo .eyebrow{color:#E8C9B9}
.sez.bordo a{color:#fff}
.sez.bordo .cit{color:#fff;margin:0 auto}

/* intestazione */
.top{background:var(--avorio);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:20}
.marchio{position:relative;display:block;text-decoration:none;line-height:0}
.marchio .mt{height:140px;width:auto;display:block;transition:height .25s}
.marchio small{position:absolute;left:38.7%;top:41%;font:600 11px/1.2 var(--body);letter-spacing:.075em;text-transform:uppercase;color:var(--salvia);white-space:nowrap;transition:opacity .2s}
.top.ridotta .marchio .mt{height:64px}
.top.ridotta .marchio small{opacity:0}
.top.ridotta .wrap{padding-block:2px}
@media (max-width:860px){.marchio .mt{height:96px}.marchio small{font-size:8.5px;letter-spacing:.05em}.top.ridotta .marchio .mt{height:56px}}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:84px;padding-block:8px;transition:padding .25s}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--testo);padding:8px 11px;border-radius:3px;font-weight:600;font-size:15px}
nav a:hover,nav a[aria-current]{color:var(--bordo);background:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--linea);border-radius:3px;padding:8px 12px;font:600 15px var(--body);color:var(--bordo)}
@media (max-width:860px){
  .menu-btn{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--avorio);border-bottom:1px solid var(--linea);padding:8px 18px 16px}
  nav.aperto{display:block}
  nav ul{flex-direction:column;gap:0}
  nav a{display:block;padding:12px 8px;font-size:17px;border-bottom:1px solid var(--linea)}
}

/* home */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,64px);align-items:center;padding-block:clamp(36px,6vw,80px)}
.hero .quadro{background:var(--nero);padding:10px;border:1px solid var(--linea);box-shadow:0 18px 40px -24px rgba(43,35,32,.45);width:fit-content;max-width:100%;margin:0 auto}
.hero .quadro img{max-width:100%;max-height:72vh;width:auto;height:auto;display:block}
.hero .lead{font-size:clamp(18px,1.6vw,20px);line-height:1.5;color:var(--testo)}
.firma{font-family:var(--display);font-style:italic;font-size:21px;color:var(--grigio)}
@media (max-width:860px){.hero{grid-template-columns:1fr}.hero .quadro{order:-1}}

.griglia3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.scheda{background:#fff;border:1px solid var(--linea);padding:22px 22px 24px}
.scheda h3{margin-top:4px}
.scheda p{margin:0;color:var(--grigio)}
.scheda .n{font-family:var(--display);font-size:42px;line-height:1;color:var(--salvia);font-weight:500}

.due{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.due>figure{justify-self:center;max-width:100%;min-width:0}
@media (max-width:860px){.due{grid-template-columns:1fr}}
.quadro{background:var(--nero);padding:8px;border:1px solid var(--linea);width:fit-content;max-width:100%;margin:0 auto}
.quadro img{max-width:100%;max-height:70vh;width:auto;height:auto;display:block}
.quadro.chiaro{background:#fff}
.did{font-size:14px;color:var(--grigio);margin:8px 0 0;font-style:italic;font-family:var(--display);font-size:17px}

.lista-opere{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.lista-opere li{background:#fff;border:1px solid var(--linea);padding:18px;display:flex;flex-direction:column;gap:6px}
.lista-opere b{font-family:var(--display);font-size:22px;font-weight:600;color:var(--bordo)}
.lista-opere span{color:var(--grigio);font-size:15px}
.tag{display:inline-block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--salvia);background:var(--salvia-chiara);padding:3px 8px;border-radius:2px;width:max-content}

.articoli{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.art{background:#fff;border:1px solid var(--linea);display:flex;flex-direction:column;text-decoration:none;color:var(--testo)}
.art .im{background:var(--nero);aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.art .im img{width:100%;height:100%;object-fit:contain}
.art .tx{padding:18px 20px 22px}
.art h3{margin:0 0 6px;font-size:24px}
.art p{margin:0;color:var(--grigio);font-size:16px}
.art:hover h3{text-decoration:underline}

.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--salvia);display:flex;flex-direction:column;gap:26px}
.timeline li{padding-left:22px;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--bordo);border:2px solid var(--avorio)}
.timeline b{font-family:var(--display);font-size:24px;color:var(--bordo);font-weight:600;display:block}
.timeline p{margin:4px 0 0}
.timeline .foto{margin-top:12px;max-width:420px}

.premi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.premi li{background:#fff;border:1px solid var(--linea);border-left:4px solid var(--bordo);padding:14px 16px}
.premi b{display:block;font-family:var(--display);font-size:22px;color:var(--bordo);font-weight:600}
.premi span{color:var(--grigio);font-size:15px}

.cit{font-family:var(--display);font-size:clamp(24px,3.4vw,34px);line-height:1.3;font-style:italic;color:var(--bordo);max-width:30ch;margin:0}
.cit + .chi{margin-top:12px;color:var(--grigio);font-size:15px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}

/* galleria */
.galleria{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.galleria button{background:var(--nero);border:1px solid var(--linea);padding:6px;cursor:zoom-in;display:block;width:100%}
.galleria img{width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--nero)}
.galleria figcaption{font-size:14px;color:#D9CEBF;padding:8px 4px 2px;text-align:left}
.in-arrivo{border:1px dashed var(--salvia);padding:22px;color:var(--grigio);background:transparent}

/* contatti */
.contatti{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.contatti .scheda b{display:block;font-size:20px;margin:6px 0 4px;font-family:var(--body);font-weight:600;color:var(--testo)}
.contatti .scheda a{font-size:19px}

/* piè di pagina */
footer{background:var(--testo);color:#D9CEBF;padding-block:40px 28px;margin-top:0}
footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
footer h4{font-family:var(--display);color:#fff;font-size:22px;margin:0 0 8px;font-weight:600}
footer a{color:#F1E6D6}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
footer .fine{grid-column:1/-1;border-top:1px solid #4a3f3a;padding-top:16px;font-size:14px;color:#A89B8B;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}
.orn{width:280px;max-width:100%;height:auto;margin-top:18px}
.testata{padding-block:clamp(36px,6vw,70px) clamp(20px,3vw,34px)}
.testata p{max-width:62ch;font-size:19px;color:var(--grigio)}
.nota{font-size:15px;color:var(--grigio);background:var(--salvia-chiara);border-left:3px solid var(--salvia);padding:10px 14px}
@media (prefers-reduced-motion:no-preference){.art,.cta{transition:background .15s,transform .15s}.art:hover{transform:translateY(-2px)}}
:focus-visible{outline:2px solid var(--bordo);outline-offset:2px}

/* modulo di contatto */
.modulo{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--linea);padding:22px}
.modulo .campi{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
@media (max-width:640px){.modulo .campi{grid-template-columns:1fr}}
.modulo label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600;color:var(--grigio)}
.modulo input,.modulo textarea{font:16px var(--body);padding:11px 12px;border:1px solid var(--linea);border-radius:3px;background:#fff;color:var(--testo);width:100%;box-sizing:border-box;height:auto;margin:0}
.modulo textarea{resize:vertical;min-height:120px}
.modulo input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset;-webkit-text-fill-color:var(--testo)}
.modulo .azioni{display:flex;flex-direction:column;gap:10px}
.modulo .azioni .cta{width:100%;text-align:center;box-sizing:border-box;margin:0}
.modulo input:focus,.modulo textarea:focus{outline:2px solid var(--bordo);outline-offset:1px;border-color:var(--bordo)}
.modulo .azioni{margin-top:4px}
.modulo button.cta{cursor:pointer;font:600 16px var(--body)}
.modulo.scuro{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.modulo.scuro label{color:#F0DCCF}
.modulo.scuro input,.modulo.scuro textarea{background:#fff;border-color:transparent}
.modulo.scuro button.cta{background:#fff;color:var(--bordo);border-color:#fff}

/* pagina Opere: una foto per opera */
.opere{display:flex;flex-direction:column;gap:clamp(24px,4vw,40px)}
.opera{display:grid;grid-template-columns:240px 1fr;gap:clamp(18px,3vw,40px);align-items:center;background:#fff;border:1px solid var(--linea);padding:clamp(14px,2vw,22px)}
.copertina{background:var(--nero);border:0;padding:6px;cursor:zoom-in;display:block;width:fit-content;max-width:100%;margin:0 auto}
.copertina img{max-height:170px;max-width:100%;width:auto;height:auto;display:block}
.opera .info h2{margin-bottom:.3em}
.opera .info p{color:var(--grigio);max-width:60ch}
.opera .info .cta{margin-top:6px;cursor:pointer;font:600 16px var(--body)}
@media (max-width:860px){.opera{grid-template-columns:1fr}.copertina img{max-height:170px}}

.cat{font-size:clamp(26px,3vw,34px);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--linea)}

.lista-opere a{text-decoration:none}

/* visore gallerie (31/10 sera): scorrimento col dito, contatore, miniature, frecce visibili */
.lb{position:fixed;inset:0;background:#0e0c0b;z-index:50;display:none;flex-direction:column;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.lb.on{display:flex}
.lb-top{display:flex;align-items:center;gap:12px;padding:10px 14px;color:#EDE4D6;font:600 15px var(--body)}
.lb-n{background:rgba(255,255,255,.14);padding:6px 12px;border-radius:20px;white-space:nowrap;font-variant-numeric:tabular-nums}
.lb-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-size:19px;font-weight:500}
.lb .x{background:#fff;color:var(--testo);border:0;border-radius:20px;padding:8px 14px;font:600 15px var(--body);cursor:pointer;white-space:nowrap}
.lb-track{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.lb-track::-webkit-scrollbar{display:none}
.lb-track figure{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;padding:0 8px;box-sizing:border-box;min-width:0}
.lb-track img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.lb .pr,.lb .nx{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--bordo);font:400 34px/1 var(--display);cursor:pointer;box-shadow:0 3px 14px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:0 0 4px}
.lb .pr{left:14px}.lb .nx{right:14px}
.lb .pr:disabled,.lb .nx:disabled{opacity:.25;cursor:default}
.lb-mini{display:flex;gap:6px;overflow-x:auto;padding:10px 12px 14px;scrollbar-width:none}
.lb-mini::-webkit-scrollbar{display:none}
.lb-mini button{flex:0 0 auto;width:58px;height:58px;padding:2px;border:2px solid transparent;border-radius:5px;background:#000;opacity:.5;cursor:pointer}
.lb-mini button.on{border-color:#fff;opacity:1}
.lb-mini img{width:100%;height:100%;object-fit:contain;display:block}
@media (max-width:640px){.lb .pr,.lb .nx{width:42px;height:42px;font-size:28px;top:auto;bottom:96px;transform:none}.lb-mini button{width:50px;height:50px}}

/* pagina Opere: categorie (ogni categoria ha la sua pagina) */
.categorie{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.catcard{background:#fff;border:1px solid var(--linea);display:flex;flex-direction:column;text-decoration:none;color:var(--testo)}
.catcard .im{background:var(--nero);aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.catcard .im img{width:100%;height:100%;object-fit:contain}
.catcard.vuota .im{background:var(--carta)}
.catcard.vuota .im img{width:38%;height:auto;opacity:.35}
.catcard .tx{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.catcard b{font-family:var(--display);font-size:25px;color:var(--bordo);font-weight:600;line-height:1.1}
.catcard span{color:var(--grigio);font-size:15px}
a.catcard:hover b{text-decoration:underline}
.testata .eyebrow a{color:inherit;text-decoration:none}
/* apertura del visore in dissolvenza, foto che scorrono (niente scatti) */
@keyframes lbin{from{opacity:0}to{opacity:1}}
@keyframes lbimg{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.lb.on{animation:lbin .25s ease-out}
.lb.on .lb-track img{animation:lbimg .35s ease-out}
.lb-track{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){.lb.on,.lb.on .lb-track img{animation:none}.lb-track{scroll-behavior:auto}}
