































/* [B01] TOKENS & BASE */































:root{--bg:#f5f5f5;--ink:#1c1a17;--mut:#666666;--acc:#1c1a17;--acc2:#000000;--line:#dddddd;--dark:#161310;--ivory:#ffffff;--ff:'Manrope',sans-serif;--fs:'Manrope',sans-serif}































*{margin:0;padding:0;box-sizing:border-box}































html{scroll-behavior:smooth}































body{font-family:var(--ff);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}































img{max-width:100%;display:block}































a{color:inherit;text-decoration:none}































button{font-family:inherit;cursor:pointer}































::selection{background:var(--acc);color:#fff}































.wrap{width:min(1180px,92%);margin:0 auto}































/* [B02] PRELOADER */































#pre{position:fixed;inset:0;background:var(--bg);z-index:999;display:flex;align-items:center;justify-content:center;transition:opacity .7s,visibility .7s}































#pre.done{opacity:0;visibility:hidden}































#pre b{font-family:var(--fs);font-size:3rem;font-weight:500;letter-spacing:.2em;color:var(--acc);animation:pp 1.4s ease infinite}































@keyframes pp{0%,100%{opacity:.35}50%{opacity:1}}































/* [B03] HEADER */































#hd{position:fixed;top:0;left:0;right:0;z-index:90;padding:16px 0;transition:all .45s;background:rgba(15,15,15,.38);backdrop-filter:blur(14px)}































#hd.solid{background:rgba(6,6,6,.65);backdrop-filter:blur(14px);padding:16px 0;box-shadow:0 4px 24px rgba(0,0,0,.4)}































.wrap.hd-in{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;width:min(1550px,96%);margin:0 auto}







#hd .hd-right{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:flex;gap:14px;align-items:center;z-index:5}







































.hd-in>div{align-self:center}































.logo{font-family:var(--fs);font-size:1.54rem;font-weight:500;letter-spacing:.06em;line-height:1.1;white-space:nowrap;display:inline-flex;flex-direction:column;align-items:center;justify-content:center}































#hd .logo{position:relative}































#hd .logo small{position:absolute;top:100%;left:0;right:0;margin-top:2px;text-align:center}































.logo small{display:block;font-family:var(--ff);font-size:.58rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--acc)}































.hd-navwrap{display:contents}







.nv-l{display:flex;flex-wrap:nowrap;gap:30px;justify-content:flex-end}







.nv-r{display:flex;flex-wrap:nowrap;gap:30px;justify-content:flex-start}































.nv-l a,.nv-r a{font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ivory);padding:10px 0;position:relative;white-space:nowrap}







.hd-in .logo{font-size:1.2rem;color:var(--ivory);text-align:center;position:relative;margin:0}







.hd-in .logo small{padding-left:8px}







.hd-in .logo small{color:rgba(255,255,255,.72);font-size:.56rem}































.nv-l a::after,.nv-r a::after{content:"";position:absolute;left:0;bottom:4px;height:1px;width:0;background:var(--acc);transition:width .35s}































.nv-l a:hover::after,.nv-r a:hover::after,.nv-l a[aria-current="page"]::after,.nv-r a[aria-current="page"]::after{width:100%}































.nv-l a[aria-current="page"],.nv-r a[aria-current="page"]{color:var(--ivory)}







.nv-l a:hover,.nv-r a:hover{color:var(--ivory)}































.hd-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 24px;background:var(--ivory);color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ivory);transition:all .3s}































.hd-cta:hover{background:var(--ivory);color:var(--ink);border-color:var(--ivory);transform:translateY(-2px)}































#bg{display:none;flex-direction:column;gap:6px;background:none;border:none;padding:10px;min-width:44px;min-height:44px;justify-content:center;align-items:center}































#bg span{width:26px;height:2px;background:var(--ivory);transition:all .4s}































body.menu #bg span:nth-child(1){transform:translateY(8px) rotate(45deg)}































body.menu #bg span:nth-child(2){opacity:0}































body.menu #bg span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}































/* [B04] PAGINE & TIPOGRAFIA */































.page{display:none}































.page.on{display:block;animation:pgIn .55s ease}































@keyframes pgIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}































.sec{padding:100px 0}































.sec-sm{padding:70px 0}































.dark{background:var(--dark);color:var(--ivory)}































.ov{display:block;font-size:.7rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--acc);margin-bottom:16px}































h1,h2{font-family:var(--fs);font-weight:500;line-height:1.12}































h1{font-size:clamp(2.2rem,5vw,3.8rem)}































h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}































em{font-style:normal}































/* 🔧 NIENTE corsivo nel sito: tutti i testi (inclusi i titoli) usano lo stesso carattere stampato */































.sub{color:var(--mut);max-width:640px;margin-top:18px;font-weight:400}































.dark .sub{color:#c8c8c8}































.rule{width:56px;height:1px;background:var(--acc);margin:26px 0}































.center{text-align:center}































.center .rule{margin:26px auto}































.center .sub{margin-left:auto;margin-right:auto}































/* [B05] BOTTONI */































.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 34px;background:var(--acc);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--acc);transition:all .3s}































.btn:hover{background:var(--acc2);border-color:var(--acc2);transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.3)}































.btn.ink{background:var(--ink);border-color:var(--ink)}































.btn.ink:hover{background:#000;border-color:#000;box-shadow:0 14px 30px rgba(0,0,0,.25)}































.btn.black{background:#111;border-color:#111;color:#fff}































.btn.black:hover{background:#000;border-color:#000;box-shadow:0 14px 30px rgba(0,0,0,.3)}































.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}































.btn.ghost:hover{background:var(--ink);color:var(--ivory);box-shadow:none}































.btn.ghost-l{background:transparent;color:var(--ivory);border-color:rgba(244,239,230,.5)}































.btn.ghost-l:hover{background:var(--ivory);color:var(--ink);box-shadow:none}































/* [B06] HERO */































.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#14120f;overflow:hidden}































.hero-bg{position:absolute;inset:0;background:none;animation:kb 24s ease-in-out infinite alternate}































@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}































.hero-ov{position:absolute;inset:0;background:linear-gradient(100deg,rgba(250,250,250,.90) 10%,rgba(250,250,250,.67) 55%,rgba(250,250,250,.13) 100%)}































.hero-in{position:relative;z-index:2;padding:160px 0 120px;max-width:760px;margin:0 auto;text-align:center}































.hero .ov{color:#000000}































.hero h1{color:#14120f}































.hero p{color:#2a2724;max-width:560px;margin:22px auto 38px;font-weight:500}































.hero-cta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}







.hero-text{max-width:760px;margin:0 auto;text-align:center;padding:70px 20px}







.hero-text .ov{color:#000000}







.hero-text h1{color:#14120f;font-size:clamp(1.8rem,3.6vw,2.8rem)}







.hero-text p{color:#2a2724;max-width:560px;margin:22px auto 38px;font-weight:500}







@media(min-width:961px){.hero{background-attachment:fixed}}















.hero-firm{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:8;pointer-events:none;opacity:1;transition:opacity .25s}







.hero-firm.hide{opacity:0}







.hf-img{max-width:min(620px,85vw);width:100%;height:auto;display:block;margin:0 auto;transform:translateX(2.9%);filter:drop-shadow(0 2px 6px rgba(0,0,0,.06))}







































/* [B07] STATISTICHE */































.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}































.stat{text-align:center;padding:34px 10px;border:1px solid rgba(244,239,230,.14)}































.stat b{font-family:var(--fs);font-size:4rem;font-weight:600;color:#ffffff;display:block;line-height:1}.stat b span{font-size:inherit}































.stat > span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#c8c8c8;display:block;margin-top:10px}































/* [B08] CARD PORTFOLIO & QUOTE */































.cards4{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}































.pcard{position:relative;overflow:hidden;cursor:pointer;display:block}































.pcard img{height:420px;width:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}































.pcard:hover img{transform:scale(1.07)}































.pcard figcaption{position:absolute;inset:auto 0 0 0;padding:26px 22px;background:linear-gradient(transparent,rgba(22,19,16,.88));color:#fff}































.pcard h3{font-family:var(--fs);font-size:1.4rem;font-weight:500}































.pcard span{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:#ffffff}































.quote{font-family:var(--fs);font-style:normal;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.4;max-width:900px;margin:0 auto;text-align:center}































/* [B09] GALLERIA */































.gal{columns:3 280px;column-gap:10px}































.gal.hslide{position:relative;overflow:hidden;border:1px solid rgba(28,26,23,.5);border-radius:2px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08);height:clamp(280px,46vw,500px);padding:0}































.gal.hslide .gitem{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 2.5s ease;pointer-events:none;scroll-snap-align:none}































.gal.hslide .gitem.on{opacity:1;pointer-events:auto}































.gal.hslide .gitem img{width:100%;height:100%;object-fit:cover;display:block}































.gitem{position:relative;overflow:hidden;cursor:zoom-in;margin:0 0 10px;break-inside:avoid;border:4px solid #fff;border-radius:2px;box-shadow:0 1px 5px rgba(0,0,0,.16)}































.gitem img{width:100%;height:auto;display:block;transition:transform 1s}































.gitem:hover img{transform:scale(1.06)}































.gitem.tall img{height:auto}































.gitem::after{content:"+";position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;background:rgba(22,19,16,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:0;transition:opacity .3s}































.gitem:hover::after{opacity:1}































/* [B10] PREZZI / TABELLE / EXTRA */































.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.plans-ceny{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:24px}.plans-ceny .plan{flex:0 1 340px;min-width:280px}.plans2{grid-template-columns:repeat(2,1fr);max-width:920px;margin:0 auto}.plans3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;align-items:stretch;gap:24px;width:100%;max-width:1140px;margin:0 auto}.plans4{grid-template-columns:repeat(4,1fr)}































.plan{background:#ffffff;border:1px solid var(--line);padding:44px 34px;position:relative;display:flex;flex-direction:column;transition:transform .4s,box-shadow .4s}































.plan:hover{transform:translateY(-8px);box-shadow:0 26px 60px rgba(28,26,23,.12)}































.plan.hit{border-color:var(--acc);box-shadow:0 20px 50px rgba(0,0,0,.18)}































.plan .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--acc);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:6px 16px;border-radius:20px}































.plan h3{font-family:var(--fs);font-size:1.5rem;font-weight:600}































.plan .price{font-family:var(--fs);font-size:2.2rem;color:var(--acc2);margin:10px 0 4px}































.plan .per{font-size:.75rem;color:var(--mut);letter-spacing:.08em}































.plan ul{list-style:none;margin:24px 0 30px;flex:1}.plans3 .plan{min-width:0;box-sizing:border-box;height:100%;overflow:hidden}.plans3 .plan h3{overflow-wrap:break-word;word-break:break-word}.plans3 .plan ul{min-width:0}.plans3 .plan li{overflow-wrap:break-word;word-break:break-word}































.plan li{padding:9px 0 9px 26px;position:relative;font-size:.92rem;color:#4c463e;border-bottom:1px dashed var(--line)}































.plan li::before{content:"—";position:absolute;left:0;color:var(--acc)}































.tbl{width:100%;border-collapse:collapse;background:#ffffff}































.tbl th,.tbl td{padding:16px 18px;text-align:left;font-size:.92rem;border-bottom:1px solid var(--line)}































.tbl th{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--acc2);background:#eeeeee}































.tbl td:last-child{font-weight:700;color:var(--acc2);white-space:nowrap}































.extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;width:100%;max-width:900px;margin:36px auto 0}































.extras div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 2px;border-bottom:1px dashed rgba(0,0,0,.12);font-size:.92rem;min-width:0}































.extras b{color:var(--acc2);white-space:nowrap;flex-shrink:0;margin-left:12px}.extras span{flex:1 1 auto;min-width:0;line-height:1.45}































/* [B11] FAQ */































.faq{max-width:820px;margin:0 auto}































.faq details{background:#ffffff;border:1px solid var(--line);margin-bottom:12px}































.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 26px;cursor:pointer;font-weight:600;font-size:.98rem;min-height:44px}































.faq summary::-webkit-details-marker{display:none}































.faq summary::after{content:"+";font-family:var(--fs);font-size:1.5rem;color:var(--acc);transition:transform .3s}































.faq details[open] summary::after{transform:rotate(45deg)}































.faq details p{padding:0 26px 24px;color:var(--mut);font-size:.94rem}































/* [B12] RECENSIONI */































.revs{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:960px;margin:0 auto}































.rev{border:1px solid rgba(244,239,230,.16);padding:40px 36px;position:relative}































.rev::before{content:"“";font-family:var(--fs);font-size:4rem;color:var(--acc);position:absolute;top:8px;left:24px;opacity:.7}































.rev p{font-family:var(--fs);font-style:normal;font-size:1.15rem;line-height:1.55;color:#e0e0e0;margin-bottom:20px}































.rev b{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffff}































.revs-light .rev{border:1px solid var(--ink)}































.revs-light .rev p{color:var(--ink)}































.revs-light .rev b{color:var(--ink)}































/* [B13] BLOG */































.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}































.post{background:#ffffff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .4s,box-shadow .4s}































.post:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(28,26,23,.1)}































.post img{height:220px;width:100%;object-fit:cover}































.post-in{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}































.post .meta{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc2);margin-bottom:12px}































.post h3{font-family:var(--fs);font-size:1.3rem;font-weight:600;line-height:1.25;margin-bottom:12px}































.post p{font-size:.9rem;color:var(--mut);flex:1}































/* [B14] ABOUT & SERVIZI */































.split{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}































.split img{width:100%;height:640px;object-fit:cover;position:relative}































.frame{position:relative}































.frame::before{content:"";position:absolute;top:22px;left:22px;right:-22px;bottom:-22px;border:1px solid var(--acc);z-index:0}































.frame img{z-index:1;position:relative}































.principles{list-style:none;margin-top:30px;counter-reset:pc}































.principles li{padding:16px 0 16px 44px;position:relative;border-bottom:1px solid var(--line);font-size:.98rem}































.principles li::before{content:counter(pc,decimal-leading-zero);counter-increment:pc;position:absolute;left:0;top:18px;font-family:var(--fs);color:var(--acc);font-size:1.1rem}































.srow{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}































.srow .pcard img{height:460px}































.srow .txt{display:flex;flex-direction:column;justify-content:center;padding:20px 10px}































.srow .price{font-family:var(--fs);font-size:1.5rem;color:var(--acc2);margin:12px 0 20px}































/* [B15] CONTATTI */































.cgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}































.fbox{background:#ffffff;border:1px solid var(--line);padding:46px}































.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}































.field{margin-bottom:16px}































.field label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}































.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 16px;border:1px solid var(--line);background:#fafafa;font-family:var(--ff);font-size:.95rem;color:var(--ink);transition:border-color .3s,box-shadow .3s}































.field textarea{min-height:120px;resize:vertical}































.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(0,0,0,.14)}































.consent{display:flex;gap:10px;font-size:.78rem;color:var(--mut);margin:6px 0 18px;align-items:flex-start}































.consent input{width:16px;height:16px;margin-top:3px;accent-color:var(--acc)}































#fok{display:none;background:#f0f0f0;border:1px solid var(--acc);color:var(--acc2);padding:16px 20px;margin-top:18px;font-size:.9rem}































#fok.show{display:block;animation:pgIn .5s}































.cinfo .ci{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}































.cinfo .ci b{display:block;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--acc2);margin-bottom:4px}































.cinfo .ci a{font-weight:600}































.cinfo .ci a:hover{color:var(--acc2)}































.map{margin-top:26px;border:1px solid var(--line)}































.map iframe{width:100%;height:280px;border:0;display:block;filter:grayscale(.4) sepia(.12)}































/* [B16] FOOTER */































footer{background:var(--dark);color:#c8c8c8;padding:70px 0 30px}































.ft{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid rgba(244,239,230,.12)}































.ft .logo{color:var(--ivory)}































.ft h4{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:#ffffff;margin-bottom:18px}































.ft a{display:block;padding:6px 0;font-size:.88rem;transition:color .3s}































.ft a:hover{color:var(--ivory)}































.ft-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;font-size:.76rem}































.ft-bot details{max-width:560px}































.ft-bot summary{cursor:pointer;color:#9a9a9a}































.ft-bot details p{padding-top:12px;font-size:.76rem}































/* [B17] COOKIE / LIGHTBOX / WHATSAPP */































#ck{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--dark);color:var(--ivory);padding:18px 0;transform:translateY(100%);transition:transform .6s}































#ck.show{transform:none}































.ck-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}































.ck-in p{font-size:.82rem;color:#c8c8c8;max-width:760px}































.ck-in div{display:flex;gap:12px}































#lbx{position:fixed;inset:0;background:rgba(16,13,10,.95);z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.4s}































#lbx.open{opacity:1;visibility:visible}































#lbx figure{max-width:min(1040px,90vw);text-align:center}































#lbx img{max-height:78vh;max-width:100%;margin:0 auto;object-fit:contain}































#lbx figcaption{color:#d0d0d0;margin-top:14px;font-size:.9rem;letter-spacing:.06em}































.lbb{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(244,239,230,.3);background:none;color:var(--ivory);font-size:1.4rem;display:flex;align-items:center;justify-content:center;transition:.3s}































.lbb:hover{background:var(--acc);border-color:var(--acc)}































#lbx-x{top:20px;right:22px;font-size:1.1rem}































#lbx-p{left:18px;top:50%;transform:translateY(-50%)}































#lbx-n{right:18px;top:50%;transform:translateY(-50%)}































#wa{position:fixed;right:22px;bottom:22px;z-index:150;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:transform .3s}































#wa:hover{transform:translateY(-4px) scale(1.05)}































#wa svg{width:28px;height:28px;fill:#fff}































/* [B18] REVEAL & RESPONSIVE */































.rv{transition:opacity .9s ease,transform .9s ease}































.rv.in{opacity:1;transform:none}































@media(max-width:1700px){.nv-l,.nv-r{gap:20px}.nv-l a,.nv-r a{font-size:.66rem}.hd-in .logo{font-size:1rem}.hd-in{gap:20px}.wrap.hd-in{width:min(1400px,96%)}}







@media(max-width:1750px){.hd-cta{font-size:0;padding:0 16px;min-height:40px}.hd-cta::after{content:'Запись';font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}}







@media(max-width:1400px){.hd-cta{padding:0;width:44px;min-width:44px}.hd-cta::after{content:'→';font-size:1.15rem}#hd .langsel{display:none}}







@media(max-width:1100px){#hd .langsel{display:none}#hd .hd-cta{display:none}}







@media(max-width:1080px){.cards4{grid-template-columns:repeat(2,1fr)}.posts{grid-template-columns:repeat(2,1fr)}.nv-l,.nv-r{gap:14px}.nv-l a,.nv-r a{font-size:.6rem}.hd-in .logo{font-size:.95rem}.hd-in{gap:14px}.wrap.hd-in{width:min(1180px,94%)}}































@media(max-width:960px){































 .sec{padding-top:120px}































 .hd-navwrap{position:fixed;inset:0;background:rgba(10,10,10,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;transform:translateX(100%);transition:transform .5s;z-index:88}































 body.menu .hd-navwrap{transform:none}































 .nv-l a,.nv-r a{font-size:1rem}







 .nv-l,.nv-r{flex-direction:column;align-items:center;gap:18px}







 .hd-in .logo{order:-1;position:static;transform:none;font-size:1.25rem;margin-bottom:8px}































 #bg{display:flex}































 .hd-cta{display:none}































 .split,.cgrid,.revs{grid-template-columns:1fr;gap:40px}































 .split img{height:480px}































 .plans{grid-template-columns:1fr;max-width:520px;margin:0 auto}.plans-ceny{justify-content:center}.plans-ceny .plan{flex:1 1 100%;max-width:520px}.plans4{grid-template-columns:1fr;max-width:520px;margin:0 auto}.plans2{grid-template-columns:1fr;max-width:520px;margin:0 auto}.plans3{grid-template-columns:1fr;max-width:520px;margin:0 auto}































 .gal{columns:2 240px}































 .stats{grid-template-columns:repeat(2,1fr)}































 .srow{grid-template-columns:1fr}































 .srow .pcard img{height:380px}































 .srow .pcard{order:1}































 .srow .txt{order:2}































 .srow:nth-child(even) .pcard{order:1}































 .srow:nth-child(even) .txt{order:2}































 .logo{font-size:1.15rem}































 .hd-in{display:flex;justify-content:space-between;gap:12px}







 #hd .hd-right{position:static;transform:none;margin-left:auto}































 .hd-in>div{gap:8px}































 #bg{padding:8px;min-width:40px;min-height:40px}































 .ft{grid-template-columns:1fr;gap:30px}































}































@media(max-width:768px){.plans3{grid-template-columns:1fr;max-width:520px;margin:0 auto}}































@media(max-width:600px){































 .cards4,.posts,.extras,.frow{grid-template-columns:1fr} .extras{max-width:100%}































 .gal{columns:1}































 .gitem img,.gitem.tall img{height:auto}































 .sec{padding:110px 0 70px}































 .hero-in{padding:140px 0 100px}































 .fbox{padding:30px 22px}































 .tbl th,.tbl td{padding:12px 10px;font-size:.8rem}































 .logo{font-size:1.05rem}































 .logo small{letter-spacing:.22em}































 h1{font-size:clamp(1.8rem,8vw,2.4rem)}







 .hero-text h1{font-size:clamp(1.8rem,3.6vw,2.8rem)}







 .hf-img{max-width:92vw}































 .price{font-size:1.3rem}































}































/* [B19] GALLERIA MASONRY + CARD GALLERIA */































.gallery{columns:3 280px;column-gap:14px}































.gallery .mitem{break-inside:avoid;margin:0 0 14px;overflow:hidden;cursor:zoom-in;position:relative;border-radius:6px}































.gallery .mitem img{width:100%;display:block;transition:transform .8s}































.gallery .mitem:hover img{transform:scale(1.04)}































.pcard-wrap{display:flex;flex-direction:column;gap:12px}































.pcard-gal{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--line);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc2);transition:all .3s}































.pcard-gal:hover{background:var(--acc);color:#fff;border-color:var(--acc)}































@media(max-width:960px){.gallery{columns:2 240px}}































@media(max-width:560px){.gallery{columns:1}}































/* [B20] SELETTORE LINGUA */































.langsel{display:flex;gap:4px;align-items:center}







.lang-btn[data-lang="it"],.lang-btn[data-lang="en"]{display:none}































.langsel .lang-btn{background:none;border:1px solid rgba(255,255,255,.4);color:var(--ivory);font-size:.66rem;font-weight:700;letter-spacing:.06em;padding:6px 8px;min-width:34px;border-radius:4px;transition:all .3s;cursor:pointer;line-height:1}







.langsel .lang-btn:hover{background:none;color:var(--ivory);border-color:rgba(255,255,255,.8)}































.langsel .lang-btn:hover{background:var(--ink);color:var(--ivory);border-color:var(--ink)}































.langsel .lang-btn.active{background:var(--acc);color:#fff;border-color:var(--acc)}































@media(max-width:960px){.langsel{margin-left:auto;gap:3px}.langsel .lang-btn{padding:5px 6px;min-width:30px}}































/* [B21] ARTICOLO BLOG */































.art-hero{width:100%;height:auto;max-height:520px;object-fit:cover;margin:26px 0;border-radius:6px}































.back-link{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);margin-bottom:22px;transition:color .3s}































.back-link:hover{color:var(--acc)}































.art-body{max-width:820px;margin:0 auto}































.art-body p{color:#4c463e;margin-bottom:18px;font-size:1rem;line-height:1.8}































.art-body h2{font-size:1.45rem;margin:36px 0 14px}































.art-body ul{list-style:none;margin:0 0 20px}































.art-body li{padding:8px 0 8px 26px;position:relative;color:#4c463e;border-bottom:1px dashed var(--line);font-size:.95rem}































.art-body li::before{content:"—";position:absolute;left:0;color:var(--acc)}































.art-meta{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc2);margin-bottom:14px}































@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

































































#login-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:99999;display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px)}































#login-overlay.active{display:flex}































#login-box{background:var(--bg,#f5f5f5);color:var(--ink,#1c1a17);border-radius:16px;padding:48px 40px;max-width:420px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.5);position:relative}































#login-box.shake{animation:lkShake .4s ease}































@keyframes lkShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}































#login-box h2{font-family:var(--fs,'Manrope'),sans-serif;font-size:1.8rem;font-weight:500;margin-bottom:8px;text-align:center}































#login-box p{color:var(--mut,#666666);text-align:center;margin-bottom:28px;font-size:.9rem}































#login-box .field{margin-bottom:16px}































#login-box label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut,#666666);margin-bottom:6px}































#login-box input{width:100%;padding:14px 16px;border:1px solid var(--line,#dddddd);border-radius:8px;font-family:var(--ff,'Manrope'),sans-serif;font-size:.95rem;background:#fff;transition:border-color .3s}































#login-box input:focus{outline:none;border-color:var(--acc,#1c1a17);box-shadow:0 0 0 3px rgba(0,0,0,.14)}































#login-box .btn-login{width:100%;padding:14px;background:var(--acc,#1c1a17);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .3s;margin-top:8px}































#login-box .btn-login:hover{background:var(--acc2,#000000);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3)}































#login-box .error-msg{color:#d32f2f;font-size:.8rem;text-align:center;margin-top:12px;display:none}































#login-box .error-msg.show{display:block}































#login-box .error-msg.lock{color:#b26a00;font-weight:700}































#login-box .close-login{position:absolute;top:16px;right:20px;background:none;border:none;font-size:1.4rem;color:var(--mut,#666666);cursor:pointer;transition:color .3s}































#login-box .close-login:hover{color:var(--ink,#1c1a17)}































.admin-link{color:var(--mut,#666666);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;transition:color .3s;cursor:pointer}































.admin-link:hover{color:var(--acc,#1c1a17)}































































































































#devtools-block{position:fixed;inset:0;background:#161310;color:#ffffff;z-index:999999;display:none;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;text-align:center;padding:40px;flex-direction:column}































#devtools-block.active{display:flex}































#devtools-block h2{font-family:'Manrope',sans-serif;font-size:2.5rem;margin-bottom:16px;color:#1c1a17}































#devtools-block p{color:#c8c8c8;max-width:500px}


































#menu-close{display:none}
@media(max-width:960px){
  #menu-close{display:flex;position:absolute;top:16px;left:16px;z-index:95;
    width:46px;height:46px;align-items:center;justify-content:center;
    background:none;border:0;padding:0;margin:0;cursor:pointer;
    -webkit-tap-highlight-color:transparent}
  #menu-close span{position:absolute;width:28px;height:2px;background:#fff;
    border-radius:2px}
  #menu-close span:nth-child(1){transform:rotate(45deg)}
  #menu-close span:nth-child(2){transform:rotate(-45deg)}
  #menu-close:active{opacity:.65}
}


































#privacy-modal{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}































#privacy-modal.on{display:flex}































.privacy-box{background:var(--bg,#f5f5f5);color:var(--ink,#1c1a17);border-radius:12px;max-width:680px;width:100%;max-height:85vh;overflow-y:auto;padding:38px 30px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.4);font-family:var(--ff,'Manrope'),sans-serif}































.privacy-box h2{font-family:var(--fs,'Manrope'),sans-serif;font-size:1.7rem;font-weight:500;margin-bottom:4px}































.privacy-date{font-size:.74rem;color:var(--mut,#666666);margin-bottom:18px}































.privacy-box h3{font-size:1rem;margin:22px 0 8px;color:var(--acc2,#000000)}































.privacy-box p{font-size:.9rem;color:#4c463e;line-height:1.7;margin-bottom:8px}































.privacy-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.4rem;color:var(--mut,#666666);cursor:pointer;transition:color .3s;line-height:1}































.privacy-close:hover{color:var(--ink,#1c1a17)}































@media(max-width:600px){.privacy-box{padding:26px 18px;max-height:88vh}}

































































img.lz{transition:opacity .5s ease}































img.lz.lz-in{opacity:1}































