
@font-face{font-family:'Bricolage';src:url(/assets/fonts/bricolage.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Inter';src:url(/assets/fonts/inter-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url(/assets/fonts/inter-700.woff2) format('woff2');font-weight:700;font-display:swap}
.top .entra{border:1.5px solid var(--line);border-radius:999px;padding:.35rem .9rem;font-weight:700;white-space:nowrap}
.top .entra:hover{border-color:var(--green);color:var(--green)}
.namebox{margin:1.6rem 0 1rem;max-width:42rem}
.final .namebox{margin:1.4rem auto 0;text-align:left}
.paybox .namebox,.price-card .namebox{margin:1.2rem 0 0;text-align:left}
.price-card .namebox label,.price-card .namebox-hint{color:#fff}
.price-card .namebox-hint{opacity:.85}
.namebox label{display:block;font-weight:700;margin-bottom:.5rem;color:var(--ink)}
.namebox-row{display:flex;gap:.6rem;flex-wrap:wrap}
.namebox input{flex:1 1 22rem;min-width:19rem;padding:1.05rem 1.1rem;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:1.05rem;background:var(--card);color:var(--ink)}
.namebox input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.namebox .btn{white-space:nowrap}
.namebox-dom{flex:1 1 22rem;min-width:19rem;display:flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;background:var(--card);padding-right:1rem;transition:border-color .15s,box-shadow .15s}
.namebox-dom:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.namebox-dom input{flex:1;min-width:0;border:0 !important;box-shadow:none !important;outline:none !important;background:transparent;padding-right:.3rem}
.namebox-dom b{color:#7A7E78;font-size:1.05rem;font-weight:700;user-select:none;pointer-events:none}
.namebox-dom.no,.namebox-dom.no:focus-within{border-color:#C4400C !important;box-shadow:0 0 0 3px rgba(196,64,12,.22) !important}
.namebox-hint{color:var(--ink-soft);font-size:.9rem;margin:.6rem 0 0}
/* Sul telefono il campo prende tutta la riga: il min-width da 19rem, dentro
   una card con 2.4rem di padding, sfondava il bordo destro di 35px. */
@media(max-width:560px){.namebox input,.namebox-dom{min-width:0;flex-basis:100%}.paybox,.price-card{padding:1.6rem 1.2rem}}
.split>*,.price-wrap>*,.hero-grid>*{min-width:0}
@media(max-width:520px){.namebox .btn{width:100%}.namebox-dom{min-width:0;width:100%;flex:1 1 100%}}
:root{--paper:#F6F4EF;--paper-2:#EFEDE6;--ink:#1A1D1A;--ink-soft:#4C4F49;--green:#1E5B3E;--green-hover:#17492F;--green-soft:#E4ECE4;--brass:#A9803E;--line:#DAD5C9;--card:#FFFFFF;--wa:#128C4B;--cta:#C4400C;--cta-hover:#A8360A}
@media(prefers-color-scheme:dark){:root{--paper:#12150F;--paper-2:#191D15;--ink:#ECEAE0;--ink-soft:#A7A99E;--green:#5FBE86;--green-hover:#74ca99;--green-soft:#1B2A1F;--brass:#CBA35E;--line:#2C3226;--card:#191D15;--wa:#2BA05F}}
:root[data-theme=light]{--paper:#F6F4EF;--paper-2:#EFEDE6;--ink:#1A1D1A;--ink-soft:#4C4F49;--green:#1E5B3E;--green-hover:#17492F;--green-soft:#E4ECE4;--brass:#A9803E;--line:#DAD5C9;--card:#FFFFFF;--wa:#128C4B}
:root[data-theme=dark]{--paper:#12150F;--paper-2:#191D15;--ink:#ECEAE0;--ink-soft:#A7A99E;--green:#5FBE86;--green-hover:#74ca99;--green-soft:#1B2A1F;--brass:#CBA35E;--line:#2C3226;--card:#191D15;--wa:#2BA05F}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.display{font-family:'Bricolage',system-ui,sans-serif;font-weight:700;line-height:1.06;letter-spacing:-.02em;margin:0;text-wrap:balance}
img{max-width:100%;display:block}a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.5rem}
.narrow{max-width:820px}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin:0 0 1rem}
.mono{font-family:ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
code{background:var(--paper-2);padding:.12rem .4rem;border-radius:4px;font-size:.9em;font-family:ui-monospace,Menlo,monospace}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;text-decoration:none;border-radius:8px;padding:.8rem 1.4rem;font-size:1rem;transition:background .16s,transform .16s,border-color .16s;border:1.5px solid transparent;cursor:pointer}
.btn-green{background:var(--cta);color:#fff}.btn-green:hover{background:var(--cta-hover);transform:translateY(-1px)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:'Bricolage',sans-serif;font-weight:700;font-size:1.4rem;letter-spacing:-.03em;text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:.4rem}.logo .dot{color:var(--green)}.logo img{height:1.7rem;width:auto;display:block}
.top .btn{padding:.55rem 1.1rem;font-size:.95rem}

.top-right{display:flex;align-items:center;gap:.7rem;margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:1rem;padding:.35rem .6rem;border-radius:6px;white-space:nowrap}
.nav a:hover{color:var(--green);background:var(--green-soft)}
/* Telefono: hamburger, e il menu scende sotto la testata a tutta larghezza. */
.burger{width:44px;height:44px;border:0;background:none;display:grid;place-content:center;gap:5px;cursor:pointer;padding:0}
.burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-open .burger span:nth-child(2){opacity:0}.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:.6rem 1.5rem 1rem;flex-direction:column;gap:.2rem;box-shadow:0 12px 24px -12px rgba(0,0,0,.25)}
.nav-open .nav{display:flex}
.nav a{padding:.75rem .4rem;border-bottom:1px solid var(--line);border-radius:0;font-size:1.05rem}
.nav a:last-child{border-bottom:0}
.nav .entra{margin-top:.4rem;text-align:center;border:1.5px solid var(--line);border-radius:999px;padding:.6rem 1rem}
@media(min-width:760px){.burger{display:none}.nav{display:flex;position:static;flex-direction:row;background:none;border:0;box-shadow:none;padding:0;margin-left:1.4rem;gap:.2rem}.nav a{border:0;padding:.35rem .6rem;border-radius:6px;font-size:.95rem}.nav .entra{margin:0 0 0 .6rem;padding:.35rem .9rem}}
.section{padding:clamp(3rem,7vw,5.5rem) 0;border-top:1px solid var(--line)}
.section-head{max-width:44ch;margin-bottom:2.6rem}
.section-head h2{font-size:clamp(1.9rem,3.8vw,2.8rem)}
.section-head p{color:var(--ink-soft);font-size:1.1rem;margin:1rem 0 0}
.versus{display:grid;grid-template-columns:1fr;gap:1.2rem}
@media(min-width:820px){.versus{grid-template-columns:1fr 1fr}}
.vs-card{border:1px solid var(--line);border-radius:16px;padding:clamp(1.4rem,3vw,2rem)}
.vs-card.no{background:var(--paper-2)}
.vs-card.yes{background:var(--green-soft);border-color:var(--green)}
.vs-card h3{font-size:1.2rem;margin:0 0 1.1rem}
.vs-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem}
.vs-list li{display:flex;gap:.6rem;font-size:1rem;line-height:1.45;color:var(--ink)}
.vs-list .ic{flex:none;font-weight:700}
.vs-card.no .ic{color:#b0503a}.vs-card.yes .ic{color:var(--green)}
.vs-foot{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line);font-weight:700}
/* hero */
.hero{padding:clamp(3rem,7vw,5.5rem) 0 clamp(2rem,4vw,3.5rem)}
.hero-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
@media(min-width:920px){.hero-grid{grid-template-columns:1.08fr .92fr;gap:4rem}}
.hero h1{font-size:clamp(2.5rem,6.2vw,4.2rem)}.hero h1 .u{color:var(--green)}
.hero .lead{font-size:clamp(1.1rem,1.6vw,1.28rem);color:var(--ink-soft);max-width:34ch;margin:1.5rem 0 2rem}
.hero .actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero .micro{margin-top:1.1rem;font-size:.92rem;color:var(--ink-soft);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.pp{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--ink)}
/* certificate */
/* statement */
.stmt{padding:clamp(3.5rem,8vw,6rem) 1.5rem}
.stmt p{font-family:'Bricolage',sans-serif;font-weight:700;letter-spacing:-.02em;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.16;max-width:20ch;text-wrap:balance}
.stmt p .q{color:var(--green)}
.stmt .sub{font-family:'Inter',sans-serif;font-weight:400;font-size:1.08rem;color:var(--ink-soft);max-width:48ch;margin-top:1.6rem;line-height:1.6}
/* steps detailed */
.steps{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:760px){.steps{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.steps{grid-template-columns:1fr 1fr 1fr}}
.step{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.5rem}
.step .num{display:inline-grid;place-items:center;width:2rem;height:2rem;background:var(--green);color:#fff;border-radius:50%;font-family:'Bricolage',sans-serif;font-weight:700}
.step h3{font-size:1.22rem;margin:.9rem 0 .5rem}.step p{margin:0;color:var(--ink-soft);font-size:.98rem}
.passi-hero{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.3rem}
.passi-hero .ph-lbl{margin:0 0 .8rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--green)}
.ph-list{list-style:none;margin:0;padding:0;counter-reset:none}
.ph-list li{display:flex;gap:.7rem;align-items:flex-start;padding:.5rem 0;border-top:1px solid var(--line);font-weight:700;line-height:1.35;font-size:.97rem}
.ph-list li:first-child{border-top:0;padding-top:0}
.ph-list li span{flex:none;display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:.82rem}
.ph-foot{margin:.9rem 0 0;color:var(--ink-soft);font-size:.92rem;line-height:1.5}
.ph-more{display:inline-block;margin-top:.7rem;color:var(--green);font-weight:700;text-decoration:none;font-size:.92rem}
.ph-more:hover{text-decoration:underline}
.steps-dopo{margin-top:1.8rem}
.step-dl{margin:0;color:var(--ink-soft);font-size:.96rem}
.step-dl dt{font-weight:700;color:var(--ink);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;margin:.75rem 0 .15rem}
.step-dl dt:first-child{margin-top:0}
.step-dl dd{margin:0;line-height:1.5}
.step-dl dt.why{color:var(--green)}
.steps-foot{margin:1.8rem 0 0}.steps-foot a{color:var(--green);font-weight:700;text-decoration:none}.steps-foot a:hover{text-decoration:underline}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.gcard{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
/* height:auto e' obbligatorio: gli attributi width/height sull'<img> valgono
   come CSS e battono aspect-ratio, che si applica solo se una delle due
   dimensioni e' auto. Senza, le miniature venivano alte 900px. */
.gcard img{aspect-ratio:1280/900;object-fit:cover;object-position:top;width:100%;height:auto}
.gcard span{display:block;padding:.6rem .9rem;font-weight:700;font-size:.9rem}
.gcard span b{display:block;font-weight:400;font-size:.8rem;color:var(--ink-soft)}
/* Striscia di scatti in mezzo al testo: sul telefono scorre di lato invece di
   allungare la pagina di tremila pixel. */
.striscia{display:flex;gap:1rem;overflow-x:auto;padding:.2rem .2rem 1rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.striscia .scatto{flex:0 0 min(78vw,340px);margin:0;scroll-snap-align:start;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.striscia img{display:block;width:100%;height:auto;aspect-ratio:1280/900;object-fit:cover;object-position:top}
.striscia figcaption{padding:.55rem .8rem;font-weight:700;font-size:.88rem}
.striscia figcaption span{display:block;font-weight:400;font-size:.78rem;color:var(--ink-soft)}
@media(min-width:900px){.striscia .scatto{flex:0 0 300px}}
/* Sotto i 640px l'immagine e' lo scatto da telefono (390x844): la card lo
   taglia in alto a 3:4, cosi' si vede il primo schermo vero. */
@media(max-width:640px){.gallery{grid-template-columns:1fr 1fr;gap:.7rem}.gcard img,.striscia img{aspect-ratio:3/4}.striscia .scatto{flex:0 0 min(62vw,260px)}}
/* La nota sotto una striscia non deve ereditare la tipografia della sezione
   che la ospita: dentro .stmt i paragrafi sono enormi. */
p.scatti-nota,.stmt p.scatti-nota{text-align:center;margin:.2rem auto 0;max-width:56ch;font-size:.92rem;line-height:1.5;color:var(--ink-soft);font-weight:400}
/* feature grid */
.grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:940px){.grid{grid-template-columns:1fr 1fr 1fr}}
.feat{background:var(--paper);padding:1.7rem 1.5rem}
.feat .fn{font-family:ui-monospace,monospace;font-size:.8rem;color:var(--brass);font-weight:700}
.feat h3{font-size:1.15rem;margin:.6rem 0 .45rem}.feat p{margin:0;color:var(--ink-soft);font-size:.95rem}
/* split feature (images / payment) */
.split{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
@media(min-width:860px){.split{grid-template-columns:1fr 1fr;gap:3.5rem}.split.rev>div:first-child{order:2}}
.split h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin-bottom:1rem}
.split p{color:var(--ink-soft);font-size:1.05rem;margin:0 0 1rem}
.bigstat{background:var(--green-soft);border-radius:16px;padding:2.5rem;text-align:center}
.bigstat .num{font-family:'Bricolage',sans-serif;font-weight:700;font-size:clamp(3rem,9vw,5rem);color:var(--green);line-height:1}
.bigstat .cap{color:var(--ink-soft);margin-top:.5rem}
.paybox{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:2rem;text-align:center}
.paybox .pill{display:inline-flex;align-items:center;gap:.5rem;background:#ffc43933;color:var(--ink);font-weight:700;padding:.5rem 1rem;border-radius:99px;border:1px solid var(--line)}
.paybox .amt{font-family:'Bricolage',sans-serif;font-weight:700;font-size:3rem;margin:1rem 0 .2rem}
/* price */
.price-wrap{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}
@media(min-width:820px){.price-wrap{grid-template-columns:1fr 1fr}}
.price-card{background:var(--green);color:#fff;border-radius:16px;padding:2.4rem;text-align:center}
.price-card .anchor{text-decoration:line-through;opacity:.7;font-size:1.1rem}
.price-card .big{font-family:'Bricolage',sans-serif;font-weight:700;font-size:clamp(3.4rem,8vw,4.6rem);line-height:1;margin:.3rem 0}
.price-card .once{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;opacity:.92}
.price-card .btn{margin-top:1.6rem;background:var(--paper);color:var(--cta)}.price-card .btn:hover{background:#fff}
.price-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.9rem}
.price-list li{display:flex;gap:.7rem;font-size:1.02rem}.price-list .ck{color:var(--green);font-weight:700}
.extras{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.extras-title{font-weight:700;margin:0 0 .8rem}
.extras ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.extras li{display:flex;justify-content:space-between;gap:1rem;color:var(--ink-soft)}.extras b{color:var(--ink);white-space:nowrap}
/* mestieri/guide links */
.linklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}
@media(min-width:620px){.linklist{grid-template-columns:1fr 1fr}}
@media(min-width:940px){.linklist{grid-template-columns:1fr 1fr 1fr}}
.linklist li{border-top:1px solid var(--line);border-left:1px solid var(--line)}
.linklist a{display:block;padding:.95rem 1.2rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.96rem}
.linklist a:hover{background:var(--green-soft);color:var(--green)}
/* faq */
.faq details{border-bottom:1px solid var(--line);padding:1.15rem 0}
.faq summary{font-family:'Bricolage',sans-serif;font-weight:700;font-size:1.1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--green);font-weight:700;font-size:1.5rem}.faq details[open] summary::after{content:"–"}
.faq p{color:var(--ink-soft);margin:.8rem 0 0;max-width:64ch}
/* final */
.final{text-align:center;padding:clamp(4rem,9vw,7rem) 0}
.final h2{font-size:clamp(2.2rem,5vw,3.4rem);max-width:20ch;margin:0 auto 1.4rem}
.final .actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
footer.foot{border-top:1px solid var(--line);padding:3rem 0 2rem;color:var(--ink-soft);font-size:.92rem;background:var(--paper-2)}
footer.foot a{color:var(--ink-soft);text-decoration:none}
footer.foot a:hover{color:var(--green)}
.foot-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:700px){.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr}}
.foot-brand .logo{font-family:'Bricolage',sans-serif;font-weight:700;font-size:1.3rem;color:var(--ink);text-decoration:none}
.foot-brand .logo .dot{color:var(--green)}
.foot-brand p{margin:.7rem 0 0;max-width:32ch}
.foot-grid h4{font-family:'Bricolage',sans-serif;font-size:.95rem;color:var(--ink);margin:0 0 .8rem}
.foot-grid>div>a{display:block;padding:.2rem 0}
.foot-custom{color:var(--green)!important;font-weight:700}
.foot-legal{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.4rem;font-size:.85rem}
.foot-legal a{color:var(--green)}
/* Getaweb e' chi c'e' dietro: si legge, non si cerca. */
.foot-getaweb{font-size:1.7rem;font-weight:700;letter-spacing:-.01em;vertical-align:-.15em}
@media print{.top,footer.foot,.backlink,a.btn-green[download]{display:none!important}body{background:#fff}.gp{padding:0}.callout{break-inside:avoid}}
/* guide page */
.gp{padding:2.6rem 0}
.gp .lead{color:var(--ink-soft);font-size:1.15rem;max-width:60ch;margin:1rem 0 0}
.callout{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:8px;padding:1rem 1.2rem;margin:1.6rem 0;font-size:.97rem}.callout b{color:var(--ink)}
ol.pp-steps{counter-reset:s;list-style:none;padding:0;margin:1.6rem 0;display:flex;flex-direction:column;gap:1.1rem}
ol.pp-steps li{counter-increment:s;position:relative;padding-left:2.8rem}
ol.pp-steps li::before{content:counter(s);position:absolute;left:0;top:-3px;width:1.9rem;height:1.9rem;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center;font-family:'Bricolage',sans-serif;font-weight:700;font-size:.92rem}
ol.pp-steps b{color:var(--ink)}
.backlink{display:inline-block;margin-top:2.5rem;color:var(--green);text-decoration:none;font-weight:700}
.langsw{position:relative}.langsw summary{list-style:none;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:.3rem .55rem;font-weight:700;font-size:.85rem;color:var(--ink-soft)}.langsw summary::-webkit-details-marker{display:none}.langsw summary:hover{border-color:var(--green);color:var(--green)}
.flag{width:20px;height:14px;border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.langlist{position:absolute;right:0;top:calc(100% + .4rem);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.3rem;min-width:11rem;box-shadow:0 12px 24px -10px rgba(0,0,0,.25);z-index:30}
.langlist a{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:6px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;white-space:nowrap}.langlist a span{font-size:.8rem;color:var(--ink-soft);font-weight:700}.langlist a:hover{background:var(--green-soft);color:var(--green)}.langlist a[aria-current]{background:var(--card)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}
/* nessuna animazione di comparsa: contenuto sempre visibile */

.lente{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:2vmin;background:rgba(20,22,20,.86);backdrop-filter:blur(3px)}
.lente[open]{display:flex}
.lente img{max-width:min(1280px,96vw);max-height:88vh;width:auto;height:auto;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);background:var(--paper)}
.lente figcaption{position:absolute;left:0;right:0;bottom:1.2vmin;text-align:center;color:#fff;font-weight:700;font-size:.95rem;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.lente .chiudi{position:absolute;top:1.4vmin;right:1.8vmin;width:2.4rem;height:2.4rem;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#111;font-size:1.3rem;line-height:1;cursor:pointer}
.js .gcard img,.js .striscia img{cursor:zoom-in}

/* I nostri lavori: una card per sito, immagine cliccabile, telefono prima. */
.lavori{display:grid;grid-template-columns:1fr;gap:1.2rem}
@media(min-width:640px){.lavori{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.lavori{grid-template-columns:1fr 1fr 1fr}}
.lavoro{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);display:flex;flex-direction:column}
.lavoro-img{display:block}
.lavoro-img img{display:block;width:100%;height:auto;aspect-ratio:1280/900;object-fit:cover;object-position:top}
@media(max-width:640px){.lavoro-img img{aspect-ratio:3/4}}
.lavoro-txt{padding:1rem 1.1rem 1.2rem}
.lavoro-txt h2{font-size:1.15rem;margin:0 0 .3rem}
.lavoro-txt p{margin:0 0 .9rem;color:var(--ink-soft);font-size:.9rem}
.lavoro-txt .btn{padding:.6rem 1rem;font-size:.92rem}
/* Nelle card della home: il link per sfogliare, accanto al nome. */
.gcard .sfoglia,.striscia .sfoglia{color:var(--green);text-decoration:none;font-weight:700;font-size:.82rem;display:block;margin-top:.25rem}
/* La barra che sta sopra ogni sito d'esempio. Una riga sola anche a 360px;
   la bolla WhatsApp del sito sale di quanto basta per non coprirla. */
.kz-esempio{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .8rem;background:#14213d;color:#fff;font:600 .8rem/1.2 system-ui,sans-serif;box-shadow:0 -2px 12px rgba(0,0,0,.25);white-space:nowrap}
.kz-esempio a{color:#fff;text-decoration:underline}
.kz-esempio .kz-back{text-decoration:none;font-weight:700;padding:.4rem .6rem .4rem 0}
.kz-esempio .kz-cta{background:#1d8a4a;text-decoration:none;padding:.4rem .7rem;border-radius:6px}
.kz-esempio .kz-lungo{display:none}@media(min-width:600px){.kz-esempio .kz-lungo{display:inline}.kz-esempio .kz-corto{display:none}}
body{padding-bottom:3rem}.wa-float{bottom:3.8rem!important}
