body{margin:0;background:#F5F5F2}
.b{font-family:Lora,'Iowan Old Style',Georgia,serif;font-weight:400;color:#2B383B;background:#F5F5F2;width:100%;box-sizing:border-box;overflow-x:hidden}
.b a{color:#2B383B;text-decoration:none}
.b-nav{position:relative;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:26px 40px;box-sizing:border-box}
.b-nav .l,.b-nav .r{display:flex;gap:26px;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:400}
.b-nav .r{justify-content:flex-end}
.b-wordmark{font-family:Poppins,'Neometric',sans-serif;font-weight:800;font-size:21px;letter-spacing:-0.01em;line-height:0.95;text-transform:none;white-space:nowrap;text-align:center}.b-wordmark span{display:block}
.b-hero{position:relative;height:900px;margin-top:-78px;overflow:hidden}
.b-hero img{width:100%;height:100%;object-fit:cover;display:block}
.b-hero .veil{position:absolute;inset:0;background:rgba(245,245,242,0.22)}
.b-hero h1{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);margin:0;width:760px;max-width:88%;text-align:center;font-weight:300;font-size:42px;line-height:1.25;letter-spacing:-0.005em;color:#2B383B}
.b-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:780px}
.b-split .img{position:relative;overflow:hidden}
.b-split .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.b-split .txt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 96px;box-sizing:border-box}
.b-split .txt .k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#637B7F;font-weight:400;margin-bottom:28px}
.b-split .txt h2{margin:0 0 22px;font-weight:400;font-size:22px;letter-spacing:0.12em;text-transform:uppercase}
.b-split .txt p{margin:0;font-size:22px;line-height:1.5;max-width:520px}
.b-split .txt p+p{margin-top:22px}
.b-more{display:inline-block;margin-top:44px;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;border-bottom:1px solid transparent;padding-bottom:2px}
.b-more:hover{border-bottom-color:#2B383B}
.b-rev .img{order:2}.b-rev .txt{order:1}
.b-team{padding:120px 40px 110px;text-align:center}
.b-team h2{margin:0 0 18px;font-weight:400;font-size:22px;letter-spacing:0.12em;text-transform:uppercase}
.b-team .lead{font-size:22px;line-height:1.5;max-width:720px;margin:0 auto 64px}
.b-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1240px;margin:0 auto}
.b-team-grid .ph{aspect-ratio:3/4;overflow:hidden;background:#E3E3DD}
.b-team-grid .ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.b-team-grid .nm{margin-top:20px;font-size:17px;font-weight:400}
.b-team-grid .rl{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:#637B7F;margin-top:6px}
.b-tech{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #2B383B;border-left:1px solid #2B383B;max-width:1240px;margin:56px auto 0;font-size:14px}
.b-tech div,.b-tech>a{border-right:1px solid #2B383B;border-bottom:1px solid #2B383B;padding:22px 18px;text-align:left;line-height:1.35;text-decoration:none}.b-tech>a:hover{background:rgba(255,255,255,0.06)}
.b-tech div b{display:block;font-weight:400;letter-spacing:0.08em;text-transform:uppercase;font-size:12px;margin-bottom:6px}
.b-marq{border-top:1px solid #2B383B;border-bottom:1px solid #2B383B;overflow:hidden;white-space:nowrap;padding:30px 0;font-size:24px;letter-spacing:0.08em;text-transform:uppercase;font-weight:300}
.b-marq span{display:inline-block;padding-right:64px;animation:b-run 28s linear infinite}
@keyframes b-run{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.b-foot{padding:0 40px 28px}
.b-foot .two{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #2B383B}
.b-foot .two>div{padding:36px 0 40px}
.b-foot .two>div+div{border-left:1px solid #2B383B;padding-left:40px}
.b-foot .two h3{margin:0 0 26px;font-weight:400;font-size:22px;letter-spacing:0.12em;text-transform:uppercase}
.b-foot .two a,.b-foot .two span{display:block;font-size:22px;line-height:1.5}
.b-foot .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:28px 0 60px;font-size:11px;letter-spacing:0.08em;line-height:1.7}
.b-foot .cols b{display:block;font-weight:400;text-transform:uppercase;letter-spacing:0.14em;margin-bottom:6px}
.b-foot .cols a{display:block}
.b-foot .legal{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media (max-width:900px){
.b-nav{grid-template-columns:1fr;gap:12px;text-align:center}.b-nav .l,.b-nav .r{justify-content:center;flex-wrap:wrap}
.b-hero{height:640px;margin-top:0}.b-hero h1{font-size:30px}
.b-split{grid-template-columns:1fr;min-height:0}.b-split .img{height:420px;order:1 !important}.b-split .txt{order:2 !important;padding:56px 24px}.b-split .txt p{font-size:19px}
.b-team-grid,.b-tech,.b-foot .cols{grid-template-columns:1fr}.b-foot .two{grid-template-columns:1fr}.b-foot .two>div+div{border-left:0;padding-left:0;border-top:1px solid #2B383B}
}
.c-btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 26px;border:1px solid #2B383B;border-radius:999px;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;box-sizing:border-box;background:transparent}
.c-btn.solid{background:#2B383B;color:#F5F5F2}
.c-btn.light{border-color:#F5F5F2;color:#F5F5F2}
.c-hero{position:relative;height:820px;margin-top:-78px;overflow:hidden}
.c-hero img{width:100%;height:100%;object-fit:cover;display:block}
.c-hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(245,245,242,0.10) 0%,rgba(245,245,242,0.45) 55%,rgba(245,245,242,0.80) 100%)}
.c-hero .in{position:absolute;left:0;right:0;bottom:0;padding:0 40px 64px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.c-hero h1{margin:0 0 18px;font-weight:300;font-size:46px;line-height:1.15;color:#2B383B;max-width:640px}
.c-hero p{margin:0 0 30px;font-size:18px;line-height:1.5;color:#2B383B;max-width:560px}
.c-hero .meta{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#2B383B;text-align:right;line-height:2}
.c-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #2B383B}
.c-trust div{padding:30px 40px 30px 0;font-size:15px;line-height:1.45}
.c-trust div+div{padding-left:32px;border-left:1px solid #2B383B}
.c-trust b{display:block;font-weight:400;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:6px}
.c-head{text-align:center;padding:96px 40px 48px}
.c-head .k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#637B7F;font-weight:400;margin-bottom:22px}
.c-head h2{margin:0 0 16px;font-weight:400;font-size:24px;letter-spacing:0.12em;text-transform:uppercase}
.c-head p{margin:0 auto;font-size:19px;line-height:1.5;max-width:680px}
.c-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:560px;border-top:1px solid #2B383B}
.c-split .img{position:relative;overflow:hidden}
.c-split .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.c-split .txt{padding:64px 88px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.c-split .txt .k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#637B7F;font-weight:400;margin-bottom:18px}
.c-split .txt h3{margin:0 0 14px;font-weight:400;font-size:22px;letter-spacing:0.1em;text-transform:uppercase}
.c-split .txt p{margin:0;font-size:18px;line-height:1.5;max-width:520px}
.c-split ul{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-size:15px;line-height:1.4;max-width:520px}
.c-split ul li{padding-left:16px;position:relative}
.c-split ul li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:1px;background:#637B7F}
.c-rev .img{order:2}.c-rev .txt{order:1}
.c-dark{background:#3B4B4E;color:#F5F5F2;padding:100px 40px}
.c-dark a{color:#F5F5F2}
.c-dark .c-head{padding:0 0 48px}.c-dark .c-head .k{color:#BFD0D1}
.c-dark .b-tech{border-color:rgba(245,245,242,0.35);margin-top:0}
.c-dark .b-tech div{border-color:rgba(245,245,242,0.35);color:#F5F5F2}
.c-dark .b-tech div span,.c-dark .b-tech>a span{color:#BFD0D1}
.c-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #2B383B;border-bottom:1px solid #2B383B;max-width:1240px;margin:0 auto}
.c-steps div{padding:40px 32px 44px}
.c-steps div+div{border-left:1px solid #2B383B}
.c-steps .n{font-family:Lora,Georgia,serif;font-size:34px;margin-bottom:18px}
.c-steps h4{margin:0 0 10px;font-weight:400;font-size:17px}
.c-steps p{margin:0;font-size:15px;line-height:1.5}
.c-art{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1240px;margin:0 auto}
.c-art .ph{aspect-ratio:4/3;overflow:hidden}
.c-art .ph img{width:100%;height:100%;object-fit:cover;display:block}
.c-art .k{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#637B7F;margin:18px 0 8px}
.c-art h4{margin:0;font-weight:400;font-size:18px;line-height:1.35}
.c-contact{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #2B383B;min-height:520px}
.c-contact .txt{padding:72px 88px;display:flex;flex-direction:column;justify-content:center}
.c-contact .row{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:14px 0;border-top:1px solid #2B383B;font-size:17px}
.c-contact .row:last-of-type{border-bottom:1px solid #2B383B}
.c-contact .row b{font-weight:400;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;padding-top:5px;color:#637B7F}
@media (max-width:900px){.c-trust,.c-steps,.c-art,.c-contact{grid-template-columns:1fr}.c-split{grid-template-columns:1fr;min-height:0}.c-split .img{height:360px;order:1 !important}.c-split .txt{order:2 !important;padding:40px 24px}.c-hero{height:640px;margin-top:0}.c-hero .in{flex-direction:column;align-items:flex-start;padding:0 24px 40px}.c-hero h1{font-size:32px}.c-trust div+div,.c-steps div+div{border-left:0;border-top:1px solid #2B383B;padding-left:0}}
.b .b-nav .l,.b .b-nav .r,.b .b-more,.b .c-btn,.b .k,.b h1,.b h2,.b h3,.b h4,.b .b-tech b,.b .b-tech,.b .c-trust,.b .b-marq,.b .b-foot,.b .b-team-grid .rl,.b .b-team-grid .nm,.b .c-steps .n,.b .c-contact .row b,.b .c-art .k{font-family:Poppins,'Neometric','Helvetica Neue',Arial,sans-serif}
.b h2,.b h3{font-weight:500}
.b .c-hero h1{font-family:Lora,'Iowan Old Style',Georgia,serif;font-weight:400}
.b .c-hero .meta,.b .c-hero .meta *{font-family:Poppins,sans-serif}
.b .c-hero p,.b .c-split .txt p,.b .c-head p,.b .b-team .lead,.b .c-steps p,.b .c-contact p,.b .c-split ul{font-family:Lora,'Iowan Old Style',Georgia,serif}
.b .c-steps .n{font-weight:300}
.b .c-art h4{font-family:Lora,'Iowan Old Style',Georgia,serif;font-weight:400}
.c-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:280px;gap:14px;max-width:1360px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.c-gal img{width:100%;height:100%;object-fit:cover;display:block}
.c-gal .w2{grid-column:span 2}.c-gal .h2{grid-row:span 2}
@media (max-width:900px){.c-gal{grid-template-columns:1fr 1fr;grid-auto-rows:200px;padding:0 24px}.c-gal .w2{grid-column:span 2}.c-gal .h2{grid-row:span 1}}
.c-list{max-width:1240px;margin:0 auto;text-align:left}
.c-grp{display:grid;grid-template-columns:300px 1fr;gap:40px;padding:48px 0 24px;border-top:1px solid #2B383B}
.c-grp:first-child{border-top:0;padding-top:8px}
.c-grp .gh{font-family:Poppins,sans-serif;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:#637B7F;padding-top:22px}
.c-grp .gh small{display:block;margin-top:10px;font-family:Lora,Georgia,serif;font-size:15px;line-height:1.5;color:#4A5F63;text-transform:none;letter-spacing:0}
.c-row{display:grid;grid-template-columns:minmax(220px,38%) 1fr 24px;gap:24px;align-items:baseline;padding:18px 0;border-bottom:1px solid #D3DCDD;text-decoration:none;color:inherit}
.c-row:last-child{border-bottom:0}
.c-row h4{margin:0;font-weight:500;font-size:16px;font-family:Poppins,sans-serif;letter-spacing:0.01em}
.c-row p{margin:0;font-size:15px;line-height:1.5;font-family:Lora,Georgia,serif;color:#4A5F63}
.c-row em{font-style:normal;color:#637B7F;font-family:Poppins,sans-serif}
.c-row:hover h4{color:#637B7F}
.c-sec{padding:96px 40px 80px;text-align:center}
.c-sec h2{margin:0 0 16px;font-weight:500;font-size:24px;letter-spacing:0.12em;text-transform:uppercase;font-family:Poppins,sans-serif}
.c-sec .k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#637B7F;font-weight:400;margin-bottom:22px;font-family:Poppins,sans-serif}
.c-sec .lead{font-size:19px;line-height:1.5;max-width:720px;margin:0 auto 48px;font-family:Lora,Georgia,serif}
.b-steps{text-align:left;max-width:520px}
.b-steps .st{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:22px 0;border-top:1px solid #2B383B}
.b-steps .st:last-child{border-bottom:1px solid #2B383B}
.b-steps .n{font-family:Poppins,sans-serif;font-weight:300;font-size:26px;line-height:1}
.b-steps h4{margin:0 0 6px;font-weight:500;font-size:16px;font-family:Poppins,sans-serif}
.b-steps p{margin:0;font-size:15px;line-height:1.5;max-width:none}
@media (max-width:900px){.c-grp{grid-template-columns:1fr;gap:12px}.c-row{grid-template-columns:1fr;gap:4px}.c-row em{display:none}}
.c-pd{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;max-width:1360px;margin:0 auto;padding:0 40px 80px;box-sizing:border-box}
.c-pd figure{margin:0}
.c-pd img{width:100%;display:block;border:1px solid #D3DCDD}
.c-pd figcaption{display:flex;justify-content:space-between;gap:16px;padding:14px 2px 0;font-family:Poppins,sans-serif;font-size:12px;letter-spacing:0.12em;text-transform:uppercase}
.c-pd figcaption span:last-child{color:#637B7F}
.c-note{max-width:860px;margin:0 auto;padding:0 40px 40px;font-size:15px;line-height:1.55;color:#4A5F63;text-align:center;font-family:Lora,Georgia,serif}
@media (max-width:900px){.c-pd{grid-template-columns:1fr;padding:0 24px 56px}}
.c-form{border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1.4fr;gap:56px;padding:72px 88px}
.c-form .hd h2{margin:0 0 14px;font-family:Poppins,sans-serif;font-weight:500;font-size:22px;letter-spacing:.1em;text-transform:uppercase}
.c-form .hd p{font-family:Lora,'Iowan Old Style',Georgia,serif;font-size:17px;line-height:1.6;color:var(--ink2);max-width:420px}
.c-form .hd .k{margin-bottom:18px}
.cf{display:flex;flex-direction:column;gap:18px;max-width:640px}
.cf .f2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf label{display:flex;flex-direction:column;gap:6px;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-t)}
.cf input,.cf textarea{font:16px/1.4 Lora,'Iowan Old Style',Georgia,serif;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:12px 14px;letter-spacing:0;text-transform:none}
.cf textarea{resize:vertical;min-height:110px}
.cf input:focus,.cf textarea:focus{outline:2px solid var(--sage);outline-offset:1px;border-color:var(--sage)}
.cf .nt{margin:-6px 0 0;font-size:13px;color:var(--muted)}
.cf .ck{flex-direction:row;align-items:flex-start;gap:10px;font-family:Lora,'Iowan Old Style',Georgia,serif;font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink2);line-height:1.5}
.cf .ck input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--ink)}
.cf .ck a{text-decoration:underline}
.cf .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf .ac{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cf .ac .c-btn{height:46px;padding:0 26px;cursor:pointer}
.cf .ac .c-btn:disabled{opacity:.6;cursor:wait}
.cf .st{font-size:15px;color:var(--ink2);flex:1 1 260px}
@media (max-width:900px){.c-form{grid-template-columns:1fr;gap:28px;padding:56px 20px}.cf .f2{grid-template-columns:1fr}}
/* ===== Livello di revisione (17/10): colori, tipografia, componenti, responsive ===== */
:root{--ink:#2B383B;--ink2:#3B4B4E;--sage:#637B7F;--sage-t:#55696D;--muted:#4A5F63;--paper:#F5F5F2;--mist:#ECF0F0;--line:#D3DCDD;--on-dark:#F5F5F2;--on-dark2:#BFD0D1}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
.b{overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.b-marq span{animation:none}}
.b-marq:hover span,.b-marq:focus span{animation-play-state:paused}
[id]{scroll-margin-top:24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.b .skip{position:absolute;left:12px;top:-60px;z-index:20;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:999px;font-family:Poppins,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.b .skip:focus{top:12px}
.b a:focus-visible,.b button:focus-visible,.b summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.c-dark a:focus-visible{outline-color:var(--on-dark)}
/* etichette in maiuscoletto (stile di base, specificita' minima) */
:where(.b) .k{display:block;font-family:Poppins,sans-serif;font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-t);margin-bottom:18px}
/* link testuali in maiuscoletto: larghi quanto il testo anche dentro colonne flessibili */
.c-split .txt .b-more,.c-contact .txt .b-more{align-self:flex-start}
/* etichette in maiuscoletto: verde salvia piu' scuro per il contrasto AA su carta (4.1 -> 5.3:1) */
.b .k,.c-split .txt .k,.c-head .k,.c-sec .k,.b-split .txt .k,.c-art .k,.c-contact .row b,.c-grp .gh,.c-grp .gh h3,.b-team-grid .rl,.c-split .txt .rl,.c-pd figcaption span:last-child{color:var(--sage-t)}
.c-dark .c-head .k{color:var(--on-dark2)}
.b-split .txt .k,.c-split .txt .k{font-size:11px}
.c-split ul li:before{background:var(--sage-t)}
/* ---- header ---- */
.b-nav{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"l w r";align-items:center;padding:24px 40px;column-gap:24px}
.b-nav .b-links{display:contents}
.b-nav .l{grid-area:l;flex-wrap:wrap;gap:6px 24px}
.b-nav .r{grid-area:r;flex-wrap:wrap;gap:6px 24px;align-items:center}
.b-nav .b-wordmark{grid-area:w}
.b-nav .l a,.b-nav .r a{white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;text-underline-offset:6px;text-decoration-thickness:1px}
.b-nav .l a:hover,.b-nav .r a:hover,.b-nav .l a[aria-current],.b-nav .r a[aria-current]{text-decoration-line:underline}
.b-nav .r a.c-btn{height:38px;padding:0 18px;border:1px solid var(--ink)}
.b-nav .r a.c-btn:hover{background:var(--ink);color:var(--paper)}
.b-call,.b-menu{display:none}
.b-nav .b-wordmark{display:block;padding:4px 0}
@media (max-width:1680px){
.b-nav{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 24px 12px;text-align:center}
.b-nav .b-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 24px}
.b-nav .l,.b-nav .r{justify-content:center}
.c-hero,.b-hero{margin-top:0}
}
@media (min-width:1681px){
body:has(.c-hero) .b-nav,body:has(.b-hero) .b-nav{position:absolute;top:0;left:0;right:0}
.c-hero,.b-hero{margin-top:0}
}
@media (max-width:900px){
.b-nav{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"w call menu" "links links links";padding:14px 16px;column-gap:10px;row-gap:0;text-align:left;position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line)}
.b-nav .b-wordmark{grid-area:w;justify-self:start;font-size:19px;text-align:left}
.b-call,.js .b-menu{display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:44px;padding:0 16px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-family:Poppins,sans-serif;font-weight:400;font-size:11px;line-height:1;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.b-call{grid-area:call;background:var(--ink);color:var(--paper) !important}
.b-menu{grid-area:menu}
.b-nav .b-links{grid-area:links;display:block;padding:10px 0 6px;align-items:stretch}
.js .b-nav .b-links{display:none}
.js .b-nav .b-links.open{display:block}
.b-nav .b-links .l,.b-nav .b-links .r{display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:13px}
.b-nav .b-links a{min-height:48px;border-bottom:1px solid var(--line);justify-content:flex-start;text-decoration:none}
.b-nav .b-links a[aria-current]{border-bottom:1px solid var(--ink);font-weight:500;text-decoration:none}
[id]{scroll-margin-top:88px}
.b-nav .b-links a.c-btn{margin-top:14px;height:48px;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:var(--paper)}
}
/* senza JavaScript il menu resta visibile, in forma compatta */
@media (max-width:900px){html:not(.js) .b-nav .b-links .l,html:not(.js) .b-nav .b-links .r{flex-direction:row;flex-wrap:wrap;gap:0 18px}html:not(.js) .b-nav .b-links a{border-bottom:0;min-height:44px}html:not(.js) .b-nav .b-links a.c-btn{flex:1 1 100%}}
/* ---- pulsanti ---- */
.b .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.c-btn{transition:background .15s,color .15s;white-space:nowrap}
.c-btn:hover{background:var(--ink);color:var(--paper)}
.c-btn.solid:hover{background:var(--ink2)}
.c-dark .c-btn{border-color:var(--on-dark);color:var(--on-dark)}
.b .b-more{padding:15px 0;margin-top:13px;margin-bottom:-15px;border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.b .b-more:hover{text-decoration-color:transparent}
.b-tech .all .b-more{margin:0}
.c-dark .b-more{color:var(--on-dark)}
@media (max-width:600px){.b .btns .c-btn{flex:1 1 100%;justify-content:center;height:50px}}
/* ---- hero home ---- */
.b .c-hero h1.hk{margin:0 0 14px;font:500 12px/1.5 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);max-width:none}
.c-hero .claim{margin:0 0 18px;font-family:Lora,Georgia,serif;font-weight:400;font-size:46px;line-height:1.15;color:var(--ink);max-width:640px}
.c-prose strong{font-weight:600}
/* velo semitrasparente (consentito dalla regola 8) a sinistra, dove il testo passa sopra il cactus della foto */
@media (min-width:901px){.c-hero .veil{background:linear-gradient(90deg,rgba(245,245,242,.68) 0%,rgba(245,245,242,.56) 45%,rgba(245,245,242,0) 70%),linear-gradient(180deg,rgba(245,245,242,0.10) 0%,rgba(245,245,242,0.45) 55%,rgba(245,245,242,0.80) 100%)}}
@media (max-width:900px){.c-hero .meta{text-align:left}.c-hero{height:auto;min-height:620px;display:flex;flex-direction:column}.c-hero img{position:absolute;inset:0}.c-hero .in{position:relative;margin-top:auto;padding-top:160px}.c-hero .claim{font-size:32px}.c-hero .veil{background:linear-gradient(180deg,rgba(245,245,242,0.10) 0%,rgba(245,245,242,0.55) 40%,rgba(245,245,242,0.92) 100%)}}
.c-trust-w{padding:0 40px}
@media (max-width:900px){.c-trust-w{padding:0 24px}.c-trust div{padding:22px 0}}
/* ---- split (foto + testo) ---- */
.c-split.nob{border-top:0}
.c-split.bb{border-bottom:1px solid var(--ink)}
.c-split.tall{min-height:620px}
.c-split .img.top img{object-position:top}
.c-split .img.mid img{object-position:center 40%}
.c-split .txt h2{margin:0 0 14px;font-weight:500;font-size:22px;line-height:1.35;letter-spacing:.1em;text-transform:uppercase}
.c-split .txt h1{margin:0 0 14px;font-family:Poppins,sans-serif;font-weight:500;font-size:24px;line-height:1.35;letter-spacing:.1em;text-transform:uppercase}
.c-split .txt h3{line-height:1.35}
.c-split.hero{min-height:640px;border-top:0}
.c-split .txt .crumbs{display:flex;flex-wrap:wrap;gap:6px}
.c-split .txt .crumbs a{color:var(--sage-t);text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:13px 0;margin:-13px 0}
.c-split .txt .crumbs a:hover{text-decoration-color:transparent}
.c-split .txt>.b-steps{margin-top:6px}
.c-split .img.framed{display:flex;align-items:center;justify-content:center;background:var(--mist);padding:48px}
.c-split .img.framed img{position:static;width:min(100%,220px);height:auto;aspect-ratio:170/220;object-fit:cover;border:8px solid var(--paper);box-shadow:0 20px 40px rgba(43,56,59,.12)}
.pd-teaser .img{display:grid;grid-template-columns:minmax(0,560px);justify-content:center;gap:16px;padding:48px 40px;background:var(--mist);align-content:center}
.pd-teaser .img img{position:static !important;width:100%;height:auto !important;aspect-ratio:auto;object-fit:contain !important;border:1px solid var(--line);background:#fff}
.gift{background:var(--mist)}
.gift .img{display:flex;align-items:center;justify-content:center;padding:70px 80px}
.gift .img img{position:static !important;width:100%;max-width:500px;height:auto !important;box-shadow:0 30px 60px rgba(43,56,59,.18);transform:rotate(-4deg)}
@media (max-width:900px){
.c-split .img{height:auto;aspect-ratio:4/3}
.c-split.hero .img{aspect-ratio:5/4}
.c-split .img.top img{object-position:center 20%}
.c-split .img.framed{aspect-ratio:auto;padding:40px 24px}
.pd-teaser .img{aspect-ratio:auto;padding:24px}
.gift .img{aspect-ratio:auto;padding:48px 32px}
.c-split .txt h1{font-size:21px}
.c-split.tall{min-height:0}
}
/* ---- intestazioni di sezione ---- */
.c-head .k,.c-sec .k{margin-bottom:18px}
.c-head h1{margin:0 0 16px;font-family:Poppins,sans-serif;font-weight:500;font-size:24px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase}
.c-head h2,.c-sec h2{line-height:1.35}
.c-head.page{padding:72px 40px 48px}
.c-head.page p{max-width:680px}
.c-more{text-align:center;padding:0 40px 80px}
@media (max-width:900px){.c-head,.c-sec{padding-left:24px;padding-right:24px}.c-head{padding-top:72px}.c-head.page{padding:48px 24px 32px}.c-head h2,.c-sec h2{font-size:21px}}
/* ---- tecnologie su fondo scuro ---- */
.b-tech>a,.b-tech>div{display:flex;flex-direction:column;gap:6px;color:inherit}
.b-tech b{display:block;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.b-tech span{color:inherit}
.b-tech .go{display:block;margin-top:auto;padding-top:8px;font-style:normal;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.b-tech>a:hover .go{text-decoration:underline}
.b-tech .all{justify-content:center}
.b-tech .all .b-more{margin:0;align-self:flex-start}
.c-dark .b-tech>a,.c-dark .b-tech>div{border-color:rgba(245,245,242,.35)}
.c-dark .b-tech span{color:var(--on-dark2)}
.c-dark .b-tech .go{color:var(--on-dark)}
@media (max-width:1100px){.b-tech{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.c-dark{padding:72px 16px}.b-tech{grid-template-columns:1fr}.b-tech>a,.b-tech>div{padding:18px 16px}}
/* ---- elenchi dei trattamenti ---- */
.c-row:target{background:var(--mist);box-shadow:-12px 0 0 var(--mist),12px 0 0 var(--mist)}
.c-grp .gh h3{margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit}
.c-row{min-height:24px}
.c-row h4{line-height:1.4}
a.c-row:hover h4{color:var(--sage-t);text-decoration:underline}
a.c-row h4:after{content:" ›";color:var(--sage-t)}
a.c-row em{display:none}
div.c-row{grid-template-columns:minmax(220px,38%) 1fr}
.c-sec .c-list{margin-top:8px}
@media (max-width:900px){.c-sec{padding-top:72px;padding-bottom:56px}.c-grp{padding-top:36px}.c-row,div.c-row{grid-template-columns:1fr}}
/* ---- indice delle aree (pagina trattamenti) ---- */
.c-jump{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;max-width:1240px;margin:0 auto;padding:0 40px 8px}
.c-jump .k{width:100%;text-align:center;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.c-jump a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--ink);border-radius:999px;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.c-jump a:hover{background:var(--ink);color:var(--paper)}
.c-sec.tight{padding-top:40px}
.c-grp .gh small a{color:var(--sage-t);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;display:inline-block;padding:12px 0;margin:-12px 0}
.c-grp .gh small a:hover{text-decoration-color:transparent}
@media (max-width:900px){.c-jump{padding:0 16px 8px;justify-content:flex-start}.c-jump .k{text-align:left}.c-jump a{min-height:44px}}
/* ---- passi (prima visita / come funziona) ---- */
.b .b-steps h3{margin:0 0 6px;font-weight:500;font-size:16px;line-height:1.4;font-family:Poppins,sans-serif;letter-spacing:.01em;text-transform:none}
.b .c-steps h3{margin:0 0 10px;font-weight:500;font-size:17px;letter-spacing:0;text-transform:none}
.c-steps-w{padding:0 40px 96px}
@media (max-width:900px){.c-steps-w{padding:0 24px 72px}.c-steps div{padding:28px 0 32px}.c-steps .n{font-size:28px;margin-bottom:10px}}
/* ---- equipe in card ---- */
.b-team .k{margin-bottom:18px}
.b-team-grid .nm a{border-bottom:1px solid transparent}
.b-team-grid .nm a:hover{border-bottom-color:var(--ink)}
.b-team-grid .bio{font-size:15px;line-height:1.5;margin:10px 0 0}
.b-team.sm{padding:80px 40px}
.b-team.sm h2{margin-bottom:32px}
.b-team-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
.b-team-grid.n1{grid-template-columns:minmax(0,1fr);max-width:300px}
.b-team.flush{padding-top:8px;border-top:0}
/* foto segnaposto della Dott.ssa Isè (170x220 px): mostrata in cornice a misura ridotta, senza ingrandirla troppo */
.b-team-grid .ph:has(img[src*="90658e366450"]),.b-team-grid .ph.framed{display:flex;align-items:center;justify-content:center;background:var(--mist)}
.b-team-grid .ph img[src*="90658e366450"]{width:min(62%,220px);height:auto;aspect-ratio:170/220;object-fit:cover;border:6px solid var(--paper);box-shadow:0 14px 30px rgba(43,56,59,.12)}
.b-team-grid .rl{line-height:1.5}
@media (max-width:900px){.b-team{padding:72px 24px}.b-team .lead{font-size:19px;margin-bottom:40px}.b-team-grid{max-width:420px}.b-team-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.b-team-grid.n2 .nm{font-size:15px}.b-team-grid.n2 .rl{font-size:10px;letter-spacing:.1em}}
/* ---- galleria dello studio: nessun buco nella griglia su telefono ---- */
.c-gal{grid-auto-flow:dense}
.c-gal img{height:100%}
/* ---- articoli ---- */
.c-art-w{padding:0 40px 96px}
.c-art a{display:block}
.b .c-art h3,.b .c-art h2{margin:0;font-family:Lora,Georgia,serif;font-weight:400;font-size:19px;line-height:1.4;letter-spacing:0;text-transform:none}
.c-art a:hover h3,.c-art a:hover h2{text-decoration:underline}
@media (max-width:900px){.c-art-w{padding:0 24px 72px}.c-art{gap:36px}}
/* ---- contatti ---- */
.c-contact h2,.c-contact h1{margin:0 0 14px;font-family:Poppins,sans-serif;font-weight:500;font-size:22px;letter-spacing:.1em;text-transform:uppercase}
.c-contact .k{margin-bottom:18px}
.c-contact .intro{margin:0 0 28px;font-size:17px;line-height:1.5;font-family:Lora,Georgia,serif}
.c-contact .row{align-items:baseline}
.c-contact .row a{overflow-wrap:anywhere;display:inline-block;padding:12px 0;margin:-12px 0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.c-contact .row a:hover{text-decoration-color:var(--ink)}
.c-contact .row span{overflow-wrap:anywhere}
.c-map{position:relative;min-height:420px;background:#D3DCDD}
.c-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.c-map .fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 11px/1.4 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){.c-contact .txt{padding:48px 24px}.c-contact .row{grid-template-columns:96px 1fr;font-size:16px}.c-map{min-height:320px}}
/* ---- invito finale ---- */
.c-cta{text-align:center;padding:88px 40px 96px;border-top:1px solid var(--ink)}
.c-cta h2{margin:0 0 14px;font-family:Poppins,sans-serif;font-weight:500;font-size:22px;letter-spacing:.12em;text-transform:uppercase}
.c-cta p{margin:0 auto;max-width:620px;font-family:Lora,Georgia,serif;font-size:18px;line-height:1.55}
.c-cta .btns{justify-content:center}
@media (max-width:900px){.c-cta{padding:64px 24px 72px}}
/* ---- testi lunghi (pagine tecnologia) ---- */
.c-prose{max-width:760px;margin:0 auto;padding:0 40px 24px;text-align:left;box-sizing:border-box}
.c-prose h2{font-family:Poppins,sans-serif;font-weight:500;font-size:15px;letter-spacing:0.14em;text-transform:uppercase;margin:56px 0 16px;padding-top:24px;border-top:1px solid var(--line)}
.c-prose h2:first-child{border-top:0;padding-top:0;margin-top:0}
.c-prose p,.c-prose li{font-family:Lora,Georgia,serif;font-size:18px;line-height:1.65}
.c-prose p{margin:0 0 14px}
.c-prose ul,.c-prose ol{margin:0 0 14px;padding-left:22px}
.c-prose li{margin-bottom:8px}
.c-prose li::marker{color:var(--sage-t)}
.c-prose details{border-top:1px solid var(--ink)}
.c-prose details:last-of-type{border-bottom:1px solid var(--ink)}
.c-prose summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;font-family:Poppins,sans-serif;font-size:16px;font-weight:500;line-height:1.4;cursor:pointer;list-style:none}
.c-prose summary::-webkit-details-marker{display:none}
.c-prose summary:after{content:"+";flex:none;font-weight:300;font-size:24px;line-height:1;color:var(--sage-t)}
.c-prose details[open] summary:after{content:"–"}
.c-prose details p{margin:0 0 18px}
.c-prose .note{font-size:15px;color:var(--muted)}
.c-prose.lead-in{padding-top:72px}
@media (max-width:900px){.c-prose{padding:0 24px 16px}.c-prose.lead-in{padding-top:48px}.c-prose p,.c-prose li{font-size:17px}}
/* ---- schede equipe e tag ---- */
.c-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.c-tags li{font-family:Poppins,sans-serif;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;border:1px solid var(--ink);border-radius:999px;padding:7px 14px}
.c-split .txt .rl{font-family:Poppins,sans-serif;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;margin:-4px 0 18px;line-height:1.5}
.c-split .txt p+p{margin-top:14px}
/* ---- prima e dopo ---- */
.c-pd img{height:auto}
/* ---- footer ---- */
.b-foot .two h2{margin:0 0 26px;font-weight:500;font-size:22px;letter-spacing:.12em;text-transform:uppercase}
.b-foot a{display:inline-block}
.b-foot .two a{display:block;width:max-content;max-width:100%;border-bottom:1px solid transparent}
.b-foot .two a:hover,.b-foot .cols a:hover,.b-foot .legal a:hover{border-bottom-color:var(--ink)}
.b-foot .cols{font-size:12px}
.b-foot .cols a{display:block;width:max-content;padding:3px 0;border-bottom:1px solid transparent}
.b-foot .legal a{border-bottom:1px solid transparent;padding:6px 0}
@media (max-width:900px){.b-foot{padding:0 24px 28px}.b-foot .two a{font-size:19px;min-height:44px;display:flex;align-items:center}.b-foot .cols{gap:24px;padding:28px 0 40px}.b-foot .cols a{padding:0;min-height:44px;display:flex;align-items:center}.b-foot .legal{flex-direction:column;gap:10px}.b-foot .legal a{display:inline-flex;align-items:center;min-height:44px;padding:0}}
/* ---- banner scorrevole: link ai contatti, con pulsante di pausa ---- */
.b-marq-w{position:relative}
.b-marq-w .b-marq{padding-right:72px}
a.b-marq{display:block;color:var(--ink)}
a.b-marq:hover span{text-decoration:underline;text-decoration-thickness:1px}
.b-marq-w.paused .b-marq span,.b-marq-w:hover .b-marq span,.b-marq-w:focus-within .b-marq span{animation-play-state:paused}
.b-marq-p{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.b-marq-p span{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.b-marq-p[aria-pressed="true"] span{width:0;height:0;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.b-marq-p:hover{background:var(--ink);color:var(--paper)}
html:not(.js) .b-marq-p{display:none}
@media (prefers-reduced-motion:reduce){.b-marq-p{display:none}}
@media (max-width:900px){.b-marq{padding:20px 0;font-size:18px}.b-marq-p{right:12px}}
/* ===== 18/10: logo ufficiale, righe WhatsApp, mappa su richiesta, privacy ===== */
.b-nav .b-wordmark{line-height:0;color:#637a7f}
.b-wordmark svg{display:block;height:44px;width:auto;fill:currentColor}
@media (max-width:900px){.b-nav .b-wordmark svg{height:34px}}
a.c-row.wa{grid-template-columns:minmax(220px,38%) 1fr auto}
a.c-row.wa h4:after{content:none}
a.c-row.wa em{display:block;font-family:Poppins,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--sage-t)}
a.c-row.wa:hover em{text-decoration:underline;text-underline-offset:4px}
@media (max-width:900px){a.c-row.wa{grid-template-columns:1fr}a.c-row.wa em{display:block;margin-top:6px}}
.c-map .fallback{flex-direction:column;gap:14px;padding:24px;text-align:center}
.c-map .fallback small{font:400 14px/1.5 Lora,Georgia,serif;letter-spacing:0;text-transform:none;color:var(--muted);max-width:320px}
.c-map .fallback .b-more{margin:0}
html:not(.js) .c-map button{display:none}
.c-map.on .fallback{visibility:hidden}
.c-map iframe{z-index:1}
.c-prose.legal h2{font-size:13px}
.c-prose.legal p,.c-prose.legal li{font-size:17px}
.c-note{max-width:1240px;margin:28px auto 0;font:400 14px/1.55 Lora,Georgia,serif;color:var(--muted);text-align:left}
.c-split .txt .c-note{margin:20px 0 0;padding:0;font-size:13px;line-height:1.5;max-width:520px}
.c-sec .c-note{padding:0}
.c-note a{color:var(--sage-t);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.c-prp{border-top:1px solid var(--line)}
.c-prp .c-prose{padding-top:8px}
/* home su telefono: foto intera in alto, testo sotto su fondo carta (senza velo) */
@media (max-width:900px){.c-hero{min-height:0;height:auto;display:block}.c-hero img{position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.c-hero .veil{display:none}.c-hero .in{position:static;margin:0;padding:32px 24px 44px;display:block}.c-hero .meta{margin-top:28px}}
.c-visit .who{display:flex;flex-direction:column;justify-content:center;padding:64px 88px;background:var(--mist);box-sizing:border-box}
.c-visit .who h2{margin:0 0 28px;font-family:Poppins,sans-serif;font-weight:500;font-size:22px;line-height:1.35;letter-spacing:.1em;text-transform:uppercase}
.c-visit .who .b-team-grid{margin:0;max-width:560px;gap:24px;text-align:left}
.c-visit .who .b-team-grid.n1{max-width:280px}
.c-visit .who .b-team-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.c-visit .who .nm{margin-top:14px;font-size:15px}
@media (max-width:900px){.c-visit .who{order:3;padding:48px 24px}.c-visit .who .b-team-grid.n2{gap:16px}}
.c-art.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.c-art.c4{grid-template-columns:1fr}}
.c-prose.legal .upd{font-family:Poppins,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-t);margin-top:40px}
