:root{--ink:#1a1a1a;--ink-light:#374151;--ink-muted:#6b7280;--paper:#fafafa;--paper-dark:#f1f5f9;--paper-darker:#e2e8f0;--electric:#06f;--electric-light:#3b82f6;--electric-dark:#0052cc;--electric-bg:#0066ff14;--font-display:var(--font-syne),"Syne",system-ui,sans-serif;--font-body:var(--font-outfit),"Outfit",system-ui,sans-serif;--container-max:1200px;--section-padding:5rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 32px #0000001f}.resume-template{background-color:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;position:relative}.resume-template:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#0066ff05 1px,#0000 1px),linear-gradient(90deg,#0066ff05 1px,#0000 1px);background-size:40px 40px;width:100%;height:100%;position:fixed;top:0;left:0}.section-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em;color:var(--electric);align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:flex}.section-label:before{content:"";background:var(--electric);width:24px;height:2px}.section-title{font-family:var(--font-display);color:var(--ink);margin-bottom:2rem;font-size:2rem;font-weight:700;line-height:1.2}@media (min-width:768px){.section-title{font-size:2.5rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes lineExpand{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fade-in-up{opacity:0;animation:.6s ease-out forwards fadeInUp}.slide-in-left{opacity:0;animation:.6s ease-out forwards slideInLeft}.scale-in{opacity:0;animation:.5s ease-out forwards scaleIn}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.swiss-card{border:1px solid var(--paper-darker);background:#fff;border-radius:2px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.swiss-card:before{content:"";background:var(--electric);width:3px;transition:transform .3s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.swiss-card:hover{border-color:var(--electric);box-shadow:var(--shadow-md)}.swiss-card:hover:before{transform:scaleY(1)}.timeline{padding-left:2rem;position:relative}.timeline:before{content:"";background:linear-gradient(180deg,var(--electric),var(--paper-darker));width:2px;position:absolute;top:0;bottom:0;left:0}.timeline-item{padding-bottom:2rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--paper);border:3px solid var(--electric);border-radius:50%;width:12px;height:12px;position:absolute;top:.25rem;left:-2rem;transform:translate(-5px)}.timeline-dot.current{background:var(--electric);box-shadow:0 0 0 4px var(--electric-bg)}.skill-block{background:var(--paper-dark);border:1px solid var(--paper-darker);color:var(--ink-light);border-radius:2px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.skill-block:hover{background:var(--electric-bg);border-color:var(--electric);color:var(--electric-dark)}.cta-button{background:var(--ink);color:#fff;font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;border:none;border-radius:2px;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.875rem;font-weight:600;transition:all .3s;display:inline-flex}.cta-button:hover{background:var(--electric);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cta-button-outline{color:var(--ink);border:2px solid var(--ink);background:0 0}.cta-button-outline:hover{background:var(--ink);color:#fff}.geometric-accent{pointer-events:none;position:absolute}.geometric-square{border:2px solid var(--electric);opacity:.3;width:40px;height:40px}.geometric-line{background:var(--electric);width:100px;height:2px}@media (max-width:768px){:root{--section-padding:3rem}.section-title{font-size:1.75rem}.timeline{padding-left:1.5rem}}
