:root{--carta:#f7f3ec;--carta2:#efe8dc;--notte:#16203b;--notte2:#0e1529;--oro:#b98a3e;--oro2:#d9b36a;--testo:#2a2c33;--grigio:#6b6a6f;--bianco:#fff;
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Lato",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--carta);color:var(--testo);font:400 17px/1.7 var(--sans)}
img{max-width:100%;display:block}a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--notte);margin:0 0 .5em}
h1{font-size:clamp(40px,6vw,72px)}h2{font-size:clamp(30px,4vw,44px)}h3{font-size:24px}
.occhiello{font:700 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--oro);margin:0 0 14px}
.salta{position:absolute;left:-999px}.salta:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
/* header */
header.top{position:sticky;top:0;z-index:50;background:rgba(14,21,41,.96);backdrop-filter:blur(6px);color:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font:600 30px/1 var(--serif);text-decoration:none;color:#fff;letter-spacing:.02em}
.logo span{color:var(--oro2);font-style:italic}
nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0}
nav a{text-decoration:none;font:700 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#e9e4da;padding:6px 0}
nav a:hover,nav a[aria-current]{color:var(--oro2)}
.burger{display:none;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}
@media(max-width:980px){.burger{display:block}nav ul{display:none;position:absolute;left:0;right:0;top:68px;background:var(--notte2);flex-direction:column;gap:0;padding:8px 20px 18px}
nav ul.open{display:flex}nav li a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}}
/* hero */
.hero{background:radial-gradient(ellipse at 70% 20%,#25335e 0%,var(--notte2) 65%);color:#fff;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:70px;padding-bottom:80px}
.hero h1{color:#fff}.hero h1 em{color:var(--oro2);font-weight:500}
.hero p.sotto{font-size:20px;color:#d7d3cb;max-width:34em}
.hero .collage{position:relative;height:520px}
.hero .collage img{position:absolute;object-fit:cover;box-shadow:0 20px 50px rgba(0,0,0,.55);border:6px solid #fff}
.hero .c1{width:62%;height:78%;right:0;top:0}
.hero .c2{width:46%;height:48%;left:0;bottom:0;transform:rotate(-4deg)}
.hero .c3{width:34%;height:auto;aspect-ratio:1;right:8%;bottom:-4%;border-radius:50%!important;border-color:var(--oro2)!important}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;padding-top:44px}.hero .collage{height:380px}}
.bottoni{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-block;padding:14px 26px;font:700 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:2px solid var(--oro2);border-radius:2px}
.btn.pieno{background:var(--oro2);color:var(--notte2)}.btn.vuoto{color:#fff}.btn.scuro{border-color:var(--notte);color:var(--notte)}
.btn:hover{filter:brightness(1.08)}
/* sezioni */
section.blocco{padding:84px 0}.blocco.scuro{background:var(--notte);color:#e9e4da}.blocco.scuro h2{color:#fff}
.blocco.chiaro2{background:var(--carta2)}
.intro{max-width:720px;margin:0 0 40px}.intro p{color:var(--grigio)}.scuro .intro p{color:#cfcabf}
.centro{text-align:center;margin-left:auto;margin-right:auto}
.categorie{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:1000px){.categorie{grid-template-columns:repeat(2,1fr)}}
.cat{background:#fff;text-decoration:none;box-shadow:0 6px 22px rgba(22,32,59,.08);transition:transform .25s}
.cat:hover{transform:translateY(-4px)}
.cat img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
.cat div{padding:22px 24px 26px}.cat p{color:var(--grigio);margin:0 0 10px;font-size:16px}
.cat .vai{font:700 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--oro)}
@media(max-width:860px){.categorie{grid-template-columns:1fr}}
.chi{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;max-width:900px}
.chi img.ritratto{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid var(--oro2)}
@media(max-width:640px){.chi{grid-template-columns:1fr;gap:20px}}
.cc-link{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.nota-bozza{font-size:13px;color:var(--oro);font-style:italic}
/* galleria */
.galleria{columns:3 300px;column-gap:22px}
.galleria figure{break-inside:avoid;margin:0 0 22px;background:#fff;box-shadow:0 4px 16px rgba(22,32,59,.07)}
.galleria button{all:unset;cursor:zoom-in;display:block;width:100%}
.galleria button:focus-visible{outline:3px solid var(--oro)}
.galleria img{width:100%;height:auto}
.galleria figcaption{padding:12px 16px 14px;font:600 19px/1.3 var(--serif);color:var(--notte)}
.scuro .galleria figure{background:#1e2a4c}.scuro .galleria figcaption{color:#fff}
.anteprima{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.anteprima img{aspect-ratio:1;object-fit:cover;width:100%;height:auto}
@media(max-width:700px){.anteprima{grid-template-columns:repeat(2,1fr)}}
.cta{background:var(--notte2);color:#fff;text-align:center;padding:70px 20px}
.cta h2{color:#fff}.cta p{color:#cfcabf;max-width:620px;margin:0 auto}
.cta .bottoni{justify-content:center}
.foto-larga img{width:100%;height:520px;object-fit:cover}
@media(max-width:700px){.foto-larga img{height:300px}}
/* opera */
.galleria.griglia{columns:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.galleria.griglia figure{margin:0}.galleria.griglia img{aspect-ratio:4/5;object-fit:cover;height:auto}
@media(max-width:860px){.galleria.griglia{grid-template-columns:repeat(2,1fr);gap:14px}.galleria.griglia figcaption{flex-direction:column;align-items:flex-start;font-size:17px}}
.galleria figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px}.galleria figcaption a{text-decoration:none;color:inherit}
.galleria a.op{display:block}
.stato{font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:2px;background:#e9e4da;color:#6b6a6f;white-space:nowrap}
.galleria .stato{white-space:normal;line-height:1.3}
.stato.disponibile,.stato.in-vendita{background:#25d366;color:#fff}
.stato.grande{font-size:12px;padding:6px 12px;display:inline-block;margin-bottom:18px}
.briciole{font-size:14px;color:var(--grigio);margin-bottom:28px}.briciole a{color:var(--oro)}
.opera-griglia{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}
@media(max-width:860px){.opera-griglia{grid-template-columns:1fr;gap:26px}}
.galleria.singola{columns:1}.galleria.singola figure{margin:0}
.opera-info h1{font-size:clamp(36px,5vw,58px)}
.testo-op{font:500 22px/1.55 var(--serif);color:var(--testo)}.firma-op{font:italic 500 20px var(--serif);color:var(--oro);margin-top:-6px}
.scheda{margin:24px 0;border-top:1px solid #e3dccf}.scheda div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e3dccf}
.scheda dt{font:700 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--grigio)}.scheda dd{margin:0;text-align:right}
.nota-op{color:var(--grigio);margin:0 0 4px}
.naviga{display:flex;justify-content:space-between;gap:12px;margin-top:44px;padding-top:22px;border-top:1px solid #e3dccf;flex-wrap:wrap}
.naviga a{color:var(--notte);text-decoration:none;font:600 19px var(--serif)}.naviga a:hover{color:var(--oro)}
/* passi */
.passi{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:p}
.passi>div{background:#fff;padding:26px 24px;box-shadow:0 4px 16px rgba(22,32,59,.07);border-top:3px solid var(--oro2)}
.passi span{font:600 40px/1 var(--serif);color:var(--oro)}.passi h3{margin:10px 0 6px}.passi p{margin:0;color:var(--grigio);font-size:16px}
@media(max-width:900px){.passi{grid-template-columns:1fr 1fr}}@media(max-width:560px){.passi{grid-template-columns:1fr}}
.nota-servizio{margin-top:28px;font:600 21px var(--serif);color:var(--notte)}
/* whatsapp */
.btn.wa{background:#25d366;border-color:#25d366;color:#fff;display:inline-flex;align-items:center;gap:10px}
.btn.wa svg{width:20px;height:20px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;align-items:center;gap:8px;background:#25d366;color:#fff;text-decoration:none;
font:700 14px var(--sans);padding:14px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.wa-float svg{width:26px;height:26px}.wa-float:hover{filter:brightness(1.06)}

.wa-card{grid-column:1/-1;border-top:4px solid #25d366}.wa-card .btn{margin-top:16px}
/* contatti */
.contatti{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.contatto{background:#fff;padding:28px;box-shadow:0 4px 16px rgba(22,32,59,.07)}
.contatto h3{margin-bottom:6px}.contatto p{margin:0;color:var(--grigio)}
.contatto .dato{font:600 22px var(--serif);color:var(--notte);word-break:break-word}.contatto a{color:var(--notte)}.contatto p a{color:var(--oro)}.contatto .dato a{color:var(--notte);text-decoration:none}
/* testo */
.testo{max-width:780px}.testo h2{font-size:28px;margin-top:1.6em}
/* footer */
footer{background:var(--notte2);color:#b9b4aa;padding:50px 0 30px;font-size:15px}
footer .wrap{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}
footer a{color:#e9e4da}footer .logo{display:inline-block;margin-bottom:10px}
footer ul{list-style:none;padding:0;margin:0;columns:2;column-gap:30px}footer li{margin:0 0 6px}
footer .legal{width:100%;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:13px}
/* lightbox */
#lb{position:fixed;inset:0;background:rgba(8,12,24,.94);display:none;align-items:center;justify-content:center;z-index:200;flex-direction:column;padding:20px}
#lb.on{display:flex}#lb img{max-height:82vh;max-width:92vw;object-fit:contain;box-shadow:0 10px 40px #000}
#lb p{color:#fff;font:600 22px var(--serif);margin:14px 0 0;text-align:center}
#lb button{position:absolute;background:none;border:0;color:#fff;font-size:42px;cursor:pointer;padding:10px 16px;line-height:1}
#lb .x{top:10px;right:14px}#lb .pr{left:6px;top:50%;transform:translateY(-50%)}#lb .nx{right:6px;top:50%;transform:translateY(-50%)}
.galleria.griglia figure{min-width:0}.galleria.griglia figcaption a{overflow-wrap:anywhere;hyphens:auto}.lingue{display:flex;gap:4px;margin-left:auto;margin-right:18px}.lingue a{font:700 11px/1 var(--sans);letter-spacing:.08em;color:#cfc9bd;text-decoration:none;padding:5px 5px;border-radius:2px}.lingue a[aria-current]{color:var(--notte2);background:var(--oro2)}.lingue a:hover{color:#fff}@media(max-width:980px){.lingue{margin-right:8px}}@media(max-width:400px){.lingue a{padding:5px 3px;font-size:10px}}
