.timeline{margin:2em auto;max-width:1170px;padding:2em 0;position:relative;width:95%;}@media only screen and (min-width: 1170px){.timeline{margin:3em auto;width:90%}}.timeline::before{content:"";border-radius:4px;height:100%;position:absolute;top:0;width:4px;background:linear-gradient(180deg, rgba(0,0,0,0) 0, #38bdf8 40px, #818cf8 50%, #38bdf8 calc(100% - 40px), rgba(0,0,0,0));box-shadow:0 0 12px rgba(56,189,248,.3);left:18px}@media only screen and (min-width: 1170px){.timeline::before{left:50%;margin-left:-2px}}.timeline-element{position:relative;margin:2em 0}@media only screen and (min-width: 1170px){.timeline-element{margin:4em 0}}.timeline-element::after{clear:both;content:"";display:table}.timeline-element-icon{border-radius:50%;height:40px;left:0;position:absolute;top:0;width:40px;border:2px solid rgba(56,189,248,.25);box-shadow:0 0 16px rgba(56,189,248,.2),0 4px 12px rgba(0,0,0,.4);transition:box-shadow .3s ease,border-color .3s ease,transform .3s ease}.timeline-element-icon:hover{border-color:rgba(56,189,248,.6);box-shadow:0 0 24px rgba(56,189,248,.4),0 4px 16px rgba(0,0,0,.5);transform:scale(1.08)}@media only screen and (min-width: 1170px){.timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.timeline-element-icon svg{fill:currentColor;display:block;width:22px;height:22px;left:50%;margin-left:-11px;margin-top:-11px;position:relative;top:50%}@media only screen and (min-width: 1170px){.timeline-element-icon svg{width:26px;height:26px;margin-left:-13px;margin-top:-13px}}.timeline-element-content{background:var(--timeline-card-bg, #fff);color:var(--timeline-card-text, rgba(0,0,0,.85));border-radius:12px;margin-left:60px;padding:1em 1.2em;position:relative;box-shadow:0 4px 24px rgba(0,0,0,.15);border:1px solid var(--timeline-card-border, rgba(0,0,0,.06));transition:transform .3s ease,box-shadow .3s ease,background .3s ease;}@media (max-width: 599px){.timeline-element-content{margin-left:52px;padding:.8em 1em}}.timeline-element-content:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.2)}.timeline-element-content::before{content:"";position:absolute;left:-8px;top:14px;width:14px;height:14px;background:var(--timeline-arrow-bg, #fff);border-left:1px solid var(--timeline-card-border, rgba(0,0,0,.06));border-bottom:1px solid var(--timeline-card-border, rgba(0,0,0,.06));transform:rotate(45deg)}.timeline-element-content::after{clear:both;content:"";display:table}@media only screen and (min-width: 1170px){.timeline-element-content{margin-left:0;padding:1.5em;width:44%}.timeline-element-content::before{left:auto;right:-8px;border-left:none;border-right:1px solid rgba(0,0,0,.06);border-top:1px solid rgba(0,0,0,.06);border-bottom:none}}.timeline-element-content h4{font-size:1.4rem;font-weight:500;line-height:1.334;margin:0;color:#111}.timeline-element-content h5{font-size:1rem;font-weight:500;line-height:1.6;margin:4px 0 0;color:var(--timeline-h5-color, #38bdf8)}.timeline-element-content h5 a{color:inherit}.timeline-element-content h5 a:hover{color:#818cf8}.timeline-element-content p{font-size:.95rem;font-weight:400;line-height:1.7;margin:.75em 0 0;color:rgba(0,0,0,.75)}@media only screen and (min-width: 1170px){.timeline-element:nth-child(2n) .timeline-element-content{float:right}.timeline-element:nth-child(2n) .timeline-element-content::before{right:auto;left:-8px;border-right:none;border-left:1px solid rgba(0,0,0,.06);border-top:none;border-bottom:1px solid rgba(0,0,0,.06)}}.timeline-element-date{font-size:.8rem;font-weight:600;display:inline-block;float:left;padding:.8em 0;color:rgba(56,189,248,.8);letter-spacing:.03em}@media only screen and (min-width: 1170px){.timeline-element-date{font-size:.9rem;left:124%;position:absolute;top:6px;width:100%;color:rgba(232,232,244,.6)}}@media only screen and (min-width: 1170px){.timeline-element:nth-child(2n) .timeline-element-date{left:auto;right:124%;text-align:right}}.tooltip{pointer-events:none;user-select:none;opacity:0;transform:translateX(-50%);transition:opacity .2s ease;position:absolute;z-index:1;inline-size:max-content;max-inline-size:25ch;text-align:center;font-size:.725rem;font-weight:normal;line-height:normal;line-height:initial;padding:.75ch 1.5ch;inset-inline-start:50%;inset-block-start:calc(100% + 1ch);margin:0;border-radius:5px;background:rgba(97,97,97,.9);color:#fff;box-shadow:0 4px 24px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.3)}.tooltip::before{content:"; Has tooltip: ";height:20px;width:30px;overflow:hidden;padding:0;position:absolute;top:-20px;left:calc(50% - 15px);right:calc(50% + 15px);bottom:0;opacity:0}.has-tooltip{position:relative}.has-tooltip:is(:hover,:focus-visible,:active)>.tooltip,.has-tooltip>a:is(:hover,:focus-visible,:active)+.tooltip{opacity:1;transition-delay:200ms;pointer-events:unset;user-select:unset}.resume-btn{position:relative;background:linear-gradient(270deg, rgba(56,189,248,.12), rgba(129,140,248,.12), rgba(167,139,250,.12), rgba(56,189,248,.12));background-size:300% 300%;border:1px solid rgba(0,0,0,0);background-clip:padding-box;animation:gradientShift 5s ease infinite;overflow:hidden;color:#c4b5fd;font-weight:600}.resume-btn::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(270deg, #38bdf8, #818cf8, #a78bfa, #38bdf8);background-size:300% 300%;animation:gradientShift 5s ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.resume-btn:hover{background:linear-gradient(270deg, rgba(56,189,248,.22), rgba(129,140,248,.22), rgba(167,139,250,.22), rgba(56,189,248,.22));background-size:300% 300%;animation:gradientShift 5s ease infinite;box-shadow:0 0 24px rgba(56,189,248,.3),0 0 48px rgba(129,140,248,.15);transform:translateY(-2px);opacity:1}.splash{min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding:80px 20px 20px;position:relative;}.splash .profile-picture{width:clamp(110px,20vw,156px);height:clamp(110px,20vw,156px);border-radius:50%;border:3px solid rgba(0,0,0,0);background:linear-gradient(var(--profile-inner-bg), var(--profile-inner-bg)) padding-box,linear-gradient(135deg, #38bdf8, #818cf8) border-box;box-shadow:0 0 40px rgba(56,189,248,.25),0 8px 32px rgba(0,0,0,.3);transition:box-shadow .3s ease,background .3s ease}.splash .profile-picture:hover{box-shadow:0 0 60px rgba(56,189,248,.4),0 8px 32px rgba(0,0,0,.3)}.splash h1{font-family:"Nunito","Roboto","Helvetica","Arial",sans-serif;font-size:clamp(2.4rem,8vw,4rem);font-weight:300;margin-top:24px;margin-bottom:8px;background:linear-gradient(135deg, #38bdf8, #818cf8);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.splash h2{font-size:clamp(1rem,3vw,1.3rem);font-weight:400;color:var(--splash-subtitle);letter-spacing:.05em;margin:0;padding:0 16px}.splash a.below-arrow-link{position:absolute;bottom:16px;display:inline-flex;opacity:.85;transition:opacity .2s ease,transform .2s ease}.splash a.below-arrow-link:hover{opacity:1;transform:translateY(4px)}.splash a.below-arrow-link img{width:clamp(56px,10vw,80px);height:clamp(56px,10vw,80px)}.section{background:var(--section-bg);color:var(--section-text);padding-top:32px;padding-bottom:40px;box-shadow:0 4px 24px rgba(0,0,0,.1);border-top:1px solid var(--navbar-border);transition:background .3s ease,color .3s ease}.section h3{margin:16px 0 24px;text-align:center;font-size:clamp(1.1rem,3vw,1.4rem);font-weight:600;letter-spacing:.04em;color:var(--section-h3);position:relative}.section h3::after{content:"";display:block;width:48px;height:3px;background:linear-gradient(135deg, #38bdf8, #818cf8);margin:10px auto 0;border-radius:2px}.section-title{padding:clamp(40px,8vw,80px) 16px;color:var(--section-title-text);display:flex;align-items:center;flex-direction:column;text-align:center}.section-title h2{margin:0;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:300;letter-spacing:.04em;background:linear-gradient(135deg, #38bdf8, #818cf8);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.section-title h2::after{content:"";display:block;width:64px;height:3px;background:linear-gradient(135deg, #38bdf8, #818cf8);margin:14px auto 0;border-radius:2px}#about-me{font-weight:300;padding:1rem 0;font-size:clamp(1rem,2.5vw,1.3rem);line-height:1.8}.card{width:100%;display:flex;flex-direction:column;margin:8px;border-radius:16px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 24px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.06)}.card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 30px rgba(56,189,248,.1);border-color:rgba(56,189,248,.2)}.card .card-content{padding:24px 20px 16px;flex-grow:1}.card .card-actions{display:flex;padding:12px 16px;align-items:center;background:rgba(0,0,0,.2);border-top:1px solid rgba(255,255,255,.05)}.card .card-actions a{color:inherit;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.07)}.card .card-actions a:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);box-shadow:none}.top-projects{display:flex;flex-flow:row wrap;justify-content:center;align-content:center;gap:4px}.top-projects .card{width:clamp(260px,45%,340px)}@media (max-width: 599px){.top-projects .card{width:100%;margin:6px 0}}.top-projects .card img{width:72px;height:72px;margin:0 auto 12px auto;display:block;border-radius:12px}.top-projects .card h4{font-size:1.1rem;font-weight:600;line-height:1.5;margin:0 0 6px}.top-projects .card p{font-size:.875rem;opacity:.85}.skills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:8px 0}.skill{width:calc(33.33% - 8px);box-sizing:border-box;padding:16px 8px 12px;display:flex;flex-direction:column;align-items:center;border-radius:12px;background:var(--skill-card-bg);border:1px solid var(--skill-card-border);transition:all .3s ease;cursor:default}@media (max-width: 599px){.skill{width:calc(50% - 8px)}}@media (max-width: 360px){.skill{width:100%}}.skill:hover{background:rgba(56,189,248,.1);border-color:rgba(56,189,248,.3);transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.15),0 0 0 1px rgba(56,189,248,.1)}.skill .skill-icon{display:flex;align-items:center;margin:auto;width:clamp(40px,8vw,52px);height:clamp(40px,8vw,52px);object-fit:contain}.skill .skill-name{text-align:center;font-weight:600;font-size:clamp(.7rem,2vw,.8rem);margin-top:8px;color:var(--skill-name-color);letter-spacing:.5px}.timeline-element-content{background:var(--timeline-card-bg) !important;color:var(--timeline-card-text);border:1px solid var(--timeline-card-border);border-radius:12px;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.timeline-element-content::before{background:var(--timeline-arrow-bg) !important;border-color:var(--timeline-card-border) !important}.timeline-element-content h4{color:var(--timeline-card-text)}.timeline-element-content h5 a{color:var(--timeline-h5-color)}.timeline-element-content p{color:var(--timeline-card-text);opacity:.8}.timeline-element-content:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.25)}