:root{--bg:#120c16;--surface:#1c1422;--line:#33253d;--text:#f6eef4;--muted:#b7a5b8;--rose:#ff8fc0;--lilac:#b79cff;--peach:#ffb98f;--accent:var(--rose);--ink:#2a0a1c;--grad:linear-gradient(120deg, var(--rose), var(--lilac) 55%, var(--peach))}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:17px/1.65 Trebuchet MS,ui-rounded,SF Pro Rounded,system-ui,sans-serif;overflow-x:hidden}::selection{background:var(--rose);color:var(--ink)}[data-l]{display:none}html[data-lang=en] [data-l=en],html[data-lang=it] [data-l=it],html[data-lang=es] [data-l=es]{display:inline}html[data-lang] div[data-l]{display:none}html[data-lang=en] div[data-l=en],html[data-lang=it] div[data-l=it],html[data-lang=es] div[data-l=es]{display:block}a{color:inherit;text-decoration:none}.blob{z-index:-1;filter:blur(90px);opacity:.35;pointer-events:none;border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:fixed}.b1{background:var(--rose);width:420px;height:420px;top:-100px;left:-120px}.b2{background:var(--lilac);width:380px;height:380px;animation-delay:-6s;top:35%;right:-140px}.b3{background:var(--peach);opacity:.22;width:340px;height:340px;animation-delay:-11s;bottom:-120px;left:25%}@keyframes drift{to{transform:translate(60px,50px)scale(1.15)}}.top{z-index:10;background:color-mix(in srgb, var(--surface) 70%, transparent);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;align-items:center;gap:1.2rem;width:min(920px,100% - 1.5rem);margin:.75rem auto 0;padding:.55rem .6rem .55rem 1.2rem;display:flex;position:sticky;top:.75rem}.brand{letter-spacing:.06em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}nav{color:var(--muted);gap:1.3rem;margin-left:auto;font-size:.9rem;display:flex}nav a{transition:color .2s;position:relative}nav a:after{content:"";background:var(--grad);border-radius:2px;height:2px;transition:right .25s;position:absolute;bottom:-3px;left:0;right:100%}nav a:hover{color:var(--text)}nav a:hover:after{right:0}.switch{background:var(--bg);border-radius:999px;padding:3px;display:flex}.switch button{color:var(--muted);cursor:pointer;letter-spacing:.06em;background:0 0;border:0;border-radius:999px;padding:.5rem .8rem;font:700 .75rem/1 inherit;transition:all .25s}.switch button:hover{color:var(--text)}html[data-lang=en] [data-set=en],html[data-lang=it] [data-set=it],html[data-lang=es] [data-set=es]{background:var(--grad);color:var(--ink)}main{max-width:920px;margin:0 auto;padding:0 1.25rem}section{padding:4.5rem 0 1rem}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:2.5rem;min-height:80vh;padding-top:4rem;display:grid}.hero-text>*{animation:.8s both rise}.hero-text>:nth-child(2){animation-delay:.1s}.hero-text>:nth-child(3){animation-delay:.2s}.hero-text>:nth-child(4){animation-delay:.3s}.hero-text>:nth-child(5){animation-delay:.4s}.hero-text>:nth-child(6){animation-delay:.5s}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.eyebrow{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.55rem;margin:0 0 1.2rem;padding:.35rem .9rem;font-size:.85rem;display:inline-flex}.dot{background:#7fe3a5;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;box-shadow:0 0 #7fe3a5aa}@keyframes pulse{to{box-shadow:0 0 0 10px #0000}}h1{letter-spacing:-.03em;margin:0 0 .8rem;font-size:clamp(3rem,10vw,5.4rem);font-weight:800;line-height:1}.grad{background:var(--grad);color:#0000;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:6s infinite shine}@keyframes shine{50%{background-position:100%}}.role{color:var(--peach);margin:0 0 1rem;font-size:clamp(1.15rem,3vw,1.45rem);font-weight:600}.lead{max-width:58ch;color:var(--muted);margin:0 0 1.8rem}.btn{background:var(--grad);color:var(--ink);box-shadow:0 8px 30px -8px var(--rose);border-radius:999px;padding:.8rem 1.5rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-block}.btn:hover{box-shadow:0 14px 34px -8px var(--rose);transform:translateY(-3px)scale(1.03)}.tags{flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--line);background:#ffffff0d;border-radius:999px;padding:.3rem .8rem;font-size:.85rem}.photo{aspect-ratio:1;justify-self:center;width:min(320px,80%);animation:1s .2s both rise;position:relative}.photo img{object-fit:cover;object-position:60% 30%;border:4px solid var(--bg);border-radius:42% 58% 55% 45%/48% 42% 58% 52%;width:100%;height:100%;animation:10s ease-in-out infinite alternate morph;position:relative}.ring{background:var(--grad);filter:blur(2px);border-radius:42% 58% 55% 45%/48% 42% 58% 52%;animation:10s ease-in-out infinite alternate morph,14s linear infinite spin;position:absolute;inset:-14px}@keyframes morph{50%{border-radius:58% 42% 45% 55%/55% 55% 45% 45%}to{border-radius:48% 52% 60% 40%/42% 58%}}@keyframes spin{to{transform:rotate(360deg)}}h2{letter-spacing:-.02em;margin:0 0 1.8rem;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800}h2:before{content:"";vertical-align:middle;background:var(--grad);border-radius:6px;width:28px;height:6px;margin-right:.7rem;display:inline-block}h3{margin:0 0 .2rem;font-size:1.12rem}h3.sub{color:var(--muted);margin:2rem 0 .9rem;font-weight:600}.prose p{color:#e3d6e2;margin:0 0 1.1rem}.timeline{border-left:2px dashed var(--line);margin:0;padding:0 0 0 1.6rem;list-style:none}.timeline li{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-bottom:1.2rem;padding:1.1rem 1.3rem;transition:transform .25s,border-color .25s;position:relative}.timeline li:hover{border-color:var(--rose);transform:translate(6px)}.timeline li:before{content:"";background:var(--grad);width:12px;height:12px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:1.5rem;left:calc(-1.6rem - 7px)}.when{color:var(--lilac);background:#b79cff1a;border-radius:999px;margin:0 0 .5rem;padding:.15rem .7rem;font-size:.78rem;font-weight:700;display:inline-block}.org,.desc{color:var(--muted);margin:.15rem 0 0;font-size:.96rem}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.cards li{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:1.3rem 1.4rem;transition:transform .25s,border-color .25s}.cards li:hover{border-color:var(--lilac);transform:translateY(-6px)rotate(-.6deg)}.chips{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.chips li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem;font-size:.92rem;transition:all .2s}.chips li:hover{background:var(--grad);color:var(--ink);border-color:#0000;transform:translateY(-3px)rotate(-2deg)}.chips li:hover small{color:var(--ink)}.chips small{color:var(--muted);margin-left:.35rem}.contact{text-align:center;padding:5rem 0 3rem}.contact h2:before{display:none}.contact .lead{margin-inline:auto}footer{text-align:center;color:var(--muted);padding:2rem 0 3rem;font-size:.85rem}@media (width<=760px){.hero{text-align:center;grid-template-columns:1fr;min-height:0}.photo{order:-1;width:220px}.lead{margin-inline:auto}.tags{justify-content:center}nav{display:none}.switch{margin-left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.hobby{grid-template-columns:1fr 1.2fr;align-items:center;gap:2rem;display:grid}.hobby figure{margin:0;transition:transform .3s;position:relative;transform:rotate(-2.5deg)}.hobby figure:hover{transform:rotate(0)scale(1.02)}.hobby img{aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;border:4px solid var(--surface);width:100%;box-shadow:0 20px 50px -20px var(--rose);border-radius:26px;display:block}.hobby figcaption{background:var(--grad);color:var(--ink);border-radius:999px;padding:.3rem .9rem;font-weight:700;position:absolute;bottom:18px;right:-10px}.hobby .prose p:last-child{color:var(--peach);font-weight:600}@media (width<=760px){.hobby{grid-template-columns:1fr}.hobby figure{max-width:320px;margin:0 auto}}
