:root{--bg:#fff;--bg-alt:#faf9f6;--surface:#fff;--border:#e8e6e1;--text:#16161a;--text-muted:#6b7075;--yellow:#f5d949;--yellow-deep:#ec2;--yellow-ink:#16161a;--teal:#14b8a6;--teal-2:#22c55e;--teal-soft:#14b8a614;--coral:#ff7a59;--coral-soft:#ff7a5914;--blue:#4f8ef7;--blue-soft:#4f8ef714;--purple:#9b6ef3;--purple-soft:#9b6ef314;--magenta:#e85fa0;--magenta-soft:#e85fa014;--ink:#1a1a1a;--radius:16px;--gutter:24px;--header-h:64px;--section-y:44px;--stack-gap:28px;--block-gap:48px;--col-gap:56px;--content-max:1100px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Space Grotesk,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Space Grotesk,sans-serif;line-height:1.2}p{margin:0}a{color:inherit;text-decoration:none}ul,ol,dl{margin:0;padding:0;list-style:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}.container{width:100%;max-width:var(--content-max);padding:0 var(--gutter);margin:0 auto}[id]{scroll-margin-top:calc(var(--header-h) + 16px)}.site-header{z-index:50;background:var(--yellow);border-bottom:1px solid #0000;transition:background .2s,box-shadow .2s;position:sticky;top:0}.site-header.is-scrolled{background:var(--yellow-deep);box-shadow:0 1px #0000000f}.header-inner{height:var(--header-h);justify-content:space-between;align-items:center;gap:16px;display:flex}.logo{width:38px;height:38px;color:var(--yellow-ink);background:#fff;border-radius:10px;flex-shrink:0;place-items:center;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:800;display:grid}.nav{gap:26px;margin-left:36px;margin-right:auto;display:flex}.nav a{color:#16161aa6;font-size:14px;font-weight:600;transition:color .15s}.nav a:hover{color:var(--ink)}.cv-button{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:700;transition:transform .15s,background .15s;display:inline-flex}.cv-button:hover{background:#000;transform:translateY(-1px)}.header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.lang-switch,.cv-lang-switch{flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.lang-switch button,.cv-lang-switch button{text-transform:uppercase;letter-spacing:.01em;color:#16161a66;cursor:pointer;background:0 0;border:none;padding:0 0 6px;font-family:Space Grotesk,sans-serif;font-size:1.05rem;font-weight:800;transition:color .15s;position:relative}.lang-switch button.is-active,.cv-lang-switch button.is-active{color:var(--ink)}.lang-switch button.is-active:after,.cv-lang-switch button.is-active:after{content:"";background:var(--ink);border-radius:3px;height:4px;position:absolute;bottom:0;left:0;right:0}.chat-topbar{padding:16px var(--gutter);align-items:center;display:none}.chat-topbar button{color:var(--ink);background:0 0;border:none;align-items:center;gap:8px;padding:8px 4px;font-size:.95rem;font-weight:700;display:inline-flex}.cv-header{background:var(--yellow);padding:40px 0 36px}.cv-header-grid{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.cv-identity{flex-direction:column;gap:16px;display:flex}.cv-name{text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:800}.cv-lang-switch{display:none}.cv-role{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;max-width:460px;font-size:.92rem;font-weight:600}.cv-contacts{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:14px;display:flex}.cv-contact-icon{width:34px;height:34px;color:var(--yellow-ink);background:#fff;border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.contact-capsule{flex-direction:column;flex-shrink:0;display:flex}.contact-capsule .cv-contact-icon{border-radius:0;width:34px;height:40px}.contact-capsule .icon-top{border-bottom:2px solid var(--ink);border-radius:20px 20px 0 0}.contact-capsule .icon-bottom{border-radius:0 0 20px 20px}.contact-fab{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:55;flex-direction:column;align-items:center;display:none;position:fixed}.contact-fab-btn{background:var(--yellow);width:49px;height:49px;color:var(--yellow-ink);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.contact-fab-btn:first-child{border-radius:50% 50% 0 0}.contact-fab-btn:nth-child(2){border-radius:0 0 50% 50%;margin-top:4px}.contact-fab-btn:nth-child(3){margin-top:8px}.section{padding:var(--section-y) 0}.section-alt{background:var(--bg-alt)}.section-title{text-transform:uppercase;letter-spacing:.18em;margin-bottom:var(--stack-gap);color:var(--text);font-size:.95rem;font-weight:700;display:inline-block;position:relative}.section-title:after{content:"";background:var(--yellow);border-radius:3px;width:34px;height:3px;position:absolute;bottom:-10px;left:0}.section-title-center{text-align:center;display:block}.section-title-center:after{left:50%;transform:translate(-50%)}.section-title-center+.section-lead{text-align:center;margin-inline:auto}.progetti-title{margin-top:var(--block-gap)}.section-lead{color:var(--text-muted);max-width:620px;margin:-14px 0 var(--stack-gap);font-size:.95rem}.subsection-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:28px 0 12px;font-size:.78rem;font-weight:700}.subsection-title:first-of-type{margin-top:6px}.two-col-cv{gap:var(--col-gap);grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);align-items:start;display:grid}.two-col-cv--wide-left{grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr)}.profilo-progetti-col{width:100%}.profile-blocks{flex-direction:column;gap:56px;display:flex}.profile-block{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:center;gap:44px;display:grid}.profile-block-flip{grid-template-columns:minmax(0,1fr) minmax(0,360px)}.profile-block-flip .profile-block-media{grid-area:1/2}.profile-block-flip .bio{grid-area:1/1}.profile-block-media{aspect-ratio:1;background:var(--bg-alt);border-radius:20px;overflow:hidden}.profile-block-media img{object-fit:cover;width:100%;height:100%}.bio{color:var(--text-muted);flex-direction:column;gap:16px;font-size:.98rem;display:flex}.inline-link{color:var(--text);border-bottom:2px solid var(--yellow);font-weight:700}.inline-link:hover{color:var(--coral)}.cv-timeline{--cv-axis:56px;--cv-cols:minmax(0, 1fr) minmax(0, 1fr) var(--cv-axis) minmax(0, 1fr) minmax(0, 1fr);max-width:1060px;margin:0 auto}.cv-timeline-legend{width:fit-content;margin:0 auto 34px}.cv-timeline-window{position:relative}.cv-timeline-window:before,.cv-timeline-window:after{content:"";z-index:2;pointer-events:none;height:44px;position:absolute;left:0;right:0}.cv-timeline-window:before{background:linear-gradient(180deg, var(--bg) 15%, transparent 100%);top:0}.cv-timeline-window:after{background:linear-gradient(0deg, var(--bg) 15%, transparent 100%);bottom:0}.cv-timeline-scroll{scrollbar-width:none;height:min(74vh,660px);padding:52px 24px 56px;overflow-y:auto}.cv-timeline-scroll::-webkit-scrollbar{display:none}.cv-timeline-scroll:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:12px}.cv-timeline-scrubber{z-index:3;cursor:pointer;touch-action:none;width:76px;position:absolute;top:52px;bottom:56px;left:24px}.cv-timeline-scrubber:before{content:"";background:var(--border);border-radius:999px;width:3px;position:absolute;top:0;bottom:0;left:0}.cv-timeline-scrubber-reel{left:12px;right:0;top:calc(var(--scrub) * (100% - 30px));text-align:left;height:30px;position:absolute}.cv-timeline-year{color:var(--text);white-space:nowrap;font-weight:700;line-height:30px;display:block}.cv-timeline-year-now{letter-spacing:-.01em;font-size:1.55rem}.cv-timeline-year-recent,.cv-timeline-year-older{color:var(--text-muted);opacity:.4;font-size:.86rem;line-height:1;position:absolute;left:0}.cv-timeline-year-recent{margin-bottom:10px;bottom:100%}.cv-timeline-year-older{margin-top:10px;top:100%}.cv-timeline-track{flex-direction:column;gap:30px;display:flex;position:relative}.cv-timeline-track:before{content:"";background:var(--border);border-radius:999px;width:18px;margin-left:-9px;transition:background .25s;position:absolute;top:10px;bottom:10px;left:50%;-webkit-mask-image:linear-gradient(#0000 0%,#000 10%);mask-image:linear-gradient(#0000 0%,#000 10%)}.cv-timeline-focus-esperienza .cv-timeline-track:before{background:var(--coral)}.cv-timeline-focus-formazione .cv-timeline-track:before{background:var(--teal)}.cv-timeline-item{grid-template-columns:var(--cv-cols);cursor:pointer;align-items:start;display:grid}.cv-timeline-item:before,.cv-timeline-card,.cv-timeline-date{transition:opacity .2s,background .2s}.cv-timeline-item:before{content:"";z-index:1;background:#fff;border-radius:50%;grid-area:1/3;justify-self:center;width:12px;height:12px;margin-top:8px}.cv-timeline-item-open:before{background:var(--teal)}.cv-timeline-card{grid-row:1}.cv-timeline-card h3{margin-bottom:4px;font-size:1.06rem;font-weight:700}.cv-timeline-card .timeline-company{font-size:.9rem}.cv-timeline-card .timeline-desc{font-size:.92rem}.cv-timeline-item-esperienza .cv-timeline-card{text-align:right;grid-column:2}.cv-timeline-item-formazione .cv-timeline-card{grid-column:4}.cv-timeline-date{white-space:nowrap;border-radius:999px;margin-bottom:9px;padding:6px 13px;font-size:.8rem;font-weight:700;display:inline-block}.cv-timeline-item-esperienza .cv-timeline-date{background:var(--coral-soft);color:var(--coral)}.cv-timeline-item-formazione .cv-timeline-date{background:var(--teal-soft);color:var(--teal)}.cv-timeline-focus-esperienza .cv-timeline-item-formazione .cv-timeline-card,.cv-timeline-focus-esperienza .cv-timeline-item-formazione .cv-timeline-date,.cv-timeline-focus-formazione .cv-timeline-item-esperienza .cv-timeline-card,.cv-timeline-focus-formazione .cv-timeline-item-esperienza .cv-timeline-date,.cv-timeline-focus-esperienza .cv-timeline-item-open:before{opacity:.22}.cv-two-col{display:none}.timeline{flex-direction:column;gap:30px;display:flex;position:relative}.timeline:before{content:"";border-radius:999px;width:18px;position:absolute;top:0;bottom:0;left:0}.timeline-teal:before{background:linear-gradient(180deg, transparent 0%, var(--teal) 20%, var(--teal) 100%)}.timeline-coral:before{background:var(--coral)}.timeline-item{gap:22px;display:flex;position:relative}.timeline-dot{z-index:1;background:#fff;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin:5px 3px 0;position:relative}.timeline-dot-teal-filled{background:var(--teal)}.timeline-content-continua{padding-bottom:38px}.timeline-content h3{margin-bottom:3px;font-size:.98rem;font-weight:700}.timeline-company{color:var(--text-muted);margin-bottom:2px;font-size:.86rem}.timeline-period{color:var(--text-muted);margin-bottom:6px;font-size:.8rem}.timeline-desc{color:var(--text-muted);font-size:.88rem}.switch-pill{background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;gap:6px;padding:4px;display:flex}.switch-pill button{color:var(--text-muted);background:0 0;border:none;border-radius:999px;padding:10px 20px;font-size:.86rem;font-weight:700;transition:background .15s,color .15s}.switch-pill button:hover{color:var(--text)}.switch-pill button.is-active{background:var(--ink);color:#fff}.mobile-switch{margin-bottom:32px;display:none}.hobby-orbit-wrap{width:100%;container-type:inline-size}.hobby-orbit{--orbit-size:108cqw;--orbit-radius:calc(var(--orbit-size) / 2);cursor:grab;width:100%;max-width:380px;height:63cqw;margin:8px auto 0;position:relative;overflow:hidden}.hobby-orbit:active{cursor:grabbing}.hobby-orbit-ring-line{border:1px solid #16161a24;border-radius:50%;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.hobby-orbit-ring-line-1{width:calc(var(--orbit-radius) * .8);height:calc(var(--orbit-radius) * .8)}.hobby-orbit-ring-line-2{width:calc(var(--orbit-radius) * 1.4);height:calc(var(--orbit-radius) * 1.4)}.hobby-orbit-ring-line-3{width:calc(var(--orbit-radius) * 2);height:calc(var(--orbit-radius) * 2)}.hobby-orbit-circle{left:50%;bottom:calc(-1 * var(--orbit-radius));width:var(--orbit-size);height:var(--orbit-size);position:absolute;transform:translate(-50%)}.hobby-orbit-ring{position:absolute;inset:0}.hobby-orbit-item{width:0;height:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--angle)));position:absolute;top:50%;left:50%}.hobby-orbit-spin-cancel{position:absolute;top:0;left:0}.hobby-orbit-icon{border:1.5px solid var(--border);width:50px;height:50px;color:var(--text-muted);font:inherit;cursor:pointer;background:#fff;border-radius:30%;place-items:center;padding:0;transition:transform .35s,background .35s,color .35s,border-color .35s,box-shadow .35s;display:grid}.hobby-orbit-icon:active{transform:scale(.9)}.hobby-orbit-icon.is-active{background:var(--ink);border-color:var(--ink);color:#fff;z-index:2;transform:scale(1.35);box-shadow:0 8px 20px #16161a40}.hobby-orbit-icon.is-active:active{transform:scale(1.2)}.hobby-orbit-center{text-align:center;pointer-events:none;place-items:center;display:grid;position:absolute;top:60%;left:0;right:0}.hobby-orbit-label{color:var(--ink);font-size:1.4rem;font-weight:800;animation:.4s hobby-orbit-label-pop}@keyframes hobby-orbit-label-pop{0%{opacity:0;transform:translateY(4px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.skills-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.skills-group h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;text-align:center;margin-bottom:16px;font-size:.78rem;font-weight:700}.skill-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px;max-width:420px;margin-inline:auto;display:grid}.skill-tile{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.skill-tile-logo{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--ink);border-radius:20px;place-items:center;padding:14%;transition:color .2s;display:grid}.skill-tile-logo img{object-fit:contain;filter:none;opacity:1;width:100%;height:100%;transition:filter .2s,opacity .2s}.skill-tile-label{color:var(--text);font-size:.76rem;font-weight:600;line-height:1.25}@media (hover:hover) and (pointer:fine){.skill-tile-grid:hover .skill-tile-logo{color:var(--text-muted)}.skill-tile-grid:hover .skill-tile-logo img{filter:grayscale();opacity:.85}.skill-tile-grid:hover .skill-tile:hover .skill-tile-logo{color:var(--ink)}.skill-tile-grid:hover .skill-tile:hover .skill-tile-logo img{filter:none;opacity:1}}.project-card-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.project-carousel{--pc-card-w:176px;--pc-gap:4px;width:calc(min(100vw, var(--content-max)) - var(--gutter) * 2);position:relative}.project-carousel-track{gap:var(--pc-gap);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:62px 0 66px;display:flex;overflow:auto hidden}.project-carousel-track::-webkit-scrollbar{display:none}.project-carousel-track:before,.project-carousel-track:after{content:"";flex:0 0 78px}.project-carousel-item{flex:0 0 var(--pc-card-w);width:var(--pc-card-w)}.project-carousel-face{transform-origin:50%;will-change:transform, opacity}.project-carousel-arrow{z-index:2;border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);border-radius:50%;place-items:center;transition:transform .15s,box-shadow .15s;display:none;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 18px #0000001f}.project-carousel-arrow:hover{transform:translateY(-50%)scale(1.06);box-shadow:0 10px 24px #0000002e}.project-carousel-arrow[disabled]{opacity:0;pointer-events:none}.project-carousel-arrow-prev{left:6px}.project-carousel-arrow-next{right:6px}@media (hover:hover) and (pointer:fine){.project-carousel-arrow{display:grid}}.project-filter{background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;justify-content:center;gap:6px;width:fit-content;max-width:100%;margin:6px auto 0;padding:4px;display:flex}.project-filter-chip{color:var(--text-muted);background:0 0;border:none;border-radius:999px;padding:9px 16px;font-size:.82rem;font-weight:700;transition:background .15s,color .15s}.project-filter-chip:hover{color:var(--text)}.project-filter-chip.is-active{background:var(--ink);color:#fff}.project-card{aspect-ratio:3/4;background-color:var(--purple-soft);background-position:50%;background-size:cover;border-radius:20px;transition:transform .15s;display:block;position:relative;overflow:hidden}.project-card-grid .project-card:hover{transform:translateY(-2px)}.project-carousel .project-card{box-shadow:0 18px 38px #00000038}.project-card-crop-top{background-position:bottom;background-size:auto 135%}.project-card-overlay{background:linear-gradient(#0000 28%,#0000009e 70%,#000000eb 100%);position:absolute;inset:0}.project-card-title{z-index:1;color:#fff;text-shadow:0 1px 3px #0000008c;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.86rem;font-weight:700;line-height:1.28;display:-webkit-box;position:absolute;bottom:14px;left:14px;right:14px;overflow:hidden}.contact-section{text-align:left}.site-footer{border-top:1px solid var(--border);background:var(--bg)}.footer-main{gap:var(--col-gap);padding:var(--section-y) 0;grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:start;display:grid}.footer-col-hobby{justify-self:end;width:100%}.footer-data{flex-direction:column;gap:22px;display:flex}.footer-data-row dt{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:6px;font-size:.78rem;font-weight:700}.footer-data-row dd{color:var(--text);margin:0;font-size:.9rem}.footer-data-row dd span{display:block}.footer-inner{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:.86rem;display:flex}.footer-inner a:hover{color:var(--text)}.bottom-nav{display:none}.sheet-backdrop{opacity:0;pointer-events:none;z-index:90;background:#16161a73;transition:opacity .25s;position:fixed;inset:0}.sheet-backdrop.is-open{opacity:1;pointer-events:auto}.contact-sheet{z-index:95;padding:12px 24px calc(28px + env(safe-area-inset-bottom));box-shadow:none;background:#fff;border-radius:24px 24px 0 0;max-width:480px;margin:0 auto;transition:transform .3s,box-shadow .3s;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.contact-sheet.is-open{transform:translateY(0);box-shadow:0 -12px 40px #0000002e}.contact-sheet-handle{background:var(--border);border-radius:4px;width:40px;height:4px;margin:0 auto 18px}.contact-sheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:30px;display:flex}.contact-sheet-header h2{letter-spacing:-.01em;padding-bottom:16px;padding-right:12px;font-size:1.55rem;font-weight:800;position:relative}.contact-sheet-header h2:after{content:"";background:var(--yellow);border-radius:4px;width:42px;height:4px;position:absolute;bottom:0;left:0}.contact-sheet-header button{background:var(--bg-alt);width:32px;height:32px;color:var(--ink);border:none;border-radius:50%;place-items:center;display:grid}.contact-sheet-body{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.contact-map{border:none;border-radius:16px;width:100%}.contact-map-square{aspect-ratio:1}.contact-sheet-actions{align-self:center;align-items:center;gap:14px;display:flex}.contact-sheet-actions button,.contact-sheet-actions a{background:var(--yellow);width:46px;height:46px;color:var(--yellow-ink);border:none;border-radius:50%;place-items:center;display:grid}.contact-form-intro{margin-bottom:4px;font-size:.98rem;font-weight:700}.contact-form-detail{color:var(--text-muted);margin-bottom:20px;font-size:.9rem}.cv-checkbox-group{flex-direction:column;gap:10px;display:flex}.contact-form label.cv-checkbox{text-transform:none;letter-spacing:normal;color:var(--text);background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;flex-direction:row;align-items:center;gap:10px;padding:12px 14px;font-size:.95rem;font-weight:400}.cv-checkbox input{width:18px;height:18px;accent-color:var(--yellow);flex-shrink:0}.contact-form{flex-direction:column;gap:14px;display:flex}.contact-form label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700;display:flex}.contact-form input,.contact-form textarea,.contact-form select{text-transform:none;letter-spacing:normal;color:var(--text);background:var(--bg-alt);border:1px solid var(--border);resize:none;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:.95rem;font-weight:400}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--yellow);outline:none}.contact-form-submit{background:var(--ink);color:#fff;border:none;border-radius:999px;margin-top:6px;padding:13px 20px;font-size:.95rem;font-weight:700}.contact-form-submit:disabled{opacity:.6}.contact-form-error{color:var(--coral);margin-top:-4px;font-size:.85rem}.contact-form-success{padding:12px 0 8px;font-size:1rem;font-weight:600}.colloquia-banner{text-align:center;border-radius:var(--radius);background:#0c0c0e;border:1px solid #ffffff14;flex-direction:column;align-items:center;gap:6px;padding:44px 32px;display:flex;position:relative;overflow:hidden}.colloquia-banner:before{content:"";filter:blur(60px);pointer-events:none;background-color:#0000;background-image:radial-gradient(closest-side,#f5d94952,#0000),radial-gradient(closest-side,#ff7a5942,#0000 70%),radial-gradient(closest-side,#4f8ef738,#0000 70%);background-position:15% 20%,85% 30%,50% 90%;background-repeat:no-repeat;background-size:45% 45%,40% 40%,50% 50%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;animation:18s ease-in-out infinite colloquia-flow;position:absolute;inset:-40%}@keyframes colloquia-flow{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translate(3%,-4%)rotate(8deg)}}@media (prefers-reduced-motion:reduce){.colloquia-banner:before{animation:none}}.colloquia-banner>*{z-index:1;position:relative}.colloquia-banner .section-title{text-transform:none;letter-spacing:-.01em;color:#fff;align-self:center;margin-bottom:22px;font-size:1.55rem}.colloquia-banner .section-title:after{width:42px;height:4px;bottom:-12px;left:50%;transform:translate(-50%)}.colloquia-banner .section-lead{text-align:center;color:#ffffffb8;max-width:560px;margin:0 0 26px;font-size:1rem}.colloquia-banner-cta{color:#0c0c0e;background:#fff;border:none;border-radius:999px;align-items:center;gap:9px;padding:14px 26px;font-family:inherit;font-size:.98rem;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.colloquia-banner-cta:hover{background:#fff;transform:translateY(-1px);box-shadow:0 8px 22px #ffffff2e}body.chat-locked{height:100dvh;overflow:hidden}.site-header.chat-mode,.cv-header.chat-mode{display:none}.chat-topbar.is-active{z-index:70;border-bottom:1px solid var(--border);background:#fff;display:flex;position:fixed;top:0;left:0;right:0}.chat-page{z-index:60;background:var(--bg-alt);display:flex;position:fixed;inset:57px 0 0;overflow:hidden}.chat-page .container{min-height:0;padding-top:24px;padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.chat-page .chat-empty-state .section-title{margin-bottom:0;font-size:1.55rem}.chat-page .chat-empty-state .section-title:after{bottom:-12px}.chat-page .chat-empty-state .section-lead{max-width:480px;margin:10px 0 0;font-size:1.05rem;line-height:1.6}.chat-window{flex-direction:column;flex:1;width:100%;max-width:640px;min-height:0;margin:0 auto;display:flex}.chat-messages{flex-direction:column;flex:1;gap:20px;min-height:0;padding:4px 0 24px;display:flex;overflow-y:auto}.chat-empty-state{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:12px 8px;display:flex}.chat-empty-state .section-title{text-transform:none;letter-spacing:0;align-self:center}.chat-empty-state .section-title:after{left:50%;transform:translate(-50%)}.chat-empty-state .section-lead{text-align:center;max-width:100%}.chat-row{align-items:flex-start;gap:10px;display:flex}.chat-row-user{justify-content:flex-end}.chat-avatar{background:var(--yellow);width:28px;height:28px;color:var(--yellow-ink);border-radius:50%;flex-shrink:0;place-items:center;margin-top:2px;font-family:Space Grotesk,sans-serif;font-size:.62rem;font-weight:800;display:grid}.chat-bubble{white-space:pre-wrap;max-width:78%;font-size:.94rem;line-height:1.55}.chat-row-user .chat-bubble{background:var(--ink);color:#fff;border-radius:18px 18px 4px;padding:10px 15px}.chat-row-assistant .chat-bubble{color:var(--text);padding:2px 0}.chat-bubble-typing{align-items:center;gap:4px;padding:6px 0;display:flex}.chat-bubble-typing span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite chat-typing-bounce}.chat-bubble-typing span:nth-child(2){animation-delay:.15s}.chat-bubble-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-input-row{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 18px;display:flex;box-shadow:0 4px 18px #0000000f}.chat-input-row input{color:var(--text);background:0 0;border:none;flex:1;padding:8px 0;font-family:inherit;font-size:.92rem}.chat-input-row input:focus{outline:none}.chat-input-row button{background:var(--ink);color:#fff;border:none;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.chat-input-row button:disabled{opacity:.4}.chat-limit-cta{padding:10px 2px 0}.chat-limit-note{color:var(--text-muted);margin:0 0 10px;font-size:.8rem}.chat-limit-btn{border:1px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-size:13.5px;font-weight:700;transition:transform .15s,background .15s;display:inline-flex}.chat-limit-btn:hover{transform:translateY(-1px)}.chat-limit-btn-solid{background:var(--ink);color:#fff}.chat-limit-btn-solid:hover{background:#000}.chat-limit-btn-full{width:100%}@media (width<=760px){.nav{display:none}.hobby-orbit{--orbit-size:clamp(360px, 108vw, 440px);width:100vw;max-width:none;height:clamp(246px,60vw,288px);margin-bottom:-40px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.cv-header-grid{flex-direction:column;gap:20px}.cv-name-row{width:100%;position:relative}.header-actions .lang-switch{display:none}.header-actions{margin-right:-10px}.progetti-title{margin-top:0}.section-title-center{text-align:left;display:inline-block}.section-title-center:after{left:0;transform:none}.profile-blocks{gap:36px}.profile-block,.profile-block-flip{grid-template-columns:1fr;gap:20px}.profile-block-media{display:none}.footer-main{grid-template-columns:1fr;gap:0}.footer-col-hobby{justify-self:stretch}.hobby-title{margin-top:var(--block-gap)}.cv-lang-switch{right:var(--gutter);display:flex;position:absolute;bottom:6px}.cv-contacts{display:none}.contact-fab{display:flex}.cv-two-col{display:grid}.two-col-cv{grid-template-columns:1fr;gap:0}.skills-grid{grid-template-columns:1fr;gap:40px}.skills-group h3{text-align:left}#formazione-esperienza{padding-top:20px}.subpage-heading{display:none}.site-footer{padding-bottom:calc(26px + 68px + env(safe-area-inset-bottom))}.colloquia-banner-section{display:none}.chat-page .chat-empty-state .section-lead{max-width:320px}.bottom-nav{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:#fffffff0;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--text-muted);background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 2px;transition:color .15s,background .15s;display:flex}.bottom-nav-item span{letter-spacing:.01em;font-size:.66rem;font-weight:600}.bottom-nav-item.is-active{color:var(--coral);background:var(--coral-soft)}.mobile-page{display:none}.mobile-page.is-active-page{display:block}.mobile-subpage{display:none}.mobile-subpage.is-active-subpage{display:block}.mobile-switch{display:flex}.mobile-switch button{flex:1;padding:10px 12px}}
