@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;800&display=swap";:root,:root[data-theme=light]{color-scheme:light;--color-bg-canvas: #ffffff;--color-bg-section: #f9fafb;--color-surface-1: #ffffff;--color-surface-2: #fdf2f8;--color-surface-3: #fce7f3;--color-surface-glass: rgba(255, 255, 255, .86);--color-text-primary: #111827;--color-text-secondary: #4b5563;--color-text-muted: #636b78;--color-text-disabled: #9ca3af;--color-border-subtle: #fce7f3;--color-border-default: #e5e7eb;--color-border-strong: #be185d;--color-brand: #be185d;--color-brand-hover: #9d174d;--color-brand-active: #831843;--color-brand-display: #db2777;--color-brand-solid: #db2777;--color-brand-solid-hover: #be185d;--color-brand-solid-active: #9d174d;--color-on-brand: #ffffff;--color-brand-soft: #fdf2f8;--color-brand-soft-hover: #fce7f3;--color-brand-soft-selected: #fbcfe8;--color-brand-border: #f9a8d4;--color-info: #2563eb;--color-info-soft: #dbeafe;--color-success: #047857;--color-warning: #b45309;--color-danger: #be123c;--color-focus: #be185d;--focus-ring: 0 0 0 4px rgba(190, 24, 93, .2);--gradient-brand: linear-gradient(135deg, #db2777 0%, #2563eb 100%);--gradient-surface: linear-gradient(145deg, #ffffff 0%, #fdf2f8 100%);--gradient-glow: radial-gradient(circle, rgba(236, 72, 153, .12) 0%, rgba(236, 72, 153, 0) 68%);--shadow-card: 0 1px 2px rgba(17, 24, 39, .05), 0 10px 30px rgba(17, 24, 39, .08);--shadow-card-hover: 0 18px 44px rgba(17, 24, 39, .14), 0 0 0 1px rgba(219, 39, 119, .08);--shadow-brand: 0 12px 30px rgba(219, 39, 119, .24);--shadow-nav: 0 1px 0 rgba(17, 24, 39, .05);--font-main: "Outfit", sans-serif}:root[data-theme=dark]{color-scheme:dark;--color-bg-canvas: #0d0a0f;--color-bg-section: #110d14;--color-surface-1: #17121b;--color-surface-2: #201824;--color-surface-3: #2a2030;--color-surface-glass: rgba(23, 18, 27, .84);--color-text-primary: #fff7fb;--color-text-secondary: #d5c5cf;--color-text-muted: #aa98a3;--color-text-disabled: #746872;--color-border-subtle: #34283a;--color-border-default: #4a3850;--color-border-strong: #7f6085;--color-brand: #f472b6;--color-brand-hover: #f9a8d4;--color-brand-active: #ec4899;--color-brand-display: #f472b6;--color-brand-solid: #db2777;--color-brand-solid-hover: #be185d;--color-brand-solid-active: #9d174d;--color-on-brand: #ffffff;--color-brand-soft: rgba(236, 72, 153, .1);--color-brand-soft-hover: rgba(236, 72, 153, .16);--color-brand-soft-selected: rgba(236, 72, 153, .22);--color-brand-border: rgba(244, 114, 182, .38);--color-info: #60a5fa;--color-info-soft: rgba(96, 165, 250, .12);--color-success: #34d399;--color-warning: #fbbf24;--color-danger: #fb7185;--color-focus: #f9a8d4;--focus-ring: 0 0 0 4px rgba(249, 168, 212, .35);--gradient-brand: linear-gradient(135deg, #f472b6 0%, #60a5fa 100%);--gradient-surface: linear-gradient(145deg, #201824 0%, #17121b 100%);--gradient-glow: radial-gradient(circle closest-side at 45% 47%, rgba(236, 72, 153, .16) 0%, rgba(236, 72, 153, 0) 100%), radial-gradient(circle closest-side at 58% 54%, rgba(96, 165, 250, .08) 0%, rgba(96, 165, 250, 0) 100%);--shadow-card: 0 1px 2px rgba(0, 0, 0, .28), 0 10px 30px rgba(0, 0, 0, .22);--shadow-card-hover: 0 18px 44px rgba(0, 0, 0, .38), 0 0 0 1px rgba(244, 114, 182, .12);--shadow-brand: 0 12px 30px rgba(219, 39, 119, .28);--shadow-nav: 0 1px 0 rgba(255, 247, 251, .04)}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--color-bg-canvas);scroll-behavior:smooth;transition:background-color .2s ease}body{min-width:320px;color:var(--color-text-primary);font-family:var(--font-main);overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:color .2s ease}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease}button{color:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;box-shadow:var(--focus-ring)}ul{list-style:none}::selection{background:var(--color-brand-soft-selected);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-canvas)}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-brand)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.section-padding{padding:6rem 0}main>section:nth-of-type(2n){background:var(--color-bg-section)}.section-title{color:var(--color-text-primary)}.hero-name{color:var(--color-brand-display)}.portfolio-nav{position:fixed;top:0;left:0;z-index:100;width:100%;padding:1.25rem 0;background:var(--color-surface-glass);border-bottom:1px solid var(--color-border-subtle);box-shadow:var(--shadow-nav);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.portfolio-nav-container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.portfolio-logo{flex:0 0 auto;font-size:1.5rem;font-weight:800;background:var(--gradient-brand);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.portfolio-nav-actions,.portfolio-nav-links{display:flex;align-items:center}.portfolio-nav-actions{gap:1.5rem}.portfolio-nav-links{gap:2rem;font-weight:600;color:var(--color-text-secondary)}.portfolio-nav-links a:hover{color:var(--color-brand)}.theme-toggle{display:inline-grid;flex:0 0 auto;width:2.75rem;height:2.75rem;padding:0;place-items:center;color:var(--color-text-primary);background:var(--color-brand-soft);border:1px solid var(--color-brand-border);border-radius:999px;cursor:pointer;transition:transform .2s ease,color .2s ease,background-color .2s ease,border-color .2s ease}.theme-toggle:hover{color:var(--color-brand-hover);background:var(--color-brand-soft-hover);border-color:var(--color-brand);transform:translateY(-2px)}.theme-toggle svg{width:1.15rem;height:1.15rem}.site-footer{padding:2rem 0;margin-top:4rem;color:var(--color-text-muted);text-align:center;background:var(--color-bg-section);border-top:1px solid var(--color-border-subtle)}.cookie-banner{position:fixed;right:0;bottom:0;left:0;z-index:1000;padding:1.5rem 2rem;background:var(--color-surface-glass);border-top:1px solid var(--color-brand-border);box-shadow:0 -8px 30px #0000002e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:slide-up .5s ease-out}.cookie-banner-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;gap:2rem}.cookie-banner-text{flex:1;min-width:250px;color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.cookie-banner-button{padding:.75rem 2rem;color:var(--color-on-brand);font-size:1rem;font-weight:600;white-space:nowrap;background:var(--color-brand-solid);border:1px solid var(--color-brand-solid);border-radius:999px;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.cookie-banner-button:hover{background:var(--color-brand-solid-hover);border-color:var(--color-brand-solid-hover);box-shadow:var(--shadow-brand);transform:translateY(-2px)}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.experience-timeline{display:grid;grid-template-columns:1fr;gap:4rem}@media(min-width:768px){.experience-timeline{grid-template-columns:1fr 1fr}}.percorso{display:flex;flex-direction:column;gap:3rem;list-style:none}.percorso-tappa{position:relative;display:grid;grid-template-columns:3.5rem 1fr;column-gap:1.5rem}.percorso-linea{position:absolute;top:1.75rem;left:1.75rem;width:1px;height:calc(100% + 3rem);background:color-mix(in srgb,var(--color-brand) 20%,transparent);transform:translate(-50%)}.percorso-riempimento{display:block;width:100%;height:100%;background:var(--color-brand-solid);transform-origin:top}.percorso-nodo{--spento-fondo: var(--color-bg-section);--spento-bordo: color-mix(in srgb, var(--color-brand) 35%, transparent);--spento-testo: color-mix(in srgb, var(--color-brand) 70%, transparent);position:relative;display:flex;width:3.5rem;height:3.5rem;align-items:center;justify-content:center;color:var(--color-on-brand);font-size:1.5rem;font-weight:600;font-variant-numeric:lining-nums;line-height:1;background:var(--color-brand-solid);border:1px solid var(--color-brand-solid);border-radius:50%}.percorso-testo{padding-top:1rem}@keyframes percorso-nodo{0%{color:var(--spento-testo);background-color:var(--spento-fondo);border-color:var(--spento-bordo)}}@keyframes percorso-testo{0%{opacity:.25;transform:translateY(24px)}}@keyframes percorso-riempi{0%{transform:scaleY(0)}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.percorso{--percorso-linea: 55vh}.percorso-nodo,.percorso-testo,.percorso-riempimento{animation-fill-mode:both;animation-timing-function:linear;animation-timeline:view()}.percorso-nodo{animation-name:percorso-nodo;animation-range:cover var(--percorso-linea) contain var(--percorso-linea)}.percorso-riempimento{animation-name:percorso-riempi;animation-range:cover var(--percorso-linea) contain var(--percorso-linea)}.percorso-testo{animation-name:percorso-testo;animation-timing-function:cubic-bezier(.33,1,.68,1);animation-range:cover calc(var(--percorso-linea) - 10vh) cover var(--percorso-linea)}}}@media(max-width:680px){.container{padding:0 1.25rem}.section-padding{padding:4.5rem 0}.portfolio-nav{padding:.9rem 0}.portfolio-nav-container,.portfolio-nav-actions{gap:.8rem}.portfolio-nav-links{gap:clamp(.65rem,3.5vw,1.25rem);font-size:.9rem}.theme-toggle{width:2.5rem;height:2.5rem}.cookie-banner{padding:1rem}.cookie-banner-content{flex-direction:column;align-items:stretch;gap:.75rem}.cookie-banner-text{min-width:0;font-size:.85rem;line-height:1.5}.cookie-banner-button{width:100%;padding:.7rem 1.5rem;font-size:.9rem}}@media(max-width:420px){.portfolio-logo{font-size:1.3rem}.portfolio-nav-links{gap:.65rem;font-size:.82rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.theme-toggle:hover,.cookie-banner-button:hover{transform:none}}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-glow{display:none}}
