.app-container{min-height:100vh;background:#181a1b;color:#fff}:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(50, 184, 198, 1);--color-teal-400: rgba(45, 166, 178, 1);--color-teal-500: rgba(33, 128, 141, 1);--color-teal-600: rgba(29, 116, 128, 1);--color-teal-700: rgba(26, 104, 115, 1);--color-teal-800: rgba(41, 150, 161, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(192, 21, 47, 1);--color-orange-400: rgba(230, 129, 97, 1);--color-orange-500: rgba(168, 75, 47, 1);--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-slate-500-rgb: 98, 108, 113;--color-red-500-rgb: 192, 21, 47;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 168, 75, 47;--color-orange-400-rgb: 230, 129, 97;--color-bg-1: rgba(59, 130, 246, .08);--color-bg-2: rgba(245, 158, 11, .08);--color-bg-3: rgba(34, 197, 94, .08);--color-bg-4: rgba(239, 68, 68, .08);--color-bg-5: rgba(147, 51, 234, .08);--color-bg-6: rgba(249, 115, 22, .08);--color-bg-7: rgba(236, 72, 153, .08);--color-bg-8: rgba(6, 182, 212, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: 33, 128, 141;--color-error-rgb: 192, 21, 47;--color-warning-rgb: 168, 75, 47;--color-info-rgb: 98, 108, 113;--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}@media (prefers-color-scheme: dark){:root{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--button-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}[data-color-scheme=light]{--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-success-rgb: var(--color-teal-500-rgb);--color-error-rgb: var(--color-red-500-rgb);--color-warning-rgb: var(--color-orange-500-rgb);--color-info-rgb: var(--color-slate-500-rgb)}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{margin:0;padding:0}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin:0 0 var(--space-16) 0}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .95);background-color:var(--color-secondary);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--color-border)}pre code{background:none;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn--primary{background:var(--color-primary);color:var(--color-btn-primary-text)}.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:active{background:var(--color-primary-active)}.btn--secondary{background:var(--color-secondary);color:var(--color-text)}.btn--secondary:hover{background:var(--color-secondary-hover)}.btn--secondary:active{background:var(--color-secondary-active)}.btn--outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover{background:var(--color-secondary)}.btn--sm{padding:var(--space-4) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-10) var(--space-20);font-size:var(--font-size-lg);border-radius:var(--radius-md)}.btn--full-width{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.form-control{display:block;width:100%;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base)}select.form-control{padding:var(--space-8) var(--space-12);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}@media (prefers-color-scheme: dark){select.form-control{background-image:var(--select-caret-dark)}}[data-color-scheme=dark] select.form-control{background-image:var(--select-caret-dark)}[data-color-scheme=light] select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--color-primary);outline:var(--focus-outline)}.form-label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--space-16)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-standard)}.card:hover{box-shadow:var(--shadow-md)}.card__body{padding:var(--space-16)}.card__header,.card__footer{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner)}.status{display:inline-flex;align-items:center;padding:var(--space-6) var(--space-12);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.status--success{background-color:rgba(var(--color-success-rgb, 33, 128, 141),var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb, 33, 128, 141),var(--status-border-opacity))}.status--error{background-color:rgba(var(--color-error-rgb, 192, 21, 47),var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb, 192, 21, 47),var(--status-border-opacity))}.status--warning{background-color:rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-border-opacity))}.status--info{background-color:rgba(var(--color-info-rgb, 98, 108, 113),var(--status-bg-opacity));color:var(--color-info);border:1px solid rgba(var(--color-info-rgb, 98, 108, 113),var(--status-border-opacity))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16)}@media (min-width: 640px){.container{max-width:var(--container-sm)}}@media (min-width: 768px){.container{max-width:var(--container-md)}}@media (min-width: 1024px){.container{max-width:var(--container-lg)}}@media (min-width: 1280px){.container{max-width:var(--container-xl)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0{margin:0}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.block{display:block}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:var(--focus-outline);outline-offset:2px}[data-color-scheme=dark] .btn--outline{border:1px solid var(--color-border-secondary)}@font-face{font-family:FKGroteskNeue;src:url(https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2) format("woff2")}html{scroll-behavior:smooth}body{overflow-x:hidden;transition:all .3s ease-in-out}.container{max-width:1200px}:root{--mode-primary: var(--color-teal-500);--mode-primary-hover: var(--color-teal-600);--mode-primary-active: var(--color-teal-700);--mode-background: var(--color-bg-1);--mode-card-accent: var(--color-teal-500)}[data-mode=av]{--mode-primary: #7c3aed;--mode-primary-hover: #6d28d9;--mode-primary-active: #5b21b6;--mode-background: var(--color-bg-5);--mode-card-accent: #a855f7}.mode-toggle{display:flex;align-items:center;margin:0 var(--space-16)}.mode-toggle__container{display:flex;align-items:center;gap:var(--space-12);background:rgba(var(--color-gray-400-rgb, 119, 124, 124),.1);padding:var(--space-8) var(--space-16);border-radius:var(--radius-full);border:1px solid var(--color-border)}.mode-toggle__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:color .3s ease;white-space:nowrap}.mode-toggle__label--is.active{color:var(--color-teal-500)}.mode-toggle__label--av.active{color:#7c3aed}.mode-toggle__switch{position:relative;display:inline-block;width:50px;height:24px}.mode-toggle__input{opacity:0;width:0;height:0}.mode-toggle__slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-teal-500);transition:.3s ease-in-out;border-radius:var(--radius-full)}.mode-toggle__slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s ease-in-out;border-radius:50%;box-shadow:0 2px 4px #0003}.mode-toggle__input:checked+.mode-toggle__slider{background-color:#7c3aed}.mode-toggle__input:checked+.mode-toggle__slider:before{transform:translate(26px)}.skill-card-av,.timeline-item-av,.portfolio-content-av,.section-av,.hero-text-av,.about-text-av,.section-title-av,.contact-text-av,.nav-text-av,.nav-youtube{display:none!important}.skill-card-is,.timeline-item-is,.projects-content-is,.hero-text-is,.about-text-is,.section-title-is,.contact-text-is,.nav-text-is,[data-mode=av] .skill-card-av,[data-mode=av] .timeline-item-av,[data-mode=av] .portfolio-content-av,[data-mode=av] .section-av,[data-mode=av] .hero-text-av,[data-mode=av] .about-text-av,[data-mode=av] .section-title-av,[data-mode=av] .contact-text-av,[data-mode=av] .nav-text-av,[data-mode=av] .nav-youtube{display:block!important}[data-mode=av] .skill-card-is,[data-mode=av] .timeline-item-is,[data-mode=av] .projects-content-is,[data-mode=av] .hero-text-is,[data-mode=av] .about-text-is,[data-mode=av] .section-title-is,[data-mode=av] .contact-text-is,[data-mode=av] .nav-text-is{display:none!important}[data-mode=av] .hero-text-av,[data-mode=av] .contact-text-av,[data-mode=av] .nav-text-av,[data-mode=av] .section-title-av,.hero-text-is,.contact-text-is,.nav-text-is,.section-title-is{display:inline!important}.hero-text-av,.contact-text-av,.nav-text-av,.section-title-av{display:none!important}.header{position:fixed;top:0;left:0;right:0;background:#1f2121f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);z-index:1000;transition:all var(--duration-normal) var(--ease-standard)}.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-16) var(--space-24);max-width:1200px;margin:0 auto}.nav__brand a{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--mode-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}.nav__brand a:hover{color:var(--mode-primary-hover)}.nav__menu{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-20)}.nav__link{color:var(--color-text);text-decoration:none;font-weight:var(--font-weight-medium);padding:var(--space-8) var(--space-12);border-radius:var(--radius-base);transition:all var(--duration-fast) var(--ease-standard);position:relative;cursor:pointer}.nav__link:hover,.nav__link.active{color:var(--mode-primary);background:var(--color-secondary)}.nav__toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:var(--space-8);gap:3px}.nav__toggle span{width:24px;height:2px;background:var(--color-text);transition:all var(--duration-fast) var(--ease-standard);border-radius:2px}.main-content{transition:all .3s ease-in-out}.section{padding:80px 0;position:relative;transition:all .3s ease-in-out}.section__title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);text-align:center;margin-bottom:60px;color:var(--color-text);position:relative}.section__title:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:60px;height:3px;background:var(--mode-primary);border-radius:var(--radius-full);transition:background-color .3s ease-in-out}.hero{min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,var(--color-background) 0%,var(--color-charcoal-800) 100%);position:relative;overflow:hidden;padding-top:80px}.hero:before{content:"";position:absolute;inset:0;background:var(--mode-background);opacity:.1;z-index:1;transition:background-color .3s ease-in-out}.hero__content{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:var(--space-32);align-items:center;animation:fadeInUp 1s ease-out}.hero__image{width:200px;height:200px;border-radius:45%;overflow:hidden;box-shadow:var(--shadow-lg);border:3px solid var(--mode-primary);transition:border-color .3s ease-in-out}.hero__photo{width:100%;height:100%;object-fit:cover;object-position:center}.hero__text{animation:fadeInUp 1s ease-out}.hero__intro{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--space-16);animation:fadeInUp 1s ease-out .2s both}.hero__title{font-size:clamp(2.5rem,8vw,5rem);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-16);line-height:1.1;animation:fadeInUp 1s ease-out .4s both}.hero__subtitle{font-size:var(--font-size-3xl);color:var(--mode-primary);margin-bottom:var(--space-12);animation:fadeInUp 1s ease-out .6s both;transition:color .3s ease-in-out}.hero__role{font-size:var(--font-size-2xl);color:var(--color-text-secondary);margin-bottom:var(--space-12);animation:fadeInUp 1s ease-out .8s both}.hero__education{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-32);animation:fadeInUp 1s ease-out 1s both}.hero__cta{display:flex;gap:var(--space-16);flex-wrap:wrap;animation:fadeInUp 1s ease-out 1.2s both}.about{background:var(--color-surface)}.about__content{max-width:800px;margin:0 auto;text-align:center}.about__text p{font-size:var(--font-size-lg);line-height:1.7;color:var(--color-text);margin-bottom:var(--space-24);transition:opacity .3s ease-in-out}.skills{background:var(--mode-background);transition:background-color .3s ease-in-out}.skills__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-32);margin-top:var(--space-32)}.skill-card{background:var(--color-surface);padding:var(--space-32);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-md);transition:all var(--duration-normal) var(--ease-standard);position:relative;overflow:hidden}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--mode-card-accent);transform:scaleX(0);transition:transform var(--duration-normal) var(--ease-standard),background-color .3s ease-in-out}.skill-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.skill-card:hover:before{transform:scaleX(1)}.skill-card h3{font-size:var(--font-size-xl);margin-bottom:var(--space-16);color:var(--color-text)}.skill-card p{color:var(--color-text-secondary);margin-bottom:var(--space-20);line-height:1.6}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--space-8)}.tag{background:var(--mode-primary);color:var(--color-btn-primary-text);padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color .3s ease-in-out}.timeline{position:relative;max-width:800px;margin:0 auto}.timeline:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:2px;background:var(--mode-primary);transition:background-color .3s ease-in-out}.timeline-item{position:relative;margin-bottom:var(--space-32);padding-left:80px;opacity:0;transform:translate(-30px);animation:slideInLeft .6s ease-out forwards;transition:opacity .3s ease-in-out}.timeline-item:nth-child(odd){animation-delay:.1s}.timeline-item:nth-child(2n){animation-delay:.2s}.timeline-item-highlight{position:relative}.timeline-item-highlight:after{content:"";position:absolute;left:-80px;top:0;bottom:0;width:4px;background:var(--mode-card-accent);border-radius:var(--radius-sm);transition:background-color .3s ease-in-out}.timeline-marker{position:absolute;left:21px;top:8px;width:20px;height:20px;background:var(--mode-primary);border:4px solid var(--color-surface);border-radius:50%;z-index:2;transition:background-color .3s ease-in-out}.timeline-content{background:var(--color-surface);padding:var(--space-24);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard)}.timeline-content:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-16);flex-wrap:wrap;gap:var(--space-8)}.timeline-header h3{font-size:var(--font-size-xl);color:var(--color-text);margin:0}.timeline-period{background:var(--mode-primary);color:var(--color-btn-primary-text);padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;transition:background-color .3s ease-in-out}.timeline-content p{color:var(--color-text);line-height:1.6;margin:0}.projects-portfolio{background:var(--color-surface)}.projects__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-32);margin-top:var(--space-32)}.project-card{background:var(--color-background);padding:var(--space-32);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard);position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--mode-primary);transform:scaleX(0);transition:transform var(--duration-normal) var(--ease-standard),background-color .3s ease-in-out}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.project-card:hover:before{transform:scaleX(1)}.project-card h3{font-size:var(--font-size-xl);margin-bottom:var(--space-16);color:var(--color-text)}.project-card p{color:var(--color-text-secondary);margin-bottom:var(--space-20);line-height:1.6}.portfolio__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-32);margin-top:var(--space-32)}.portfolio-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-md);transition:all var(--duration-normal) var(--ease-standard);overflow:hidden;position:relative}.portfolio-card--featured{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:0}.portfolio-card__image{position:relative;overflow:hidden;background:var(--color-charcoal-800)}.portfolio-card__image img{width:100%;height:300px;object-fit:cover;transition:transform var(--duration-normal) var(--ease-standard)}.portfolio-card:hover .portfolio-card__image img{transform:scale(1.05)}.portfolio-card__content{padding:var(--space-24);display:flex;flex-direction:column}.portfolio-card__content h3{font-size:var(--font-size-2xl);color:var(--color-text);margin-bottom:var(--space-8)}.portfolio-card__role{color:var(--mode-primary);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-16);transition:color .3s ease-in-out}.portfolio-card__content p{color:var(--color-text);line-height:1.6;margin-bottom:var(--space-20);flex-grow:1}.portfolio-highlights{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-bottom:var(--space-16)}.highlight{background:#7c3aed1a;color:#7c3aed;padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid rgba(124,58,237,.2)}.portfolio-period{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);align-self:flex-end}.youtube{background:var(--color-charcoal-800);color:var(--color-gray-200)}.youtube__content{max-width:800px;margin:0 auto;text-align:center}.youtube__intro p{font-size:var(--font-size-lg);color:var(--color-gray-200);margin-bottom:var(--space-32)}.youtube-card{background:var(--color-surface);padding:var(--space-32);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-lg);transition:all var(--duration-normal) var(--ease-standard);cursor:pointer}.youtube-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.youtube-card__icon{width:60px;height:60px;background:#7c3aed;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);color:#fff;margin:0 auto var(--space-16);transition:background-color .3s ease}.youtube-card:hover .youtube-card__icon{background:#6d28d9}.youtube-card h3{font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:var(--space-12)}.youtube-card p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-16)}.youtube-card__meta span{background:var(--color-warning);color:var(--color-btn-primary-text);padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.contact{background:var(--mode-background);transition:background-color .3s ease-in-out}.contact__content{text-align:center;max-width:800px;margin:0 auto}.contact__content>p{font-size:var(--font-size-lg);color:var(--color-text);margin-bottom:var(--space-32)}.contact__info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-24);margin-top:var(--space-32)}.contact-card{background:var(--color-surface);padding:var(--space-24);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard);overflow:hidden}.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.contact-card h3{font-size:var(--font-size-lg);color:var(--mode-primary);margin-bottom:var(--space-12);transition:color .3s ease-in-out}.contact-card p{color:var(--color-text);margin:0}.footer{background:var(--color-charcoal-800);padding:var(--space-24) 0;text-align:center}.footer p{color:var(--color-text-secondary);margin:0}.btn--primary{background:var(--mode-primary);transition:background-color .3s ease-in-out}.btn--primary:hover{background:var(--mode-primary-hover)}.btn--primary:active{background:var(--mode-primary-active)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.fade-in{opacity:0;transform:translateY(30px);transition:all .6s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.mode-toggle{margin:0 var(--space-8)}.mode-toggle__container{padding:var(--space-6) var(--space-12);gap:var(--space-8)}.mode-toggle__label{font-size:var(--font-size-xs)}}@media (max-width: 768px){.nav{flex-wrap:wrap;gap:var(--space-16)}.mode-toggle{order:2;width:100%;justify-content:center}.nav__menu{display:none;position:fixed;top:100%;left:0;right:0;background:#1f2121fa;flex-direction:column;padding:var(--space-24) var(--space-16);border-top:1px solid var(--color-border);gap:var(--space-16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg);z-index:999}.nav__menu.active{display:flex}.nav__toggle{display:flex;z-index:1001}.nav__toggle.active span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.nav__toggle.active span:nth-child(2){opacity:0}.nav__toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav__link{padding:var(--space-12) var(--space-16);border-radius:var(--radius-base);text-align:center;font-size:var(--font-size-lg)}.hero__content{grid-template-columns:1fr;text-align:center;gap:var(--space-24)}.hero__image{justify-self:center;width:150px;height:150px}.hero__cta{justify-content:center}.btn{padding:var(--space-12) var(--space-20);font-size:var(--font-size-base)}.timeline:before{left:20px}.timeline-item{padding-left:60px}.timeline-marker{left:11px;width:18px;height:18px}.timeline-header{flex-direction:column;align-items:flex-start}.timeline-period{align-self:flex-start}.skills__grid,.projects__grid{grid-template-columns:1fr;gap:var(--space-24)}.portfolio__grid,.portfolio-card--featured{grid-template-columns:1fr}.contact__info{grid-template-columns:1fr;gap:var(--space-16)}.section{padding:60px 0}.section__title{font-size:var(--font-size-3xl);margin-bottom:40px}}@media (max-width: 480px){.nav{padding:var(--space-12) var(--space-16)}.mode-toggle__container{padding:var(--space-4) var(--space-8);gap:var(--space-6)}.mode-toggle__switch{width:40px;height:20px}.mode-toggle__slider:before{height:14px;width:14px;left:3px;bottom:3px}.mode-toggle__input:checked+.mode-toggle__slider:before{transform:translate(20px)}.hero__title{font-size:2.5rem}.hero__subtitle{font-size:var(--font-size-2xl)}.hero__role{font-size:var(--font-size-xl)}.hero__cta{flex-direction:column;align-items:center}.btn{width:100%;max-width:280px}.skill-card,.project-card,.timeline-content,.contact-card,.portfolio-card__content{padding:var(--space-20)}}.video-embed{position:relative;width:100%;padding-top:56.25%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-top:var(--space-16)}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-16);margin-top:var(--space-16)}.media-image{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-card-border);background:var(--color-surface)}.media-image img{display:block;width:100%;height:100%;object-fit:cover}@media (max-width: 768px){.portfolio-card--featured{grid-template-columns:1fr}.portfolio-card--featured .portfolio-card__image,.portfolio-card--featured .portfolio-card__image img{height:260px!important}}.filters{display:flex;flex-wrap:wrap;gap:var(--space-8);margin:0 0 var(--space-16) 0}.chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.chip:hover{background:var(--color-secondary)}.chip.active{background:var(--mode-primary);color:var(--color-btn-primary-text);border-color:transparent}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-16);margin-top:var(--space-16)}.media-thumb{display:block;padding:0;border:0;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer}.media-thumb img{display:block;width:100%;height:180px;object-fit:cover;transition:transform var(--duration-normal) var(--ease-standard)}.media-thumb:hover img{transform:scale(1.03)}.media-thumb.video{position:relative}.media-thumb__play{position:absolute;inset:auto 12px 12px auto;background:#0000008c;color:#fff;border-radius:var(--radius-full);padding:6px 10px;font-weight:var(--font-weight-semibold);pointer-events:none}.lightbox{position:fixed;inset:0;background:#000000b3;display:grid;place-items:center;z-index:9999;padding:24px}.lightbox__content{background:var(--color-charcoal-800);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:95vw;width:min(1000px,95vw);padding:var(--space-16);position:relative}.lightbox__header{display:flex;justify-content:space-between;align-items:center;color:var(--color-gray-200);margin-bottom:var(--space-12);gap:12px}.lightbox__close{background:transparent;border:1px solid var(--color-border);color:var(--color-gray-200);width:34px;height:34px;border-radius:var(--radius-full);font-size:22px;line-height:1;cursor:pointer}.lightbox__media{display:grid;place-items:center}.lightbox__img{max-width:100%;max-height:80vh;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.lightbox__video{width:100%;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-card-border)}.lightbox__video iframe{width:100%;height:100%;border:0}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:#00000059;color:#fff;cursor:pointer;font-size:28px;display:grid;place-items:center}.lightbox__nav.prev{left:8px}.lightbox__nav.next{right:8px}.portfolio-card--featured{display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch}.portfolio-card--featured .portfolio-card__image{height:100%}.portfolio-card--featured .portfolio-card__image img{height:100%!important;width:100%;object-fit:cover}@media (max-width: 768px){.portfolio-card--featured{grid-template-columns:1fr}.portfolio-card--featured .portfolio-card__image img{height:260px!important}}.lightbox__caption{position:absolute;left:16px;right:16px;bottom:16px;background:#00000073;padding:8px 12px;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm)}.lightbox__caption-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox__caption-meta{display:flex;align-items:center;gap:8px}.lightbox__index{background:var(--color-secondary);color:var(--color-text);padding:2px 8px;border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.lightbox__open{border:1px solid var(--color-border);padding:2px 8px;border-radius:var(--radius-full);text-decoration:none;color:var(--color-gray-200)}.lightbox__open:hover{background:var(--color-secondary)}.contact__grid-4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-24)}.contact-card{overflow:hidden}.contact .socials{list-style:none!important;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}.contact .socials li{width:100%}.contact .socials .social{display:flex;align-items:center;gap:var(--space-8);width:100%;max-width:100%;box-sizing:border-box;text-decoration:none;color:var(--color-text);padding:var(--space-8) var(--space-12);border-radius:var(--radius-full);border:1px solid var(--color-card-border);background:var(--color-surface);transition:background var(--duration-fast) var(--ease-standard);white-space:nowrap}.contact .socials .social:hover{background:var(--color-secondary)}.contact .socials .social svg{flex:0 0 18px}@media (max-width: 1024px){.contact__grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.contact__grid-4{grid-template-columns:1fr}}@media (min-width: 1024px){.hero__content{grid-template-columns:1fr 1.2fr}.hero__image{width:clamp(560px,62vw,180px);height:clamp(520px,78vh,920px)}.hero__photo{width:100%;height:100%;object-fit:cover}}
