:root{--u: calc(100vw / 1920);--pad-t: calc(16 * var(--u));--pad-x: calc(16 * var(--u));--pad-b: calc(16 * var(--u));--gap: calc(64 * var(--u));--gap-s: calc(16 * var(--u));--col-gap: calc(32 * var(--u));--label-gap: calc(10 * var(--u));--block-pb: calc(32 * var(--u));--mono: max(calc(24 * var(--u)), 13px);--body: max(calc(24 * var(--u)), 14px);--big: calc(64 * var(--u));--row-info: calc(64 * var(--u));--logo: max(calc(50 * var(--u)), 32px);--portrait: calc(135 * var(--u));--bg: #cccccc;--white: #ffffff;--black: #000000;--media: #b3b3b3;--logo-k: .8}html[data-theme="2"]{--bg: #000000;--white: #cccccc;--black: #ffffff;--logo-k: 1}html[data-theme="3"]{--bg: #ffffff;--white: #cccccc;--black: #000000;--logo-k: 1}@media(max-width:767px){:root{--u: min(calc(100vw * .88 / 393), 1.056px);--pad-t: 8px;--pad-x: 8px;--pad-b: 8px;--gap: calc(32 * var(--u));--gap-s: calc(16 * var(--u));--col-gap: 0px;--label-gap: calc(10 * var(--u));--block-pb: calc(16 * var(--u));--mono: calc(20 * var(--u));--body: calc(20 * var(--u));--big: calc(64 * var(--u));--row-info: calc(40 * var(--u));--logo: calc(50 * var(--u));--portrait: calc(89 * var(--u))}}@font-face{font-family:Diatype Cap;src:url(/fonts/ABCDiatypePlusVariable.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:block;ascent-override:70%;descent-override:0%;line-gap-override:0%}@font-face{font-family:Diatype Mono Cap;src:url(/fonts/ABCDiatypeMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block;ascent-override:70%;descent-override:0%;line-gap-override:0%}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100svh;background:var(--bg);color:var(--black);font-family:Diatype Cap,Helvetica,Arial,sans-serif;font-weight:400;font-size:var(--body);line-height:1;letter-spacing:-.06em;overflow-x:clip;-webkit-text-size-adjust:none}html:not(.fonts-ready) body{opacity:0}a{color:inherit;text-decoration:none}h1,h2,figure{margin:0;font:inherit}.page{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:var(--gap);padding:var(--pad-t) var(--pad-x) var(--pad-b)}.top,.bottom{display:flex;flex-direction:column;align-items:stretch;gap:var(--gap)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--col-gap)}@media(max-width:767px){.grid{grid-template-columns:minmax(0,1fr);row-gap:var(--gap)}}.btn,.label{display:block;position:relative;width:max-content;max-width:100%;margin:0;padding:0;border:0;background:none;font-family:Diatype Mono Cap,ui-monospace,monospace;font-weight:400;font-size:var(--mono);line-height:.7;letter-spacing:0;text-transform:uppercase;white-space:nowrap;text-align:left}.btn{color:var(--black);cursor:pointer;-webkit-tap-highlight-color:transparent}.btn:after{content:"";position:absolute;inset:-8px -4px}.btn.is-current{color:var(--white)}@media(hover:hover){.btn:hover{color:var(--white)}}.btn:focus-visible{color:var(--white);outline:none}.label{color:var(--white)}.list,.nav{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap-s)}.nav-project{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;justify-items:start}.nav-project .back{grid-column:2}.foot{display:flex;justify-content:space-between;align-items:flex-end}.settings{display:flex;flex-direction:column;align-items:flex-end;gap:var(--gap-s)}html:not([data-lang=it]) .t[lang=it],html[data-lang=it] .t[lang=en]{display:none}.lbl.bi{padding-right:0}.lbl.bi>.t{padding-right:.07em}.lbl.bi>.t.trail{padding-right:0}.check{display:inline-block;width:.6em;height:.7em;vertical-align:baseline;overflow:visible}.check path{fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.rows{display:flex;flex-direction:column;align-items:flex-start}.lbl{display:block;position:relative;width:max-content;max-width:100%;font-size:var(--big);line-height:.7;letter-spacing:-.07em;padding-right:.07em;white-space:nowrap;text-transform:uppercase}.lbl.trail{padding-right:0}.lbl.white{background:var(--white);color:var(--black)}.lbl.black{background:var(--black);color:var(--white)}.info .lbl{font-size:var(--row-info)}@media(max-width:767px){.info .lbl.black{background:var(--white);color:var(--black)}}.text{line-height:1;letter-spacing:-.06em;margin-block:-.15em;overflow-wrap:break-word}.block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--label-gap);padding-bottom:var(--block-pb);min-width:0}.block .text{align-self:stretch}.langs{display:grid;grid-template-columns:max-content max-content;column-gap:.9em;justify-content:start}.level{letter-spacing:-.1em;white-space:nowrap}.level .off{opacity:.2}.intro{align-items:end}.intro-main{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.intro .bio{grid-column:3;min-width:0}.portrait{display:block;width:var(--portrait);height:var(--portrait);background:#fff}.portrait .media,.portrait .media-frame,.portrait picture{display:block;width:100%;height:100%;margin:0}.portrait img{display:block;width:100%;height:100%;object-fit:cover}.cv{row-gap:var(--gap-s)}.cv [data-area=edu]{grid-area:1 / 1}.cv [data-area=career]{grid-area:1 / 2}.cv [data-area=langs]{grid-area:2 / 1}.cv [data-area=skills]{grid-area:2 / 2}.cv [data-area=software]{grid-area:2 / 3}@media(max-width:767px){.intro{row-gap:var(--gap)}.intro .bio{grid-column:auto;padding-bottom:calc(16 * var(--u))}.cv{row-gap:var(--gap)}.cv .block{grid-area:auto!important}}.cluster{position:relative;grid-column:1;aspect-ratio:2686 / 1272;overflow:clip}@media(max-width:767px){.cluster{grid-column:auto}}.orbit-ring{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(-8deg)}.orbit-item{position:absolute;left:0;top:0;width:80px;height:45px;will-change:transform;user-select:none}.orbit-item.is-dim{opacity:0}.orbit-item picture,.orbit-item img{display:block;width:100%;height:100%}.orbit-item img{object-fit:cover}.logo-slot{height:var(--logo)}.logo-fixed,.logo-projects{position:fixed;left:var(--pad-x);bottom:var(--pad-b);z-index:20}.logo-fixed{display:block;mix-blend-mode:difference;-webkit-tap-highlight-color:transparent}.logo-fixed img{filter:invert(1) brightness(var(--logo-k))}.logo-fixed.is-off{visibility:hidden}.logo-projects{width:0;height:var(--logo);pointer-events:none}.logo-projects .logo-img{position:absolute;left:0;top:0;visibility:hidden}.logo-projects .logo-img.is-on{visibility:visible}html[data-theme="2"] .logo-projects [data-project=auuux-page] img,html[data-theme="2"] .logo-projects [data-project=ram-page] img{filter:brightness(0) invert(1)}.logo-img{position:relative;display:block;height:var(--logo);width:calc(var(--logo) * var(--bw));line-height:0}.logo-img img{position:absolute;display:block;max-width:none;left:calc(var(--logo) * var(--ix));top:calc(var(--logo) * var(--iy));width:calc(var(--logo) * var(--iw));height:calc(var(--logo) * var(--ih))}.project .gallery{margin-top:calc(var(--gap-s) - var(--gap))}.details-row{margin-top:calc(var(--gap-s) - var(--gap));align-items:start}.details-row .arrows{display:flex;gap:var(--gap-s)}@media(max-width:767px){.project .gallery{margin-top:0}.details-row .arrows{justify-content:space-between}.details-row .block{padding-bottom:0}}.media{display:block;margin:0;position:relative}.media-frame{position:relative;width:100%;height:100%;overflow:hidden}.media img,.media video{display:block;width:100%;height:100%;object-fit:cover}.media-video .poster{position:absolute;inset:0}.media-video .poster img{width:100%;height:100%}.media-video video{position:relative;z-index:1}.media-video.is-playing .poster{visibility:hidden}.gallery{position:relative;display:block;width:100%;outline:none}.gallery .slides{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--media);touch-action:pan-y}.gallery .track{display:flex;width:100%;height:100%;transition:transform var(--speed, 0s) cubic-bezier(.24,0,.29,1);will-change:transform}.gallery .slide{flex:0 0 100%;height:100%}.gallery .slide .media{width:100%;height:100%;cursor:zoom-in}.gallery .fs-controls{display:none}html.is-fullscreen{overflow:hidden}html.is-fullscreen .logo-fixed,html.is-fullscreen .logo-projects{display:none}.gallery.is-full{position:fixed;inset:0;z-index:50;margin:0;background:var(--bg);padding:var(--pad-t) var(--pad-x) var(--pad-b)}.gallery.is-full .slides{height:100%;aspect-ratio:auto;background:none}.gallery.is-full .slide .media{cursor:default}.gallery.is-full .media img,.gallery.is-full .media video{object-fit:contain}.gallery.is-full .fs-controls{display:block}.gallery.is-full .fs-controls .btn{position:absolute;color:#fff;mix-blend-mode:difference}.gallery.is-full .fs-prev{left:calc(var(--pad-x) + 10 * var(--u));top:50%;transform:translateY(-50%)}.gallery.is-full .fs-next{right:calc(var(--pad-x) + 10 * var(--u));top:50%;transform:translateY(-50%)}.gallery.is-full .fs-close{left:50%;bottom:calc(var(--pad-b) + 10 * var(--u));transform:translate(-50%)}@media(min-width:768px)and (hover:hover){.gallery.is-full .fs-controls .btn:hover{color:var(--white);mix-blend-mode:normal}}@media(min-width:768px){.gallery.is-full .fs-controls .btn:focus-visible{color:var(--white);mix-blend-mode:normal}}@media(max-width:767px){.gallery.is-full{display:flex;flex-direction:column;justify-content:center;gap:var(--gap-s)}.gallery.is-full .slides{height:auto;aspect-ratio:16 / 9;flex:none}.gallery.is-full .media img,.gallery.is-full .media video{object-fit:cover}.gallery.is-full .fs-controls{display:flex;justify-content:space-between}.gallery.is-full .fs-controls .btn{position:relative;inset:auto;transform:none;color:var(--black);mix-blend-mode:normal}.gallery.is-full .fs-controls .btn:focus-visible{color:var(--white)}}@media(max-width:767px)and (hover:hover){.gallery.is-full .fs-controls .btn:hover{color:var(--white)}}html.has-type [data-type]:not([data-type=fade]):not(.is-typing):not(.is-typed){visibility:hidden}html.has-type [data-type=fade]:not(.is-typed){opacity:0}.ghost{color:transparent}@media(prefers-reduced-motion:reduce){.gallery .track{transition:none!important}}
