/* ===== Mistral Digital — design tokens ===== */
:root{
  --bg:#0e0e0e; --bg2:#151515; --bg3:#1d1d1d; --ink:#f4f1ec; --mute:#a5a19b; --line:rgba(244,241,236,.12);
  --red:#fb3047; --orange:#fb6917; --grad:linear-gradient(100deg,#fb3047 0%,#fb4d2e 45%,#fb6917 100%);
  --f:'Montserrat',system-ui,sans-serif; --serif:'Instrument Serif',Georgia,serif;
  --gut:clamp(18px,4.2vw,64px); --r:28px; --ease:cubic-bezier(.7,0,.2,1);
}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body.mistral{background:var(--bg);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
@media (pointer:fine) and (min-width:901px){body.mistral::after{content:"";position:fixed;inset:-50%;z-index:9990;pointer-events:none;opacity:.06;background:url(img/paper.webp) center/1200px;mix-blend-mode:screen;animation:m-grain 1.2s steps(4) infinite}}
@keyframes m-grain{25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(2%,2%)}}
body.mistral #page-container{padding-top:0!important;overflow:visible!important;background:var(--bg)}
body.mistral #main-header,body.mistral #top-header,body.mistral #main-footer,body.mistral .et-l--header,body.mistral .et-l--footer{display:none!important}
body.mistral #main-content,body.mistral .et-l--post,body.mistral .et_builder_inner_content{background:transparent!important}
.mistral .et_pb_section.mistral-sec{padding:0!important;background:transparent!important}
.mistral .mistral-sec .et_pb_row{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.mistral .mistral-sec .et_pb_column{margin:0!important;width:100%!important;float:none!important}
.mistral .mistral-sec .et_pb_module{margin:0!important}
.mistral .mistral-sec .et_pb_code_inner{position:static}
.mistral h1,.mistral h2,.mistral h3,.mistral h4{font-family:var(--f);font-weight:800;color:inherit;padding:0;letter-spacing:-.035em;line-height:1}
:where(.mistral) p{padding:0}
.mistral a{color:inherit;text-decoration:none}
:where(.mistral) ul,.mistral .mistral-sec ul,.mistral .mistral-sec ol{padding:0;list-style:none}
:where(.mistral) li{padding:0}
.mistral em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.mistral b{font-weight:700;color:#fff}
::selection{background:var(--red);color:#fff}
.m-ico{width:1.15em;height:1.15em;flex:none;transition:transform .4s var(--ease)}
.m-eyebrow{display:inline-flex;align-items:center;gap:.7em;font-weight:600;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.m-eyebrow:before{content:"";width:28px;height:2px;background:var(--grad);border-radius:2px}
.m-h2{font-size:clamp(40px,6.4vw,104px);margin:18px 0 0}
.m-lead{font-size:clamp(17px,1.35vw,21px);color:var(--mute);max-width:620px;margin-top:22px}
.m-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.m-line>span{display:inline-block}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.w>span{display:inline-block}
.m-split .w>span{will-change:transform}
.mistral em .w>span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em;margin-right:-.08em}
.m-band em .w>span,.m-card:nth-child(3n+2) em .w>span{background:none;-webkit-text-fill-color:#fff;color:#fff}

/* bottoni */
.m-btn{position:relative;display:inline-flex;align-items:center;gap:.7em;padding:16px 28px;border-radius:99px;font-weight:700;font-size:15px;line-height:1;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .4s,border-color .4s,background .4s;cursor:pointer;border:0}
.m-btn span{position:relative}
.m-btn:hover .m-ico{transform:translateX(4px)}
.m-btn--grad{background:var(--grad);color:#fff!important;box-shadow:0 14px 40px -14px rgba(251,48,71,.7)}
.m-btn--grad:before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:translateY(101%);border-radius:inherit;transition:transform .5s var(--ease)}
.m-btn--grad:hover{color:var(--bg)!important}
.m-btn--grad:hover:before{transform:none}
.m-btn--line{border:1.5px solid rgba(244,241,236,.35);color:var(--ink)!important}
.m-btn--line:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad);transform:scale(0);border-radius:inherit;transition:transform .5s var(--ease)}
.m-btn--line:hover{border-color:transparent}
.m-btn--line:hover:before{transform:none}
.m-btn--light{background:var(--ink);color:var(--bg)!important}
.m-btn--light:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad);transform:translateY(101%);transition:transform .5s var(--ease)}
.m-btn--light:hover{color:#fff!important}
.m-btn--light:hover:before{transform:none}
.m-btn--wa{background:#25d366;color:#08311a!important}
.m-btn--big{padding:20px 34px;font-size:16px}

/* ===== Loader e transizione ===== */
.m-loader{position:fixed;inset:0;z-index:10000;background:var(--bg);display:grid;place-items:center}
.m-loader__in{display:grid;justify-items:center;gap:18px}
.m-loader img{width:min(300px,60vw);height:auto;clip-path:inset(0 100% 0 0);animation:m-reveal 1.4s var(--ease) .1s forwards}
.m-loader__n{font-weight:800;font-size:13px;letter-spacing:.3em;color:var(--mute)}
.m-loader__bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left}
@keyframes m-reveal{to{clip-path:inset(0 0 0 0)}}
.m-curtain{position:fixed;inset:0;z-index:10001;pointer-events:none;display:grid;place-items:center;visibility:hidden}
.m-curtain i{position:absolute;inset:0;background:var(--grad)}
.m-curtain i:last-of-type{background:var(--bg)}
.m-curtain__in{position:relative;z-index:1;display:grid;justify-items:center;gap:14px;padding:0 var(--gut);text-align:center;opacity:0}
.m-curtain__k{font-weight:600;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute)}
.m-curtain__t{font-weight:900;font-size:clamp(40px,7vw,110px);letter-spacing:-.05em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.06em .04em .12em}
.m-curtain__bar{position:relative;width:min(240px,50vw);height:2px;margin-top:10px;border-radius:2px;background:var(--line);overflow:hidden}
.m-curtain__bar em{position:absolute;inset:0;width:40%;background:var(--grad);border-radius:2px;transform:translateX(-100%)}
.m-curtain.is-loading .m-curtain__bar em,html.m-from .m-curtain__bar em{animation:m-load 1.1s var(--ease) infinite}
@keyframes m-load{to{transform:translateX(250%)}}
/* arrivo da link interno: tendina già chiusa prima che parta il JS, niente preloader; dopo 6s si toglie comunque */
html.m-from .m-loader{display:none}
html.m-from .m-curtain{visibility:visible;animation:m-safe 0s 6s forwards}
html.m-from .m-curtain i{transform:none}
html.m-from .m-curtain__in{opacity:1}
html.m-from .m-curtain__k,html.m-from .m-curtain__t{visibility:hidden}
@keyframes m-safe{to{visibility:hidden}}
/* preloader: se il JS non parte, sparisce da solo */
.m-loader{animation:m-safe 0s 8s forwards}

/* ===== Nav ===== */
.m-nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:28px;padding:20px var(--gut);transition:transform .5s var(--ease),padding .4s,background .4s}
.m-nav.is-solid{padding-top:12px;padding-bottom:12px;background:rgba(14,14,14,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line)}
.m-nav.is-hidden{transform:translateY(-110%)}
.m-nav__logo img{height:46px;width:auto;display:block}
.m-nav__menu{margin-left:auto}
.m-nav__links{display:flex;gap:6px;margin:0}
.m-nav__links>li>a{display:block;padding:10px 16px;border-radius:99px;font-weight:600;font-size:15px;transition:background .3s}
.m-nav__links>li>a:hover,.m-nav__links>li.has-sub:hover>a{background:rgba(255,255,255,.08)}
.has-sub{position:relative}
.m-sub{position:absolute;top:100%;left:50%;width:min(760px,80vw);padding-top:14px;opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:.35s var(--ease)}
.m-sub ul{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:12px;margin:0;background:rgba(24,24,24,.96);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.has-sub:hover .m-sub,.has-sub:focus-within .m-sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.m-sub a{position:relative;display:flex;align-items:flex-end;height:110px;padding:14px;border-radius:16px;overflow:hidden;background:var(--bg3);font-weight:700;font-size:14px;line-height:1.2}
.m-sub a span{position:relative;z-index:1}
.m-sub__img{position:absolute;right:-14px;top:-6px;width:58%;height:auto;opacity:.55;transition:transform .5s var(--ease),opacity .4s}
.m-sub a:hover .m-sub__img{transform:scale(1.12) rotate(-3deg);opacity:1}
.m-sub a:after{content:"";position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .4s;mix-blend-mode:multiply}
.m-sub a:hover:after{opacity:.35}
.m-burger{display:none;width:50px;height:50px;border:0;border-radius:50%;background:var(--ink);position:relative;cursor:pointer;flex:none}
.m-burger span{position:absolute;left:15px;right:15px;height:2px;background:var(--bg);transition:.35s var(--ease)}
.m-burger span:first-child{top:20px}.m-burger span:last-child{top:28px}
.m-open .m-burger span:first-child{top:24px;transform:rotate(45deg)}
.m-open .m-burger span:last-child{top:24px;transform:rotate(-45deg)}
.m-menu{position:fixed;inset:0;z-index:999;background:var(--bg);clip-path:circle(0 at calc(100% - 48px) 44px);transition:clip-path .8s var(--ease);overflow:auto}
.m-open .m-menu{clip-path:circle(150% at calc(100% - 48px) 44px)}
.m-menu__in{padding:110px var(--gut) 40px;display:grid;gap:34px}
.m-menu__main a{display:block;font-weight:800;font-size:clamp(38px,9vw,64px);letter-spacing:-.04em;line-height:1.15}
.m-menu__svc ul{margin:12px 0 0;display:grid;gap:4px}
.m-menu__svc a{font-weight:600;font-size:18px;color:var(--mute)}
.m-menu__foot{display:flex;flex-direction:column;gap:8px;font-weight:600}

/* cursore */
.m-cursor{position:fixed;left:0;top:0;z-index:9995;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--grad);transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),opacity .3s;display:grid;place-items:center;opacity:0}
.m-cursor span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .2s}
.m-cursor.is-on{opacity:1}
.m-cursor.is-big{width:84px;height:84px;margin:-42px 0 0 -42px}
.m-cursor.is-big span{opacity:1}
.m-cursor.is-link{width:44px;height:44px;margin:-22px 0 0 -22px;background:rgba(255,255,255,.12);backdrop-filter:blur(2px);border:1px solid rgba(255,255,255,.4)}
@media (pointer:coarse){.m-cursor{display:none}}

/* WhatsApp + torna su */
.m-wa{position:fixed;left:22px;bottom:22px;z-index:998;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff!important;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.6);transition:transform .3s}
.m-wa .m-ico{width:28px;height:28px}
.m-wa:hover{transform:scale(1.08)}
.m-top{position:fixed;right:22px;bottom:22px;z-index:998;width:56px;height:56px;border:0;border-radius:50%;background:var(--bg3);color:#fff;cursor:pointer;display:grid;place-items:center;transition:transform .3s,opacity .3s;opacity:0;pointer-events:none}
.m-top.on{opacity:1;pointer-events:auto}
.m-top:hover{transform:translateY(-4px)}
.m-top__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.m-top__ring circle{fill:none;stroke:rgba(255,255,255,.12);stroke-width:3}
.m-top__ring .m-top__prog{stroke:var(--orange);stroke-dasharray:157.08;stroke-dashoffset:157.08;stroke-linecap:round}
.m-top__arrow{width:20px;height:20px;position:relative}

/* ===== HERO ===== */
.m-hero{position:relative;height:100vh;height:100svh}
.m-hero__stage{position:relative;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(120% 90% at 70% 0%,#1c1210 0%,var(--bg) 55%)}
.m-hero__gl{position:absolute;inset:0;z-index:1}
.m-hero__stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22vh;z-index:2;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.m-hero__gl canvas{display:block;width:100%!important;height:100%!important}
.m-hero__fb{position:absolute;inset:0;z-index:0;display:grid;place-items:center;overflow:hidden}
.m-hero__word{position:relative;font-weight:900;font-size:clamp(84px,21vw,380px);letter-spacing:-.06em;line-height:.8;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:-14vh}
.has-3d .m-hero__fb .m-hero__word{opacity:0}
.m-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;background:var(--grad)}
.m-blob--a{width:46vw;height:46vw;left:-10vw;top:-12vw;animation:m-float 14s ease-in-out infinite}
.m-blob--b{width:36vw;height:36vw;right:-8vw;bottom:-10vw;background:linear-gradient(140deg,#fb6917,#fb3047);animation:m-float 18s ease-in-out infinite reverse}
.has-3d .m-blob{opacity:.18}
@keyframes m-float{50%{transform:translate(6vw,4vw) scale(1.15)}}
.m-hero__top{position:absolute;z-index:3;left:var(--gut);right:var(--gut);top:110px;display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.m-hero__claim{font-weight:700;font-size:clamp(15px,1.3vw,19px);line-height:1.3;text-align:right}
.m-hero__main{position:absolute;z-index:3;left:var(--gut);right:var(--gut);bottom:clamp(90px,13vh,150px)}
.m-hero__h1{font-size:clamp(44px,6.4vw,118px)!important;letter-spacing:-.05em!important;line-height:.95!important;margin:0;max-width:13ch}
.m-hero__row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:34px}
.m-hero__p{max-width:500px;color:var(--mute);font-size:clamp(16px,1.25vw,19px)}
.m-hero__cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.m-hero__rot{position:absolute;z-index:3;right:var(--gut);top:46%;display:flex;flex-direction:column;align-items:flex-end;font-weight:600;font-size:14px;color:var(--mute);letter-spacing:.06em}
.m-rot{position:relative;display:block;height:1.4em;overflow:hidden;font-family:var(--serif);font-style:italic;font-size:30px;color:#fff;letter-spacing:0;line-height:1.4;width:8ch;text-align:right}
.m-rot i{position:absolute;right:0;top:0;transform:translateY(110%);font-style:italic}
.m-rot i.on{transform:none;transition:transform .7s var(--ease)}
.m-rot i.out{transform:translateY(-110%);transition:transform .7s var(--ease)}
.m-hero__scroll{position:absolute;z-index:3;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.m-hero__scroll i{width:22px;height:36px;border:1.5px solid rgba(255,255,255,.35);border-radius:20px;position:relative}
.m-hero__scroll i:after{content:"";position:absolute;left:50%;top:7px;width:3px;height:8px;margin-left:-1.5px;border-radius:3px;background:var(--orange);animation:m-wheel 1.6s infinite}
@keyframes m-wheel{60%{transform:translateY(10px);opacity:0}}

/* ===== Manifesto ===== */
.m-mani{position:relative;padding:clamp(40px,5vw,80px) var(--gut) clamp(80px,10vw,160px)}
.m-mani__text{font-weight:800;font-size:clamp(40px,6.8vw,118px);line-height:1;letter-spacing:-.045em;margin:30px 0 0;max-width:16ch}
.m-mani__text .w>span{color:rgba(244,241,236,.14);transition:color .2s}
.m-mani__text .w.on>span{color:var(--ink)}
.m-mani__text em{opacity:.18;transition:opacity .4s}
.m-mani__text em.on{opacity:1}
.m-mani__text em .w>span{color:transparent!important}
.m-mani__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(30px,6vw,120px);margin-top:clamp(50px,7vw,110px);align-items:start}
.m-mani__lead{font-size:clamp(19px,1.7vw,26px);line-height:1.5;color:var(--mute)}
.m-mani__side{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,32px);line-height:1.25}
.m-wall{position:relative;margin:clamp(50px,7vw,110px) calc(var(--gut) * -1) 0;height:clamp(420px,62vw,820px);overflow:hidden;perspective:1400px;-webkit-mask:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.m-wall__in{position:absolute;left:50%;top:50%;width:min(1500px,120vw);display:grid;grid-template-columns:repeat(3,1fr);gap:22px;transform:translate(-50%,-50%) rotateX(28deg) rotateZ(-14deg)}
.m-wall__col{display:flex;flex-direction:column;gap:22px;will-change:transform}
.m-wall__col img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:top;border-radius:18px;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);filter:saturate(.9)}
.m-wall:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 50%,transparent,rgba(14,14,14,.55));pointer-events:none}

/* ===== Servizi (card impilate) ===== */
.m-svc{position:relative;padding:clamp(60px,8vw,120px) var(--gut) clamp(60px,8vw,120px)}
.m-svc__head{max-width:1100px;margin-bottom:clamp(40px,6vw,90px)}
.m-svc__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px);align-items:start}
.m-svc__list{margin:0;border-top:1px solid var(--line)}
.m-svc__tab{width:100%;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:clamp(10px,1.7vh,18px) 0;background:none;border:0;border-bottom:1px solid var(--line);color:rgba(244,241,236,.38);font:inherit;text-align:left;cursor:pointer;transition:color .4s,padding .5s var(--ease)}
.m-svc__n{font-weight:700;font-size:13px;letter-spacing:.1em}
.m-svc__name{font-weight:800;font-size:clamp(20px,min(2.2vw,4.4vh),36px);letter-spacing:-.035em;line-height:1.05}
.m-svc__tab .m-ico{width:26px;height:26px;opacity:0;transform:translateX(-12px)}
.m-svc__tab:hover,.m-svc__tab.on{color:var(--ink);padding-left:12px}
.m-svc__tab.on .m-svc__n{color:var(--orange)}
.m-svc__tab.on .m-svc__name{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-svc__tab.on .m-ico{opacity:1;transform:none;color:var(--orange)}
.m-svc__grid{position:relative}
.m-svc__stage{position:relative;display:grid}
.m-svc__bar{position:absolute;left:-18px;top:0;width:2px;height:100%;background:var(--grad);transform:scaleY(0);transform-origin:top}
.m-svc__tab.on{pointer-events:none}
.m-svc__panel{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .5s,transform .7s var(--ease),visibility 0s .5s}
.m-svc__panel.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s .1s,transform .8s var(--ease) .1s}

.m-svc__media{position:relative;height:clamp(240px,calc(100vh - 470px),440px);margin-bottom:22px;border-radius:26px;overflow:hidden;background:var(--bg3)}
.m-svc__img{width:100%;height:100%;object-fit:cover;display:block}
.m-svc__media:after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,transparent 45%,rgba(251,48,71,.35));mix-blend-mode:multiply;pointer-events:none}
.m-svc__tag{position:absolute;left:16px;bottom:16px;z-index:1;padding:8px 14px;border-radius:99px;background:rgba(14,14,14,.7);backdrop-filter:blur(8px);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.m-svc__panel.on .m-svc__img{animation:m-pop .9s var(--ease)}
@keyframes m-pop{from{transform:scale(1.15)}}
.m-svc__pay{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.3vw,36px);line-height:1.15;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.m-svc__p{color:var(--mute);margin-top:10px;max-width:560px}
.m-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}
.m-tags li{padding:8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:99px;font-size:13px;font-weight:600}

/* ===== Marquee ===== */
.m-marq{padding:clamp(30px,5vw,70px) 0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.m-marq__row{display:flex;align-items:center;gap:3vw;width:max-content;font-weight:900;font-size:clamp(54px,9vw,150px);letter-spacing:-.05em;line-height:1;white-space:nowrap;will-change:transform}
.m-marq__row span:nth-child(4n+1){background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-marq__row span:nth-child(4n+3){background:linear-gradient(180deg,#f4f1ec 10%,rgba(244,241,236,.08) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-marq__row i{font-style:normal;font-size:.4em;color:var(--orange)}

/* ===== Metodo (orizzontale) ===== */
.m-method{position:relative}
.m-method__pin{position:relative;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.m-method__intro{position:absolute;left:var(--gut);top:clamp(100px,14vh,150px);max-width:560px;z-index:2}
.m-method__intro .m-h2{font-size:clamp(36px,4.6vw,76px)}
.m-method__intro p{color:var(--mute);margin-top:14px}
.m-method__track{display:flex;gap:clamp(20px,3vw,48px);padding:0 var(--gut);padding-left:calc(var(--gut) + 40vw);margin-top:16vh;width:max-content;will-change:transform}
.m-step{position:relative;width:clamp(300px,30vw,480px);flex:none}
.m-step__n{display:block;font-weight:900;font-size:clamp(90px,10vw,170px);line-height:.8;letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:-.18em;position:relative;z-index:2}
.m-step__media{border-radius:24px;overflow:hidden;aspect-ratio:16/10}
.m-step__img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .6s,transform .8s var(--ease)}
.m-step:hover .m-step__img{filter:none;transform:scale(1.05)}
.m-step h3{font-size:clamp(26px,2.4vw,38px)!important;margin:22px 0 10px}
.m-step p{color:var(--mute)}
.m-method__bar{position:absolute;left:var(--gut);right:var(--gut);bottom:44px;height:2px;background:var(--line)}
.m-method__bar i{display:block;height:100%;background:var(--grad);transform:scaleX(0);transform-origin:left}

/* ===== Progetti ===== */
.m-work{position:relative;padding:clamp(90px,12vw,190px) var(--gut)}
.m-work__head{margin-bottom:clamp(40px,6vw,80px)}
.m-work__list{margin:0;border-top:1px solid var(--line)}
.m-work__row{position:relative;border-bottom:1px solid var(--line)}
.m-work__row a{position:relative;display:grid;grid-template-columns:70px 1fr auto 40px;align-items:center;gap:20px;padding:clamp(18px,2.4vw,34px) 0;z-index:2}
.m-work__row a:before{content:"";position:absolute;inset:0 calc(var(--gut) * -1);background:var(--grad);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.m-work__row:hover a:before{transform:none}
.m-work__n{font-weight:600;font-size:14px;color:var(--mute)}
.m-work__t{font-weight:800;font-size:clamp(30px,5vw,80px);letter-spacing:-.045em;line-height:1;transition:transform .5s var(--ease)}
.m-work__row:hover .m-work__t{transform:translateX(20px)}
.m-work__c{font-size:14px;font-weight:600;color:var(--mute);text-align:right}
.m-work__row:hover .m-work__n,.m-work__row:hover .m-work__c{color:#fff}
.m-work__row .m-ico{width:30px;height:30px}
.m-work__row:hover .m-ico{transform:rotate(45deg)}
.m-work__m{display:none}
.m-work__float{position:fixed;left:0;top:0;z-index:50;width:min(420px,30vw);aspect-ratio:4/3;border-radius:20px;overflow:hidden;pointer-events:none;opacity:0;transform:scale(.6);box-shadow:0 40px 80px -20px rgba(0,0,0,.7)}
.m-work__float img{width:100%;height:100%;object-fit:cover;object-position:top}
.m-work__more{margin-top:44px}

/* ===== Numeri ===== */
.m-nums{padding:clamp(60px,8vw,120px) var(--gut);background:var(--grad);color:#fff}
.m-nums ul{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:0}
.m-nums li{position:relative;padding-top:24px;border-top:1px solid rgba(255,255,255,.4)}
.m-nums b{font-weight:900;font-size:clamp(64px,8vw,140px);letter-spacing:-.06em;line-height:.9}
.m-nums i{font-style:normal;font-weight:900;font-size:clamp(40px,5vw,80px);vertical-align:top}
.m-nums span{display:block;margin-top:12px;font-weight:600;font-size:15px;max-width:220px;line-height:1.35}

/* ===== Premium ===== */
.m-prem{position:relative;min-height:100vh;display:grid;align-items:center;overflow:hidden}
.m-prem__bg{position:absolute;inset:0}
.m-prem__bg img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover;opacity:.45}
.m-prem__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 20%,rgba(14,14,14,.5) 70%,rgba(14,14,14,.2)),linear-gradient(0deg,var(--bg),transparent 30%,transparent 70%,var(--bg))}
.m-prem__in{position:relative;padding:clamp(100px,12vw,160px) var(--gut);max-width:1100px}
.m-prem__t{font-size:clamp(46px,7.4vw,124px)!important;margin:20px 0 26px}
.m-prem__rot{position:relative;display:block;height:1.05em;overflow:hidden}
.m-prem__rot i{position:absolute;left:0;top:0;font-family:var(--serif);font-style:italic;font-weight:400;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;transform:translateY(105%);white-space:nowrap;padding-right:.1em}
.m-prem__rot i.on{transform:none;transition:transform .8s var(--ease)}
.m-prem__rot i.out{transform:translateY(-105%);transition:transform .8s var(--ease)}
.m-prem__in p{max-width:560px;color:var(--mute);font-size:clamp(16px,1.3vw,20px)}
.m-prem__badges{display:flex;gap:16px;align-items:center;margin:28px 0 34px}
.m-prem__badges img{height:54px;width:auto;border-radius:8px}

/* ===== Team ===== */
.m-team{padding:clamp(90px,12vw,180px) 0 clamp(60px,8vw,120px);overflow:hidden}
.m-team__head{padding:0 var(--gut);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(40px,5vw,70px)}
.m-team__head .m-h2{max-width:13ch}
.m-team__track{display:flex;gap:18px;padding:0 var(--gut);width:max-content;cursor:grab;will-change:transform}
.m-team__track:active{cursor:grabbing}
.m-tcard{position:relative;width:clamp(220px,17vw,270px);flex:none;margin:0;padding:8px 8px 20px;border-radius:26px;background:linear-gradient(180deg,#1a1a1a,#131313);box-shadow:inset 0 0 0 1px var(--line);transition:translate .6s var(--ease)}
.m-tcard:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s;pointer-events:none}
.m-tcard__ph{position:relative;border-radius:19px;overflow:hidden;aspect-ratio:328/483;background:#e8e8e6}
.m-tcard__ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;pointer-events:none;filter:grayscale(1) contrast(1.06);transform:scale(1.01);transition:filter .6s,transform .9s var(--ease)}
.m-tcard__ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(251,48,71,.32));mix-blend-mode:multiply;opacity:0;transition:opacity .6s}
.m-tcard figcaption{position:relative;padding:16px 8px 0}
.m-tcard figcaption:after{content:"";display:block;width:28px;height:2px;margin-top:12px;border-radius:2px;background:var(--grad);transition:width .6s var(--ease)}
.m-tcard b{display:block;font-weight:800;font-size:17px;letter-spacing:-.02em;line-height:1.2}
.m-tcard figcaption span{display:block;font-size:12.5px;color:var(--mute);line-height:1.35;margin-top:4px;min-height:2.7em}
.m-tcard:hover{translate:0 -8px}
.m-tcard:hover:before{opacity:1}
.m-tcard:hover .m-tcard__ph img{filter:none;transform:scale(1.05)}
.m-tcard:hover .m-tcard__ph:after{opacity:1}
.m-tcard:hover figcaption:after{width:100%}

/* ===== Instagram ===== */
.m-ig{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center;padding:clamp(80px,10vw,160px) var(--gut);overflow:hidden}
.m-ig .m-btn{margin-top:30px}
.m-ig__phones{position:relative;height:clamp(420px,46vw,680px)}
.m-ig__phones img{position:absolute;height:auto;filter:drop-shadow(0 40px 50px rgba(0,0,0,.5))}
.m-ig__p1{width:58%;left:2%;top:0;transform:rotate(-8deg)}
.m-ig__p2{width:50%;right:0;top:16%;transform:rotate(7deg);border-radius:30px}
.m-ig__heart{position:absolute;left:46%;top:6%;width:72px;height:72px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-size:32px;color:#fff;box-shadow:0 20px 40px -10px rgba(251,48,71,.7);animation:m-pulse 2s ease-in-out infinite}
.m-ig__badge{position:absolute;left:0;bottom:8%;padding:12px 20px;border-radius:99px;background:var(--ink);color:var(--bg);font-weight:800;font-size:15px;transform:rotate(-6deg)}
@keyframes m-pulse{50%{transform:scale(1.15)}}

/* ===== Recensioni ===== */
.m-rev{padding:clamp(90px,12vw,180px) 0 clamp(60px,8vw,100px);overflow:hidden;background:var(--bg2);border-radius:48px 48px 0 0}
.m-rev__head{padding:0 var(--gut);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.m-rev__nav{display:flex;align-items:center;gap:16px;font-weight:700;font-size:14px;letter-spacing:.1em}
.m-rev__nav button{width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .3s,border-color .3s}
.m-rev__nav button:hover{background:var(--grad);border-color:transparent}
.m-rev__body{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;padding:0 var(--gut);margin-top:clamp(40px,6vw,80px)}
.m-rev__stage{position:relative;display:grid}
.m-rev__q{grid-area:1/1;margin:0;padding:0;border:0;opacity:0;visibility:hidden}
.m-rev__q.on{opacity:1;visibility:visible}
.m-rev__q p{font-family:var(--serif);font-size:clamp(30px,4.4vw,72px);line-height:1.08;letter-spacing:-.015em;max-width:22ch}
.m-rev__q cite{display:flex;align-items:center;gap:16px;margin-top:30px;font-style:normal;font-weight:700;font-size:16px}
.m-stars{color:var(--orange);letter-spacing:.15em}
.m-rev__brand{position:relative;display:grid;justify-items:center;align-content:center;min-height:clamp(340px,36vw,480px)}
.m-rev__glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:var(--grad);filter:blur(90px);opacity:.25;pointer-events:none}
.m-rev__logo{position:relative;grid-area:1/1;margin:0;display:grid;justify-items:center;gap:22px;opacity:0;visibility:hidden;transform:translateY(30px) scale(.94) rotate(-3deg);transition:opacity .5s,transform .7s var(--ease),visibility 0s .5s}
.m-rev__logo.on{opacity:1;visibility:visible;transform:none;transition:opacity .7s .35s,transform 1s var(--ease) .35s}
.m-rev__logo img{width:clamp(240px,26vw,380px);aspect-ratio:1;object-fit:contain;padding:12%;border-radius:32px;background:#f4f1ec;box-shadow:0 40px 80px -30px rgba(251,77,46,.45),0 0 0 1px rgba(255,255,255,.06)}
.m-rev__logo figcaption{display:grid;justify-items:center;gap:2px;text-align:center}
.m-rev__logo b{font-weight:800;font-size:18px;letter-spacing:-.01em}
.m-rev__logo figcaption span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.m-rev__timer{position:relative;z-index:1;width:clamp(240px,26vw,380px);height:2px;margin-top:26px;background:var(--line);border-radius:2px;overflow:hidden}
.m-rev__timer i{position:absolute;inset:0;background:var(--grad);transform:scaleX(0);transform-origin:left}
.m-rev__timer.run i{animation:m-ba 7s linear forwards}
.m-logos{display:grid;grid-template-columns:1fr 1fr;gap:14px;height:clamp(420px,46vw,560px);overflow:hidden;-webkit-mask:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask:linear-gradient(transparent,#000 18%,#000 82%,transparent)}
.m-logos__row{display:flex;flex-direction:column;gap:14px;height:max-content;animation:m-marqv 45s linear infinite}
.m-logos__row--rev{animation-direction:reverse}
.m-logos__row img{width:100%;height:96px;object-fit:contain;padding:14px 24px;border-radius:18px;background:#f4f1ec;flex:none}
.m-logos:hover .m-logos__row{animation-play-state:paused}
@keyframes m-marq{to{transform:translateX(-50%)}}
@keyframes m-marqv{to{transform:translateY(-50%)}}

/* ===== Contatti + form ===== */
.m-contact{position:relative;padding:clamp(90px,12vw,170px) var(--gut);overflow:hidden;background:var(--bg2)}
.m-contact__glow{position:absolute;width:70vw;height:70vw;right:-30vw;top:-20vw;border-radius:50%;background:var(--grad);filter:blur(120px);opacity:.22;pointer-events:none}
.m-contact__grid{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,6vw,110px);align-items:start}
.m-contact .m-h2{font-size:clamp(42px,5.6vw,92px)}
.m-contact__list{margin:36px 0 34px;display:grid;gap:18px}
.m-contact__list li{display:grid;gap:2px}
.m-contact__list span{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.m-contact__list a{font-weight:700;font-size:clamp(18px,1.6vw,24px);background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .5s var(--ease);justify-self:start}
.m-contact__list a:hover{background-size:100% 2px}
.m-form{position:relative;padding:clamp(26px,3.4vw,50px);border-radius:32px;background:rgba(255,255,255,.04);border:1px solid var(--line);backdrop-filter:blur(10px)}
.m-form__hi{font-family:var(--serif);font-style:italic;font-size:clamp(30px,3vw,44px);line-height:1;margin-bottom:18px}
.m-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.m-chip input{position:absolute;opacity:0;pointer-events:none}
.m-chip span{display:block;padding:10px 18px;border-radius:99px;border:1.5px solid rgba(255,255,255,.25);font-weight:600;font-size:14px;cursor:pointer;transition:.3s}
.m-chip input:checked+span{background:var(--grad);border-color:transparent;color:#fff}
.m-chip input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.m-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.m-field{position:relative;display:block;margin-bottom:16px}
.m-field input,.m-field textarea,.m-field select{width:100%;padding:24px 18px 10px;border-radius:16px;border:1.5px solid rgba(255,255,255,.14);background:rgba(0,0,0,.25);color:#fff;font:inherit;font-size:16px;transition:border-color .3s;resize:vertical}
.m-field select{padding:17px 18px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.m-field select option{background:#1a1a1a}
.m-field input:focus,.m-field textarea:focus,.m-field select:focus{outline:0;border-color:var(--orange)}
.m-field span{position:absolute;left:19px;top:17px;font-size:15px;color:var(--mute);pointer-events:none;transition:.25s var(--ease)}
.m-field input:focus+span,.m-field input:not(:placeholder-shown)+span,.m-field textarea:focus+span,.m-field textarea:not(:placeholder-shown)+span{top:7px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.m-hp{position:absolute;left:-9999px}
.m-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--mute);margin:6px 0 24px;cursor:pointer}
.m-check input{width:20px;height:20px;accent-color:var(--red);flex:none;margin-top:2px}
.m-check a{text-decoration:underline}
.m-form__msg{margin-top:16px;font-weight:600}
.m-form__msg.ok{color:#4ade80}.m-form__msg.err{color:#ff6b7d}
.m-form.sent>*:not(.m-form__msg){opacity:.3;pointer-events:none}

/* ===== Footer ===== */
.m-foot{position:relative;padding:clamp(20px,3vw,40px) var(--gut) 30px;border-top:1px solid var(--line);overflow:hidden;background:var(--bg)}
.m-foot__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:clamp(50px,6vw,90px);border-bottom:1px solid var(--line)}
.m-foot__claim{font-weight:800;font-size:clamp(36px,5vw,84px);letter-spacing:-.045em;line-height:1;max-width:14ch}
.m-foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding:clamp(50px,6vw,80px) 0}
.m-foot__brand img{width:200px;height:auto}
.m-foot__brand p{color:var(--mute);margin-top:16px;max-width:320px}
.m-foot__h{font-size:12px!important;letter-spacing:.24em!important;text-transform:uppercase;color:var(--mute);margin-bottom:18px!important;font-weight:600!important}
.m-foot ul{display:grid;gap:9px;margin:0}
.m-foot ul a{font-weight:500;font-size:15px;transition:color .3s}
.m-foot ul a:hover{color:var(--orange)}
.m-foot__ig{display:inline-flex;align-items:center;gap:8px}
.m-foot__big{font-weight:900;font-size:21.5vw;letter-spacing:-.07em;line-height:.75;text-align:center;margin:0 calc(var(--gut) * -1);user-select:none}
.m-foot__big span{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;transform-origin:50% 100%}
.m-foot__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:30px;margin-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}

/* ===== Pagine interne ===== */
.m-phero{position:relative;padding:clamp(130px,17vh,190px) var(--gut) clamp(60px,8vw,110px);overflow:hidden;min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center}
.m-phero--text{grid-template-columns:1fr;min-height:auto}
.m-phero__bc{font-size:13px;font-weight:600;color:var(--mute);letter-spacing:.06em}
.m-phero__bc a:hover{color:#fff}
.m-phero h1{font-size:clamp(48px,7vw,124px)!important;letter-spacing:-.055em!important;line-height:.92!important;margin:24px 0 26px}
.m-phero__pay{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.6vw,42px);line-height:1.1;margin-bottom:24px}
.m-phero__pay em{font-size:inherit}
.m-phero__p{color:var(--mute);font-size:clamp(16px,1.3vw,20px);max-width:640px}
.m-phero__p+.m-phero__p{margin-top:14px}
.m-phero .m-hero__cta{justify-content:flex-start;margin-top:36px}
.m-phero__media{position:relative;display:grid;place-items:center}
.m-phero__media img{width:100%;height:auto;max-width:640px;position:relative;z-index:1;filter:drop-shadow(0 40px 60px rgba(0,0,0,.45))}
.m-phero__media .m-blob{width:80%;aspect-ratio:1;height:auto;left:10%;top:10%;opacity:.35}
.m-phero__big{position:absolute;left:0;right:0;bottom:-.12em;z-index:-1;font-weight:900;font-size:22vw;letter-spacing:-.07em;line-height:.8;white-space:nowrap;background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0;pointer-events:none;text-align:center}

.m-feat{position:relative;padding:clamp(80px,10vw,150px) var(--gut);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,110px)}
.m-feat__head{position:sticky;top:120px;align-self:start}
.m-feat__head .m-h2{font-size:clamp(36px,4.6vw,76px)}
.m-feat__list{margin:0;counter-reset:f}
.m-feat__item{position:relative;padding:clamp(26px,3vw,40px) 0 clamp(26px,3vw,40px) 90px;border-top:1px solid var(--line)}
.m-feat__item:last-child{border-bottom:1px solid var(--line)}
.m-feat__item:before{counter-increment:f;content:counter(f,decimal-leading-zero);position:absolute;left:0;top:clamp(26px,3vw,40px);font-weight:800;font-size:15px;color:var(--orange);letter-spacing:.1em}
.m-feat__item h3{font-size:clamp(24px,2.4vw,38px)!important;margin-bottom:10px}
.m-feat__item p{color:var(--mute);max-width:560px}
.m-feat__item ul{margin-top:12px;display:grid;gap:6px}
.m-feat__item ul li{position:relative;padding-left:22px;color:var(--mute)}
.m-feat__item ul li:before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--grad)}
.m-feat__item:after{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.m-feat__item.on:after{transform:none}

.m-grid{padding:clamp(70px,9vw,140px) var(--gut)}
.m-grid__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(40px,5vw,70px)}
.m-grid__head .m-h2{max-width:16ch}
.m-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0}
.m-tile{position:relative;padding:clamp(26px,2.6vw,40px);border-radius:26px;background:var(--bg3);border:1px solid var(--line);overflow:hidden;transition:transform .5s var(--ease),border-color .4s;min-height:230px;display:flex;flex-direction:column}
.m-tile:before{content:"";position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .5s;z-index:0}
.m-tile:hover{transform:translateY(-6px);border-color:transparent}
.m-tile:hover:before{opacity:1}
.m-tile>*{position:relative;z-index:1}
.m-tile__n{font-weight:800;font-size:14px;color:var(--orange);letter-spacing:.1em;margin-bottom:auto;transition:color .4s}
.m-tile:hover .m-tile__n,.m-tile:hover p{color:#fff}
.m-tile h3{font-size:clamp(22px,1.9vw,30px)!important;margin:40px 0 10px}
.m-tile p{color:var(--mute);font-size:15px;transition:color .4s}
.m-tile img{width:48px;height:auto;margin-bottom:auto;filter:brightness(0) invert(1)}

.m-specs{position:relative;padding:clamp(70px,9vw,140px) var(--gut);display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px)}
.m-specs__media{position:sticky;top:15vh;height:70vh;border-radius:30px;overflow:hidden;background:var(--bg3);display:grid;place-items:center}
.m-specs__media img{position:absolute;width:86%;height:auto;opacity:0;transform:scale(.92) translateY(20px);transition:opacity .6s,transform .8s var(--ease)}
.m-specs__media img.on{opacity:1;transform:none}
.m-specs__media:before{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:var(--grad);filter:blur(60px);opacity:.3}
.m-specs__list{margin:0}
.m-spec{min-height:60vh;display:flex;flex-direction:column;justify-content:center;opacity:.25;transition:opacity .5s}
.m-spec.on{opacity:1}
.m-spec__n{font-weight:900;font-size:clamp(60px,6vw,100px);line-height:.9;letter-spacing:-.05em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-spec h3{font-size:clamp(28px,3vw,48px)!important;margin:16px 0 14px}
.m-spec p,.m-spec li{color:var(--mute)}
.m-spec ul{margin-top:12px;display:grid;gap:6px}
.m-spec .m-specs__mimg{display:none}

.m-logowall{padding:clamp(70px,9vw,140px) var(--gut)}
.m-logowall ul{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:clamp(30px,4vw,60px) 0 0}
.m-logowall li{border-radius:18px;background:#f4f1ec;aspect-ratio:2.2/1;display:grid;place-items:center;padding:14px 20px;transition:transform .4s var(--ease)}
.m-logowall li:hover{transform:scale(1.05) rotate(-1.5deg)}
.m-logowall img{width:100%;height:100%;object-fit:contain}

.m-band{margin:0 var(--gut);padding:clamp(50px,7vw,110px) clamp(26px,5vw,90px);border-radius:40px;background:var(--grad);color:#fff;display:grid;grid-template-columns:1.3fr auto;align-items:center;gap:30px;position:relative;overflow:hidden}
.m-band h2{font-size:clamp(36px,5vw,84px)!important}
.m-band p{font-size:clamp(16px,1.3vw,20px);margin-top:14px;max-width:640px}
.m-band em{background:none;-webkit-text-fill-color:#fff;color:#fff}
.m-band .m-btn--light:before{background:#141414}

.m-others{padding:clamp(80px,10vw,150px) 0;overflow:hidden}
.m-others__head{padding:0 var(--gut);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}
.m-others__hint{font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.m-others__track{display:flex;gap:16px;padding:0 var(--gut);width:max-content;cursor:grab;will-change:transform}
.m-other{position:relative;width:clamp(260px,24vw,360px);height:clamp(340px,30vw,440px);flex:none;border-radius:28px;background:var(--bg3);border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .4s}
.m-other:before{content:"";position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .5s}
.m-other:hover:before{opacity:1}
.m-other>*{position:relative}
.m-other__img{position:absolute!important;right:-10%;bottom:-6%;width:88%;height:auto;transition:transform .7s var(--ease);pointer-events:none}
.m-other:hover .m-other__img{transform:scale(1.08) rotate(-3deg)}
.m-other__n{font-weight:800;font-size:13px;color:var(--orange);letter-spacing:.1em}
.m-other:hover .m-other__n{color:#fff}
.m-other__t{font-weight:800;font-size:clamp(24px,2vw,30px);letter-spacing:-.03em;line-height:1.05;margin-top:12px}
.m-other__p{font-size:14px;color:var(--mute);margin-top:8px;max-width:85%}
.m-other:hover .m-other__p{color:#fff}
.m-other .m-ico{position:absolute;right:22px;top:22px;width:26px;height:26px}
.m-other:hover .m-ico{transform:rotate(45deg)}

.m-faq{padding:clamp(70px,9vw,140px) var(--gut);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,100px)}
.m-faq details{border-top:1px solid var(--line)}
.m-faq details:last-child{border-bottom:1px solid var(--line)}
.m-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-weight:700;font-size:clamp(18px,1.7vw,26px);letter-spacing:-.02em}
.m-faq summary::-webkit-details-marker{display:none}
.m-faq summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);position:relative;transition:.4s var(--ease)}
.m-faq summary i:before,.m-faq summary i:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:currentColor;transition:transform .4s var(--ease)}
.m-faq summary i:after{transform:rotate(90deg)}
.m-faq details[open] summary i{background:var(--grad);border-color:transparent}
.m-faq details[open] summary i:after{transform:none}
.m-faq details p{color:var(--mute);padding:0 60px 26px 0;max-width:720px}

.m-people{padding:clamp(70px,9vw,140px) var(--gut)}
.m-people__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:clamp(40px,5vw,70px)}
.m-person{margin:0}
.m-person__ph{position:relative;border-radius:22px;overflow:hidden}
.m-person__ph img{width:100%;height:auto;display:block;transition:transform .8s var(--ease),filter .5s;filter:grayscale(.85)}
.m-person:hover .m-person__ph img{transform:scale(1.05);filter:none}
.m-person__q{position:absolute;inset:auto 10px 10px;padding:14px;border-radius:14px;background:rgba(14,14,14,.82);backdrop-filter:blur(8px);font-size:13px;line-height:1.4;color:#ddd;opacity:0;transform:translateY(14px);transition:.45s var(--ease)}
.m-person:hover .m-person__q{opacity:1;transform:none}
.m-person figcaption{margin-top:14px}
.m-person b{display:block;font-size:18px}
.m-person span{font-size:14px;color:var(--mute)}

.m-gallery{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:16px;padding:0 var(--gut) clamp(60px,8vw,120px)}
.m-gallery figure{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:3/4}
.m-gallery figure:nth-child(2){aspect-ratio:auto;margin-top:12vh}
.m-gallery img{width:100%;height:100%;object-fit:cover}

.m-offer{display:inline-flex;align-items:baseline;gap:8px;padding:10px 22px;border-radius:99px;background:var(--grad);font-weight:800;font-size:18px;margin-bottom:10px}
.m-offer b{font-size:34px;letter-spacing:-.04em}
.m-steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.m-legal{padding:clamp(140px,18vh,200px) var(--gut) 80px;max-width:900px}
.m-legal h1{font-size:clamp(44px,6vw,90px)!important;margin-bottom:30px}
.m-legal h2{font-size:24px!important;margin:36px 0 12px;letter-spacing:-.02em!important}
.m-legal p,.m-legal li{color:var(--mute);margin-bottom:10px}
.m-legal ul{list-style:disc;padding-left:20px}

/* ===== Responsive ===== */
@media (max-width:1100px){
  .m-nav__menu,.m-nav__cta{display:none}
  .m-burger{display:block;margin-left:auto}
  .m-nav{z-index:1001}
  .m-nums ul{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .m-foot__grid{grid-template-columns:1fr 1fr}
  .m-logowall ul{grid-template-columns:repeat(4,1fr)}
  .m-people__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .m-hero__row{flex-direction:column;align-items:flex-start;gap:24px}
  .m-hero__cta{justify-content:flex-start}
  .m-hero__rot{display:none}
  .m-hero__top{top:100px}
  .m-hero__claim{display:none}
  .m-hero__top{display:none}
  .m-hero__fb{place-items:start center;padding-top:96px}
  .m-hero__word{margin-top:0;font-size:23vw}
  .m-mani__grid,.m-contact__grid,.m-ig,.m-phero,.m-feat,.m-specs,.m-faq{grid-template-columns:1fr}
  .m-svc__grid{grid-template-columns:1fr}
  .m-svc__stage{position:sticky;top:64px;z-index:2;order:-1;background:var(--bg);padding:10px 0 6px;box-shadow:0 20px 30px -10px var(--bg)}
  .m-svc__media{height:170px;margin-bottom:10px;border-radius:18px}
  .m-svc__panel .m-tags,.m-svc__panel .m-svc__p{display:none}
  .m-svc__pay{font-size:21px;margin-bottom:10px}
  .m-svc__tab.on{pointer-events:auto}
  .m-svc__tab .m-ico{opacity:1;transform:none}
  .m-method__pin{height:auto;overflow:visible;padding:90px 0}
  .m-method__intro{position:static;padding:0 var(--gut) 40px}
  .m-method__track{width:auto;flex-direction:column;padding:0 var(--gut);margin:0;gap:50px}
  .m-step{width:auto}
  .m-method__bar{display:none}
  .m-work__row a{grid-template-columns:40px 1fr 30px}
  .m-work__c{display:none}
  .m-work__float{display:none}
  .m-tiles{grid-template-columns:1fr 1fr}
  .m-feat__head{position:static}
  .m-specs__media{display:none}
  .m-spec{min-height:0;opacity:1;padding:30px 0;border-top:1px solid var(--line)}
  .m-spec .m-specs__mimg{display:block;width:100%;max-width:420px;height:auto;margin-top:20px}
  .m-band{grid-template-columns:1fr}
  .m-rev__body{grid-template-columns:1fr}
  .m-logos{height:360px}
  .m-phero{min-height:auto;padding-top:130px}
  .m-phero__media{order:-1;max-width:420px}
  .m-gallery{grid-template-columns:1fr 1fr}
  .m-gallery figure:nth-child(2){margin-top:0}
  .m-steps3{grid-template-columns:1fr}
  .m-people__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  body.mistral{font-size:16px}
  .m-nav{padding:14px 16px}
  .m-nav__logo img{height:38px}
  .m-hero__h1{font-size:clamp(42px,12.5vw,64px)!important}
  .m-hero__main{bottom:90px}
  .m-hero__p{font-size:15px}
  .m-hero__cta .m-btn--line{display:none}
  .m-btn--big{padding:17px 26px;font-size:15px}
  .m-form__row{grid-template-columns:1fr;gap:0}
  .m-tiles{grid-template-columns:1fr}
  .m-logowall ul{grid-template-columns:repeat(2,1fr)}
  .m-foot__grid{grid-template-columns:1fr}
  .m-tcard{width:62vw}
  .m-ig__phones{height:100vw}
  .m-rev{border-radius:28px 28px 0 0}
  .m-logos__row img{height:70px}
  .m-faq details p{padding-right:0}
  .m-wa{left:14px;bottom:14px;width:50px;height:50px}
  .m-top{right:14px;bottom:14px;width:50px;height:50px}
  .m-people__grid{gap:12px}
}
@media (hover:none){.m-tcard__ph img,.m-person__ph img,.m-step__img{filter:none}.m-tcard figcaption{transform:none}}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .m-mani__text .w>span{color:var(--ink)}
  .m-mani__text em{opacity:1}
}
/* Cosa facciamo: visual SVG dei servizi */
.m-art__defs{position:absolute;width:0;height:0;overflow:hidden}
.m-art{position:absolute;inset:0;background:#121212 url(img/paper.webp) center/cover;overflow:hidden}
.m-art:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 120%,rgba(251,77,46,.22),transparent 60%)}
.m-art__blob{position:absolute;width:62%;aspect-ratio:1;left:19%;top:12%;border-radius:42% 58% 63% 37%/45% 41% 59% 55%;background:var(--grad);filter:blur(60px);opacity:.28;animation:m-blob 14s ease-in-out infinite alternate}
.m-art__svg{position:relative;width:100%;height:100%;padding:4% 6%;overflow:visible}
.m-svc__media:has(.m-art):after{display:none}
@keyframes m-blob{to{transform:translate(8%,-6%) rotate(40deg) scale(1.1);border-radius:58% 42% 37% 63%/55% 59% 41% 45%}}
.m-art .a-float,.m-art .a-float2,.m-art .a-pulse,.m-art .a-cursor,.m-art .a-heart,.m-art .a-draw,.m-art .a-grow,.m-art .a-bar,.m-art .a-beam,.m-art .a-spark,.m-art .a-pop,.m-art .a-scroll,.m-art .a-blink,.m-art .a-arrow{transform-box:fill-box;transform-origin:center;animation-play-state:paused}
.m-svc__panel.on .m-art *{animation-play-state:running}
.m-art .a-float{animation:m-fl 6s ease-in-out infinite}
.m-art .a-float2{animation:m-fl 5s ease-in-out -2s infinite reverse}
.m-art .a-pulse{animation:m-pu 2.6s ease-in-out infinite}
.m-art .a-cursor{animation:m-cu 4.5s ease-in-out infinite;transform-origin:0 0}
.m-art .a-heart{animation:m-he 3.6s ease-out infinite;opacity:0}
.m-art .h2{animation-delay:1.2s}.m-art .h3{animation-delay:2.4s}
.m-art .a-draw{stroke-dasharray:6 8;animation:m-sp 30s linear infinite}
.m-art .a-grow{transform-origin:bottom;animation:m-gr 3s ease-in-out infinite alternate}
.m-art .a-bar{transform-origin:left;animation:m-ba 6s linear infinite}
.m-art .a-beam{transform-origin:top;animation:m-be 5s ease-in-out infinite alternate}
.m-art .b2{animation-delay:-2.5s}
.m-art .a-spark{animation:m-tw 2.4s ease-in-out infinite}
.m-art .s2{animation-delay:.8s}.m-art .s3{animation-delay:1.6s}
.m-art .a-pop{animation:m-po 4.8s var(--ease) infinite}
.m-art .p2{animation-delay:.4s}.m-art .p3{animation-delay:.8s}.m-art .p4{animation-delay:1.2s}.m-art .p5{animation-delay:1.6s}.m-art .p6{animation-delay:2s}
.m-art .a-scroll{transform-box:view-box;animation:m-sc 6s var(--ease) infinite}
.m-art .a-blink{animation:m-tw 1.4s steps(2) infinite}
.m-art .a-arrow{animation:m-ar 3.2s var(--ease) infinite}
@keyframes m-fl{50%{transform:translateY(-8px)}}
@keyframes m-pu{50%{transform:scale(1.06)}}
@keyframes m-cu{0%,100%{transform:translate(0,0)}40%{transform:translate(-90px,-50px)}55%{transform:translate(-90px,-50px) scale(.9)}}
@keyframes m-he{0%{opacity:0;transform:translateY(20px) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-110px) scale(1.2)}}
@keyframes m-sp{to{transform:rotate(360deg)}}
@keyframes m-gr{from{transform:scaleY(.55)}}
@keyframes m-ba{from{transform:scaleX(0)}}
@keyframes m-be{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}
@keyframes m-tw{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
@keyframes m-po{0%,10%{transform:scale(0)}25%,85%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes m-sc{0%,35%{transform:translateY(0)}50%,85%{transform:translateY(-186px)}100%{transform:translateY(-186px)}}
@keyframes m-ar{0%{transform:translate(60px,-40px);opacity:0}30%,80%{transform:none;opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.m-art *{animation:none!important}.m-art .a-heart{opacity:1}}

/* testi a gradiente con interlinea stretta: il background-clip taglia i glifi, allargo il box */
.m-step__n,.m-spec__n,.m-hero__word{padding:.12em .08em .14em 0}
.m-step__n{margin-top:-.12em;margin-bottom:-.32em}
.m-spec__n{display:inline-block;margin:-.12em 0 -.14em}
.m-nums b{display:inline-block;line-height:1.05}
/* hero: eyebrow sotto la scritta MISTRAL */

/* home compatta: servizi senza pin, team più basso */
.m-svc__tab.on{pointer-events:auto}
.m-svc__media{height:clamp(240px,30vw,420px)}
.m-team{padding:clamp(60px,8vw,110px) 0 clamp(50px,6vw,90px)}
@media (min-width:768px){.m-tcard{width:clamp(200px,15vw,250px)}}
.m-tcard:nth-child(even){margin-top:28px}

/* Chi siamo: ventaglio di foto del team nella hero */
.m-crewfan{position:relative;z-index:1;width:100%;max-width:620px;aspect-ratio:1.15;margin:0 auto}
.m-crewfan__c{position:absolute;top:50%;left:50%;width:36%;margin:0;padding:6px;border-radius:22px;background:#1a1a1a;box-shadow:0 30px 60px -20px rgba(0,0,0,.7),inset 0 0 0 1px var(--line);transition:transform .7s var(--ease),z-index 0s}
.m-crewfan__c img{display:block;width:100%;height:auto;aspect-ratio:328/483;object-fit:cover;object-position:top;border-radius:17px;filter:grayscale(1) contrast(1.05);transition:filter .5s}
.m-crewfan__c--0{transform:translate(-160%,-46%) rotate(-14deg);z-index:1}
.m-crewfan__c--1{transform:translate(-110%,-52%) rotate(-7deg);z-index:2}
.m-crewfan__c--2{transform:translate(-50%,-56%);z-index:5;width:40%}
.m-crewfan__c--3{transform:translate(10%,-52%) rotate(7deg);z-index:2}
.m-crewfan__c--4{transform:translate(60%,-46%) rotate(14deg);z-index:1}
.m-crewfan__c--2 img{filter:none}
.m-crewfan__c--2:before{content:"";position:absolute;inset:-2px;border-radius:24px;background:var(--grad);z-index:-1}
.m-crewfan:hover .m-crewfan__c--0{transform:translate(-178%,-44%) rotate(-18deg)}
.m-crewfan:hover .m-crewfan__c--1{transform:translate(-120%,-54%) rotate(-9deg)}
.m-crewfan:hover .m-crewfan__c--3{transform:translate(20%,-54%) rotate(9deg)}
.m-crewfan:hover .m-crewfan__c--4{transform:translate(78%,-44%) rotate(18deg)}
.m-crewfan__c:hover{z-index:6}.m-crewfan__c:hover img{filter:none}
.m-crewfan__badge{position:absolute;right:2%;bottom:4%;z-index:7;padding:14px 20px;border-radius:20px;background:rgba(14,14,14,.85);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line);font-weight:700;font-size:14px;line-height:1.25}
.m-crewfan__badge b{font-weight:900;font-size:30px;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-crewfan__badge em{font-size:18px}
.m-phero__media:has(.m-crewfan) .m-blob{opacity:.22}
@media (max-width:767px){.m-crewfan{aspect-ratio:1.25}.m-crewfan__badge{right:0;bottom:0;font-size:12px}}

/* Chi siamo: team a carosello */
.m-people{overflow:hidden}
.m-car{position:relative;margin-top:clamp(36px,4vw,60px)}
.m-car__nav{position:absolute;right:0;top:calc(-1 * clamp(36px,4vw,60px) - 56px);display:flex;gap:12px}
.m-car__nav button{width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .3s,border-color .3s,opacity .3s}
.m-car__nav button:hover{background:var(--grad);border-color:transparent}
.m-car__nav button:disabled{opacity:.3;pointer-events:none}
.m-car__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;margin-right:calc(-1 * var(--gut));padding:6px var(--gut) 10px 0;overscroll-behavior-x:contain}
.m-car__track::-webkit-scrollbar{display:none}
.m-car .m-person{flex:none;width:clamp(240px,22vw,320px);scroll-snap-align:start;padding:8px 8px 18px;border-radius:26px;background:linear-gradient(180deg,#1a1a1a,#131313);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .5s}
.m-car .m-person:hover{box-shadow:inset 0 0 0 1px rgba(251,77,46,.7)}
.m-car .m-person__ph{border-radius:19px;aspect-ratio:328/483;background:#e8e8e6}
.m-car .m-person__ph img{height:100%;object-fit:cover;object-position:top;filter:grayscale(1) contrast(1.05)}
.m-car .m-person figcaption{padding:0 8px}
.m-person__li{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(14,14,14,.82);backdrop-filter:blur(6px);color:#fff;transition:background .3s,transform .3s}
.m-person__li svg{width:17px;height:17px}
.m-person__li:hover{background:#0a66c2;transform:scale(1.08)}
@media (max-width:767px){.m-car__nav{display:none}.m-car .m-person{width:72vw}}
.mistral .m-person__q{margin:0;padding:12px 14px!important;line-height:1.4}
/* Chi siamo: anello 3D del team (sostituisce il ventaglio quando c'è WebGL) */
.m-ring{position:absolute;inset:-16% -12% -6%;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;pointer-events:none}
.m-ring canvas{position:absolute;inset:0;width:100%!important;height:100%!important;cursor:grab;pointer-events:auto;touch-action:pan-y}
.m-ring.is-drag canvas{cursor:grabbing}
.m-ring__name{position:relative;z-index:1;display:grid;justify-items:center;gap:2px;margin:0;padding:12px 22px;border-radius:18px;background:rgba(14,14,14,.78);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line);text-align:center}
.m-ring__name b{font-weight:800;font-size:17px;letter-spacing:-.02em}
.m-ring__name span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.m-ring.swap .m-ring__name{animation:m-ringsw .5s var(--ease)}
@keyframes m-ringsw{from{opacity:.2;transform:translateY(6px)}}
.m-ring__hint{position:relative;z-index:1;margin-top:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);transition:opacity .6s}
.m-ring.is-used .m-ring__hint{opacity:0}
.m-phero__media.has-ring .m-crewfan{opacity:0;visibility:hidden}
/* Contatti: @ in 3D (statica a gradiente senza WebGL) */
.m-at{position:relative;z-index:1;width:100%;max-width:560px;aspect-ratio:1;display:grid;place-items:center}
.m-at__glyph{font-family:var(--serif);font-style:italic;font-size:clamp(220px,28vw,440px);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .08em .12em;filter:drop-shadow(0 30px 60px rgba(251,77,46,.35));animation:m-fl 6s ease-in-out infinite;transition:opacity .8s}
.m-at__gl{position:absolute;inset:-15%;opacity:0;transition:opacity 1.2s}
.m-at__gl canvas{width:100%!important;height:100%!important;display:block}
.m-at.has-3d .m-at__gl{opacity:1}
.m-at.has-3d .m-at__glyph{opacity:0}
.mistral .m-ring__name{padding:12px 22px!important}
.mistral .m-curtain__t{color:transparent}
/* Hero: bagliore in fondo al vortice che apre sul resto della home */
.m-hero__portal{position:absolute;left:50%;top:50%;z-index:2;width:260vmax;height:260vmax;margin:-130vmax 0 0 -130vmax;border-radius:50%;pointer-events:none;opacity:0;transform:scale(0);background:radial-gradient(circle,#fff 0,#fff4ea 3%,#fb6917 9%,#fb3047 17%,rgba(14,14,14,.97) 32%,#0e0e0e 42%);mix-blend-mode:normal}
/* Scia di particelle che segue il puntatore nella home */
.m-flow{position:fixed;inset:0;width:100vw;height:100vh;z-index:5;pointer-events:none}

/* Hero: MISTRAL protagonista al centro, claim sopra, titolo e pulsanti sotto */
.m-hero__top{top:clamp(96px,13vh,130px);justify-content:center;text-align:center}
.m-hero__claim{text-align:center;font-size:clamp(14px,1.15vw,18px);letter-spacing:.02em}
.m-hero__claim em{font-size:1.15em}
.m-hero__main{display:flex;flex-direction:column;align-items:center;text-align:center;bottom:clamp(80px,11vh,120px)}
.m-hero__main>.m-eyebrow{margin-bottom:14px}
.m-hero__main>.m-eyebrow:after{content:"";width:28px;height:2px;background:var(--grad);border-radius:2px}
.m-hero__h1{font-size:clamp(30px,3.4vw,58px)!important;max-width:none;line-height:1.05!important}
.m-hero__main .m-hero__cta{justify-content:center;margin-top:26px}
.m-hero__word{margin-top:-4vh}
@media (max-width:767px){
  .m-hero__top{display:block;top:92px}.m-hero__claim{display:block;font-size:13px}
  .m-hero__fb{place-items:center;padding-top:0}.m-hero__word{margin-top:-18vh;font-size:24vw}
  .m-hero__h1{font-size:clamp(28px,8.4vw,40px)!important}
  .m-hero__main .m-hero__cta .m-btn--line{display:none}
}

/* Menu Servizi: stesse illustrazioni SVG di "Cosa facciamo", animate al passaggio del mouse */
.m-sub a{background:#141414 url(img/paper.webp) center/cover}
.m-sub a:before{content:"";position:absolute;width:70%;aspect-ratio:1;right:-12%;top:-30%;border-radius:50%;background:var(--grad);filter:blur(34px);opacity:.18;transition:opacity .4s}
.m-sub a:hover:before{opacity:.35}
.m-art.m-sub__art{position:absolute;inset:auto;right:-4%;top:-4%;width:66%;height:auto;aspect-ratio:480/300;background:none;overflow:visible;transition:transform .5s var(--ease)}
.m-art.m-sub__art:before{display:none}
.m-sub__art svg{display:block;width:100%;height:100%;overflow:visible}
.m-sub a:hover .m-sub__art{transform:scale(1.08) rotate(-2deg)}
.m-sub a:hover .m-art *{animation-play-state:running}
.m-sub a:after{display:none}

/* Metodo: illustrazioni SVG al posto delle foto, animate sempre */
.m-step__media{position:relative;background:#121212}
.m-art--step .a-float,.m-art--step *{animation-play-state:running}
.m-art .d2{animation-delay:.25s}.m-art .d3{animation-delay:.5s}
.m-step:hover .m-art__svg{transform:scale(1.05)}
.m-art--step .m-art__svg{transition:transform .8s var(--ease)}

/* Pagine servizio: illustrazione SVG interattiva nella hero */
.m-phero__media:has(.m-svchero){perspective:1200px}
.m-svchero{position:relative;z-index:1;width:100%;max-width:640px;aspect-ratio:480/340;border-radius:32px;overflow:hidden;box-shadow:0 50px 90px -30px rgba(0,0,0,.8),inset 0 0 0 1px var(--line);transform-style:preserve-3d}
.m-svchero .m-art *{animation-play-state:running}
.m-svchero .m-art__svg{padding:6% 7%}
/* Scopri anche: stesse illustrazioni del menu */
.m-art.m-other__art{position:absolute!important;inset:auto;right:-6%;bottom:2%;width:96%;height:auto;aspect-ratio:480/300;background:none;overflow:visible;pointer-events:none;transition:transform .7s var(--ease)}
.m-art.m-other__art:before{display:none}
.m-other__art svg{display:block;width:100%;height:100%;overflow:visible}
.m-other:hover .m-other__art{transform:scale(1.06) rotate(-2deg)}
.m-other:hover .m-art *{animation-play-state:running}
.m-other{background:#141414 url(img/paper.webp) center/cover}
/* Testimonianze: logo scontornato su bagliore chiaro sfumato, niente riquadro */
.m-rev__logo img{background:none;box-shadow:none;border-radius:0;padding:0;aspect-ratio:auto;width:clamp(220px,22vw,340px);height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.25))}
.m-rev__logo{isolation:isolate}
.m-rev__logo:before{content:"";position:absolute;left:50%;top:38%;width:clamp(300px,30vw,460px);aspect-ratio:1.5;transform:translate(-50%,-50%);z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,250,244,.62),rgba(255,236,222,.28) 45%,rgba(251,105,23,.08) 70%,transparent);filter:blur(18px);pointer-events:none}
.m-rev__glow{opacity:.15}
/* Pagine servizio: solo l'illustrazione, senza carta né riquadro */
.m-svchero{overflow:visible;border-radius:0;box-shadow:none}
.m-svchero .m-art{background:none;overflow:visible}
.m-svchero .m-art:before,.m-svchero .m-art__blob{display:none}
.m-svchero .m-art__svg{padding:0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}
/* Brand nelle pagine servizio: due file che scorrono */
.m-lmarq{display:grid;gap:12px;margin-top:clamp(30px,4vw,60px);margin-inline:calc(-1 * var(--gut));overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.m-lmarq__row{display:flex;gap:12px;width:max-content;animation:m-marq 50s linear infinite}
.m-lmarq__row--rev{animation-direction:reverse;animation-duration:58s}
.m-lmarq:hover .m-lmarq__row{animation-play-state:paused}
.m-lmarq span{flex:none;width:clamp(170px,15vw,230px);aspect-ratio:2.2/1;display:grid;place-items:center;padding:14px 22px;border-radius:18px;background:#f4f1ec;transition:transform .4s var(--ease)}
.m-lmarq span:hover{transform:scale(1.05) rotate(-1.5deg)}
.m-lmarq img{width:100%;height:100%;object-fit:contain}
/* Siti web: portfolio in finestre browser a carosello */
.m-sites{padding:clamp(70px,9vw,140px) var(--gut) 0;overflow:hidden}
.m-sites .m-car{margin-top:clamp(40px,5vw,70px)}
.m-sites .m-car__nav{top:calc(-1 * clamp(40px,5vw,70px) - 56px)}
.m-site{flex:none;width:clamp(300px,36vw,560px);margin:0;scroll-snap-align:start}
.m-site__win{border-radius:18px;overflow:hidden;background:#1a1a1a;box-shadow:0 40px 70px -30px rgba(0,0,0,.8),inset 0 0 0 1px var(--line);transition:transform .7s var(--ease),box-shadow .5s}
.m-site__bar{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:#202020;border-bottom:1px solid var(--line)}
.m-site__bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.2)}
.m-site__bar i:first-child{background:#fb3047}
.m-site__bar span{margin-left:12px;padding:3px 14px;border-radius:99px;background:rgba(255,255,255,.06);font-size:11px;color:var(--mute);letter-spacing:.04em}
.m-site__shot{aspect-ratio:880/525;overflow:hidden}
.m-site__shot img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform 1.2s var(--ease)}
.m-site:hover .m-site__win{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 50px 80px -30px rgba(251,77,46,.45),inset 0 0 0 1px rgba(251,77,46,.5)}
.m-site:hover .m-site__shot img{transform:scale(1.06)}
.m-site figcaption{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline;margin-top:18px;padding:0 4px}
.m-site__n{grid-row:span 2;font-weight:800;font-size:13px;color:var(--orange);letter-spacing:.1em}
.m-site b{font-weight:800;font-size:clamp(20px,1.6vw,26px);letter-spacing:-.03em}
.m-site figcaption span:last-child{font-size:14px;color:var(--mute)}
@media (max-width:767px){.m-site{width:82vw}}

/* Caratteristiche tecniche: scene SVG nel riquadro che cambia con lo scroll */
.m-specs__media .m-art--spec{position:absolute;inset:6%;background:none;opacity:0;transform:scale(.92) translateY(20px);transition:opacity .6s,transform .8s var(--ease)}
.m-specs__media .m-art--spec.on{opacity:1;transform:none}
.m-specs__media .m-art--spec.on *{animation-play-state:running}
.m-art--spec:before{display:none}
.m-spec .m-art--spec.m-specs__mimg{display:none}
@media (max-width:767px){.m-spec .m-art--spec.m-specs__mimg{display:block;position:relative;inset:auto;width:100%;max-width:420px;aspect-ratio:480/300;margin-top:20px}.m-spec .m-art--spec.m-specs__mimg *{animation-play-state:running}}
.m-art .a-hand{transform-box:view-box;transform-origin:150px 150px;animation:m-sp 6s linear infinite}
/* Footer: il motto al posto della scritta MISTRAL */
.m-foot__big{font-size:clamp(46px,8.6vw,170px);letter-spacing:-.055em;line-height:.95;padding:.1em 0 .14em;white-space:nowrap}
.m-foot__big span{padding:0 .04em .1em}
.mistral .m-foot__big em{font-size:1.12em;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:767px){.m-foot__big{white-space:normal;font-size:15vw}}
/* ===== Ottimizzazione mobile ===== */
@media (max-width:767px){
  /* hero: MISTRAL intera dentro lo schermo, centrata nello spazio libero */
  .m-hero__word{font-size:19.5vw;letter-spacing:-.065em;margin-top:-14vh;padding:.12em .06em .14em}
  /* metodo: carosello orizzontale da sfogliare */
  .m-method__pin{padding:70px 0 60px}
  .m-method__track{flex-direction:row!important;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) 10px!important;scrollbar-width:none}
  .m-method__track::-webkit-scrollbar{display:none}
  .m-step{flex:none;width:78vw!important;scroll-snap-align:start}
  .m-step__n{font-size:64px}
  .m-step h3{font-size:22px!important;margin:14px 0 6px}
  .m-step p{font-size:14.5px}
  .m-method__intro:after{content:"Scorri →";display:block;margin-top:14px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
  /* footer compatto: servizi e link su due colonne */
  .m-foot__grid{grid-template-columns:1fr 1fr!important;gap:30px 20px}
  .m-foot__grid>div:first-child,.m-foot__grid>div:last-child{grid-column:1/-1}
  .m-foot__grid li a{font-size:14px}
}
@media (max-width:767px){
  /* card a tessere (Opportunità, Valori, PA…) più compatte */
  .m-tile{min-height:0;padding:22px 22px 24px;border-radius:20px}
  .m-tile h3{margin:12px 0 6px!important;font-size:20px!important}
  .m-tile p{font-size:14.5px}
  .m-tiles{gap:10px}
  /* hero pagine interne: illustrazione più contenuta */
  .m-svchero{max-width:340px;margin:0 auto}
}
@media (max-width:900px){
  /* lavori: su touch niente anteprima al passaggio, miniatura direttamente nella riga */
  .m-work__row a{grid-template-columns:30px 1fr 96px 24px!important;gap:12px}
  .m-work__c{display:none}
  .m-work__m{display:block;position:absolute;right:38px;top:50%;width:92px;aspect-ratio:16/10;transform:translateY(-50%);border-radius:10px;overflow:hidden;z-index:3;pointer-events:none;box-shadow:0 10px 20px -8px rgba(0,0,0,.6)}
  .m-work__m img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
  .m-work__t{font-size:22px!important;line-height:1.05}
}
@media (max-width:767px){.m-method__track{scroll-padding-left:var(--gut)}.m-step:first-child{margin-left:var(--gut)}.m-step:last-child{margin-right:var(--gut)}}
/* Team (home e Chi siamo): a colori di base, in bianco e nero al passaggio */
.m-tcard__ph img,.m-car .m-person__ph img,.m-person__ph img{filter:none!important}
.m-tcard:hover .m-tcard__ph img,.m-car .m-person:hover .m-person__ph img,.m-person:hover .m-person__ph img{filter:grayscale(1) contrast(1.05)!important}
.m-tcard:hover .m-tcard__ph:after{opacity:0}
@media (max-width:767px){
  /* footer: spazio per i pulsanti fissi WhatsApp / torna su */
  .m-foot{padding-bottom:96px}
}
/* ventaglio del team (Chi siamo): a colori, bianco e nero al passaggio */
.m-crewfan__c img{filter:none}
.m-crewfan__c:hover img{filter:grayscale(1) contrast(1.05)}
/* Social: Instagram, Facebook, LinkedIn (TikTok) */
.m-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.m-social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.25);color:#fff;transition:background .3s,border-color .3s,transform .3s}
.m-social a:hover{background:var(--grad);border-color:transparent;transform:translateY(-2px)}
.m-social svg{width:18px;height:18px}
/* Footer: partner e certificazioni */
.m-foot__partners{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.m-foot__partners>div{display:flex;flex-wrap:wrap;gap:20px 48px;align-items:center}
.m-foot__partners figure{margin:0;display:flex;align-items:center;gap:14px}
.m-foot__partners img{height:30px;width:auto;opacity:.85;transition:opacity .3s}
.m-foot__partners figure:hover img{opacity:1}
.m-foot__partners figcaption{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
@media (max-width:767px){.m-foot__partners>div{gap:18px}.m-foot__partners img{height:24px}}

/* Testimonianze: card recensione con iniziale a gradiente, stelle e logo piccolo */
.m-rev__logo.m-rcard{width:min(380px,100%);padding:34px 30px 26px;border-radius:30px;background:linear-gradient(160deg,#1d1d1d,#141414);box-shadow:0 40px 80px -30px rgba(0,0,0,.8),inset 0 0 0 1px var(--line);display:grid;justify-items:center;gap:14px;text-align:center}
.m-rcard:before{display:none!important}
.m-rcard__i{width:112px;height:112px;border-radius:32px;display:grid;place-items:center;background:var(--grad);box-shadow:0 20px 40px -12px rgba(251,77,46,.6);font-family:var(--serif);font-style:italic;font-size:72px;line-height:1;color:#fff}
.m-rcard figcaption{display:grid;gap:4px}
.m-rcard figcaption b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.m-rcard figcaption span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.m-rcard .m-stars{font-size:18px}
.m-rcard__logo{display:grid;place-items:center;width:150px;height:56px;margin-top:6px;padding:8px 16px;border-radius:14px;background:#f4f1ec}
.m-rev__logo.m-rcard .m-rcard__logo img{width:100%!important;height:100%!important;object-fit:contain;filter:none;padding:0}
@media (max-width:767px){.m-rev__logo.m-rcard{padding:26px 22px 22px}.m-rcard__i{width:88px;height:88px;font-size:56px;border-radius:26px}}
@media (min-width:768px){.m-rev__q cite{display:none}}
/* testi spezzati/gradiente: più margine nel riquadro di ogni parola, così corsivi e code delle lettere non vengono tagliati */
.w{padding:.06em .1em .24em .08em;margin:-.06em -.1em -.24em -.08em}
.m-line{padding:.04em .1em .2em .06em;margin:-.04em -.1em -.2em -.06em}
.mistral em .w>span{padding:0 .1em .1em .04em;margin:0 -.1em -.1em -.04em}
.mistral em{padding:0 .08em .12em .04em;margin:0 -.08em -.12em -.04em}
.has-3d .m-hero__fb .m-hero__word{opacity:0!important;visibility:hidden}
/* barra copyright: spazio per i pulsanti fissi WhatsApp (sx) e torna su (dx) */
.m-foot__bar{padding-left:64px;padding-right:72px}
@media (max-width:767px){.m-foot__bar{padding-left:0;padding-right:0;padding-bottom:70px}.m-foot{padding-bottom:30px}}
a.m-site__win{display:block;color:inherit}
/* la scritta piena di riserva si vede solo se il 3D non è disponibile: niente lampo mentre si carica il 3D */
html.js .m-hero:not(.no-3d) .m-hero__fb .m-hero__word{opacity:0!important;visibility:hidden}
/* Footer: partner sotto la descrizione, senza fascia né linee */
.m-foot__partners{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px;padding:0;border:0}
.m-foot__partners figure{margin:0;display:flex;align-items:center;gap:14px}
.m-foot__partners img{height:24px;width:auto;opacity:.8}
.m-foot__partners figcaption{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
/* Advertising premium: loghi partner nella hero, sopra i pulsanti */
.m-prem__badges--hero{display:flex;align-items:center;gap:22px;margin:28px 0 0}
.m-prem__badges--hero img{height:42px;width:auto}
.m-prem__badges--hero+.m-hero__cta{margin-top:26px}

/* metodo: il titolo non viene coperto dalla prima card */
@media (min-width:768px){.m-method__intro{max-width:min(560px,34vw)}.m-method__track{padding-left:calc(var(--gut) + 42vw)}}
/* Scopri anche: titolo a sinistra, etichetta sopra, 'Trascina' a destra in basso */
.m-others__head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px 30px}
.m-others__head .m-eyebrow{grid-column:1/-1}
.m-others__head .m-h2{text-align:left;margin:0}

/* hero: riga concreta su cosa facciamo e per chi */
.m-hero__sub{margin:14px auto 0;max-width:560px;color:var(--mute);font-size:clamp(15px,1.15vw,18px);line-height:1.45;text-align:center}
@media (max-width:767px){.m-hero__sub{font-size:14.5px;margin-top:10px}}
/* fascia consulenza a metà home */
.m-midcta{padding:clamp(40px,6vw,80px) var(--gut)}
.m-midcta__in{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 40px;padding:clamp(30px,4vw,56px);border-radius:32px;background:linear-gradient(135deg,#1c1412,#151515 60%);box-shadow:inset 0 0 0 1px rgba(251,77,46,.35),0 40px 80px -40px rgba(251,77,46,.45);overflow:hidden}
.m-midcta__in:before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-200px;border-radius:50%;background:var(--grad);filter:blur(90px);opacity:.35;pointer-events:none}
.m-midcta__in>*{position:relative}
.m-midcta__k{font-weight:600;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--orange);margin:0 0 10px}
.m-midcta .m-h2{font-size:clamp(34px,4vw,64px)!important;margin:0}
.m-midcta__p{color:var(--mute);margin:12px 0 0;max-width:520px}
.m-midcta__btns{display:flex;flex-wrap:wrap;gap:12px}
/* Testimonianze: punteggio Trustpilot con link */
.m-tp{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:10px 18px;border-radius:99px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;color:var(--ink);transition:background .3s,box-shadow .3s}
.m-tp:hover{background:rgba(0,182,122,.12);box-shadow:inset 0 0 0 1px rgba(0,182,122,.5)}
.m-tp b{font-size:18px;font-weight:800}
.mistral .m-tp__s{font-size:16px;letter-spacing:.1em;background:linear-gradient(90deg,#00b67a 90%,rgba(255,255,255,.22) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-tp span:not(.m-tp__s){color:var(--mute)}
.m-tp .m-ico{width:16px;height:16px;color:var(--mute)}

/* risultato reale sotto un lavoro */
.m-res{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:5px 12px;border-radius:99px;background:rgba(251,105,23,.12);box-shadow:inset 0 0 0 1px rgba(251,105,23,.4);color:#ffb38a;font-family:var(--f);font-size:12.5px;font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:normal}
.m-res:before{content:"↗";font-weight:800;color:var(--orange)}
.m-work__t .m-res{display:flex;width:max-content;max-width:100%;font-size:13px}
.m-site figcaption .m-res{grid-column:2;justify-self:start}
/* anteprima lavori: il sito si vede intero, con la sua proporzione (niente ritaglio ai lati) */
.m-work__float{aspect-ratio:auto;height:auto;width:min(480px,32vw);background:#111;border-radius:16px}
.m-work__float img{height:auto;max-height:72vh;object-fit:contain;display:block}
/* etichetta risultato leggibile anche sulla riga evidenziata a gradiente */
.m-work__row:hover .m-res{background:rgba(255,255,255,.92);color:#c2361a;box-shadow:none}
.m-work__row:hover .m-res:before{color:#c2361a}
/* anteprima lavori: stessa forma orizzontale per tutti (come Omnia); quelli verticali mostrano la parte alta del sito */
.m-work__float{aspect-ratio:1900/908}
.m-work__float img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:top center}
.m-wall__col img{aspect-ratio:1900/908}
/* Testimonianze compatte: meno spazio, citazione più piccola, card orizzontale */
.m-rev{padding:clamp(60px,7vw,100px) 0 clamp(50px,6vw,80px)}
.m-rev__head .m-h2{font-size:clamp(36px,4.4vw,72px)!important}
.m-rev__body{margin-top:clamp(28px,3.5vw,48px);grid-template-columns:1.4fr 1fr}
.m-rev__q p{font-size:clamp(24px,2.6vw,42px);max-width:28ch}
.m-rev__brand{min-height:0}
.m-rev__logo.m-rcard{grid-template-columns:auto 1fr;justify-items:start;align-items:center;text-align:left;gap:6px 18px;padding:22px 24px;width:min(420px,100%)}
.m-rcard__i{grid-row:span 3;width:84px;height:84px;font-size:52px;border-radius:24px}
.m-rcard figcaption b{font-size:19px}
.m-rcard .m-stars{font-size:15px}
.m-rcard__logo{width:120px;height:42px;margin-top:2px;padding:6px 12px;border-radius:10px}
.m-rev__timer{margin-top:16px}
@media (max-width:767px){.m-rev__q p{font-size:23px}.m-rcard__i{width:64px;height:64px;font-size:40px;border-radius:18px}}
.m-rev__logo.m-rcard figcaption{justify-items:start;text-align:left}

/* Testimonianze in una riga: titolo a sinistra, card con la recensione a destra */
.m-rev--row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(60px,7vw,100px) var(--gut)}
.m-rev--row .m-rev__head{display:block;padding:0}
.m-rev--row .m-rev__head .m-h2{font-size:clamp(36px,4vw,64px)!important;margin:8px 0 0}
.m-rev--row .m-rev__nav{margin-top:26px}
.m-rev__card{position:relative;padding:clamp(26px,3vw,40px);border-radius:30px;background:linear-gradient(160deg,#1d1d1d,#141414);box-shadow:0 40px 80px -30px rgba(0,0,0,.8),inset 0 0 0 1px var(--line)}
.m-rev__card:before{content:"";position:absolute;width:300px;height:300px;right:-80px;top:-140px;border-radius:50%;background:var(--grad);filter:blur(80px);opacity:.22;pointer-events:none}
.m-rev--row .m-rev__q{position:relative}
.m-rev--row .m-rev__q p{font-size:clamp(21px,1.9vw,30px);max-width:none;margin:18px 0 0}
.m-rev--row .m-rcard__i{display:grid;width:52px;height:52px;font-size:32px;border-radius:16px}
.m-rev__q footer{display:flex;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.m-rev__who{display:grid;gap:2px}
.m-rev__who b{font-size:17px;font-weight:800}
.m-rev__who>span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.m-rev__who .m-stars{font-size:13px;letter-spacing:.1em;margin-right:6px}
.m-rev--row .m-rcard__logo{flex:none;width:110px;height:44px;margin:0}
.m-rev--row .m-rev__timer{position:absolute;left:clamp(26px,3vw,40px);right:clamp(26px,3vw,40px);bottom:0;width:auto;margin:0}
@media (min-width:768px){.m-rev--row .m-rev__q cite{display:none}}
@media (max-width:900px){.m-rev--row{grid-template-columns:1fr}}
.m-rev--row .m-rev__q p{margin-top:0}
@media (max-width:767px){.m-rev--row .m-rcard__logo{width:96px;height:40px}.m-tp{font-size:12.5px}}
/* meno vuoto tra i lavori e la fascia consulenza */
.m-work{padding-bottom:clamp(30px,4vw,56px)!important}
.m-midcta{padding-top:0}
/* scritta di sfondo hero: box più alto così il gradiente-clip non taglia le lettere */
.m-phero__big{line-height:1!important;padding:.15em .1em 0!important;bottom:-.22em!important}
/* brand: ciclo infinito senza buchi (margine per elemento così -50% combacia) */
.m-lmarq__row{gap:0!important;animation-duration:110s!important}
.m-lmarq__row>span{margin-right:12px}
/* ===== Landing vetrine digitali ===== */
.m-lv{position:relative;min-height:100svh;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(30px,5vw,80px);padding:clamp(120px,14vw,170px) var(--gut) clamp(60px,8vw,110px);overflow:hidden}
.m-lv h1{font-weight:900;font-size:clamp(40px,5.6vw,88px);letter-spacing:-.045em;line-height:.98;margin:18px 0 22px}
.m-lv h1 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.m-lv__p{font-size:clamp(16px,1.25vw,19px);color:var(--mute);max-width:520px;line-height:1.55}
.m-lv__price{display:flex;align-items:flex-end;gap:12px;margin:28px 0 30px}
.m-lv__from{font-family:'Instrument Serif',serif;font-style:italic;font-size:28px;color:var(--mute);padding-bottom:.6em}
.m-lv__num{font-weight:900;font-size:clamp(80px,10vw,150px);line-height:.85;letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.06em .04em 0 0}
.m-lv__per{font-weight:700;font-size:18px;line-height:1.2;padding-bottom:.5em}
.m-lv__per small{font-weight:500;font-size:13px;color:var(--mute)}
.m-lv__ticks{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:26px 0 0;padding:0;font-size:14px;font-weight:600}
.m-lv__ticks li:before{content:"✓";color:var(--orange);margin-right:8px;font-weight:900}
.m-lv__stage{position:relative;aspect-ratio:1/1;display:grid;place-items:center}
.m-lv__stage .m-blob{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(251,77,46,.55),rgba(251,48,71,0) 68%);filter:blur(30px)}
.m-lv__tv{position:relative;width:78%;transform:perspective(1200px) rotateY(-14deg) rotateX(4deg);animation:m-lvfloat 7s ease-in-out infinite}
.m-lv__screen{position:relative;aspect-ratio:16/10;border-radius:18px;border:10px solid #1c1c1c;background:#0b0b0b;box-shadow:0 0 0 1px #333,0 40px 90px -20px rgba(251,77,46,.55),inset 0 0 40px rgba(0,0,0,.6);overflow:hidden}
.m-lv__stand{display:block;width:30%;height:14px;margin:0 auto;background:linear-gradient(#2a2a2a,#151515);border-radius:0 0 10px 10px}
.m-lv__slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:8% 9%;opacity:0;animation:m-lvslide 9s infinite}
.m-lv__slide--a{background:linear-gradient(135deg,#fb3047,#fb6917)}
.m-lv__slide--b{background:#f4f1ec;color:#0e0e0e;animation-delay:3s}
.m-lv__slide--c{background:radial-gradient(circle at 80% 20%,#3a1a14,#0e0e0e 70%);animation-delay:6s}
.m-lv__slide small{font-size:clamp(11px,1vw,14px);font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.m-lv__slide strong{font-weight:900;font-size:clamp(22px,2.6vw,42px);letter-spacing:-.04em;line-height:1.05;margin-top:10px}
.m-lv__slide--b b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-lv__slide--c b{color:var(--orange)}
.m-lv__glare{position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 35%);pointer-events:none}
.m-lv__phone{position:absolute;left:2%;bottom:6%;width:24%;aspect-ratio:9/18;border-radius:22px;background:#151515;border:2px solid #333;padding:18% 9% 0;display:flex;flex-direction:column;gap:8px;box-shadow:0 30px 60px -10px rgba(0,0,0,.7);animation:m-lvfloat 6s ease-in-out infinite reverse}
.m-lv__ph-bar{height:40%;border-radius:10px;background:linear-gradient(135deg,#fb3047,#fb6917)}
.m-lv__ph-row{height:6px;border-radius:4px;background:#333}
.m-lv__ph-row--s{width:60%}
.m-lv__ph-btn{margin-top:auto;margin-bottom:16%;text-align:center;font-size:clamp(8px,.75vw,11px);font-weight:800;padding:7px 0;border-radius:20px;background:#f4f1ec;color:#0e0e0e;animation:m-lvtap 3s infinite}
.m-lv__wave{position:absolute;left:18%;bottom:40%;width:22%;overflow:visible}
.m-lv__wave path{animation:m-lvdash 1.2s linear infinite}
@keyframes m-lvslide{0%{opacity:0;transform:scale(1.06)}4%,30%{opacity:1;transform:scale(1)}36%,100%{opacity:0}}
@keyframes m-lvfloat{50%{translate:0 -14px}}
@keyframes m-lvtap{0%,25%,100%{transform:scale(1)}30%{transform:scale(.88);background:#fb6917;color:#fff}}
@keyframes m-lvdash{to{stroke-dashoffset:-28}}
/* prima / dopo */
.m-lvvs{padding:clamp(70px,9vw,130px) var(--gut)}
.m-lvvs__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(30px,4vw,56px)}
.m-lvvs__card{position:relative;border-radius:28px;padding:clamp(24px,3vw,40px);border:1px solid var(--line);background:#141414;overflow:hidden}
.m-lvvs__card--new{background:linear-gradient(140deg,#fb3047,#fb6917);border:0}
.m-lvvs__tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;border-radius:30px;background:rgba(255,255,255,.08)}
.m-lvvs__card--new .m-lvvs__tag{background:#0e0e0e}
.m-lvvs__paper{margin:28px auto;width:min(220px,60%);aspect-ratio:3/4;background:#d9d2c3;transform:rotate(-4deg);padding:14% 12%;display:flex;flex-direction:column;gap:9px;filter:grayscale(.4) brightness(.8);box-shadow:0 20px 40px rgba(0,0,0,.5)}
.m-lvvs__paper b{font-weight:900;font-size:clamp(26px,3vw,38px);color:#7a2a20;opacity:.6;margin-bottom:8px}
.m-lvvs__paper i{height:8px;background:rgba(0,0,0,.18);border-radius:4px}.m-lvvs__paper i.s{width:55%}
.m-lvvs__screen{margin:28px auto;width:min(300px,80%);aspect-ratio:4/3;border-radius:14px;border:8px solid #0e0e0e;background:#0e0e0e;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.m-lvvs__screen b{font-weight:900;font-size:clamp(46px,5vw,72px);letter-spacing:-.05em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;animation:m-lvpulse 2.4s ease-in-out infinite;padding:0 .05em}
.m-lvvs__screen span{font-size:13px;font-weight:600;color:#f4f1ec;letter-spacing:.1em;text-transform:uppercase}
@keyframes m-lvpulse{50%{filter:brightness(1.35);transform:scale(1.05)}}
.m-lvvs__card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px;font-weight:600}
.m-lvvs__card--old ul{color:var(--mute)}.m-lvvs__card--old li:before{content:"✕";margin-right:10px;color:#666}
.m-lvvs__card--new li:before{content:"✓";margin-right:10px;font-weight:900}
/* settori */
.m-lvsec{padding:clamp(30px,4vw,50px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.m-lvsec .m-eyebrow{margin:0 var(--gut) 18px}
.m-lvsec__row{display:flex;align-items:center;gap:0;width:max-content;animation:m-marq 60s linear infinite;font-weight:900;font-size:clamp(34px,5vw,72px);letter-spacing:-.04em;white-space:nowrap}
.m-lvsec__row span{padding:0 .35em}
.m-lvsec__row span:nth-child(4n+1){background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-lvsec__row i{font-style:normal;font-size:.4em;color:var(--orange)}
/* 3 passi */
.m-lvst{padding:clamp(70px,9vw,130px) var(--gut)}
.m-lvst__list{list-style:none;margin:clamp(30px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}
.m-lvst__list li{position:relative;border-radius:28px;border:1px solid var(--line);background:#141414;padding:clamp(24px,3vw,38px)}
.m-lvst__n{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--grad);font-weight:900;font-size:28px;margin-bottom:26px;box-shadow:0 14px 40px -8px rgba(251,77,46,.6)}
.m-lvst__list h3{font-weight:800;font-size:clamp(20px,1.7vw,26px);letter-spacing:-.03em;margin:0 0 10px}
.m-lvst__list p{color:var(--mute);margin:0;line-height:1.55}
.m-lvst__list li:not(:last-child):after{content:"";position:absolute;top:calc(clamp(24px,3vw,38px) + 32px);left:calc(clamp(24px,3vw,38px) + 72px);right:-16px;height:2px;background:linear-gradient(90deg,var(--orange),transparent)}
@media (max-width:900px){
  .m-lv{grid-template-columns:1fr;min-height:0;padding-top:110px;gap:10px}
  .m-lv__stage{order:-1;width:100%;max-width:440px;margin:0 auto;aspect-ratio:1.15/1}
  .m-lv__price{margin:22px 0}
  .m-lvvs__grid,.m-lvst__list{grid-template-columns:1fr}
  .m-lvst__list li:after{display:none}
}
@media (prefers-reduced-motion:reduce){.m-lv__slide{animation:none}.m-lv__slide--a{opacity:1}.m-lv__tv,.m-lv__phone{animation:none}}
.m-lv .m-hero__cta{margin:0!important;justify-content:flex-start!important;padding:0!important}
.m-lv__stage{justify-items:end}
.m-lv__tv{width:74%;margin-right:2%}
.m-lv__phone{left:0;bottom:2%;width:21%;z-index:2}
.m-lv__ph-btn{font-size:clamp(7px,.6vw,10px);overflow:hidden;white-space:nowrap}
.m-lv__wave{left:17%;bottom:30%}
.m-lv .m-phero__big{opacity:.5}
.m-lv__phone{align-items:stretch;padding:22% 10% 0}
.m-lv__ph-bar{height:auto;aspect-ratio:1/1;flex:none;width:100%}
.m-lv__ph-row{flex:none;width:100%}.m-lv__ph-row--s{width:60%}
.m-lv__ph-btn{width:100%;flex:none;padding:6px 0}
.m-lv__phone>span{position:absolute!important;display:block!important;left:10%!important;right:10%!important;width:auto!important}
.m-lv__ph-bar{top:14%;height:38%!important;aspect-ratio:auto!important}
.m-lv__ph-row{top:57%;height:6px}.m-lv__ph-row--s{top:62%;right:40%!important}
.m-lv__ph-btn{bottom:8%;margin:0!important}
/* ===== Instagram nel telefono (home) ===== */
.m-igp{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,100px);padding:clamp(80px,10vw,150px) var(--gut);overflow:hidden}
.m-igp__txt .m-lead{margin:22px 0 34px;max-width:470px}
.m-igp__stage{position:relative;display:grid;place-items:center;perspective:1400px}
.m-igp__stage .m-blob{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(251,77,46,.5),rgba(251,48,71,0) 65%);filter:blur(30px)}
.m-igp__phone{position:relative;width:min(360px,100%);aspect-ratio:9/19;border-radius:48px;background:#0a0a0a;padding:12px;box-shadow:0 0 0 2px #2a2a2a,0 0 0 9px #141414,0 60px 120px -30px rgba(251,77,46,.55);transform-style:preserve-3d;transition:transform .25s ease-out}
.m-igp__notch{position:absolute;top:20px;left:50%;width:30%;height:24px;border-radius:20px;background:#000;transform:translateX(-50%);z-index:5}
.m-igp__screen{position:relative;height:100%;border-radius:38px;background:#000;color:#f5f5f5;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
.m-igp__bar{display:flex;justify-content:space-between;align-items:center;padding:54px 18px 10px;font-size:16px}
.m-igp__dots{font-size:12px;letter-spacing:1px}
.m-igp__scroll{position:absolute;inset:88px 0 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.m-igp__scroll::-webkit-scrollbar{display:none}
.m-igp__head{display:flex;align-items:center;gap:18px;padding:6px 16px 12px}
.m-igp__av{flex:none;width:80px;height:80px;border-radius:50%;padding:3px;background:conic-gradient(#fb6917,#fb3047,#c13584,#fb6917)}
.m-igp__av img{width:100%;height:100%;border-radius:50%;object-fit:contain;background:#0e0e0e;border:3px solid #000;padding:8px}
.m-igp__stats{flex:1;display:flex;justify-content:space-around;list-style:none;margin:0;padding:0;font-size:12px;text-align:center}
.m-igp__stats b{display:block;font-size:16px}
.m-igp__bio{padding:0 16px;font-size:13px;line-height:1.4}
.m-igp__bio p{margin:2px 0 0;white-space:pre-line;color:#ddd}
.m-igp__btns{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px 16px 14px}
.m-igp__btns a{display:block;text-align:center;font-size:13px;font-weight:600;padding:7px 0;border-radius:8px;background:#262626;color:#fff}
.m-igp__btns .m-igp__follow{background:#0095f6}
.m-igp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.m-igp__post{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#1a1a1a}
.m-igp__post img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.m-igp__post:hover img{transform:scale(1.06)}
.m-igp__post--ph span{position:absolute;inset:0;background:linear-gradient(135deg,rgba(251,48,71,.35),rgba(251,105,23,.15));animation:m-igph 1.6s ease-in-out infinite alternate;animation-delay:calc(var(--i) * .08s)}
@keyframes m-igph{to{opacity:.35}}
.m-igp__post--v:after{content:"▶";position:absolute;top:6px;right:8px;font-size:11px;text-shadow:0 1px 4px #000}
.m-igp__view{position:absolute;inset:0;z-index:4;background:#000;display:flex;flex-direction:column;padding-top:50px;animation:m-igin .35s var(--ease)}
.m-igp__view[hidden]{display:none}
@keyframes m-igin{from{transform:translateY(30px);opacity:0}}
.m-igp__close{align-self:flex-start;margin:4px 12px 8px;background:none;border:0;color:#fff;font-size:22px;cursor:pointer}
.m-igp__vimg{position:relative;aspect-ratio:4/5;background:#111 center/cover}
.m-igp__vmeta{padding:12px 16px;font-size:13px;overflow-y:auto}
.m-igp__heart{font-size:24px;color:#ff3040;display:inline-block;margin-right:8px;vertical-align:middle}
.m-igp__heart.is-pop{animation:m-igpop .5s}
@keyframes m-igpop{40%{transform:scale(1.4)}}
.m-igp__vcap{margin:8px 0 10px;color:#ddd;line-height:1.4}
.m-igp__vlink{color:#0095f6;font-weight:600}
@media (max-width:900px){
  .m-igp{grid-template-columns:1fr;text-align:left}
  .m-igp__phone{width:min(330px,88vw)}
}
/* elementi fluttuanti attorno al telefono Instagram */
.m-igp__stage{min-height:min(760px,calc(min(360px,100%) * 19 / 9 + 40px))}
.m-igp__fl{position:absolute;inset:0;pointer-events:none;z-index:3}
.m-igf{position:absolute;display:flex;align-items:center;gap:8px;transition:translate .6s var(--ease);animation:m-igfl 6s ease-in-out infinite}
.m-igf:nth-child(2n){animation-duration:7.5s;animation-direction:reverse}
.m-igf:nth-child(3n){animation-duration:5.2s;animation-delay:-2s}
@keyframes m-igfl{50%{transform:translateY(-16px) rotate(var(--r2,0deg))}}
.m-igf--logo{top:8%;left:calc(50% - 250px);width:64px;height:64px;border-radius:18px;justify-content:center;background:radial-gradient(circle at 30% 110%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 95%);box-shadow:0 20px 40px -10px rgba(214,36,159,.6);rotate:-12deg}
.m-igf--logo svg{width:34px}
.m-igf--like,.m-igf--fol{padding:12px 18px;border-radius:40px;background:rgba(20,20,20,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 20px 40px -12px rgba(0,0,0,.7)}
.m-igf--like{top:30%;right:calc(50% - 300px)}
.m-igf--like b{color:#ff3040;font-size:20px;line-height:1}
.m-igf--fol{bottom:16%;left:calc(50% - 300px)}
.m-igf--fol i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--grad);font-style:normal;font-weight:900}
.m-igf--fol b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-igf--com{top:12%;right:calc(50% - 250px);padding:14px 16px;border-radius:22px 22px 22px 6px;background:#f4f1ec;gap:5px}
.m-igf--com i{width:8px;height:8px;border-radius:50%;background:#0e0e0e;animation:m-igtype 1.2s infinite}
.m-igf--com i:nth-child(2){animation-delay:.15s}.m-igf--com i:nth-child(3){animation-delay:.3s}
@keyframes m-igtype{0%,60%,100%{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.m-igf--post{top:44%;left:calc(50% - 290px);width:110px;padding:6px;border-radius:16px;background:#f4f1ec;rotate:-9deg;box-shadow:0 30px 60px -15px rgba(0,0,0,.8)}
.m-igf__img{display:block;width:100%;aspect-ratio:4/5;border-radius:11px;background:linear-gradient(135deg,#fb3047,#fb6917) center/cover}
.m-igf--post2{top:auto;left:auto;bottom:6%;right:calc(50% - 290px);width:96px;rotate:8deg}
.m-igf--send{bottom:34%;right:calc(50% - 255px);width:50px;height:50px;border-radius:50%;justify-content:center;background:var(--grad);box-shadow:0 16px 36px -8px rgba(251,77,46,.7)}
.m-igf--send svg{width:22px}
.m-igf--heart{top:58%;right:calc(50% - 215px);font-size:26px;color:#ff3040;filter:drop-shadow(0 6px 14px rgba(255,48,64,.6))}
@media (max-width:900px){
  .m-igp__stage{min-height:0;padding:30px 0}
  .m-igf{scale:.72}
  .m-igf--logo{left:2%;top:4%}
  .m-igf--com{right:3%;top:6%}
  .m-igf--like{right:-4%;top:28%}
  .m-igf--post{left:-6%;top:42%}
  .m-igf--fol{left:-4%;bottom:12%}
  .m-igf--post2{right:-5%;bottom:5%}
  .m-igf--send{right:0;bottom:30%}
  .m-igf--heart{display:none}
}
@media (prefers-reduced-motion:reduce){.m-igf,.m-igf--com i{animation:none}}
@media (max-width:900px){
  .m-igf--post2,.m-igf--send,.m-igf--heart{display:none}
  .m-igf--post{top:46%;left:-5%;width:84px}
  .m-igf--fol{bottom:7%;left:-3%}
  .m-igf--like{top:24%;right:-5%}
}
@media (max-width:900px){.m-igf--like{top:auto;bottom:30%;right:-4%}}
/* fasce che scorrono: spazio per l'ultima lettera, il gradiente-clip non la taglia */
.m-marq__row span,.m-lvsec__row span{padding:.06em .12em .06em .04em;margin-right:-.08em}
/* mobile: lavori come carosello di card grandi con lo screenshot in evidenza */
@media (max-width:767px){
  .m-work__list{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;border-top:0;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 8px;scrollbar-width:none;overscroll-behavior-x:contain}
  .m-work__list::-webkit-scrollbar{display:none}
  .m-work__row{flex:none;width:84vw;scroll-snap-align:center;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:#141414;overflow:hidden}
  .m-work__m{order:-1;position:static!important;transform:none!important;width:100%!important;aspect-ratio:1900/908!important;border-radius:0!important;box-shadow:none!important;border-bottom:1px solid var(--line)}
  .m-work__row a{grid-template-columns:28px 1fr 24px!important;padding:16px 18px 18px!important;align-items:start}
  .m-work__row a:before{display:none}
  .m-work__t{font-size:24px!important}
  .m-work__t .m-res{margin-top:10px;white-space:normal;width:auto}
  .m-work__n{padding-top:6px}
  .m-work__row .m-ico{margin-top:4px}
}
.m-afterhero{background:linear-gradient(180deg,rgba(14,14,14,0) 0,var(--bg) 22vh)}
.m-afterhero{padding-top:20vh!important}
@media (max-width:767px){
  .m-work__row a{grid-template-rows:auto auto;row-gap:6px!important}
  .m-work__c{display:block!important;grid-column:2;grid-row:2;text-align:left;font-size:13px}
  .m-work__row .m-ico{grid-column:3;grid-row:1}
  .m-work__list{scroll-padding:0 var(--gut)}
  .m-work__row{scroll-snap-align:start}
}
/* ===== Menu servizi: lista + anteprima grande ===== */
.m-nav__lbl{display:block;padding:10px 16px;border-radius:30px;font-weight:600;font-size:15px;cursor:default;transition:background .3s}
.has-sub:hover .m-nav__lbl,.has-sub:focus-within .m-nav__lbl{background:rgba(255,255,255,.08)}
.m-nav__lbl:after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .3s}
.has-sub:hover .m-nav__lbl:after{transform:translateY(0) rotate(-135deg)}
.m-sub{width:min(820px,86vw)}
.m-sub__in{display:grid;grid-template-columns:1fr 1.15fr;gap:10px;padding:10px;background:rgba(20,20,20,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:26px;box-shadow:0 40px 80px rgba(0,0,0,.55)}
.m-sub ul{display:block!important;padding:6px!important;margin:0;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
.m-sub a{display:flex!important;align-items:baseline!important;gap:14px;height:auto!important;padding:11px 14px!important;border-radius:12px;background:none!important;font-weight:700;font-size:15px;overflow:visible!important;transition:background .3s,padding .3s}
.m-sub a:before{display:none!important}
.m-sub__n{font-size:11px;font-weight:700;color:var(--mute);letter-spacing:.08em;transition:color .3s}
.m-sub a.on{background:rgba(255,255,255,.06)!important;padding-left:20px!important}
.m-sub a.on .m-sub__n{color:var(--orange)}
.m-sub a.on .m-sub__t{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-sub__side{position:relative;border-radius:18px;overflow:hidden;background:#141414 url(img/paper.webp) center/cover;min-height:340px}
.m-sub__side:before{content:"";position:absolute;width:80%;aspect-ratio:1;left:10%;top:-10%;border-radius:50%;background:var(--grad);filter:blur(60px);opacity:.25}
.m-sub__pv{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:24px 26px 54px;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .35s,transform .5s var(--ease);pointer-events:none}
.m-sub__pv.on{opacity:1;transform:none}
.m-art.m-sub__art{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;width:100%!important;transform:none!important}
.m-sub__pv p{margin:14px 0 0;font-family:'Instrument Serif',serif;font-style:italic;font-size:22px;line-height:1.2;color:#f4f1ec}
.m-sub__hint{position:absolute;left:26px;bottom:20px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.m-sub__pv.on .m-art *{animation-play-state:running}
/* ===== Servizi in home: griglia bento ===== */
.m-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(230px,auto);gap:14px;margin-top:clamp(36px,5vw,64px)}
.m-bento__c{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 24px;border-radius:26px;background:#141414 url(img/paper.webp) center/cover;border:1px solid var(--line);overflow:hidden;isolation:isolate;transition:border-color .4s,transform .5s var(--ease)}
.m-bento__c:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,14,0) 30%,rgba(14,14,14,.92) 100%);z-index:-1}
.m-bento__c:after{content:"";position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .5s;z-index:-2;mix-blend-mode:soft-light}
.m-bento__c:hover{border-color:rgba(251,77,46,.6);transform:translateY(-4px)}
.m-bento__c:hover:after{opacity:.9}
.m-bento__art{position:absolute;inset:0 0 auto;height:72%;display:grid;place-items:center;z-index:-1;transition:transform .7s var(--ease)}
.m-bento__art .m-art{width:86%;height:100%;background:none}
.m-bento__art .m-art:before{display:none}
.m-bento__c:hover .m-bento__art{transform:scale(1.06)}
.m-bento__c:hover .m-art *{animation-play-state:running}
.m-bento__n{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--orange)}
.m-bento__c h3{font-weight:800;font-size:clamp(20px,1.6vw,26px);letter-spacing:-.03em;line-height:1.05;margin:6px 0 4px}
.m-bento__c p{margin:0;font-family:'Instrument Serif',serif;font-style:italic;font-size:17px;line-height:1.25;color:#cfcac2;max-width:34ch}
.m-bento__tags{display:none;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:0}
.m-bento__tags li{font-size:12px;font-weight:600;padding:5px 11px;border-radius:30px;border:1px solid rgba(255,255,255,.2);background:rgba(14,14,14,.5)}
.m-bento__go{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);transition:background .4s,transform .5s var(--ease)}
.m-bento__go .m-ico{width:18px;height:18px;transform:rotate(-45deg)}
.m-bento__c:hover .m-bento__go{background:var(--grad);transform:rotate(45deg)}
/* disposizione: siti web grande, poi un mosaico */
.m-bento__c--1{grid-column:span 2;grid-row:span 2}
.m-bento__c--1 h3{font-size:clamp(28px,2.6vw,42px)}
.m-bento__c--1 p{font-size:22px}
.m-bento__c--1 .m-bento__tags{display:flex}
.m-bento__c--1 .m-bento__art{height:68%}
.m-bento__c--2,.m-bento__c--5,.m-bento__c--8,.m-bento__c--9{grid-column:span 2}
.m-bento__c--2 .m-bento__art,.m-bento__c--5 .m-bento__art,.m-bento__c--8 .m-bento__art,.m-bento__c--9 .m-bento__art{inset:0 0 0 auto;width:58%;height:100%}
.m-bento__c--2 p,.m-bento__c--5 p,.m-bento__c--8 p,.m-bento__c--9 p{max-width:24ch}
.m-bento__c--2:before,.m-bento__c--5:before,.m-bento__c--8:before,.m-bento__c--9:before{background:linear-gradient(90deg,rgba(14,14,14,.92) 25%,rgba(14,14,14,0) 70%)}
@media (max-width:1100px){.m-bento{grid-template-columns:repeat(2,1fr)}.m-bento__c--1{grid-row:span 1;min-height:380px}}
@media (max-width:767px){
  .m-bento{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:10px}
  .m-bento__c{grid-column:span 1!important;min-height:210px;padding:16px;border-radius:20px}
  .m-bento__c--1,.m-bento__c--2,.m-bento__c--5,.m-bento__c--8,.m-bento__c--9{grid-column:span 2!important}
  .m-bento__c--1{min-height:340px}
  .m-bento__c h3{font-size:18px}
  .m-bento__c p{font-size:15px}
  .m-bento__c--1 h3{font-size:28px}.m-bento__c--1 p{font-size:18px}
  .m-bento__c:not(.m-bento__c--1):not(.m-bento__c--2):not(.m-bento__c--5):not(.m-bento__c--8):not(.m-bento__c--9) p{display:none}
  .m-bento__c:not(.m-bento__c--1):not(.m-bento__c--2):not(.m-bento__c--5):not(.m-bento__c--8):not(.m-bento__c--9) .m-bento__art{height:62%}
  .m-bento__go{width:34px;height:34px;top:12px;right:12px}
  .m-bento__c--2,.m-bento__c--5,.m-bento__c--8,.m-bento__c--9{min-height:170px}
}
/* bento solo da desktop/tablet, mobile resta con le schede di prima */
@media (min-width:768px){.m-svc--bento .m-svc__grid{display:none!important}}
@media (max-width:767px){.m-bento{display:none!important}}
@media (min-width:768px){.m-bento__c--3 .m-bento__art,.m-bento__c--4 .m-bento__art,.m-bento__c--6 .m-bento__art,.m-bento__c--7 .m-bento__art{height:58%;top:6%}}
/* bento: lavori veri + tipografia gigante */
.m-bento__art{overflow:visible}
.m-bento__word{position:absolute;top:-.06em;right:.08em;font-weight:900;font-size:clamp(110px,11vw,190px);line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(251,90,40,.55);padding:.1em .08em 0 0;transition:color .6s,-webkit-text-stroke-color .6s,transform .8s var(--ease)}
.m-bento__c:hover .m-bento__word{color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke-color:transparent;transform:translate(-10px,8px) rotate(-4deg)}
.m-bento__c--8 .m-bento__word,.m-bento__c--9 .m-bento__word{top:50%;transform:translateY(-50%);right:.15em}
.m-bento__c--8:hover .m-bento__word,.m-bento__c--9:hover .m-bento__word{transform:translateY(-50%) rotate(-4deg) scale(1.05)}
/* siti: tre finestre browser a ventaglio */
.m-bento__sites{position:absolute;inset:8% 8% 0;display:block}
.m-bento__win{position:absolute;left:50%;top:8%;width:78%;border-radius:12px;overflow:hidden;background:#1d1d1d;box-shadow:0 30px 60px -18px rgba(0,0,0,.85);transform-origin:50% 120%;transition:transform .8s var(--ease)}
.m-bento__win i{display:block;height:18px;background:#262626 radial-gradient(circle at 12px 9px,#fb3047 3px,transparent 3.5px),radial-gradient(circle at 24px 9px,#555 3px,transparent 3.5px)}
.m-bento__win i{background:radial-gradient(circle at 12px 9px,#fb3047 3px,transparent 3.5px),radial-gradient(circle at 24px 9px,#666 3px,transparent 3.5px),radial-gradient(circle at 36px 9px,#666 3px,transparent 3.5px),#262626}
.m-bento__win img{display:block;width:100%;height:auto;aspect-ratio:1900/908;object-fit:cover;object-position:top}
.m-bento__win:nth-child(1){transform:translateX(-50%) rotate(-9deg) translateX(-16%)}
.m-bento__win:nth-child(2){transform:translateX(-50%) rotate(7deg) translateX(14%) translateY(-4%)}
.m-bento__win:nth-child(3){transform:translateX(-50%) translateY(6%)}
.m-bento__c:hover .m-bento__win:nth-child(1){transform:translateX(-50%) rotate(-14deg) translateX(-26%)}
.m-bento__c:hover .m-bento__win:nth-child(2){transform:translateX(-50%) rotate(12deg) translateX(24%) translateY(-6%)}
.m-bento__c:hover .m-bento__win:nth-child(3){transform:translateX(-50%) translateY(2%) scale(1.04)}
/* social: tre post veri a ventaglio */
.m-bento__ig{position:absolute;right:8%;top:50%;width:46%;height:80%;transform:translateY(-50%)}
.m-bento__ig span{position:absolute;top:50%;left:50%;width:42%;aspect-ratio:4/5;border-radius:12px;border:4px solid #f4f1ec;background:linear-gradient(135deg,#fb3047,#fb6917) center/cover;box-shadow:0 20px 40px -12px rgba(0,0,0,.8);transition:transform .7s var(--ease)}
.m-bento__ig span:nth-child(1){transform:translate(-120%,-50%) rotate(-10deg)}
.m-bento__ig span:nth-child(2){transform:translate(-50%,-56%);z-index:2}
.m-bento__ig span:nth-child(3){transform:translate(20%,-50%) rotate(10deg)}
.m-bento__c:hover .m-bento__ig span:nth-child(1){transform:translate(-140%,-48%) rotate(-16deg)}
.m-bento__c:hover .m-bento__ig span:nth-child(2){transform:translate(-50%,-62%) scale(1.06)}
.m-bento__c:hover .m-bento__ig span:nth-child(3){transform:translate(40%,-48%) rotate(16deg)}
/* premium: loghi partner reali */
.m-bento__logos{position:absolute;right:7%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;width:38%}
.m-bento__logos img{display:block;width:100%;height:64px;object-fit:contain;padding:12px 20px;border-radius:16px;background:#f4f1ec;transition:transform .6s var(--ease)}
.m-bento__c:hover .m-bento__logos img:first-child{transform:translateX(-10px) rotate(-3deg)}
.m-bento__c:hover .m-bento__logos img:last-child{transform:translateX(10px) rotate(3deg)}
.m-bento__c--2:before,.m-bento__c--5:before{background:linear-gradient(90deg,rgba(14,14,14,.9) 30%,rgba(14,14,14,0) 62%)}
/* ritocchi bento */
.m-bento__c--3 .m-bento__word,.m-bento__c--4 .m-bento__word,.m-bento__c--6 .m-bento__word,.m-bento__c--7 .m-bento__word{font-size:clamp(70px,6.6vw,112px);top:auto;bottom:44%;left:20px;right:auto}
.m-bento__c--3:hover .m-bento__word,.m-bento__c--4:hover .m-bento__word,.m-bento__c--6:hover .m-bento__word,.m-bento__c--7:hover .m-bento__word{transform:translateY(-6px) rotate(-3deg)}
.m-bento__sites{inset:4% 6% 42%}
.m-bento__win{top:0;width:70%}
.m-bento__ig{width:52%;height:92%;right:4%}
.m-bento__ig span{width:46%}
.m-bento__logos img{background:#0e0e0e;border:1px solid rgba(255,255,255,.14)}
.m-bento__c--3 .m-bento__word,.m-bento__c--4 .m-bento__word,.m-bento__c--6 .m-bento__word,.m-bento__c--7 .m-bento__word{font-size:clamp(60px,5.4vw,88px);bottom:auto;top:30px;left:22px}
.m-bento__sites{inset:10% 6% 40%}
.m-bento__ig{right:12%;width:44%}
/* ===== Bento: micro-interfacce animate (grafiche illustrative) ===== */
.m-ui{position:absolute;top:22px;left:22px;right:76px;display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:16px;background:rgba(14,14,14,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px -14px rgba(0,0,0,.8);font-size:12px;transition:transform .6s var(--ease)}
.m-bento__c:hover .m-ui{transform:translateY(-4px) rotate(-1.5deg)}
.m-bento__c--8 .m-ui,.m-bento__c--9 .m-ui{left:auto;right:8%;top:50%;width:42%;transform:translateY(-50%)}
.m-bento__c--8:hover .m-ui,.m-bento__c--9:hover .m-ui{transform:translateY(-52%) rotate(-1.5deg)}
.m-ui__k{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#cfcac2}
.m-ui__dot{width:8px;height:8px;border-radius:50%;background:#2fd36b;box-shadow:0 0 0 0 rgba(47,211,107,.6);animation:m-uiping 1.8s infinite}
@keyframes m-uiping{70%{box-shadow:0 0 0 8px rgba(47,211,107,0)}100%{box-shadow:none}}
/* brand kit */
.m-ui__sw{display:flex;gap:6px}
.m-ui__sw i{flex:1;height:26px;border-radius:7px;animation:m-uisw 4s ease-in-out infinite}
.m-ui__sw i:nth-child(1){background:#fb3047}.m-ui__sw i:nth-child(2){background:#fb6917;animation-delay:.2s}.m-ui__sw i:nth-child(3){background:#f4f1ec;animation-delay:.4s}.m-ui__sw i:nth-child(4){background:#262626;animation-delay:.6s}
@keyframes m-uisw{0%,70%,100%{transform:none}80%{transform:translateY(-6px)}}
.m-ui__type{display:flex;align-items:baseline;gap:10px;line-height:1}
.m-ui__type strong{font-size:30px;font-weight:900;letter-spacing:-.04em}
.m-ui__type em{font-family:'Instrument Serif',serif;font-size:32px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em}
/* ads */
.m-ui__bars{display:flex;align-items:flex-end;gap:6px;height:48px}
.m-ui__bars i{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(#fb6917,#fb3047);transform-origin:bottom;animation:m-uibar 3.2s ease-in-out infinite}
.m-ui__bars i:nth-child(1){height:30%}.m-ui__bars i:nth-child(2){height:45%;animation-delay:.1s}.m-ui__bars i:nth-child(3){height:40%;animation-delay:.2s}.m-ui__bars i:nth-child(4){height:62%;animation-delay:.3s}.m-ui__bars i:nth-child(5){height:78%;animation-delay:.4s}.m-ui__bars i:nth-child(6){height:100%;animation-delay:.5s}
@keyframes m-uibar{0%{transform:scaleY(.15)}35%,85%{transform:none}100%{transform:scaleY(.15)}}
.m-ui__pill{align-self:flex-start;font-weight:800;font-size:11px;padding:4px 10px;border-radius:20px;background:rgba(47,211,107,.15);color:#4be38a}
/* live */
.m-ui__rec{width:9px;height:9px;border-radius:50%;background:#ff3040;animation:m-uiblink 1s steps(2) infinite}
@keyframes m-uiblink{50%{opacity:.2}}
.m-ui__wave{display:flex;align-items:center;gap:3px;height:38px}
.m-ui__wave i{flex:1;height:100%;border-radius:3px;background:var(--grad);animation:m-uiwave 1.1s ease-in-out infinite}
.m-ui__wave i:nth-child(odd){animation-duration:.8s}.m-ui__wave i:nth-child(3n){animation-delay:-.4s}.m-ui__wave i:nth-child(4n){animation-delay:-.2s}
@keyframes m-uiwave{0%,100%{transform:scaleY(.2)}50%{transform:scaleY(1)}}
.m-ui__ticket{align-self:flex-start;font-weight:700;padding:5px 12px;border-radius:6px;background:#f4f1ec;color:#0e0e0e;border-left:3px dashed #fb6917}
/* calendario */
.m-ui__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.m-ui__grid i{aspect-ratio:1;border-radius:4px;background:#262626;animation:m-uical 6s infinite}
.m-ui__grid i:nth-child(3){animation-delay:.4s}.m-ui__grid i:nth-child(6){animation-delay:.8s}.m-ui__grid i:nth-child(9){animation-delay:1.2s}.m-ui__grid i:nth-child(12){animation-delay:1.6s}.m-ui__grid i:nth-child(15){animation-delay:2s}.m-ui__grid i:nth-child(17){animation-delay:2.4s}.m-ui__grid i:nth-child(20){animation-delay:2.8s}
.m-ui__grid i:not(:nth-child(3)):not(:nth-child(6)):not(:nth-child(9)):not(:nth-child(12)):not(:nth-child(15)):not(:nth-child(17)):not(:nth-child(20)){animation:none}
@keyframes m-uical{0%,8%{background:#262626}12%,85%{background:linear-gradient(135deg,#fb3047,#fb6917)}100%{background:#262626}}
.m-ui__toast{align-self:flex-start;font-weight:700;padding:6px 12px;border-radius:20px;background:#f4f1ec;color:#0e0e0e;animation:m-uitoast 6s infinite}
@keyframes m-uitoast{0%,40%{opacity:0;transform:translateY(8px)}48%,90%{opacity:1;transform:none}100%{opacity:0}}
/* vetrina */
.m-ui--screen{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}
.m-ui__tv{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;border:6px solid #1c1c1c;background:#0b0b0b;overflow:hidden;box-shadow:0 0 0 1px #333,0 24px 50px -14px rgba(251,77,46,.5)}
.m-ui__tv i{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:clamp(16px,1.5vw,22px);letter-spacing:-.03em;opacity:0;animation:m-uitv 7.5s infinite}
.m-ui__tv i:nth-child(1){background:var(--grad)}
.m-ui__tv i:nth-child(2){background:#f4f1ec;color:#0e0e0e;animation-delay:2.5s}
.m-ui__tv i:nth-child(3){background:radial-gradient(circle at 70% 20%,#3a1a14,#0e0e0e 70%);animation-delay:5s}
@keyframes m-uitv{0%{opacity:0}5%,30%{opacity:1}36%,100%{opacity:0}}
.m-ui--screen .m-ui__toast{position:absolute;right:-6%;bottom:-14px;animation-duration:7.5s}
/* PA */
.m-ui__lines{display:flex;flex-direction:column;gap:6px}
.m-ui__lines i{height:7px;border-radius:4px;background:#333}.m-ui__lines i:nth-child(2){width:80%}.m-ui__lines i:nth-child(3){width:55%}
.m-ui__prog{display:block;height:8px;border-radius:5px;background:#262626;overflow:hidden}
.m-ui__prog i{display:block;height:100%;width:100%;background:var(--grad);transform-origin:left;animation:m-uiprog 4s ease-in-out infinite}
@keyframes m-uiprog{0%{transform:scaleX(0)}60%,100%{transform:none}}
.m-ui__ok{position:absolute;right:14px;top:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#2fd36b;color:#0e0e0e;font-weight:900;animation:m-uiok 4s infinite}
@keyframes m-uiok{0%,58%{transform:scale(0)}66%{transform:scale(1.2)}72%,100%{transform:none}}
@media (prefers-reduced-motion:reduce){.m-ui *{animation:none!important}}
@media (min-width:768px){
  .m-bento{grid-auto-rows:minmax(290px,auto)}
  .m-ui{gap:8px;padding:12px 14px}
  .m-ui .m-ui__toast,.m-ui .m-ui__ticket,.m-ui .m-ui__pill{position:absolute;right:-10px;bottom:-14px;align-self:auto;box-shadow:0 10px 24px -8px rgba(0,0,0,.7)}
  .m-ui__pill{background:#0f2a1a}
  .m-ui__bars{height:40px}.m-ui__wave{height:32px}
  .m-ui__grid{gap:3px}.m-ui__grid i{aspect-ratio:auto;height:14px}
  .m-bento__c--8 .m-ui{width:46%}
  .m-ui--screen .m-ui__toast{right:-8%;bottom:-16px}
}
@media (min-width:768px){.m-bento__c--8 .m-ui{width:76%!important;right:10%}.m-bento__c--9 .m-ui{width:62%!important;right:12%}.m-ui__tv i{font-size:clamp(20px,2vw,30px)}}
.m-ui__tv i{animation:m-uitv2 7.5s steps(1,end) infinite!important}
.m-ui__tv i:nth-child(2){animation-delay:2.5s!important}.m-ui__tv i:nth-child(3){animation-delay:5s!important}
@keyframes m-uitv2{0%{opacity:1}33.33%{opacity:0}100%{opacity:0}}
.m-ui__tv i:nth-child(1){animation-delay:0s!important}
/* micro-UI: sito / post social / spot */
@media (min-width:768px){
  .m-bento__c--1 .m-ui{top:28px;left:28px;right:28px;bottom:auto;padding:0;overflow:visible;background:#f4f1ec;color:#0e0e0e;border:0}
  .m-bento__c--2 .m-ui,.m-bento__c--5 .m-ui{left:auto;right:10%;top:50%;width:40%;transform:translateY(-50%)}
  .m-bento__c--2:hover .m-ui,.m-bento__c--5:hover .m-ui{transform:translateY(-52%) rotate(-1.5deg)}
}
.m-ui__bar{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid #ddd6ca}
.m-ui__bar i{width:9px;height:9px;border-radius:50%;background:#cfc7b8}.m-ui__bar i:first-child{background:#fb3047}
.m-ui__bar u{margin-left:10px;flex:1;max-width:220px;text-decoration:none;font-size:11px;color:#777;padding:3px 10px;border-radius:20px;background:#e8e2d6}
.m-ui__hero{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;padding:16px}
.m-ui__img{border-radius:10px;background:var(--grad);min-height:110px;animation:m-uishine 4s ease-in-out infinite;background-size:200% 200%}
@keyframes m-uishine{50%{background-position:100% 100%}}
.m-ui__txt{display:flex;flex-direction:column;gap:8px;justify-content:center}
.m-ui__txt i{height:9px;border-radius:5px;background:#d8d1c4}.m-ui__txt i:first-child{height:14px;width:90%;background:#0e0e0e}.m-ui__txt i:nth-child(3){width:60%}
.m-ui__cta{align-self:flex-start;margin-top:4px;font-size:12px;font-weight:800;padding:8px 14px;border-radius:30px;background:#0e0e0e;color:#fff;animation:m-uiclick 5s infinite}
@keyframes m-uiclick{0%,52%,62%,100%{transform:none;background:#0e0e0e}56%{transform:scale(.92);background:#fb3047}}
.m-ui__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px 16px}
.m-ui__cards i{height:46px;border-radius:8px;background:#e8e2d6}
.m-ui__cursor{position:absolute;left:30%;top:80%;width:18px;height:22px;background:#0e0e0e;clip-path:polygon(0 0,0 100%,28% 74%,48% 100%,62% 94%,42% 68%,80% 68%);animation:m-uicur 5s ease-in-out infinite;z-index:2}
@keyframes m-uicur{0%{left:30%;top:85%}45%,62%{left:calc(55% + 40px);top:62%}100%{left:30%;top:85%}}
.m-ui--site .m-ui__toast{position:absolute;right:-14px;bottom:-16px;background:#0e0e0e;color:#fff;border:1px solid rgba(255,255,255,.15);animation:m-uitoast2 5s infinite}
@keyframes m-uitoast2{0%,58%{opacity:0;transform:translateY(10px)}64%,92%{opacity:1;transform:none}100%{opacity:0}}
/* post social */
.m-ui--post{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}
.m-ui__ph{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:16px;background:#0b0b0b;border:1px solid #2a2a2a;box-shadow:0 24px 50px -14px rgba(0,0,0,.85)}
.m-ui__u{display:flex;align-items:center;gap:8px;font-size:12px}
.m-ui__u i{width:22px;height:22px;border-radius:50%;background:conic-gradient(#fb6917,#fb3047,#c13584,#fb6917);box-shadow:inset 0 0 0 3px #0b0b0b}
.m-ui__pic{position:relative;display:grid;place-items:center;aspect-ratio:1.4;border-radius:10px;background:linear-gradient(135deg,#3a1a14,#fb3047 120%)}
.m-ui__pic em{font-style:normal;font-size:46px;color:#fff;opacity:0;animation:m-uiheart 4s infinite}
@keyframes m-uiheart{0%,30%{opacity:0;transform:scale(.3)}38%{opacity:1;transform:scale(1.25)}46%,60%{opacity:1;transform:none}70%,100%{opacity:0;transform:scale(1.1)}}
.m-ui__acts{display:flex;gap:12px;font-style:normal;font-size:16px}
.m-ui__acts i{font-style:normal}
.m-ui__like{color:#888;animation:m-uilike 4s infinite}
@keyframes m-uilike{0%,34%{color:#888;transform:none}40%{color:#ff3040;transform:scale(1.35)}46%,100%{color:#ff3040;transform:none}}
.m-ui--post .m-ui__toast{position:absolute;left:-30px;bottom:18%;right:auto;animation:m-uitoast 4s infinite}
/* spot in onda */
.m-ui__tvs{position:relative;display:grid;place-items:center;aspect-ratio:16/8;border-radius:10px;background:radial-gradient(circle at 30% 30%,#3a1a14,#0b0b0b 70%);border:1px solid #2a2a2a;overflow:hidden}
.m-ui__play{display:grid;place-items:center;width:44px;height:32px;border-radius:9px;background:var(--grad);font-size:14px;animation:m-uisw 3s ease-in-out infinite}
.m-ui__tvs .m-ui__prog{position:absolute;left:10px;right:10px;bottom:8px;height:4px}
.m-ui__tvs .m-ui__prog i{animation-duration:6s}
.m-ui__ch{display:flex;flex-wrap:wrap;gap:6px}
.m-ui__ch i{font-style:normal;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.18);animation:m-uich 6s infinite}
.m-ui__ch i:nth-child(2){animation-delay:1.5s}.m-ui__ch i:nth-child(3){animation-delay:3s}.m-ui__ch i:nth-child(4){animation-delay:4.5s}
@keyframes m-uich{0%,25%{background:var(--grad);border-color:transparent}26%,100%{background:none}}
.m-bento__go{z-index:4}@media (min-width:768px){.m-bento__c--1 .m-ui{right:84px}.m-bento__c--2 .m-ui{width:62%!important;right:14%}.m-bento__c--5 .m-ui{width:72%!important;right:14%}}
/* ===== Servizi in home (desktop): scegli in base a cosa ti serve ===== */
.m-need{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(36px,5vw,64px)}
.m-need__col{display:flex;flex-direction:column;padding:30px 28px 22px;border-radius:28px;background:#141414 url(img/paper.webp) center/cover;border:1px solid var(--line);transition:border-color .4s}
.m-need__col:hover{border-color:rgba(251,77,46,.45)}
.m-need__n{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--orange)}
.m-need__col h3{font-weight:800;font-size:clamp(28px,2.4vw,38px);letter-spacing:-.035em;line-height:1.05;margin:12px 0 10px}
.m-need__col h3 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.m-need__p{color:var(--mute);font-size:15px;line-height:1.5;margin:0 0 22px;min-height:3em}
.m-need__col ul{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid var(--line)}
.m-need__col li{border-bottom:1px solid var(--line)}
.m-need__col li:last-child{border-bottom:0}
.m-need__col li a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 4px;isolation:isolate}
.m-need__col li a:before{content:"";position:absolute;inset:4px -12px;border-radius:14px;background:var(--grad);opacity:0;transform:scale(.97);transition:opacity .35s,transform .35s var(--ease);z-index:-1}
.m-need__col li a:hover:before{opacity:1;transform:none}
.m-need__col li b{display:block;font-weight:800;font-size:18px;letter-spacing:-.02em}
.m-need__col li small{display:block;font-size:13.5px;color:var(--mute);margin-top:2px;transition:color .3s}
.m-need__col li a:hover small{color:#fff}
.m-need__col li .m-ico{flex:none;width:20px;height:20px;transition:transform .35s var(--ease)}
.m-need__col li a:hover .m-ico{transform:translateX(4px)}
.m-need__pa{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:20px 28px;border-radius:22px;border:1px dashed rgba(255,255,255,.18);transition:background .35s,border-color .35s}
.m-need__pa span{color:var(--mute);font-size:15px}
.m-need__pa b{font-weight:800;font-size:18px}
.m-need__pa .m-ico{margin-left:auto;width:20px;height:20px}
.m-need__pa:hover{background:rgba(255,255,255,.04);border-color:var(--orange)}
@media (max-width:1100px){.m-need{grid-template-columns:1fr}}
@media (max-width:767px){.m-need{display:none!important}}
.m-need__col ul{margin-top:0}
/* icone servizi + fluttuanti accanto al titolo */
.m-need__col li a{justify-content:flex-start}
.m-need__col li a>span:not(.m-need__ico){flex:1}
.m-need__ico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(251,77,46,.1);border:1px solid rgba(251,77,46,.25);color:var(--orange);transition:background .35s,color .35s,border-color .35s}
.m-need__ico svg{width:21px;height:21px}
.m-need__col li a:hover .m-need__ico,.m-need__pa:hover .m-need__ico{background:rgba(255,255,255,.18);border-color:transparent;color:#fff}
.m-need__pa .m-need__ico{margin-right:-2px}
.m-svc--bento .m-svc__head{position:relative;max-width:none}
.m-svc--bento .m-svc__head>*:not(.m-svcfl){max-width:1000px}
.m-svcfl{position:absolute;right:0;top:-20px;width:38%;height:calc(100% + 40px);pointer-events:none}
.m-svcfl__i{position:absolute;display:grid;place-items:center;animation:m-igfl 6s ease-in-out infinite}
.m-svcfl__i:nth-child(2n){animation-duration:7.5s;animation-direction:reverse}
.m-svcfl__i:nth-child(3n){animation-duration:5.4s;animation-delay:-2s}
.m-svcfl__www{left:8%;top:12%;padding:12px 20px;border-radius:40px;background:rgba(20,20,20,.8);border:1px solid rgba(255,255,255,.14);font-weight:800;font-size:18px;letter-spacing:.04em;box-shadow:0 20px 40px -12px rgba(0,0,0,.7);rotate:-6deg}
.m-svcfl__at{right:14%;top:2%;width:74px;height:74px;border-radius:22px;background:var(--grad);font-family:'Instrument Serif',serif;font-style:italic;font-size:46px;color:#fff;box-shadow:0 20px 44px -10px rgba(251,77,46,.65);rotate:10deg}
.m-svcfl__heart{left:44%;top:40%;width:52px;height:52px;border-radius:50%;background:#f4f1ec;color:#ff3040;font-size:24px;box-shadow:0 16px 34px -10px rgba(0,0,0,.7)}
.m-svcfl__play{right:4%;top:48%;width:60px;height:44px;border-radius:12px;background:#ff3040;box-shadow:0 16px 36px -10px rgba(255,48,64,.6);rotate:-8deg}
.m-svcfl__play svg{width:22px}
.m-svcfl__ads{left:14%;bottom:8%;padding:9px 16px;border-radius:10px;background:#f4f1ec;color:#0e0e0e;font-weight:900;font-size:15px;letter-spacing:.06em;rotate:7deg}
.m-svcfl__star{right:30%;bottom:4%;font-size:28px;color:var(--orange)}
.m-svcfl__cal{left:0;top:52%;width:46px;height:46px;border-radius:12px;background:#fb6917;rotate:-12deg}
.m-svcfl__cal svg{width:24px}
@media (max-width:1100px){.m-svcfl{display:none}}
@media (prefers-reduced-motion:reduce){.m-svcfl__i{animation:none}}
@media (min-width:1101px){.m-svc--bento .m-svc__head>*:not(.m-svcfl){max-width:58%}.m-svcfl{width:36%}}
.m-svcfl__w{position:absolute;inset:0;display:block;will-change:transform}
.m-only-m{display:none}@media (max-width:767px),(pointer:coarse){.m-only-d{display:none}.m-only-m{display:inline}}
/* finestre portfolio: stesso formato degli screenshot larghi, così Omnia e Messinrete non vengono tagliati ai lati */
.m-site__shot{aspect-ratio:1900/908}
.m-site__shot img[src*="p-magistro"]{object-fit:contain;background:#000}
/* ===== Selettore lingua ===== */
.m-gt{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.m-lang{position:relative;margin:0 10px 0 6px}
.m-lang__btn{display:flex;align-items:center;gap:7px;height:44px;padding:0 14px;border-radius:30px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--ink);font:700 13px/1 var(--f);letter-spacing:.06em;cursor:pointer;transition:background .3s,border-color .3s}
.m-lang__btn svg{width:17px;height:17px;color:var(--orange)}
.m-lang__btn:hover,.m-lang.open .m-lang__btn{background:rgba(255,255,255,.09);border-color:rgba(251,77,46,.5)}
.m-lang__list{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;list-style:none;margin:0;padding:8px;border-radius:18px;background:rgba(20,20,20,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s var(--ease);z-index:5}
.m-lang.open .m-lang__list{opacity:1;visibility:visible;transform:none}
.m-lang__list button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:600 14px/1 var(--f);text-align:left;cursor:pointer;transition:background .25s}
.m-lang__list button b{width:26px;font-size:11px;letter-spacing:.08em;color:var(--mute)}
.m-lang__list button:hover{background:rgba(255,255,255,.06)}
.m-lang__list button.on{background:var(--grad);color:#fff}
.m-lang__list button.on b{color:#fff}
.m-lang-chips{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 4px}
.m-lang-chips button{min-width:48px;padding:9px 12px;border-radius:30px;border:1px solid var(--line);background:none;color:var(--ink);font:700 13px/1 var(--f);letter-spacing:.06em;cursor:pointer}
.m-lang-chips button.on{background:var(--grad);border-color:transparent}
@media (max-width:1100px){.m-lang{display:none}}
/* niente barra né tooltip di Google Translate */
body{top:0!important}
.skiptranslate iframe,.goog-te-banner-frame,#goog-gt-tt,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd{display:none!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
/* privacy: colonna di lettura centrata */
.m-legal{max-width:none!important;padding-left:var(--gut);padding-right:var(--gut)}
.m-legal>*{max-width:820px;margin-left:auto!important;margin-right:auto!important}
.m-legal h1{text-align:center}
.m-legal h1+p{text-align:center;font-size:18px;margin-bottom:50px}
.m-legal h2{padding-top:26px;border-top:1px solid var(--line)}
.m-legal>*{max-width:none!important}
/* ===== Chi siamo: polaroid sparse sul tavolo ===== */
.m-table{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,2vw,30px) clamp(10px,1.4vw,22px);margin-top:clamp(40px,5vw,70px);padding:20px 0 30px}
.m-pol{position:relative;width:clamp(200px,17vw,250px);margin:0;padding:12px 12px 0;background:#f4f1ec;border-radius:4px;box-shadow:0 2px 3px rgba(0,0,0,.25),0 24px 40px -14px rgba(0,0,0,.75);transform:translateY(var(--y)) rotate(var(--r));transition:transform .6s var(--ease),box-shadow .6s;cursor:default;outline:none}
.m-pol:hover,.m-pol:focus-within{transform:translateY(-10px) rotate(0) scale(1.06);z-index:5;box-shadow:0 4px 6px rgba(0,0,0,.25),0 40px 70px -18px rgba(0,0,0,.85)}
.m-pol__tape{position:absolute;top:-12px;left:50%;width:84px;height:26px;transform:translateX(-50%) rotate(calc(var(--r) * -1.4));background:rgba(251,105,23,.45);backdrop-filter:blur(1px);box-shadow:0 1px 2px rgba(0,0,0,.15);z-index:2}
.m-pol__ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:#ddd}
.m-pol__ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;filter:grayscale(1) contrast(1.05) sepia(.15);transition:filter .6s,transform .8s var(--ease)}
.m-pol:hover .m-pol__ph img,.m-pol:focus-within .m-pol__ph img{filter:none;transform:scale(1.04)}
.m-pol__q{position:absolute;inset:auto 0 0;margin:0;padding:40px 14px 14px;background:linear-gradient(180deg,rgba(14,14,14,0),rgba(14,14,14,.88) 45%);color:#f4f1ec;font-family:'Instrument Serif',serif;font-style:italic;font-size:17px;line-height:1.2;opacity:0;transform:translateY(12px);transition:opacity .45s,transform .5s var(--ease)}
.m-pol:hover .m-pol__q,.m-pol:focus-within .m-pol__q{opacity:1;transform:none}
.m-pol__li{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0a66c2;color:#fff;opacity:0;transform:scale(.6);transition:opacity .4s,transform .4s var(--ease)}
.m-pol__li svg{width:16px;height:16px}
.m-pol:hover .m-pol__li,.m-pol:focus-within .m-pol__li{opacity:1;transform:none}
.m-pol figcaption{padding:12px 4px 16px;text-align:center;color:#0e0e0e}
.m-pol figcaption b{display:block;font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;font-size:24px;line-height:1.05}
.m-pol figcaption span{display:block;margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8478}
@media (max-width:767px){
  .m-table{display:grid;grid-template-columns:1fr 1fr;gap:22px 14px;padding:10px 4px 20px}
  .m-pol{width:auto;padding:8px 8px 0;transform:rotate(calc(var(--r) * .6))}
  .m-pol figcaption b{font-size:19px}
  .m-pol figcaption span{font-size:9.5px}
  .m-pol__q{font-size:14px;padding:30px 10px 10px}
  .m-pol__tape{width:60px;height:20px;top:-9px}
}
.m-pol figcaption b{color:#0e0e0e!important;-webkit-text-fill-color:#0e0e0e;background:none!important}.m-pol figcaption span{color:#6f695e!important}
/* ===== Chi siamo: figurine con giro 3D ===== */
.m-figs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(36px,5vw,64px)}
.m-fig{position:relative;perspective:1200px}
.m-fig__in{position:relative;display:block;width:100%;aspect-ratio:3/4;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.m-fig.flip .m-fig__in{transform:rotateY(180deg)}
.m-fig__front,.m-fig__back{position:absolute;inset:0;border-radius:22px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line)}
.m-fig__front{background:#141414 url(img/paper.webp) center/cover}
.m-fig__ph{position:absolute;inset:0}
.m-fig__ph img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(1);transition:filter .6s,transform .8s var(--ease)}
.m-fig:hover .m-fig__ph img{filter:none;transform:scale(1.04)}
.m-fig__front:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,rgba(14,14,14,0),rgba(14,14,14,.92))}
.m-fig__n{position:absolute;top:16px;left:18px;z-index:2;font-size:12px;font-weight:800;letter-spacing:.1em;color:#fff;mix-blend-mode:difference}
.m-fig__cap{position:absolute;left:18px;right:56px;bottom:16px;z-index:2}
.m-fig__cap b,.m-fig__who b{display:block;font-weight:800;font-size:19px;letter-spacing:-.02em;line-height:1.1}
.m-fig__cap small,.m-fig__who small{display:block;margin-top:4px;font-size:12px;color:#cfcac2;line-height:1.3}
.m-fig__turn{position:absolute;right:14px;bottom:14px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);font-size:16px;transition:background .3s,transform .5s var(--ease)}
.m-fig:hover .m-fig__turn{background:var(--grad);transform:rotate(180deg)}
.m-fig__back{transform:rotateY(180deg);background:var(--grad);display:flex;flex-direction:column;justify-content:space-between;padding:26px 22px 22px}
.m-fig__q{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(20px,1.7vw,26px);line-height:1.2;color:#fff}
.m-fig__who small{color:rgba(255,255,255,.85)}
.m-fig__li{position:absolute;left:22px;bottom:78px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:30px;background:#0e0e0e;color:#fff;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .3s .3s}
.m-fig__li svg{width:15px;height:15px}
.m-fig.flip .m-fig__li{opacity:1;pointer-events:auto}
@media (max-width:1100px){.m-figs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.m-figs{grid-template-columns:1fr 1fr;gap:10px}.m-fig__cap b,.m-fig__who b{font-size:15px}.m-fig__cap small,.m-fig__who small{font-size:10.5px}.m-fig__q{font-size:16px}.m-fig__back{padding:16px 14px}.m-fig__li{left:14px;bottom:64px;padding:6px 10px;font-size:11px}.m-fig__front,.m-fig__back{border-radius:16px}.m-fig__cap{left:12px;bottom:12px;right:44px}.m-fig__turn{width:28px;height:28px;right:10px;bottom:10px}}
/* ===== Chi siamo: organigramma a raffica di vento ===== */
.m-org{position:relative;margin-top:clamp(40px,5vw,70px);padding-bottom:20px}
.m-org__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.m-org__lines path{fill:none;stroke:url(#m-g);stroke-width:2;stroke-linecap:round;opacity:.75}
.m-org__top{display:flex;justify-content:center;margin-bottom:clamp(70px,8vw,120px)}
.m-org__row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,3vw,46px) clamp(14px,2.4vw,36px)}
.m-org__node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:clamp(120px,11vw,150px);text-align:center;outline:none}
.m-org__ph{display:block;width:clamp(96px,8.5vw,120px);aspect-ratio:1;border-radius:50%;padding:4px;background:conic-gradient(from 200deg,#fb3047,#fb6917,#fb3047);transition:transform .5s var(--ease),box-shadow .5s}
.m-org__ph img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--bg);filter:grayscale(1);transition:filter .5s}
.m-org__node--lead{width:clamp(180px,15vw,220px)}
.m-org__node--lead .m-org__ph{width:clamp(150px,13vw,190px);box-shadow:0 0 0 10px rgba(251,77,46,.08),0 0 0 22px rgba(251,77,46,.04)}
.m-org__node:hover .m-org__ph,.m-org__node:focus .m-org__ph{transform:scale(1.1);box-shadow:0 20px 50px -10px rgba(251,77,46,.6)}
.m-org__node:hover img,.m-org__node:focus img{filter:none}
.m-org__cap{margin-top:12px}
.m-org__cap b{display:block;font-weight:800;font-size:15px;letter-spacing:-.01em;line-height:1.15}
.m-org__node--lead .m-org__cap b{font-size:20px}
.m-org__cap small{display:block;margin-top:3px;font-size:11.5px;color:var(--mute);line-height:1.3}
.m-org__tip{position:absolute;left:50%;bottom:calc(100% + 12px);width:240px;padding:14px 16px;border-radius:16px;background:#f4f1ec;color:#0e0e0e;font-family:'Instrument Serif',serif;font-style:italic;font-size:17px;line-height:1.25;box-shadow:0 20px 40px -10px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:.35s var(--ease);z-index:4}
.m-org__tip:after{content:"";position:absolute;left:50%;top:100%;border:8px solid transparent;border-top-color:#f4f1ec;transform:translateX(-50%)}
.m-org__node:hover .m-org__tip,.m-org__node:focus .m-org__tip,.m-org__node:focus-within .m-org__tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.m-org__li{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:8px;vertical-align:middle;border-radius:50%;background:#0a66c2;color:#fff}
.m-org__li svg{width:14px;height:14px}
@media (max-width:767px){
  .m-org__row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 8px}
  .m-org__node{width:auto}
  .m-org__ph{width:84px}
  .m-org__node--lead .m-org__ph{width:130px}
  .m-org__cap b{font-size:13px}.m-org__cap small{font-size:10px}
  .m-org__tip{width:200px;font-size:15px}
  .m-org__top{margin-bottom:60px}
}
.m-org__ph{height:auto;flex:none;overflow:hidden}
.m-org__ph img{display:block;aspect-ratio:1;height:auto!important}
@media (max-width:767px){.m-org__lines{display:none}.m-org__top{margin-bottom:34px}}
/* ===== Chi siamo: capitano + squadra ===== */
.m-cap{margin-top:clamp(40px,5vw,70px)}
.m-cap__lead{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(16px,2vw,24px);border-radius:30px;background:#141414 url(img/paper.webp) center/cover;border:1px solid var(--line)}
.m-cap__ph{aspect-ratio:4/5;border-radius:22px;overflow:hidden}
.m-cap__ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.m-cap__txt h3{font-weight:900;font-size:clamp(36px,4.4vw,68px);letter-spacing:-.045em;line-height:1;margin:14px 0 8px}
.m-cap__role{font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 24px}
.m-cap__q{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(22px,2vw,30px);line-height:1.25;color:#e9e4dc;max-width:30ch;margin:0 0 26px}
.m-cap__li{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:30px;background:#0a66c2;color:#fff;font-weight:700;font-size:14px}
.m-cap__li svg{width:16px;height:16px}
.m-cap__sep{display:flex;align-items:center;gap:18px;margin:clamp(40px,5vw,64px) 0 clamp(24px,3vw,36px)}
.m-cap__sep:before,.m-cap__sep:after{content:"";flex:1;height:2px;background:var(--grad);opacity:.7}
.m-cap__sep:before{flex:0 0 40px}
.m-cap__sep span{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.m-cap__team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.m-cap__p{margin:0;outline:none}
.m-cap__pph{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#1a1a1a}
.m-cap__pph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;filter:grayscale(1);transition:filter .6s,transform .8s var(--ease)}
.m-cap__p:hover img,.m-cap__p:focus-within img{filter:none;transform:scale(1.04)}
.m-cap__pq{position:absolute;inset:auto 0 0;margin:0;padding:50px 18px 18px;background:linear-gradient(180deg,rgba(14,14,14,0),rgba(14,14,14,.9) 40%);font-family:'Instrument Serif',serif;font-style:italic;font-size:19px;line-height:1.22;color:#f4f1ec;opacity:0;transform:translateY(14px);transition:.45s var(--ease)}
.m-cap__p:hover .m-cap__pq,.m-cap__p:focus-within .m-cap__pq{opacity:1;transform:none}
.m-cap__pli{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0a66c2;color:#fff;opacity:0;transition:opacity .4s}
.m-cap__pli span{display:none}.m-cap__pli svg{width:17px;height:17px}
.m-cap__p:hover .m-cap__pli,.m-cap__p:focus-within .m-cap__pli{opacity:1}
.m-cap__p figcaption{padding:14px 4px 0}
.m-cap__p figcaption b{display:block;font-weight:800;font-size:18px;letter-spacing:-.02em}
.m-cap__p figcaption span{display:block;margin-top:3px;font-size:13px;color:var(--mute)}
@media (max-width:1100px){.m-cap__team{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){
  .m-cap__lead{grid-template-columns:1fr;border-radius:22px}
  .m-cap__team{grid-template-columns:1fr 1fr;gap:12px}
  .m-cap__p figcaption b{font-size:15px}.m-cap__p figcaption span{font-size:11.5px}
  .m-cap__pq{font-size:15px;padding:30px 12px 12px}
}
/* squadra sotto il capitano: carosello con autoplay */
.m-cap__team{display:flex!important;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 6px;scroll-padding:0 var(--gut);overscroll-behavior-x:contain}
.m-cap__team::-webkit-scrollbar{display:none}
.m-cap__p{flex:none;width:calc((100% - 48px) / 4.3);scroll-snap-align:start}
@media (max-width:1100px){.m-cap__p{width:calc((100% - 32px) / 3.2)}}
@media (max-width:767px){.m-cap__p{width:62vw}}
.m-cap__sep:after{order:1}
.m-cap__nav{order:2;display:flex;gap:8px;margin-left:10px}
.m-cap__nav button{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--ink);cursor:pointer;transition:background .3s,border-color .3s}
.m-cap__nav button:hover{background:var(--grad);border-color:transparent}
.m-cap__nav .m-ico{width:18px;height:18px}
.m-cap__team{cursor:grab}
.m-cap__team.drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.m-cap__team.drag *{pointer-events:none}
@media (max-width:767px){.m-cap__nav button{width:40px;height:40px}}
/* card squadra più piccole: le foto originali sono 384px, così restano nitide */
.m-cap__p{width:calc((100% - 80px) / 6.3)!important;max-width:240px}
.m-cap__p figcaption b{font-size:16px}
.m-cap__pq{font-size:16px;padding:40px 14px 14px}
@media (max-width:1100px){.m-cap__p{width:calc((100% - 48px) / 4.3)!important}}
@media (max-width:767px){.m-cap__p{width:44vw!important}}
/* desktop: squadra tutta in una riga, senza carosello né frecce */
.m-cap--fit .m-cap__team{display:grid!important;grid-template-columns:repeat(var(--n),minmax(0,240px));justify-content:start;overflow:visible;margin:0;padding:0;cursor:default}
.m-cap--fit .m-cap__p{width:auto!important}
.m-cap--fit .m-cap__nav{display:none}
@media (max-width:767px){.m-cap__sep{gap:10px}.m-cap__sep:before{flex:0 0 18px}.m-cap__sep span{font-size:10.5px;letter-spacing:.14em}.m-cap__nav{margin-left:4px;gap:6px}}
/* squadra: a colori, in bianco e nero al passaggio */
.m-cap__pph img{filter:none!important}
.m-cap__p:hover .m-cap__pph img,.m-cap__p:focus-within .m-cap__pph img{filter:grayscale(1)!important}
/* card del responsabile: elementi fluttuanti nello spazio a destra */
.m-cap__lead{position:relative;overflow:hidden}
.m-cap__lead>*:not(.m-capfl){position:relative;z-index:1}
.m-capfl{position:absolute;top:0;bottom:0;right:0;width:34%;pointer-events:none}
.m-capfl__i{position:absolute;display:grid;place-items:center;font-weight:800;white-space:nowrap;animation:m-igfl 6s ease-in-out infinite}
.m-capfl__i:nth-child(2n){animation-duration:7.4s;animation-direction:reverse}
.m-capfl__i:nth-child(3n){animation-duration:5.3s;animation-delay:-2s}
.m-capfl__i--p{padding:12px 22px;border-radius:40px;background:rgba(20,20,20,.8);border:1px solid rgba(255,255,255,.14);font-size:17px;box-shadow:0 20px 40px -12px rgba(0,0,0,.8)}
.m-capfl__i--g{padding:12px 22px;border-radius:40px;background:var(--grad);font-size:17px;color:#fff;box-shadow:0 20px 44px -12px rgba(251,77,46,.6)}
.m-capfl__i--at{width:70px;height:70px;border-radius:20px;background:#f4f1ec;color:#0e0e0e;font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;font-size:42px;box-shadow:0 20px 40px -12px rgba(0,0,0,.7)}
.m-capfl__i--s{font-size:30px;color:var(--orange)}
.m-capfl__i1{left:8%;top:16%;rotate:-6deg}
.m-capfl__i2{right:12%;top:30%;rotate:5deg}
.m-capfl__i3{left:22%;top:52%;rotate:4deg}
.m-capfl__i4{right:16%;top:6%;rotate:10deg}
.m-capfl__i5{right:8%;bottom:14%;rotate:-5deg}
.m-capfl__i6{left:12%;bottom:12%}
@media (max-width:1100px){.m-capfl{display:none}}
@media (prefers-reduced-motion:reduce){.m-capfl__i{animation:none}}
.m-capfl__w{position:absolute;inset:0;display:block}
@media (min-width:1101px){.m-capfl{width:26%}.m-cap__txt{max-width:56%}}
/* suggerimento "telefono interattivo": mano che scorre, sparisce alla prima interazione */
.m-igp__hint{position:absolute;left:50%;bottom:22px;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border-radius:40px;background:rgba(14,14,14,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none;translate:-50% 0;box-shadow:0 14px 30px -10px rgba(0,0,0,.8);transition:opacity .4s,translate .4s}
.m-igp__hand{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--grad);animation:m-ighand 1.8s var(--ease) infinite}
.m-igp__hand svg{width:18px}
@keyframes m-ighand{0%,100%{transform:translateY(5px)}50%{transform:translateY(-6px)}}
.m-igp__phone.is-used .m-igp__hint{opacity:0;translate:-50% 12px}
@media (max-width:900px){.m-igp__hint{bottom:auto;top:calc(50% + 40px)}}
/* hero: titolo più grande e meno stretto */
@media (min-width:768px){
  .m-hero__h1{font-size:clamp(40px,4.6vw,84px)!important;letter-spacing:-.03em!important;line-height:1!important}
  .m-hero__main .m-hero__sub{max-width:680px!important;font-size:clamp(16px,1.15vw,20px)}
}
/* telefono con i feed dei clienti (Strategia social) */
.m-igc__tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.m-igc__tab{font:inherit;font-weight:700;font-size:15px;padding:12px 22px;border-radius:40px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--fg,#fff);cursor:pointer;transition:background .3s,border-color .3s}
.m-igc__tab:hover{border-color:#fb6917}
.m-igc__tab.is-on{background:var(--grad);border-color:transparent}
.m-igc__pane{position:absolute;inset:0}
.m-igc__pane[hidden]{display:none}
.m-igc .m-igp__bio p{white-space:pre-line}
/* schede profilo fluttuanti accanto al telefono */
.m-igc .m-igp__stage{z-index:1}
.m-igc__tabs{position:absolute;z-index:4;right:calc(50% + 150px);top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;gap:26px;margin:0}
.m-igc__tab{display:flex;align-items:center;gap:12px;padding:8px 20px 8px 8px;text-align:left;background:rgba(20,20,20,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 20px 40px -12px rgba(0,0,0,.7);animation:m-igfl 6s ease-in-out infinite;white-space:nowrap}
.m-igc__tab:nth-child(1){translate:-30px 0;rotate:-4deg}
.m-igc__tab:nth-child(2){translate:20px 0;rotate:3deg;animation-duration:7.2s;animation-delay:-2s}
.m-igc__tab:nth-child(3){translate:-10px 0;rotate:-2deg;animation-duration:5.6s;animation-delay:-4s}
.m-igc__tab img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#fff;flex:none}
.m-igc__tab span{display:flex;flex-direction:column;line-height:1.15}
.m-igc__tab small{font-size:11px;font-weight:500;opacity:.65}
.m-igc__tab.is-on{background:var(--grad);box-shadow:0 20px 44px -10px rgba(251,77,46,.7)}
.m-igc__tab.is-on small{opacity:.9}
@media (max-width:900px){
  .m-igc__tabs{position:static;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px;width:100%}
  .m-igc .m-igp__stage{display:flex;flex-direction:column;align-items:center}
  .m-igc__tab{animation:none;translate:none!important;rotate:none!important;padding:5px 14px 5px 5px;font-size:13px}
  .m-igc__tab img{width:30px;height:30px}
  .m-igc__tab small{display:none}
}
@media (min-width:901px){.m-igc__tabs{right:calc(50% + 215px);gap:34px}}
@media (max-width:900px){.m-igc__tabs{flex-wrap:nowrap;gap:6px}.m-igc__tab{padding:4px 11px 4px 4px;font-size:12px;gap:7px}.m-igc__tab img{width:26px;height:26px}}
@media (max-width:379px){.m-igc__tabs{flex-wrap:wrap}}
/* mobile: WhatsApp e "torna su" si nascondono mentre un telefono Instagram è sullo schermo */
@media (max-width:900px){
  .m-wa,.m-top{transition:opacity .3s,translate .3s,transform .3s}
  body.m-igvis .m-wa,body.m-igvis .m-top{opacity:0!important;pointer-events:none!important;translate:0 24px}
}
/* Chi siamo, rete commerciale: ventaglio di carte, tutti alla pari */
.m-fan{position:relative;height:clamp(440px,36vw,520px);margin-top:clamp(40px,5vw,70px);--w:clamp(190px,15vw,240px);--sx:clamp(110px,10vw,150px);--k:0}
.m-fan.is-in{--k:1}
.m-fan__c{position:absolute;left:50%;bottom:20px;width:var(--w);margin:0 0 0 calc(var(--w) / -2);transform-origin:50% 120%;transform:translateX(calc(var(--o) * var(--sx) * var(--k))) translateY(calc(var(--a) * var(--a) * 9px * var(--k))) rotate(calc(var(--o) * 6deg * var(--k)));transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .4s,opacity .4s;z-index:calc(10 - var(--a) * 2);cursor:pointer;outline:none}
.m-fan.is-in .m-fan__c{transition-delay:calc(var(--a) * .08s)}
.m-fan:hover .m-fan__c{--sx:clamp(130px,11.5vw,175px);transition-delay:0s}
.m-fan:hover .m-fan__c:not(:hover):not(:focus-visible){filter:brightness(.55) grayscale(.4)}
.m-fan__c:hover,.m-fan__c:focus-visible{z-index:20;transform:translateX(calc(var(--o) * var(--sx))) translateY(-34px) rotate(0deg) scale(1.06)}
.m-fan__ph{position:relative;aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:#1a1a1a;box-shadow:0 30px 60px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.08)}
.m-fan__ph img{width:100%;height:100%;object-fit:cover;transition:filter .5s,transform .6s}
.m-fan__c:hover .m-fan__ph img,.m-fan__c:focus-visible .m-fan__ph img{filter:grayscale(1);transform:scale(1.04)}
.m-fan__q{position:absolute;inset:auto 0 0;margin:0;padding:50px 18px 18px;font-size:14px;line-height:1.4;background:linear-gradient(transparent,rgba(14,14,14,.92) 40%);opacity:0;translate:0 12px;transition:opacity .4s,translate .4s}
.m-fan__c:hover .m-fan__q,.m-fan__c:focus-visible .m-fan__q{opacity:1;translate:0 0}
.m-fan__li{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#0a66c2;color:#fff!important;opacity:0;transition:opacity .4s}
.m-fan__li .m-ico,.m-fan__li svg{width:18px;height:18px}
.m-fan__c:hover .m-fan__li,.m-fan__c:focus-visible .m-fan__li{opacity:1}
.m-fan__c figcaption{padding:14px 4px 0;text-align:center}
.m-fan__c figcaption b{display:block;font-size:17px}
.m-fan__c figcaption span{display:block;font-size:13px;color:var(--mute);margin-top:2px}
@media (max-width:900px){
  .m-fan{height:auto;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px var(--gut) 30px;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);scrollbar-width:none;--w:62vw}
  .m-fan::-webkit-scrollbar{display:none}
  .m-fan__c{position:relative;left:auto;bottom:auto;margin:0;flex:none;scroll-snap-align:center;transform:rotate(calc(var(--o) * 1.6deg))!important;filter:none!important}
  .m-fan__q{opacity:1;translate:none;font-size:13px}
  .m-fan__li{opacity:1}
}
/* ventaglio: nome dentro la foto, la citazione lo sostituisce al passaggio */
.m-fan{height:clamp(400px,32vw,470px);margin-top:clamp(20px,3vw,40px)}
.m-fan .m-fan__c figcaption{position:absolute;inset:auto 0 0;padding:60px 16px 16px;text-align:left;background:linear-gradient(transparent,rgba(14,14,14,.9) 45%);transition:opacity .4s}
.m-fan .m-fan__c figcaption b{font-size:16px;color:#fff}
.m-fan .m-fan__c figcaption span{font-size:12px;color:rgba(255,255,255,.7)}
.m-fan__q{background:linear-gradient(transparent,rgba(14,14,14,.95) 35%)}
.m-fan__c:hover figcaption,.m-fan__c:focus-visible figcaption{opacity:0}
@media (max-width:900px){
  .m-fan{scroll-padding:0 var(--gut)}
  .m-fan__c{transform:none!important}
  .m-fan__q{opacity:0}
  .m-fan__c:focus figcaption{opacity:0}.m-fan__c:focus .m-fan__q{opacity:1}
}
/* rete commerciale: testo a sinistra, ventaglio a destra che parte da Luciano */
@media (min-width:901px){
  .m-people--fan{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(20px,3vw,50px)}
  .m-people--fan .m-fan{margin-top:0;--w:clamp(160px,12vw,215px);--sx:clamp(62px,5.4vw,96px)}
  .m-people--fan .m-fan:hover .m-fan__c{--sx:clamp(70px,6.2vw,110px)}
}
.m-fan.is-in .m-fan__c{transition-delay:calc(var(--r) * .12s)}
.m-fan__c{transform:translateX(calc(var(--o) * var(--sx) * var(--k))) translateY(calc(var(--a) * var(--a) * 7px * var(--k))) rotate(calc(var(--o) * 7deg * var(--k)))}
/* la carta in hover passa sempre davanti a tutte (lo z-index inline la teneva dietro Luciano) */
.m-fan__c:hover,.m-fan__c:focus-visible{z-index:50!important}
@media (min-width:901px){.m-people--fan .m-fan{height:clamp(460px,36vw,540px);overflow:visible}}
/* ventaglio → carosello: la carta attiva al centro e di fronte, le altre ai lati in dissolvenza */
@media (min-width:901px){
  .m-fan--car .m-fan__c{transform:translateX(calc(var(--o) * var(--sx) * 1.5)) translateY(calc(var(--a) * 18px)) rotate(calc(var(--o) * 5deg)) scale(calc(1 - var(--a) * .13));opacity:calc(1 - var(--a) * .38);filter:brightness(calc(1 - var(--a) * .25));transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s,filter .8s;transition-delay:0s!important}
  .m-fan--car .m-fan__c.is-off{opacity:0;pointer-events:none}
  .m-fan--car:hover .m-fan__c:not(:hover){filter:brightness(calc(1 - var(--a) * .25))}
  .m-fan--car .m-fan__c:hover{transform:translateX(calc(var(--o) * var(--sx) * 1.5)) translateY(calc(var(--a) * 18px)) rotate(calc(var(--o) * 5deg)) scale(calc(1 - var(--a) * .13))}
  .m-fan--car .m-fan__c.is-act .m-fan__ph img{filter:grayscale(1)}
  .m-fan--car .m-fan__c.is-act figcaption{opacity:0}
  .m-fan--car .m-fan__c.is-act .m-fan__q,.m-fan--car .m-fan__c.is-act .m-fan__li{opacity:1;translate:0 0}
  .m-fan--car .m-fan__c.is-act .m-fan__q b{display:block;font-size:16px;margin-bottom:6px}
  .m-fan--car{--w:clamp(220px,17vw,290px)!important}
}
.m-fan__dots{display:none}
@media (min-width:901px){.m-fan__dots{display:flex;gap:8px;justify-content:center;position:absolute;left:0;right:0;bottom:-10px}.m-fan__dots button{width:8px;height:8px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .4s,background .4s}.m-fan__dots button.is-on{width:26px;background:var(--grad)}}
@media (min-width:901px){.m-fan--car .m-fan__dots{bottom:-34px}}
/* carosello: la carta attiva a colori, quelle ai lati in bianco e nero */
@media (min-width:901px){
  .m-fan--car .m-fan__c .m-fan__ph img,.m-fan--car .m-fan__c:hover .m-fan__ph img{filter:grayscale(1);transform:none}
  .m-fan--car .m-fan__c.is-act .m-fan__ph img,.m-fan--car .m-fan__c.is-act:hover .m-fan__ph img{filter:none}
}
/* carosello: niente velo scuro sulla carta attiva quando il mouse è sulla sezione (regola del vecchio ventaglio) */
@media (min-width:901px){
  .m-fan--car .m-fan__c.is-act{filter:none!important;opacity:1}
  .m-fan--car:hover .m-fan__c:not(.is-act){filter:brightness(calc(1 - var(--a) * .25))!important}
}
/* illustrazioni delle caratteristiche: le linee tratteggiate "scorrono" invece di ruotare (la rotazione le staccava da frecce e oggetti) */
.m-art--spec .a-draw{animation:m-dash 1.6s linear infinite;transform:none}
@keyframes m-dash{to{stroke-dashoffset:-28}}
/* caratteristiche: gli elementi compaiono una volta e restano (prima sparivano a ciclo e la scena sembrava incompleta) */
.m-art--spec .a-pop{animation:m-poin .7s var(--ease) both}
.m-art--spec .a-pop.p2{animation-delay:.12s}.m-art--spec .a-pop.p3{animation-delay:.24s}.m-art--spec .a-pop.p4{animation-delay:.36s}.m-art--spec .a-pop.p5{animation-delay:.48s}.m-art--spec .a-pop.p6{animation-delay:.6s}
@keyframes m-poin{from{opacity:0;transform:scale(.6)}}
/* ovunque: i tratteggi scorrono, non ruotano (la rotazione storceva frecce e percorsi in tutte le illustrazioni) */
.m-art .a-draw{animation:m-dash 1.6s linear infinite;transform:none}
@media (max-width:900px){.m-at{display:none!important}}
/* ===== Pannello "Parliamone": form a step ===== */
.m-menu__cta{margin:26px 0 6px;align-self:flex-start}
.m-q{position:fixed;inset:0;z-index:10000;display:flex;justify-content:flex-end;visibility:hidden;pointer-events:none}
.m-q.is-open{visibility:visible;pointer-events:auto}
.m-q__bg{position:absolute;inset:0;background:rgba(5,5,5,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .45s}
.m-q.is-open .m-q__bg{opacity:1}
.m-q__box{position:relative;width:min(620px,100%);height:100%;overflow-y:auto;background:#121212;border-left:1px solid rgba(255,255,255,.08);padding:28px clamp(22px,4vw,54px) 30px;display:flex;flex-direction:column;translate:100% 0;transition:translate .6s cubic-bezier(.7,0,.2,1);color:var(--fg,#f4f1ec)}
.m-q.is-open .m-q__box{translate:0 0}
.m-q__box:before{content:"";position:absolute;top:-30%;right:-30%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(251,77,46,.22),transparent 65%);pointer-events:none}
.m-q__top{display:flex;justify-content:space-between;align-items:center}
.m-q__count{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--mute)}
.m-q__count b{color:#fff}
.m-q__x{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .3s,transform .3s}
.m-q__x:hover{background:rgba(255,255,255,.08);transform:rotate(90deg)}
.m-q__bar{height:4px;border-radius:4px;background:rgba(255,255,255,.1);margin:18px 0 clamp(30px,6vh,60px);overflow:hidden}
.m-q__bar i{display:block;height:100%;width:20%;background:var(--grad);border-radius:4px;transition:width .5s var(--ease)}
.m-q__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.m-q__step{display:none}
.m-q__step.is-on{display:block;animation:m-qin .5s var(--ease) both}
.m-q__step.is-back{animation-name:m-qback}
@keyframes m-qin{from{opacity:0;transform:translateX(40px)}}
@keyframes m-qback{from{opacity:0;transform:translateX(-40px)}}
.m-q__h{font-size:clamp(30px,3.4vw,46px);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin:0 0 12px}
.m-q__h em{font-family:'Instrument Serif',serif;font-weight:400;font-style:italic;letter-spacing:0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.m-q__p{color:var(--mute);margin:0 0 22px;font-size:15px}
.m-q__l{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:24px 0 10px}
.m-q__whos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.m-q__who{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:20px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#fff;font:inherit;cursor:pointer;transition:border-color .3s,background .3s,transform .3s}
.m-q__who svg{width:30px;height:30px;color:#fb6917;margin-bottom:8px}
.m-q__who b{font-size:16px}
.m-q__who small{font-size:13px;color:var(--mute)}
.m-q__who:hover,.m-q__who:focus-visible{border-color:#fb6917;background:rgba(251,105,23,.08);transform:translateY(-3px)}
.m-q__who.is-sel{background:var(--grad);border-color:transparent}.m-q__who.is-sel svg,.m-q__who.is-sel small{color:#fff}
.m-q__chips{display:flex;flex-wrap:wrap;gap:10px}
.m-q__chip{position:relative;cursor:pointer}
.m-q__chip input{position:absolute;opacity:0;pointer-events:none}
.m-q__chip span{display:block;padding:11px 18px;border-radius:40px;border:1px solid rgba(255,255,255,.16);font-size:14px;font-weight:600;transition:background .25s,border-color .25s}
.m-q__chip:hover span{border-color:#fb6917}
.m-q__chip input:checked+span{background:var(--grad);border-color:transparent;color:#fff}
.m-q__chip input:focus-visible+span{outline:2px solid #fb6917;outline-offset:2px}
.m-q__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.m-q__f{display:flex;flex-direction:column;gap:7px}
.m-q__f span{font-size:13px;font-weight:600;color:var(--mute)}
.m-q__f input,.m-q__f textarea{font:inherit;font-size:16px;color:#fff;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 16px;outline:none;transition:border-color .25s,background .25s;resize:vertical}
.m-q__f input:focus,.m-q__f textarea:focus{border-color:#fb6917;background:rgba(255,255,255,.07)}
.m-q__f.is-bad input{border-color:#fb3047}
.m-q__step[data-s="msg"] .m-q__f{margin-top:22px}
.m-q__ok{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:14px;color:var(--mute);cursor:pointer}
.m-q__ok input{width:20px;height:20px;accent-color:#fb6917;flex:none;margin-top:1px}
.m-q__ok a{color:#fff;text-decoration:underline}
.m-q__err{min-height:22px;margin:16px 0 0;color:#ff5a6a;font-size:14px;font-weight:600}
.m-q__nav{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px}
.m-q__back{background:none;border:0;color:var(--mute);font:inherit;font-weight:600;cursor:pointer;padding:10px 0}
.m-q__back:hover{color:#fff}
.m-q__back[hidden]{visibility:hidden;display:block}
.m-q__nav[hidden]{display:none}
.m-q__next.is-busy{opacity:.6;pointer-events:none}
.m-q__done{text-align:left}
.m-q__done .m-btn{margin-top:10px}
.m-q__tick{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:var(--grad);margin-bottom:26px;animation:m-igpop .6s .2s both}
.m-q__tick svg{width:36px;color:#fff}
body.m-qopen{overflow:hidden}
@media (max-width:600px){
  .m-q__box{padding:20px 18px 22px}
  .m-q__whos{grid-template-columns:1fr;gap:10px}
  .m-q__who{flex-direction:row;align-items:center;flex-wrap:wrap;padding:16px}
  .m-q__who svg{margin:0 6px 0 0;width:26px;height:26px}
  .m-q__who small{width:100%;padding-left:38px;margin-top:-4px}
  .m-q__grid{grid-template-columns:1fr}
  .m-q__bar{margin-bottom:28px}
}
/* Scopri anche: frecce al posto di "Trascina" */
.m-others__nav{display:flex;gap:8px;align-self:flex-end}
.m-others__nav button{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--ink);cursor:pointer;transition:background .3s,border-color .3s,opacity .3s}
.m-others__nav button:hover:not(:disabled){background:var(--grad);border-color:transparent}
.m-others__nav button:disabled{opacity:.3;cursor:default}
.m-others__nav .m-ico{width:20px;height:20px}
@media (max-width:900px){.m-others__nav button{width:44px;height:44px}}
/* Chi siamo: CEO e co-CEO (in attesa delle card definitive) */
.m-lead2{padding:clamp(70px,9vw,130px) var(--gut) 0}
.m-lead2__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,32px);margin-top:clamp(30px,4vw,56px)}
.m-lead2__c{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px);padding:clamp(18px,2vw,28px);border-radius:28px;background:linear-gradient(140deg,rgba(255,255,255,.05),rgba(255,255,255,.01));border:1px solid var(--line)}
.m-lead2__ph{flex:none;width:clamp(110px,12vw,170px);aspect-ratio:3/4;border-radius:20px;background:var(--grad);display:grid;place-items:center}
.m-lead2__ph span{font-weight:900;font-size:clamp(34px,3.6vw,54px);letter-spacing:-.04em;color:#0e0e0e}
.m-lead2__r{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;border-radius:30px;border:1px solid rgba(251,105,23,.5);color:#fb6917;margin-bottom:12px}
.m-lead2__c h3{font-size:clamp(26px,2.6vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1;margin:0}
@media (max-width:700px){.m-lead2__grid{grid-template-columns:1fr}}
@media (min-width:901px){.m-igc .m-h2{font-size:clamp(40px,4.3vw,70px)}.m-igc .m-igp__txt{max-width:520px}}
/* menu a tendina dei form: gruppi e voci sul fondo scuro del sito, niente grigio di sistema */
.m-field select option,.m-field select optgroup{background:#161616;color:#f4f1ec}
.m-field select optgroup{color:#fb6917;font-weight:800;font-style:normal}
.m-field select option:checked{background:#fb4d2e;color:#fff}
.m-lead2__ph{background:#eee;overflow:hidden;width:clamp(150px,15vw,220px)}
.m-lead2__ph img{width:100%;height:100%;object-fit:cover;display:block}
.m-lead2__q{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(17px,1.35vw,21px);line-height:1.35;color:var(--mute);margin:14px 0 16px}
@media (max-width:600px){.m-lead2__c{flex-direction:column;align-items:flex-start}.m-lead2__ph{width:100%;aspect-ratio:4/5}}

.m-foot__big>span{position:relative;background:none!important}
.m-foot__big .m-fw{display:inline-block;white-space:nowrap}
.m-foot__big .m-fc{display:inline-block;background-image:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .04em .12em;margin:0 -.04em;will-change:transform}
.mistral .m-foot__big em{background:none}
.m-foot__big{position:relative}
.m-foot__wind{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:0}
.m-foot__big>span{z-index:1}
.m-cookie{position:fixed;right:22px;bottom:22px;z-index:1001;max-width:400px;background:#161616;color:#eee;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:20px 22px;box-shadow:0 24px 60px -20px rgba(0,0,0,.8);font-size:14px;line-height:1.5}
.m-cookie[hidden]{display:none}
.m-cookie p{margin:0 0 14px;padding:0}
.m-cookie a{color:#fb6917;text-decoration:underline}
.m-cookie div{display:flex;gap:10px;justify-content:flex-end}
.m-cookie button{font:inherit;font-weight:700;border-radius:99px;padding:10px 20px;cursor:pointer;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff}
.m-cookie .m-cookie__ok{border:0;background:linear-gradient(90deg,#fb3047,#fb6917)}
@media (max-width:767px){.m-cookie{left:12px;right:12px;bottom:12px;max-width:none}}
.m-fan__q .m-fan__r{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;color:#fb6917;margin:-2px 0 8px;font-style:normal}
.m-fan .m-fan__c figcaption span{font-size:13px;color:rgba(255,255,255,.88)}
/* Chi siamo: foto dei fondatori grandi quanto le card del team */
.m-lead2__ph{width:clamp(200px,21vw,300px);aspect-ratio:300/443}
@media (max-width:900px) and (min-width:601px){.m-lead2__grid{grid-template-columns:1fr}}
