/* ==========================================================
   EFFEDI — pagine interne
   ========================================================== */
.skip{position:fixed;left:12px;top:-60px;z-index:10002;background:var(--ink);color:#000;padding:10px 16px;font-size:12px;transition:top .3s}
.skip:focus{top:12px}
:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
#loader.is-lite .ld-logo,#loader.is-lite .ld-sub,#loader.is-lite .ld-words,#loader.is-lite .ld-foot,#loader.is-lite .ld-glow,#loader.is-lite .ld-seam{display:none}
.hdr-right .quote-link{position:relative;display:grid;place-items:center;width:40px;height:40px}
.quote-link [data-quote-count]{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--gold);color:#000;font-size:10px;font-weight:600;display:grid;place-items:center;line-height:1;transform:scale(0);transition:transform .4s var(--ease)}
.quote-link [data-quote-count].on{transform:scale(1)}
.nav a.is-current::after{transform:scaleX(1);transform-origin:left}
.lang-list a{display:flex;justify-content:space-between}
.mm-langs a{display:inline-block}

/* page hero */
.phero{position:relative;min-height:min(58vh,560px);display:flex;align-items:flex-end;padding:clamp(120px,17vh,170px) var(--gut) clamp(36px,6vh,64px);overflow:hidden;background:#050505;border-bottom:1px solid var(--faint)}
.phero-bg{position:absolute;inset:0;overflow:hidden}
.phero-bg img{width:100%;height:118%;object-fit:cover;position:relative;top:-9%;filter:brightness(.62) saturate(.9)}
.phero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.55) 55%,rgba(5,5,5,.35)),linear-gradient(180deg,rgba(5,5,5,.7),transparent 30%,transparent 60%,#070707)}
.phero-in{position:relative;z-index:2;max-width:1100px}
.phero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,4.8vw,4.8rem);line-height:.98;letter-spacing:-.015em}
.phero .lead{margin-top:18px;max-width:600px}
.crumbs{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mut);margin-bottom:34px;flex-wrap:wrap}
.crumbs a:hover{color:var(--gold)}
.crumbs i{width:18px;height:1px;background:var(--mut);display:block}
.crumbs span{color:var(--ink)}
.phero.plain{min-height:0;padding-top:clamp(130px,18vh,190px);padding-bottom:clamp(40px,6vh,70px);background:var(--bg)}
.phero.plain h1{font-size:clamp(2rem,3.8vw,3.6rem)}

.sec{padding:clamp(52px,6.2vw,100px) 0}
.sec.alt{background:var(--bg2);border-top:1px solid var(--faint);border-bottom:1px solid var(--faint)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,8vw,130px);align-items:start}
.two.center{align-items:center}
.copy p{color:var(--mut);margin-top:22px;max-width:560px;font-size:clamp(15px,1.1vw,17px)}
.copy .h2{margin-bottom:8px}
.copy .link-u{margin-top:32px}
.fig{position:relative;overflow:hidden;background:#111}
.fig img{width:100%;height:100%;object-fit:cover}
.fig.r45{aspect-ratio:4/5}.fig.r43{aspect-ratio:4/3}.fig.r11{aspect-ratio:1}
.fig img[data-parallax]{height:118%;position:relative;top:-9%}
@media(max-width:900px){.two{grid-template-columns:1fr}}

.bigstats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--faint);border-bottom:1px solid var(--faint)}
.bigstats>div{padding:clamp(26px,3.4vw,50px) clamp(16px,3vw,44px);border-left:1px solid var(--faint)}
.bigstats>div:first-child{border-left:0}
.bigstats .num{display:block;font-family:var(--serif);font-size:clamp(2.6rem,5.2vw,5rem);line-height:1;color:var(--ink);font-variant-numeric:lining-nums}
.bigstats span.l{display:block;margin-top:14px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}
@media(max-width:700px){.bigstats{grid-template-columns:1fr}.bigstats>div{border-left:0;border-top:1px solid var(--faint)}.bigstats>div:first-child{border-top:0}}

.str{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--faint);margin-top:clamp(40px,5vw,70px)}
.str>div{padding:34px 28px 10px 0}
.str span{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:18px}
.str h4{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2vw,30px);margin:14px 0 10px}
.str p{color:var(--mut);font-size:14px;max-width:260px}
@media(max-width:900px){.str{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.str{grid-template-columns:1fr}}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,26px)}
.prod{position:relative;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--faint);transition:border-color .5s}
.prod:hover{border-color:rgba(201,168,119,.5)}
.prod.is-hidden{display:none}
.prod-img{position:relative;aspect-ratio:1;overflow:hidden;background:#ebe6db}
.prod-img img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform 1.2s var(--ease)}
.prod:hover .prod-img img{transform:scale(1.06)}
.prod-img.noimg,.dstage.noimg{background:radial-gradient(120% 120% at 30% 20%,#1c1a16,#0a0a09);display:grid;place-items:center;color:var(--gold)}
.prod-img.noimg svg,.dstage.noimg svg{width:30%;height:auto;opacity:.75}
.prod-img.noimg small,.dstage.noimg small{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}
.prod-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.prod-cat{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.prod h3{font-family:var(--serif);font-weight:500;font-size:clamp(19px,1.5vw,24px);line-height:1.15}
.prod h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.addbtn{position:relative;z-index:2;margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:14px 0 0;border-top:1px solid var(--faint);width:100%;justify-content:space-between;transition:color .3s}
.addbtn::after{content:"+";font-size:18px;font-weight:300;letter-spacing:0;line-height:1}
.addbtn:hover{color:var(--gold)}
.addbtn.is-added{color:var(--gold)}
.addbtn.is-added::after{content:"✓";font-size:13px}
@media(max-width:1000px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pgrid{grid-template-columns:1fr}}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:clamp(30px,4vw,50px) 0 clamp(26px,3vw,40px);align-items:center}
.filters button{padding:12px 22px;border:1px solid var(--faint);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;transition:all .4s var(--ease)}
.filters button:hover{border-color:var(--gold)}
.filters button.on{background:var(--ink);color:#000;border-color:var(--ink)}
.filters .count{margin-left:auto;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
@media(max-width:700px){.filters .count{width:100%;margin:6px 0 0}}

.detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);padding-top:clamp(120px,16vh,170px);padding-bottom:clamp(60px,8vw,110px);align-items:start}
.dstage{position:sticky;top:110px;aspect-ratio:1;background:#ebe6db;overflow:hidden}
.dstage img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.dinfo h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.05;margin:6px 0 24px}
.dinfo .chip{display:inline-block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,168,119,.4);padding:7px 14px}
.dinfo p{color:var(--mut);max-width:520px}
.dfeat{margin:34px 0;border-top:1px solid var(--faint)}
.dfeat li{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--faint);font-size:14px}
.dfeat li::before{content:"";width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex:none}
.dact{display:flex;flex-wrap:wrap;gap:14px}
.dact .addbtn{width:auto;border:1px solid var(--faint);padding:17px 26px;margin:0;gap:18px}
.dcfg{margin-top:16px;border-color:rgba(201,168,119,.5)!important;color:var(--gold)}
.cfg-mini{position:relative;z-index:2;display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);transition:opacity .3s}
.cfg-mini:hover{opacity:.7}
.cfg-mini svg{flex:none}
@media(max-width:900px){.detail{grid-template-columns:1fr}.dstage{position:relative;top:0}}

.team{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.4vw,22px);margin-top:clamp(36px,5vw,64px)}
.member{border:1px solid var(--faint);padding:26px 22px 28px;background:var(--bg2);transition:border-color .5s,transform .8s var(--ease)}
.member:hover{border-color:rgba(201,168,119,.5);transform:translateY(-6px)}
.mono{width:64px;height:64px;border:1px solid rgba(201,168,119,.5);display:grid;place-items:center;font-family:var(--serif);font-size:24px;color:var(--gold);margin-bottom:34px}
.member h4{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.7vw,26px);line-height:1.1;margin-bottom:10px}
.member p{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);line-height:1.7}
@media(max-width:1100px){.team{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.team{grid-template-columns:1fr 1fr}}
.quote-big{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.5rem,2.8vw,2.7rem);line-height:1.22;max-width:1000px}
.quote-by{margin-top:30px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}

.rows{border-top:1px solid var(--faint);margin-top:clamp(30px,4vw,56px)}
.row{display:grid;grid-template-columns:70px 1fr 1.2fr;gap:24px;padding:clamp(18px,2.2vw,30px) 0;border-bottom:1px solid var(--faint);align-items:baseline;transition:padding .6s var(--ease)}
.row:hover{padding-left:14px}
.row .sn{font-size:20px}
.row h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2vw,2rem);line-height:1.08}
.row p{color:var(--mut);font-size:15px;max-width:520px}
@media(max-width:800px){.row{grid-template-columns:44px 1fr}.row p{grid-column:2}}
.sect{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,26px);margin-top:clamp(30px,4vw,56px)}
.sect article{position:relative;min-height:clamp(260px,26vw,400px);overflow:hidden;display:flex;align-items:flex-end;padding:clamp(24px,3vw,44px);background:#0c0c0b;border:1px solid var(--faint)}
.sect article img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55);transition:transform 1.6s var(--ease)}
.sect article:hover img{transform:scale(1.06)}
.sect article::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85))}
.sect article>div{position:relative;z-index:2;max-width:420px}
.sect h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3vw,3rem);margin-bottom:12px}
.sect p{color:rgba(242,237,228,.78);font-size:14px}
@media(max-width:800px){.sect{grid-template-columns:1fr}}

.gal{columns:3;column-gap:clamp(12px,1.4vw,22px);margin-top:clamp(30px,4vw,56px)}
.gal figure{break-inside:avoid;margin-bottom:clamp(12px,1.4vw,22px);position:relative;overflow:hidden;cursor:pointer;background:#111}
.gal img{width:100%;height:auto;transition:transform 1.4s var(--ease)}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.85));display:flex;justify-content:space-between;align-items:baseline;gap:12px;opacity:0;transform:translateY(10px);transition:all .6s var(--ease)}
.gal figure:hover figcaption{opacity:1;transform:none}
.gal figcaption b{font-family:var(--serif);font-weight:500;font-size:22px}
.gal figcaption span{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
@media(max-width:900px){.gal{columns:2}.gal figcaption{opacity:1;transform:none}}
@media(max-width:520px){.gal{columns:1}}
.logos{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--faint);border-left:1px solid var(--faint);margin-top:clamp(30px,4vw,50px)}
.logos>div{display:grid;place-items:center;height:clamp(110px,12vw,170px);border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);padding:20px}
.logos img{max-height:56px;max-width:70%;width:auto;opacity:.85;transition:opacity .4s,transform .6s var(--ease)}
.logos>div:hover img{opacity:1;transform:scale(1.06)}
.logos .wm{margin:0;font-size:20px}
@media(max-width:800px){.logos{grid-template-columns:repeat(2,1fr)}}

.cta{position:relative;overflow:hidden;text-align:center;padding:clamp(60px,7.5vw,116px) 0;border-top:1px solid var(--faint);background:radial-gradient(60% 90% at 50% 100%,rgba(201,168,119,.12),transparent 70%),var(--bg3)}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4vw,4rem);line-height:1.04;max-width:900px;margin:0 auto 30px}

.ct-form.is-disabled{opacity:.35;pointer-events:none}
.consult{margin-top:clamp(30px,4vw,50px);padding:28px 30px;border:1px solid rgba(201,168,119,.35);display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;justify-content:space-between}
.consult p{font-family:var(--serif);font-size:clamp(20px,1.8vw,26px);line-height:1.2}
.qlist{border-top:1px solid var(--faint);margin-top:clamp(26px,3vw,40px)}
.qlist li{display:grid;grid-template-columns:76px 1fr 40px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--faint)}
.qi-img{display:block;width:76px;height:76px;background:#ebe6db;overflow:hidden}
.qi-img img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.qi-name{font-family:var(--serif);font-size:clamp(18px,1.5vw,22px);line-height:1.2}
.qi-name:hover{color:var(--gold)}
.qi-rm{width:36px;height:36px;border:1px solid var(--faint);border-radius:50%;font-size:11px;transition:all .3s}
.qi-rm:hover{background:var(--ink);color:#000}
.qempty{margin-top:30px;padding:28px;border:1px dashed var(--faint);color:var(--mut)}
.qempty .btn{margin-top:20px}
.qempty[hidden]{display:none}
.qzip{margin-top:22px;padding:18px 20px;border:1px solid var(--faint);color:var(--mut);font-size:13px;line-height:1.55}
.qzip .btn{margin-top:14px}
.qzip-note:empty{display:none}
.qzip-note{margin-top:10px;color:var(--ink);font-size:12.5px}
.qzip[hidden]{display:none}

.legal{max-width:860px;margin:0 auto;padding:0 var(--gut) clamp(80px,10vw,140px)}
.legal .note{padding:14px 18px;border:1px solid rgba(201,168,119,.35);color:var(--gold);font-size:12px;letter-spacing:.06em;margin-bottom:40px}
.legal h1,.legal h2,.legal h3,.legal h4{font-family:var(--serif);font-weight:500;line-height:1.15;margin:2em 0 .6em}
.legal h1{font-size:2.2rem;margin-top:0}.legal h2{font-size:1.9rem}.legal h3{font-size:1.4rem}.legal h4{font-size:1.2rem}
.legal p,.legal li{color:var(--mut);font-size:15px;margin-bottom:1em}
.legal ul,.legal ol{margin:0 0 1.2em 1.3em;list-style:disc}.legal ol{list-style:decimal}
.legal a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.legal strong,.legal b{color:var(--ink);font-weight:500}
.legal table{width:100%;border-collapse:collapse;margin:1em 0;font-size:14px}.legal td,.legal th{border:1px solid var(--faint);padding:10px;color:var(--mut);vertical-align:top}

.nl{display:flex;flex-direction:column;gap:12px}
.nl form{display:flex;flex-direction:column;gap:10px}
.nl .nl-row{display:flex;border-bottom:1px solid rgba(242,237,228,.3);align-items:center}
.nl input[type=email]{flex:1;background:transparent;border:0;color:var(--ink);font:inherit;font-size:14px;padding:12px 0;outline:0;min-width:0}
.nl button[type=submit]{font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:12px 0 12px 16px;color:var(--gold)}
.nl .chk{margin:4px 0 0;font-size:11px}
.nl .form-note{margin:0;min-height:0}
.ftr-in{grid-template-columns:1.3fr .8fr .9fr 1.2fr}
@media(max-width:1000px){.ftr-in{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ftr-in{grid-template-columns:1fr}}
.ftr-h{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.err404{min-height:100vh;display:grid;place-items:center;text-align:center;padding:40px}
.err404 h1{font-family:var(--serif);font-weight:400;font-size:clamp(5rem,20vw,16rem);line-height:.9;color:var(--gold)}
.err404 p{color:var(--mut);margin:20px 0 34px}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,26px);margin-top:clamp(36px,5vw,64px)}
.wide-cta{text-align:center;margin-top:clamp(36px,5vw,60px)}
@media(max-width:900px){.feat{grid-template-columns:1fr}}

.qlist li.is-custom .qi-name{display:flex;flex-direction:column;gap:3px}
.qlist li.is-custom .qi-name b{font-family:var(--serif);font-weight:500;font-size:clamp(18px,1.5vw,22px)}
.qlist li.is-custom .qi-name small{font-size:11.5px;color:var(--mut);line-height:1.4}
.qlist li.is-custom .qi-img{background:#0d0c0a}
.qlist li.is-custom .qi-img img{mix-blend-mode:normal}
.qlist li.is-custom{grid-template-columns:96px 1fr 40px;align-items:start}
.qlist li.is-custom .qi-img{width:96px;height:96px}
