/*
Theme Name: Chiave Group
Template: generatepress
Description: Child theme di GeneratePress per chiavegroup.it – sistema grafico "Continuità" (stesso DNA di spaziochiave.it, in negativo).
Author: Chiave Group S.r.l.
Version: 1.0.0
Text Domain: chiavegroup
*/

/* ---- Reset dei contenitori di GeneratePress: le pagine sono composte da sezioni a tutta larghezza ---- */
body.cg .site-content, body.cg .site-main, body.cg .inside-article, body.cg .entry-content, body.cg .container, body.cg .grid-container{padding:0;margin:0;max-width:none;width:100%}
body.cg .entry-content > *{margin:0;max-width:none}
body.cg .site-header,body.cg #site-navigation,body.cg .site-footer{display:none}
body.cg .cg-footer{display:block}
body.cg .entry-content .wp-block-html{margin:0}

:root{
  --ink:#0e1815; --ink2:#14211c; --ink3:#1b2b25; --line:rgba(255,255,255,.10);
  --green:#046752; --green2:#0a7d63; --mint:#5fd3a8; --mint2:#7fe3bf;
  --sand:#eef0ec; --sand2:#e3e7e1; --paper:#ffffff;
  --txt:#f2f5f2; --muted:#9fb0a8; --dark:#0e1815; --darkmuted:#4d5c56;
  --disp:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;
  --body:'Instrument Sans',ui-sans-serif,system-ui,sans-serif;
  --max:1200px; --gut:clamp(16px,4vw,48px); --r:6px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--txt);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(38px,6vw,72px)}
h2{font-size:clamp(30px,4vw,48px)}
h3{font-size:clamp(20px,2vw,24px)}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.eyebrow{font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);display:flex;gap:10px;align-items:center}
.eyebrow::before{content:"/";font-weight:700;font-size:18px;line-height:1;color:var(--mint)}
.light .eyebrow,.light .eyebrow::before{color:var(--green)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:700;font-size:16px;padding:16px 26px;border-radius:var(--r);background:var(--mint);color:var(--dark);border:2px solid var(--mint);transition:transform .15s,background .15s,color .15s;text-align:center}
.btn:hover{background:var(--mint2);border-color:var(--mint2);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--txt);border-color:rgba(255,255,255,.28)}
.btn.ghost:hover{border-color:var(--mint);color:var(--mint);background:transparent}
.light .btn.ghost{color:var(--dark);border-color:rgba(14,24,21,.25)}
.light .btn.ghost:hover{border-color:var(--green);color:var(--green)}
.btn.green{background:var(--green);border-color:var(--green);color:#fff}
.btn.green:hover{background:var(--green2);border-color:var(--green2)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.arrow{width:18px;height:18px;flex:none}

/* topbar + nav */
.topbar{background:var(--green);color:#fff;font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:7px;flex-wrap:wrap}
.topbar b{font-weight:600}
.topbar .langs ul{list-style:none;margin:0;padding:0;display:flex;gap:10px}.topbar .langs a{opacity:.7;text-transform:uppercase}.topbar .langs .current-lang a{opacity:1;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.nav{position:sticky;top:0;z-index:20;background:rgba(14,24,21,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}
.nav .logo img{height:44px;width:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;font-weight:500;font-size:15.5px}
.nav ul a{padding:6px 0;border-bottom:2px solid transparent}
.nav ul a:hover{border-color:var(--mint)}
.nav .navcta{display:flex;align-items:center;gap:14px}
.nav .tel{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--mint)}
.nav .btn{padding:11px 18px;font-size:15px}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--txt);border-radius:var(--r);padding:8px 10px;font:inherit;cursor:pointer}
@media (max-width:980px){.nav ul,.nav .tel{display:none}.burger{display:inline-flex}.nav.open ul{display:flex;flex-direction:column;gap:6px;position:absolute;left:0;right:0;top:100%;background:var(--ink2);padding:18px var(--gut) 22px;border-bottom:1px solid var(--line)}}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--ink)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center right;opacity:.55}
.hero .fade{position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(14,24,21,.92) 30%,rgba(14,24,21,.55) 60%,rgba(14,24,21,.25) 100%),linear-gradient(0deg,var(--ink) 0%,rgba(14,24,21,0) 35%)}
.hero .wrap{position:relative;padding-block:clamp(64px,9vw,120px) clamp(40px,6vw,72px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:end}
.hero h1{margin-top:18px;max-width:14ch}
.hero .sub{margin-top:22px;font-size:clamp(17px,1.5vw,20px);max-width:52ch;color:#d9e2dd}
.hero .ctas{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.hero .meta{margin-top:26px;font-size:14px;color:var(--muted)}
.spec{background:rgba(20,33,28,.78);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);justify-self:end;width:min(100%,420px)}
.spec .t{font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:12px;display:flex;justify-content:space-between}
.spec .t span:last-child{color:var(--muted);letter-spacing:0;text-transform:none;font-weight:500}
.spec dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:9px 18px;font-size:15px}
.spec dt{color:var(--muted)}.spec dd{margin:0;font-weight:600}
@media (max-width:900px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.spec{justify-self:start}.hero .bg{background-position:center 30%;opacity:.4}}

/* logos band */
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink2)}
.band .wrap{padding-block:30px;display:flex;flex-direction:column;gap:22px}
.band .lbl{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.band .lbl a{font-size:14px;color:var(--mint);font-weight:600;border-bottom:1px solid transparent}.band .lbl a:hover{border-color:var(--mint)}
.logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px 26px}
.logos img{height:36px;width:auto;max-width:135px;object-fit:contain;opacity:.82;filter:brightness(1.02)}
.logos img.tall{height:52px}.logos img.short{height:27px}
.logos img:hover{opacity:1}
@media (max-width:700px){.logos{justify-content:flex-start;gap:18px 26px}.logos img{height:30px;max-width:120px}.logos img.tall{height:44px}.logos img.short{height:22px}}

/* sections */
.sec{padding-block:clamp(64px,8vw,110px)}
.sec.light{background:var(--sand);color:var(--dark)}
.sec.paper{background:var(--paper);color:var(--dark)}
.sec.green{background:var(--green);color:#fff}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:end;margin-bottom:44px}
.head p{font-size:clamp(17px,1.4vw,19px);max-width:56ch;color:var(--muted)}
.light .head p,.paper .head p{color:var(--darkmuted)}
.head h2{margin-top:14px}
@media (max-width:800px){.head{grid-template-columns:minmax(0,1fr)}}

/* services */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.svc{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.svc:hover{transform:translateY(-3px);border-color:rgba(95,211,168,.5)}
.svc .ph{aspect-ratio:16/10;overflow:hidden;max-width:100%}
.svc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.svc:hover .ph img{transform:scale(1.04)}
.svc .body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.svc h3{margin-top:4px}
.svc p{color:var(--muted);font-size:15.5px}
.svc ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.svc li{font-size:12.5px;font-weight:600;letter-spacing:.02em;padding:4px 9px;border:1px solid var(--line);border-radius:999px;color:#cfd9d4}
.svc .more{margin-top:auto;padding-top:10px;font-family:var(--disp);font-weight:700;color:var(--mint);display:flex;gap:8px;align-items:center}
@media (max-width:900px){.services{grid-template-columns:minmax(0,1fr)}}

/* istituzioni */
.inst{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:start}
.inst .lead{font-size:clamp(18px,1.6vw,21px);line-height:1.5;margin-top:18px;max-width:50ch}
.inst .lead strong{color:var(--green)}
.inst .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.points{display:grid;gap:0;border-top:1px solid rgba(14,24,21,.14)}
.pt{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid rgba(14,24,21,.14)}
.pt i{font-family:var(--disp);font-style:normal;font-weight:700;color:var(--green);font-size:22px;line-height:1}
.pt b{display:block;font-family:var(--disp);font-size:17px;margin-bottom:4px}
.pt span{color:var(--darkmuted);font-size:15.5px}
.stelline{margin-top:34px;background:var(--paper);border-left:4px solid var(--green);padding:20px 22px;border-radius:0 var(--r) var(--r) 0;font-size:15.5px;color:var(--darkmuted)}
.stelline b{color:var(--dark);font-family:var(--disp)}
@media (max-width:900px){.inst{grid-template-columns:minmax(0,1fr)}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:s}
.step{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 28px;position:relative}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--mint)}
.step h3{margin-top:14px;font-size:20px}
.step p{margin-top:10px;color:var(--muted);font-size:15.5px}
.step em{display:block;margin-top:14px;font-style:normal;font-size:13px;color:#cfd9d4;font-weight:600;padding-top:12px;border-top:1px solid var(--line)}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}

/* projects */
.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pj{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;max-width:100%;background:var(--ink3);color:#fff}
.pj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pj:hover img{transform:scale(1.05)}
.pj .ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,24,21,.95) 0%,rgba(14,24,21,.35) 55%,rgba(14,24,21,0) 100%)}
.pj .tx{position:absolute;left:0;right:0;bottom:0;padding:22px}
.pj .tag{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--mint);font-family:var(--disp)}
.pj h3{margin-top:8px;font-size:22px}
.pj p{margin-top:8px;font-size:14.5px;color:#cfd9d4}
@media (max-width:900px){.projects{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.projects{grid-template-columns:minmax(0,1fr)}.pj{aspect-ratio:4/3}}
.morep{margin-top:32px;display:flex;justify-content:center}

/* numbers / trust */
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tr{padding:22px 0 0;border-top:2px solid var(--green)}
.tr b{font-family:var(--disp);font-size:clamp(28px,3vw,40px);font-weight:700;display:block;line-height:1;color:var(--dark)}
.tr span{display:block;margin-top:10px;color:var(--darkmuted);font-size:15px}
@media (max-width:900px){.trust{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* spazio chiave bridge */
.bridge{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.bridge .card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:28px}
.bridge .card dl{margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bridge .card dt{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:#bfe9d6;font-family:var(--disp);font-weight:500}
.bridge .card dd{margin:4px 0 0;font-weight:600;font-size:17px}
.bridge .btn{margin-top:22px}
.bridge p.lead{font-size:clamp(17px,1.5vw,20px);margin-top:18px;color:#e2f3ec;max-width:48ch}
@media (max-width:860px){.bridge{grid-template-columns:minmax(0,1fr)}}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.contact .side p{margin-top:16px;color:var(--muted);max-width:44ch}
.contact .side .ch{margin-top:26px;display:grid;gap:12px}
.contact .side .ch a{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--ink2)}
.contact .side .ch b{font-family:var(--disp)}
.contact .side .ch small{display:block;color:var(--muted);font-size:13.5px}
.contact form{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact form label{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:#cfd9d4}
.contact form input,.contact form select,.contact form textarea{font:inherit;font-size:15.5px;padding:12px 14px;border-radius:var(--r);border:1px solid rgba(255,255,255,.18);background:var(--ink);color:var(--txt);width:100%}
.contact form textarea{min-height:110px;resize:vertical}
.contact form .full{grid-column:1/-1}
.contact form .chk{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.contact form .chk label{flex-direction:row;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-weight:500;cursor:pointer}
.contact form .chk input{width:auto;accent-color:var(--mint)}
.contact form .priv{grid-column:1/-1;font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:flex-start;font-weight:400}
.contact form .priv input{width:auto;margin-top:4px;accent-color:var(--mint)}
.contact form .btn{grid-column:1/-1;justify-content:center}
@media (max-width:900px){.contact{grid-template-columns:minmax(0,1fr)}.contact form{grid-template-columns:minmax(0,1fr)}}

/* footer */
.cg-footer{background:#0a110f;border-top:1px solid var(--line);color:#b9c6c0;font-size:14.5px}
.cg-footer .wrap{padding-block:56px 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.cg-footer h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:14px;font-weight:500}
.cg-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cg-footer a:hover{color:#fff}
.cg-footer .logo img{height:40px;width:auto;margin-bottom:16px}
.cg-footer .legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#7f8f88}
@media (max-width:900px){.cg-footer .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cg-footer .wrap{grid-template-columns:minmax(0,1fr)}}

/* sticky mobile cta */
.mcta{display:none}
@media (max-width:700px){.mcta{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(14,24,21,.92);backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:30}.mcta .btn{justify-content:center;padding:13px 10px;font-size:15px}body{padding-bottom:78px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
body.admin-bar .nav{top:32px}@media (max-width:782px){body.admin-bar .nav{top:46px}}
/* ---- adattamenti per GenerateBlocks ---- */
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:center right}
.gb-text{margin:0}
.eyebrow.gb-text{margin:0}
.head > div > .eyebrow + h2, .inst .eyebrow + h2, .bridge .eyebrow + h2, .contact .eyebrow + h2{margin-top:14px}
.svc .body .eyebrow{font-size:12px}
.pj{display:block}
.svc{color:inherit}
.formwrap{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.formwrap .ff-el-form-control{font:inherit;font-size:15.5px;padding:12px 14px;border-radius:var(--r);border:1px solid rgba(255,255,255,.18);background:var(--ink);color:var(--txt);width:100%}
.formwrap .ff-el-input--label label{font-size:13.5px;font-weight:600;color:#cfd9d4}
.formwrap .ff-btn-submit{font-family:var(--disp);font-weight:700;font-size:16px;padding:16px 26px;border-radius:var(--r);background:var(--mint)!important;color:var(--dark)!important;border:2px solid var(--mint)!important;width:100%}
.formwrap .ff-el-group{margin-bottom:16px}
.formwrap .ff-el-form-check-label{color:var(--txt);font-weight:500}
/* ---- sfondi espliciti (GeneratePress imposta il suo colore di sfondo sul body) ---- */
body.cg, body.cg .site, body.cg .site-content, body.cg .site-main{background-color:var(--ink)!important;color:var(--txt)}
.sec{background:var(--ink)}
.sec.light{background:var(--sand)}
.sec.paper{background:var(--paper)}
.sec.green{background:var(--green)}
body.cg h1,body.cg h2,body.cg h3,body.cg h4{color:inherit}
/* ---- Fluent Forms dentro .formwrap ---- */
.contact form.frm-fluent-form{display:block;padding:0;background:none;border:0;border-radius:0}
.formwrap .fluentform{width:100%}
.formwrap .ff-t-container{display:flex;gap:16px}
.formwrap .ff-t-cell{flex:1 1 0}
.formwrap .ff-el-group{margin-bottom:18px}
.formwrap .ff-el-input--label{margin-bottom:6px}
.formwrap .ff-el-input--label label{font-size:13.5px;font-weight:600;color:#cfd9d4}
.formwrap .ff-el-form-control{font:inherit;font-size:15.5px;padding:12px 14px;border-radius:var(--r);border:1px solid rgba(255,255,255,.18);background:var(--ink);color:var(--txt);width:100%;min-height:48px}
.formwrap select.ff-el-form-control{appearance:auto}
.formwrap .ff-el-form-check{margin:0 14px 8px 0}
.formwrap .ff-el-form-check-label{color:var(--txt);font-weight:500;font-size:15px}
.formwrap .ff-el-tc{color:var(--muted);font-size:13.5px}
.formwrap .ff-el-tc a{color:var(--mint);text-decoration:underline}
.formwrap .ff-btn-submit{font-family:var(--disp);font-weight:700;font-size:16px;padding:16px 26px;border-radius:var(--r);background:var(--mint)!important;color:var(--dark)!important;border:2px solid var(--mint)!important;width:100%;cursor:pointer}
.formwrap .ff-btn-submit:hover{background:var(--mint2)!important}
.formwrap .ff-message-success{background:var(--ink);border:1px solid var(--mint);color:var(--txt);padding:18px;border-radius:var(--r)}
.formwrap .ff-el-is-error .text-danger{color:#ff9b9b}
@media (max-width:600px){.formwrap .ff-t-container{flex-direction:column;gap:0}}
/* ---- alias per i blocchi testo (span con classe al posto di dt/dd/i/b/em) ---- */
.spec .dt,.bridge .card .dt{display:block}
.spec .dt{color:var(--muted)}.spec .dd{font-weight:600}
.bridge .card .dt{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:#bfe9d6;font-family:var(--disp);font-weight:500}
.bridge .card .dd{display:block;margin-top:4px;font-weight:600;font-size:17px}
.pt .slash{font-family:var(--disp);font-weight:700;color:var(--green);font-size:22px;line-height:1}
.pt .ttl{display:block;font-family:var(--disp);font-size:17px;margin-bottom:4px;font-weight:700;color:var(--dark)}
.step .time{display:block;margin-top:14px;font-size:13px;color:#cfd9d4;font-weight:600;padding-top:12px;border-top:1px solid var(--line)}
.tr .ttl{font-family:var(--disp);font-size:clamp(28px,3vw,40px);font-weight:700;display:block;line-height:1;color:var(--dark);margin-bottom:0}
.formwrap .ff-el-form-check-label{display:flex;align-items:center;gap:8px}
.formwrap .ff-el-form-check-label input{margin:0}
/* ---- hero senza scheda tecnica ---- */
.hero .wrap{grid-template-columns:minmax(0,1fr);padding-block:clamp(72px,10vw,140px) clamp(56px,7vw,96px)}
.hero h1{max-width:16ch}
.hero .sub{max-width:56ch}
/* ---- hover: GeneratePress scurisce i link al passaggio del mouse ---- */
body.cg a:hover,body.cg a:focus,body.cg a:active{color:inherit}
body.cg .svc,body.cg .svc:hover,body.cg .svc h3,body.cg .svc:hover h3{color:var(--txt)}
body.cg .pj,body.cg .pj:hover,body.cg .pj h3{color:#fff}
body.cg .svc .more,body.cg .svc:hover .more{color:var(--mint)}
body.cg .band .lbl a:hover,body.cg .nav ul a:hover,body.cg .cg-footer a:hover{color:var(--mint)}
body.cg .btn:hover{color:var(--dark)}body.cg .btn.ghost:hover{color:var(--mint)}body.cg .light .btn.ghost:hover{color:var(--green)}body.cg .btn.green:hover{color:#fff}
body.cg .contact .ch a:hover{border-color:var(--mint)}
/* ---- pagine interne ---- */
.phero{position:relative;background:var(--ink);overflow:hidden}
.phero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;padding-block:clamp(56px,7vw,96px)}
.phero h1{margin-top:16px;font-size:clamp(34px,4.6vw,58px);max-width:18ch}
.phero .lead{margin-top:20px;font-size:clamp(17px,1.4vw,20px);color:#d9e2dd;max-width:54ch}
.phero .ctas{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.phero .pic{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:100%;background:var(--ink2)}
.phero .pic img{width:100%;height:100%;object-fit:cover}
.crumbs{font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:var(--mint)}
@media (max-width:900px){.phero .wrap{grid-template-columns:minmax(0,1fr)}}
.prose{max-width:70ch}
.prose p{margin-top:14px;color:var(--muted);font-size:17px}
.light .prose p,.paper .prose p{color:var(--darkmuted)}
.prose h2{margin-top:0}
.cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
@media (max-width:860px){.cols2{grid-template-columns:minmax(0,1fr)}}
.kit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:700px){.kit{grid-template-columns:minmax(0,1fr)}}
.kit .box{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.light .kit .box,.paper .kit .box{background:var(--paper);border-color:rgba(14,24,21,.12)}
.kit .box h3{font-size:19px;margin-bottom:10px}
.kit .box .eyebrow{margin-bottom:10px}
.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.list li{position:relative;padding-left:22px;color:var(--muted);font-size:15.5px}
.light .list li,.paper .list li{color:var(--darkmuted)}
.list li::before{content:"/";position:absolute;left:0;top:0;font-family:var(--disp);font-weight:700;color:var(--mint)}
.light .list li::before,.paper .list li::before{color:var(--green)}
.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.light .faq,.paper .faq{border-color:rgba(14,24,21,.14)}
.faq .q{padding:20px 0;border-bottom:1px solid var(--line)}
.light .faq .q,.paper .faq .q{border-color:rgba(14,24,21,.14)}
.faq h3{font-size:18px}
.faq p{margin-top:8px;color:var(--muted);font-size:15.5px}
.light .faq p,.paper .faq p{color:var(--darkmuted)}
.ctaband{background:var(--green);color:#fff}
.ctaband .wrap{padding-block:48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ctaband h2{font-size:clamp(24px,3vw,34px);max-width:26ch}
.ctaband p{color:#e2f3ec;margin-top:8px;max-width:56ch}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.tiles{grid-template-columns:minmax(0,1fr)}}
.tile{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px}
.light .tile,.paper .tile{background:var(--paper);border-color:rgba(14,24,21,.12)}
.tile h3{font-size:19px;margin:10px 0 8px}
.tile p{color:var(--muted);font-size:15.5px}
.light .tile p,.paper .tile p{color:var(--darkmuted)}
.tile .more{display:inline-block;margin-top:14px;font-family:var(--disp);font-weight:700;color:var(--mint)}
.light .tile .more,.paper .tile .more{color:var(--green)}
.mt{margin-top:28px}