@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=JetBrains+Mono:wght@400;500;600;700&display=swap);:root{--font-heading:"Fraunces","Iowan Old Style",Georgia,serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-code:"JetBrains Mono","Fira Code",monospace;--text-xl:clamp(2.75rem,5vw,4.5rem);--text-lg:clamp(2rem,3.5vw,3rem);--text-md:clamp(1.375rem,2.5vw,2rem);--text-base:clamp(1rem,1.5vw,1.125rem);--text-sm:0.875rem;--text-xs:0.75rem;--fw-light:300;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-tight:1.1;--lh-snug:1.3;--lh-normal:1.6;--ls-tight:-0.02em;--ls-snug:-0.01em;--ls-wide:0.05em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--section-padding:5rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.625rem;--radius-xl:0.875rem;--radius-full:9999px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--z-base:1;--z-raised:10;--z-nav:100;--z-overlay:200;--z-modal:300;--z-toast:400;--z-top:9999;--ease-out:cubic-bezier(0.0,0.0,0.2,1);--ease-in-out:cubic-bezier(0.4,0.0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms;--palette-sky-400:#3c8c63;--palette-sky-500:#2f6f4e;--palette-rose-400:#d4573d;--palette-rose-500:#b8402e;--palette-amber-400:#c99a2e;--palette-amber-500:#ad8323;--palette-slate-50:#f7f5f0;--palette-slate-100:#edeae2;--palette-slate-200:#e2ddd1;--palette-slate-300:#cbc3b0;--palette-slate-400:#9b9284;--palette-slate-500:#726a5e;--palette-slate-600:#524b41;--palette-slate-700:#3a342d;--palette-slate-800:#26221d;--palette-slate-900:#17140f;--palette-slate-950:#100e0a;--signal:#2f6f4e;--signal-bright:#3c8c63;--wire:#b8402e;--wire-bright:#d4573d;--ochre:#ad8323;--color-bg:var(--palette-slate-50);--color-bg-subtle:var(--palette-slate-100);--color-surface:#fffdf9;--color-surface-raised:#fff;--bg-primary:var(--color-bg);--bg-gradient:linear-gradient(135deg,var(--palette-slate-50) 0%,var(--palette-slate-100) 100%);--color-text:var(--palette-slate-800);--color-heading:var(--palette-slate-900);--color-text-muted:var(--palette-slate-500);--color-text-faint:var(--palette-slate-400);--text-primary:var(--color-heading);--text-secondary:var(--color-text);--text-tertiary:var(--color-text-muted);--color-accent-1:var(--signal);--color-accent-2:var(--wire);--color-detail:var(--ochre);--color-accent-1-rgb:47,111,78;--color-accent-2-rgb:184,64,46;--color-detail-rgb:173,131,35;--color-accent-1-light:#2f6f4e1a;--color-accent-1-medium:#2f6f4e33;--color-accent-1-strong:#2f6f4e59;--color-accent-2-light:#b8402e1a;--color-accent-2-medium:#b8402e33;--color-accent-2-strong:#b8402e59;--color-detail-light:#ad83231a;--color-detail-medium:#ad832333;--color-detail-strong:#ad832359;--gradient-primary:linear-gradient(135deg,var(--signal) 0%,var(--wire) 100%);--gradient-secondary:linear-gradient(135deg,var(--signal-bright) 0%,var(--signal) 100%);--gradient-accent:linear-gradient(135deg,var(--wire) 0%,var(--ochre) 100%);--color-border:#17140f1f;--color-border-strong:#17140f38;--color-shadow:#17140f14;--color-shadow-strong:#17140f29;--shadow-sm:0 1px 3px var(--color-shadow),0 1px 2px var(--color-shadow);--shadow-md:0 4px 12px var(--color-shadow);--shadow-lg:0 10px 30px var(--color-shadow),0 4px 10px var(--color-shadow);--shadow-xl:0 20px 60px var(--color-shadow-strong);--glass-bg:#fffdf9b8;--glass-border:#17140f14;--glass-shadow:0 8px 32px #17140f14;--glass-blur:blur(16px);--nav-dot-inactive:#17140f40;--nav-dot-active:var(--signal);--nav-dot-hover:var(--signal-bright);--nav-bg:#fffdf9cc;--nav-border:#17140f14;--button-bg:var(--signal);--button-text:#fffdf9;--button-border:var(--signal);--button-shadow:0 4px 14px #2f6f4e4d;--btn-h-sm:2.25rem;--btn-h-md:2.75rem;--btn-h-lg:3.25rem;--btn-px-sm:1.1rem;--btn-px-md:1.75rem;--btn-px-lg:2.25rem;--btn-radius:0.5rem;--btn-font-size:0.9rem;--btn-font-weight:650;--btn-letter-spacing:0.01em;--btn-transition:transform 160ms var(--ease-out),box-shadow 160ms var(--ease-out),background 160ms var(--ease-out),border-color 160ms var(--ease-out),color 160ms var(--ease-out);--btn-primary-bg:var(--signal);--btn-primary-text:#fffdf9;--btn-primary-shadow:0 4px 18px #2f6f4e4d;--btn-primary-shadow-h:0 8px 28px #2f6f4e6b;--btn-ghost-bg:#0000;--btn-ghost-border:var(--signal);--btn-ghost-text:var(--signal);--btn-ghost-bg-h:var(--color-accent-1-light);--btn-focus-ring:0 0 0 3px #2f6f4e59;--card-bg:#fffdf9eb;--card-border:#17140f17;--card-shadow:0 4px 20px #17140f12;--card-radius:0.625rem;--color-success:#2f6f4e;--color-warning:#ad8323;--color-error:#b8402e;--success-bg:#2f6f4e14;--warning-bg:#ad832314;--error-bg:#b8402e14;--icon-color:var(--signal);--accent:var(--signal);--accent-hover:var(--signal-bright);--accent-primary:var(--signal);--accent-muted:var(--color-accent-1-light)}[data-theme=dark]{--color-bg:var(--palette-slate-900);--color-bg-subtle:var(--palette-slate-800);--color-surface:var(--palette-slate-800);--color-surface-raised:#221e17;--bg-primary:var(--color-bg);--bg-gradient:linear-gradient(135deg,var(--palette-slate-900) 0%,var(--palette-slate-800) 100%);--color-text:#e5e0d5;--color-heading:#f7f5f0;--color-text-muted:#9b9284;--color-text-faint:#726a5e;--text-primary:var(--color-heading);--text-secondary:var(--color-text);--text-tertiary:var(--color-text-muted);--color-accent-1:#4fbe87;--color-accent-2:#e2704f;--color-detail:#d9a93f;--color-accent-1-rgb:79,190,135;--color-accent-2-rgb:226,112,79;--color-detail-rgb:217,169,63;--color-accent-1-light:#4fbe8724;--color-accent-1-medium:#4fbe873d;--color-accent-1-strong:#4fbe8766;--color-accent-2-light:#e2704f24;--color-accent-2-medium:#e2704f3d;--color-accent-2-strong:#e2704f66;--color-detail-light:#d9a93f24;--color-detail-medium:#d9a93f3d;--color-detail-strong:#d9a93f66;--gradient-primary:linear-gradient(135deg,#4fbe87,#e2704f);--gradient-secondary:linear-gradient(135deg,#63d89c,#4fbe87);--gradient-accent:linear-gradient(135deg,#e2704f,#d9a93f);--color-border:#f7f5f01a;--color-border-strong:#f7f5f02e;--color-shadow:#0000004d;--color-shadow-strong:#00000080;--shadow-sm:0 1px 3px var(--color-shadow);--shadow-md:0 4px 12px var(--color-shadow);--shadow-lg:0 10px 30px var(--color-shadow);--shadow-xl:0 20px 60px var(--color-shadow-strong);--glass-bg:#17140f99;--glass-border:#f7f5f01a;--glass-shadow:0 8px 32px #0000004d;--glass-blur:blur(16px);--nav-dot-inactive:#f7f5f040;--nav-dot-active:#4fbe87;--nav-dot-hover:#63d89c;--nav-bg:#17140fcc;--nav-border:#f7f5f01a;--button-bg:#4fbe87;--button-text:var(--palette-slate-900);--button-border:#4fbe87;--button-shadow:0 4px 14px #4fbe874d;--btn-primary-bg:#4fbe87;--btn-primary-text:var(--palette-slate-900);--btn-primary-shadow:0 4px 18px #4fbe8759;--btn-primary-shadow-h:0 8px 28px #4fbe8780;--btn-ghost-border:#4fbe87;--btn-ghost-text:#4fbe87;--btn-ghost-bg-h:var(--color-accent-1-light);--btn-focus-ring:0 0 0 3px #4fbe8759;--card-bg:#26221de0;--card-border:#f7f5f01a;--card-shadow:0 4px 20px #0000004d;--success-bg:#4fbe8729;--warning-bg:#d9a93f29;--error-bg:#e2704f29;--icon-color:#4fbe87;--accent:#4fbe87;--accent-hover:#63d89c;--accent-primary:#4fbe87;--accent-muted:var(--color-accent-1-light)}:root{--max-width:1200px;--section-padding:clamp(4rem,8vw,6rem);--container-px:clamp(1rem,4vw,2rem);--card-padding:1.5rem;--card-radius:1.25rem;--button-radius:9999px;--input-radius:0.75rem;--hover-lift:translateY(-3px);--grid-gap:1.5rem;--grid-gap-lg:2rem;--grid-columns:12}.btn,.card,.cta-button,.cv-download-btn,.glass-card,.nav-dot,.social-link,.theme-toggle,a,button{transition:background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),opacity var(--duration-normal) var(--ease-out)}.app-container,.app-root,.card,.glass-card,body,section{transition:background-color var(--duration-slow) var(--ease-in-out),color var(--duration-slow) var(--ease-in-out),border-color var(--duration-slow) var(--ease-in-out)}h1,h2{color:var(--color-heading);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:var(--space-6)}h3{font-size:var(--text-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);margin-bottom:var(--space-4)}h4,h5,h6{color:var(--color-heading);font-family:var(--font-heading);font-size:var(--text-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin-bottom:var(--space-3)}li,p{color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-normal);margin-bottom:var(--space-4)}a{color:var(--accent)}a:hover{color:var(--accent-hover)}.eyebrow{align-items:center;color:var(--color-accent-1);display:flex;font-family:var(--font-code);font-size:.75rem;font-weight:var(--fw-medium);gap:.625rem;letter-spacing:.12em;margin-bottom:var(--space-4);text-transform:uppercase}.eyebrow:before{background:currentColor;content:"";display:block;height:1px;opacity:.6;width:1.5rem}.icon-badge{align-items:center;background:var(--color-accent-1-light);border-radius:var(--radius-md);color:var(--color-accent-1);display:inline-flex;flex-shrink:0;font-size:1.05rem;height:2.25rem;justify-content:center;width:2.25rem}.icon-badge--wire{background:var(--color-accent-2-light);color:var(--color-accent-2)}.glass-card{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:1.25rem;border-radius:var(--card-radius)}.glass-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);transform:var(--hover-lift)}.btn{background:var(--button-bg);border-radius:9999px;border-radius:var(--button-radius);box-shadow:var(--button-shadow);color:var(--button-text);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);letter-spacing:.02em;padding:.75rem 1.75rem}.btn:after{background:linear-gradient(#ffffff26,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--duration-fast) var(--ease-out)}.btn:hover{transform:translateY(-3px);transform:var(--hover-lift)}.btn:hover:after{opacity:1}.glass-input{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--color-border);border-radius:.75rem;border-radius:var(--input-radius);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3) var(--space-4);width:100%}.glass-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.glass-input::placeholder{color:var(--color-text-faint)}:focus-visible{animation:focus-ring .3s ease-out;border-radius:4px;box-shadow:0 0 0 4px rgba(var(--color-accent-1-rgb),.3);outline:2px solid var(--color-accent-1);outline-offset:4px;transition:box-shadow .2s cubic-bezier(.4,0,.2,1),outline-offset .2s cubic-bezier(.4,0,.2,1)}@keyframes focus-ring{0%{box-shadow:0 0 0 0 rgba(var(--color-accent-1-rgb),0);outline-offset:0}to{box-shadow:0 0 0 4px rgba(var(--color-accent-1-rgb),.3);outline-offset:4px}}.skip-link{background:var(--color-background);border-radius:0 0 8px 8px;box-shadow:0 4px 12px #0000001a;color:var(--color-text);font-weight:500;left:50%;padding:1rem 2rem;position:fixed;text-align:center;top:-100%;transform:translateX(-50%);transition:top .3s cubic-bezier(.4,0,.2,1);z-index:9999}.skip-link:focus{outline-offset:0;top:0}@media (forced-colors:active){:root{--color-primary:CanvasText;--color-text:CanvasText;--color-background:Canvas;--color-border:CanvasText}*{border-color:CanvasText}a,button{forced-color-adjust:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.animated,.button-ripple,.hover-lift,.section-animated{animation:none!important;transform:none!important;transition:none!important}}[aria-busy=true]{cursor:progress}[aria-disabled=true]{cursor:not-allowed;opacity:.6}.interactive-card{cursor:pointer;position:relative}.interactive-card:focus-within{outline:2px solid var(--color-accent-1);outline-offset:4px;transform:scale(1.02);transition:transform .2s cubic-bezier(.4,0,.2,1),outline-offset .2s cubic-bezier(.4,0,.2,1)}.interactive-card:focus-within:after{animation:tooltip-fade .3s ease-out forwards;background:var(--color-background);border-radius:4px;bottom:-30px;box-shadow:0 2px 8px #0000001a;content:"Press Enter to view details";font-size:.875rem;left:50%;opacity:0;padding:var(--spacing-xs) 12px;position:absolute;transform:translateX(-50%)}@keyframes tooltip-fade{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.card-3d{transform:rotateX(var(--rotate-x)) rotateY(var(--rotate-y));transition:transform .2s cubic-bezier(.4,0,.2,1)}.card-3d,.card-3d:focus-within{--rotate-x:0deg;--rotate-y:0deg}.card-3d:focus-within{outline:2px solid var(--color-accent-1);outline-offset:8px}.card-3d[data-key-nav=true]{transition:transform .1s linear}.button,a,button,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px;padding:.5rem;position:relative}.button:focus-visible,a:focus-visible,button:focus-visible{transform:scale(1.05);transition:transform .2s cubic-bezier(.4,0,.2,1)}.sr-live,.sr-only-focusable:not(:focus){clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-live{pointer-events:none}[aria-live=assertive],[aria-live=polite]{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[aria-busy=true]{position:relative}[aria-busy=true]:after{clip:auto;background:var(--color-background);border-radius:4px;box-shadow:0 2px 8px #0000001a;content:attr(data-loading-text);height:auto;padding:var(--spacing-sm);position:absolute;width:auto;z-index:1}[role=progressbar]{position:relative}[role=progressbar]:after{clip:auto;color:var(--color-text);content:attr(aria-valuenow) "%";font-size:.875rem;height:auto;margin-top:4px;position:absolute;right:0;top:100%;width:auto}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-ms-overflow-style:none;font-family:var(--font-body);font-size:16px;font-weight:var(--fw-normal);line-height:var(--lh-normal);scrollbar-width:none;text-rendering:optimizeLegibility}html::-webkit-scrollbar{display:none}body{background-color:var(--color-bg);color:var(--color-text);min-height:100vh;min-width:320px}h1{color:var(--color-heading);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}h2{font-size:var(--text-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug)}h2,h3{color:var(--color-heading);font-family:var(--font-heading);line-height:var(--lh-snug)}h3{font-size:var(--text-md)}h3,h4{font-weight:var(--fw-semibold)}h4{color:var(--color-heading);font-family:var(--font-heading);line-height:var(--lh-snug)}h4,p{font-size:var(--text-base)}p{font-weight:var(--fw-normal);line-height:var(--lh-normal)}a,p{font-family:var(--font-body)}a{color:var(--color-accent-1);font-weight:var(--fw-medium);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent-2)}code,pre{font-family:var(--font-code);font-size:var(--text-sm)}.container{max-width:1200px;max-width:var(--max-width,1200px);padding:0 1.25rem;padding:0 var(--container-px,1.25rem)}.section{background-color:var(--color-bg);padding:5rem 0;padding:var(--section-padding,5rem) 0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{border-radius:var(--btn-radius);font-family:var(--font-body);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);gap:.5rem;height:var(--btn-h-md);letter-spacing:var(--btn-letter-spacing);line-height:1;outline:none;padding:0 var(--btn-px-md);transition:var(--btn-transition);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus-visible{box-shadow:var(--btn-focus-ring)}.btn:active{transform:scale(.97) translateY(1px)!important}.btn-sm{font-size:.8rem;height:var(--btn-h-sm);padding:0 var(--btn-px-sm)}.btn-lg{font-size:1rem;height:var(--btn-h-lg);padding:0 var(--btn-px-lg)}.btn-primary{background:var(--btn-primary-bg);box-shadow:var(--btn-primary-shadow);color:var(--btn-primary-text)}.btn-primary:hover{box-shadow:var(--btn-primary-shadow-h);color:var(--btn-primary-text);transform:translateY(-2px)}.btn-primary .btn-arrow{transition:transform .16s var(--ease-out)}.btn-primary:hover .btn-arrow{transform:translateX(4px)}.btn-ghost{background:var(--btn-ghost-bg);border:1.5px solid var(--btn-ghost-border);box-shadow:none;color:var(--btn-ghost-text)}.btn-ghost:hover{background:var(--btn-ghost-bg-h);box-shadow:var(--btn-primary-shadow);color:var(--btn-ghost-text)}.btn-text{background:#0000;border:none;color:var(--color-accent-1);font-size:inherit;height:auto;padding:.25rem .5rem}.btn-text:hover{color:var(--color-accent-2);text-decoration:underline}.btn-icon{border-radius:12px;height:var(--btn-h-md);padding:0;width:var(--btn-h-md)}.section-heading{color:var(--color-heading);font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:.75rem;text-align:left}.section-subheading{color:var(--color-text-muted);font-family:var(--font-body);font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:var(--fw-normal);line-height:var(--lh-normal);margin:0 0 3.5rem;max-width:560px;text-align:left}.intro{align-items:center;background:var(--color-bg);color:var(--color-heading);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:0 2rem;position:relative}.intro-grid{background-image:radial-gradient(circle,var(--color-border) 1px,#0000 1px);background-size:28px 28px;inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 40%,#0000 100%);mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 40%,#0000 100%);pointer-events:none;position:absolute;z-index:0}.intro-container{grid-gap:5rem;align-items:center;display:grid;gap:5rem;grid-template-columns:1fr auto;margin:0 auto;max-width:1200px;padding:6rem 0 4rem;position:relative;width:100%;z-index:1}.intro-text{display:flex;flex-direction:column;gap:0}.intro-status{align-items:center;color:var(--color-accent-1);display:inline-flex;font-family:var(--font-code);font-size:.78rem;font-weight:500;gap:.55rem;letter-spacing:.06em;margin-bottom:1.75rem;text-transform:lowercase;width:-webkit-fit-content;width:fit-content}.intro-status-dot{animation:statusPulse 2.4s ease-in-out infinite;background:var(--color-accent-1);border-radius:50%;box-shadow:0 0 6px rgba(var(--color-accent-1-rgb),.7);flex-shrink:0;height:6px;width:6px}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.4}}.intro-greeting{color:var(--color-text-muted);font-size:clamp(1rem,2vw,1.15rem);font-weight:500;margin:0 0 .5rem}.intro-name-wrap{display:flex;flex-direction:column;line-height:.95;margin-bottom:1.5rem}.intro-name-line{display:flex;gap:.02em}.intro-name-char{color:var(--color-heading);display:inline-block;font-family:var(--font-heading);font-size:clamp(4rem,9vw,7rem);font-style:italic;font-weight:600;letter-spacing:-.02em;line-height:1}.intro-name-line--0 .intro-name-char{color:var(--color-accent-1);font-style:normal;font-weight:600}.intro-role{color:var(--color-text-muted);font-size:clamp(.95rem,1.6vw,1.05rem);margin:0 0 .75rem}.intro-stack{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1.75rem;padding:0}.intro-stack-item{background:var(--color-accent-2-light);border:1px solid var(--color-accent-2-medium);border-radius:.375rem;color:var(--color-accent-2);font-family:var(--font-code);font-size:.8rem;font-weight:500;padding:.3rem .65rem}.intro-bio{color:var(--color-text-muted);font-size:clamp(.9rem,1.6vw,1.05rem);line-height:1.7;margin:0 0 2.25rem;max-width:480px}.intro-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.875rem;margin-bottom:2rem}.intro-btn{align-items:center;border:none;border-radius:var(--btn-radius);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.95rem;font-weight:650;gap:.5rem;height:var(--btn-h-lg);padding:0 var(--btn-px-lg);text-decoration:none;transition:var(--btn-transition);white-space:nowrap}.intro-btn--primary{background:var(--btn-primary-bg);box-shadow:var(--btn-primary-shadow);color:var(--btn-primary-text)}.intro-btn--primary:hover{box-shadow:var(--btn-primary-shadow-h);transform:translateY(-2px)}.intro-btn--primary svg{flex-shrink:0;transition:transform .16s var(--ease-out)}.intro-btn--primary:hover svg{transform:translateY(3px)}.intro-btn--outline{background:#0000;border:1.5px solid var(--color-border-strong);color:var(--color-heading)}.intro-btn--outline:hover{transform:translateY(-2px)}.intro-btn--outline.is-acknowledged,.intro-btn--outline:hover{border-color:var(--color-accent-1);color:var(--color-accent-1)}.intro-btn--outline svg{animation:cvAckPop .32s cubic-bezier(.34,1.56,.64,1);animation:cvAckPop .32s var(--ease-spring,cubic-bezier(.34,1.56,.64,1))}@keyframes cvAckPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.intro-btn--admin{border-color:var(--color-accent-1-medium);color:var(--color-accent-1)}.intro-btn:active{transform:scale(.97) translateY(0)!important}.intro-socials{align-items:center;display:flex;gap:.75rem}.intro-social-link{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-heading);display:flex;height:42px;justify-content:center;text-decoration:none;transition:border-color .2s ease,color .2s ease,transform .2s ease;width:42px}.intro-social-link:hover{border-color:var(--color-accent-1);color:var(--color-accent-1);transform:translateY(-2px)}.intro-social-link svg{height:19px;width:19px}.intro-image-side{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:1.25rem}.profile-frame{aspect-ratio:4/5;padding:10px;position:relative;width:280px}.profile-corner{height:22px;pointer-events:none;position:absolute;width:22px}.profile-corner--tl{border-left:2px solid var(--color-accent-1);border-top:2px solid var(--color-accent-1);left:0;top:0}.profile-corner--br{border-bottom:2px solid var(--color-accent-2);border-right:2px solid var(--color-accent-2);bottom:0;right:0}.profile-img{display:block;filter:grayscale(.15) contrast(1.03);height:100%;object-fit:cover;width:100%}.profile-spec{border:1px solid var(--color-border);border-radius:.5rem;margin:0;max-width:280px;padding:.85rem 1rem;width:100%}.profile-spec-row{align-items:baseline;display:flex;gap:1rem;justify-content:space-between;padding:.35rem 0}.profile-spec-row+.profile-spec-row{border-top:1px solid var(--color-border)}.profile-spec-row dt{color:var(--color-text-muted);font-family:var(--font-code);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.profile-spec-row dd{color:var(--color-heading);font-family:var(--font-code);font-size:.8rem;font-weight:600;margin:0}.intro-scroll-hint{align-items:center;bottom:2rem;display:flex;flex-direction:column;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%);z-index:1}.intro-scroll-line{animation:scrollLine 2s ease-in-out infinite;background:linear-gradient(to bottom,#0000,var(--color-border-strong),#0000);height:40px;width:1px}@keyframes scrollLine{0%{opacity:.2;transform:scaleY(.5) translateY(-8px)}50%{opacity:1;transform:scaleY(1) translateY(0)}to{opacity:.2;transform:scaleY(.5) translateY(8px)}}.intro-scroll-label{color:var(--color-text-faint);font-family:var(--font-code);font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}@media (max-width:900px){.intro-container{gap:3rem;grid-template-columns:1fr;padding:5rem 0 4rem;text-align:center}.intro-text{align-items:center;order:1}.intro-image-side{order:2}.intro-actions,.intro-name-line,.intro-socials,.intro-stack,.intro-status{justify-content:center}.intro-bio{margin-left:auto;margin-right:auto}.profile-frame{width:220px}}@media (max-width:480px){.intro{padding:0 1.25rem}.intro-container{gap:2rem;padding:4rem 0 3rem}.profile-frame{width:180px}.intro-btn{font-size:.9rem;padding:.75rem 1.5rem}.intro-actions{flex-direction:column;width:100%}.intro-btn{justify-content:center;width:100%}}@media (max-height:600px) and (max-width:900px){.intro-container{grid-template-columns:1fr 1fr;padding:2rem 0;text-align:left}.intro-text{align-items:flex-start;order:1}.intro-image-side{order:2}.profile-frame{width:160px}}@media (prefers-reduced-motion:reduce){.intro-scroll-line,.intro-status-dot{animation:none}}.about{padding:var(--section-padding) 0;position:relative}.about-bio{color:var(--color-text);font-size:clamp(1rem,2vw,1.15rem);line-height:1.8;margin:0 0 3rem;max-width:720px;text-align:left}.section-title{color:var(--color-heading);margin-bottom:2rem;text-align:left}.about-content{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem}@media (min-width:900px){.about-content{grid-template-columns:minmax(240px,340px) 1fr}}.about-image{display:flex;justify-content:center}.about-frame{max-width:340px;padding:10px;position:relative;width:100%}.about-corner{height:22px;pointer-events:none;position:absolute;width:22px}.about-corner--tl{border-left:2px solid var(--color-accent-1);border-top:2px solid var(--color-accent-1);left:0;top:0}.about-corner--br{border-bottom:2px solid var(--color-accent-2);border-right:2px solid var(--color-accent-2);bottom:0;right:0}.about-pic{aspect-ratio:4/5;display:block;object-fit:cover;transition:transform .3s ease;width:100%}.about-pic:hover{transform:scale(1.02)}.about-panel{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--card-radius);overflow:hidden}.about-panel-row{padding:1.5rem 1.75rem}.about-panel-row+.about-panel-row{border-top:1px solid var(--color-border)}.about-panel-label{align-items:center;color:var(--color-heading);display:flex;font-family:var(--font-heading);font-size:1.15rem;font-weight:700;gap:.75rem;margin-bottom:1.1rem}.about-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.about-tag{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);font-size:.82rem;font-weight:500;padding:.3rem .7rem}.about-edu{margin:0}.about-edu-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:90px 1fr;padding:.5rem 0}.about-edu-row+.about-edu-row{border-top:1px solid var(--color-border)}.about-edu-row dt{color:var(--color-text-muted);font-family:var(--font-code);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.about-edu-row dd{color:var(--color-text);font-size:.9rem;line-height:1.6;margin:0}@media (max-width:767px){.about{padding:3rem 0}.section-title{font-size:2rem;margin-bottom:1.5rem}.about-content{gap:2rem}.about-panel-row{padding:1.25rem}.about-edu-row{gap:.25rem;grid-template-columns:1fr}}@media (max-width:480px){.about-bio{font-size:.95rem;margin-bottom:2rem}.about-content{gap:1.5rem}}.about.section-hidden{opacity:0;transform:translateY(60px) scale(.96)}.about.section-visible{opacity:1;transform:translateY(0) scale(1);transition-duration:1s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.about .section-title.stagger-item{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.4,0,.2,1)}.about .section-title.section-visible{opacity:1;transform:translateY(0);transition-delay:.1s}.about .about-image.stagger-item{opacity:0;transform:translateX(-40px) scale(.95)}.about.section-visible .about-image.stagger-item{opacity:1;transform:translateX(0) scale(1);transition-delay:.2s;transition-duration:1s}.about .about-panel.stagger-item{opacity:0;transform:translateX(40px)}.about.section-visible .about-panel.stagger-item{opacity:1;transform:translateX(0);transition-delay:.3s;transition-duration:.9s}@media (max-width:768px){.about.section-hidden{transform:translateY(40px) scale(.98)}.about .about-image.stagger-item{transform:translateY(-30px) scale(.95)}.about .about-panel.stagger-item{transform:translateY(30px)}.about.section-visible .about-image.stagger-item,.about.section-visible .about-panel.stagger-item{transform:translateY(0) scale(1)}}.projects-section{background:var(--color-bg);padding:5rem 2rem;position:relative}.projects-section:before{background:radial-gradient(circle at 70% 30%,var(--color-accent-2-light) 0,#0000 55%),radial-gradient(circle at 25% 75%,var(--color-accent-1-light) 0,#0000 55%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.projects-container{margin:0 auto;max-width:var(--max-width);position:relative;width:100%;z-index:1}.projects-header{margin-bottom:2.5rem;text-align:left}.projects-title{color:var(--color-heading);display:block;font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin:0 0 .75rem}.projects-subtitle{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--fw-normal);line-height:var(--lh-normal);margin:.75rem 0 0;max-width:560px}.project-filter{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start;margin-bottom:2.5rem}.filter-btn{background:#0000;border:1px solid var(--color-border);border-radius:var(--btn-radius);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-medium);height:var(--btn-h-sm);opacity:.65;padding:0 var(--btn-px-sm);text-transform:capitalize;transition:var(--btn-transition)}.filter-btn:hover{background:var(--color-accent-1-light);border-color:var(--btn-ghost-border);color:var(--btn-ghost-text);opacity:1;transform:translateY(-1px)}.filter-btn.active{background:var(--btn-primary-bg);border-color:#0000;box-shadow:var(--btn-primary-shadow);color:var(--btn-primary-text);font-weight:var(--fw-semibold);opacity:1}.filter-btn:focus-visible{box-shadow:var(--btn-focus-ring);opacity:1}.projects-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0}@media (max-width:1023px){.projects-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:639px){.projects-grid{gap:1.25rem;grid-template-columns:1fr}}.projects-empty{font-weight:var(--fw-medium);padding:4rem 2rem;text-align:center}.projects-empty,.projects-loading{color:var(--color-text-muted);font-size:var(--text-base)}.projects-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:5rem 2rem}.projects-loading__spinner{animation:projects-spin .75s linear infinite;border-top-color:#7c3aed;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent-1,#7c3aed);display:block;height:2.25rem;width:2.25rem}@keyframes projects-spin{to{transform:rotate(1turn)}}@media (max-width:768px){.projects-section{padding:4rem 1.25rem}.project-filter,.projects-header{margin-bottom:2rem}.project-filter{gap:.5rem}.filter-btn{font-size:.8rem;padding:.4rem 1rem}}@media (prefers-reduced-motion:reduce){.filter-btn{transition:none}}:root{--transition-smooth:cubic-bezier(0.4,0,0.2,1);--transition-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--transition-duration:0.8s;--transition-duration-fast:0.4s;--transition-duration-slow:1.2s;--transform-gpu:translate3d(0,0,0)}.section-animated{backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:layout style paint;transform:translateZ(0);transform:var(--transform-gpu);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1),box-shadow .8s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-duration) var(--transition-smooth),transform var(--transition-duration) var(--transition-smooth),box-shadow var(--transition-duration) var(--transition-smooth);will-change:transform,opacity}.section-hidden{opacity:0;pointer-events:none;transform:translateY(50px)}.section-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.fade-up{opacity:0;transform:translateY(50px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .6s var(--transition-smooth),transform .6s var(--transition-bounce)}.fade-up.section-visible{opacity:1;transform:translateY(0)}.fade-down{opacity:0;transform:translateY(-50px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .6s var(--transition-smooth),transform .6s var(--transition-bounce)}.fade-down.section-visible{opacity:1;transform:translateY(0)}.fade-left{opacity:0;transform:translateX(-50px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .6s var(--transition-smooth),transform .6s var(--transition-bounce)}.fade-left.section-visible{opacity:1;transform:translateX(0)}.fade-right{opacity:0;transform:translateX(50px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .6s var(--transition-smooth),transform .6s var(--transition-bounce)}.fade-right.section-visible{opacity:1;transform:translateX(0)}.scale-in{opacity:0;transform:scale(.95);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .6s var(--transition-smooth),transform .6s var(--transition-bounce)}.scale-in.section-visible{opacity:1;transform:scale(1)}.slide-up{opacity:0;transform:translateY(100px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .8s var(--transition-smooth),transform .8s var(--transition-bounce)}.slide-up.section-visible{opacity:1;transform:translateY(0)}.zoom-fade{opacity:0;transform:scale(1.1);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .8s var(--transition-smooth),transform .8s var(--transition-bounce)}.zoom-fade.section-visible{opacity:1;transform:scale(1)}.flip-up{opacity:0;transform:perspective(1000px) rotateX(-30deg);transform-origin:bottom;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .8s var(--transition-smooth),transform .8s var(--transition-bounce)}.flip-up.section-visible{opacity:1;transform:perspective(1000px) rotateX(0)}.hover-lift{transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-duration-fast) var(--transition-smooth),box-shadow var(--transition-duration-fast) var(--transition-smooth)}.hover-lift:hover{box-shadow:0 20px 40px #0000001a;transform:translateY(-4px)}.progress-bar{transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-duration-fast) var(--transition-smooth)}.breadcrumb-enter{opacity:0;transform:translateX(-10px)}.breadcrumb-enter-active{opacity:1;transform:translateX(0);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-duration-fast) var(--transition-smooth),transform var(--transition-duration-fast) var(--transition-smooth)}.stagger-children .stagger-item{opacity:0;transform:translateY(30px);transition:all .4s cubic-bezier(.68,-.55,.265,1.55);transition:all var(--transition-duration-fast) var(--transition-bounce);will-change:opacity,transform}.stagger-children.section-visible .stagger-item{opacity:1;transform:translateY(0)}.stagger-children.section-visible .stagger-item:first-child{transition-delay:.1s}.stagger-children.section-visible .stagger-item:nth-child(2){transition-delay:.2s}.stagger-children.section-visible .stagger-item:nth-child(3){transition-delay:.3s}.stagger-children.section-visible .stagger-item:nth-child(4){transition-delay:.4s}.stagger-children.section-visible .stagger-item:nth-child(5){transition-delay:.5s}.stagger-children.section-visible .stagger-item:nth-child(6){transition-delay:.6s}.stagger-children.section-visible .stagger-item:nth-child(7){transition-delay:.7s}.stagger-children.section-visible .stagger-item:nth-child(8){transition-delay:.8s}.stagger-children.section-visible .stagger-item:nth-child(9){transition-delay:.9s}.stagger-children.section-visible .stagger-item:nth-child(10){transition-delay:1s}.scroll-trigger{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.68,-.55,.265,1.55);transition:opacity var(--transition-duration) var(--transition-smooth),transform var(--transition-duration) var(--transition-bounce)}.scroll-trigger.in-view{opacity:1;transform:translateY(0)}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.68,-.55,.265,1.55);transition:opacity var(--transition-duration) var(--transition-smooth),transform var(--transition-duration) var(--transition-bounce)}.modal-backdrop{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0f0d0aa6;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:999999}.modal-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:760px;outline:none;overflow:hidden;position:relative;width:100%}.modal-close{align-items:center;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;height:34px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background .2s ease,color .2s ease,border-color .2s ease;width:34px;z-index:10}.modal-close:hover{background:var(--color-accent-1-light);border-color:var(--color-accent-1-medium);color:var(--color-accent-1)}.modal-close:focus-visible{outline:2px solid var(--color-accent-1);outline-offset:2px}.modal-content{flex:1 1;overflow-y:auto;padding:2rem;scrollbar-color:var(--color-border) #0000;scrollbar-width:thin}.modal-content::-webkit-scrollbar{width:5px}.modal-content::-webkit-scrollbar-track{background:#0000}.modal-content::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-accent-1)}.modal-header{margin-bottom:1.75rem;padding-right:2.5rem}.modal-status{align-items:center;display:inline-flex;font-family:var(--font-code);font-size:.75rem;font-weight:600;gap:.4rem;letter-spacing:.04em;margin-bottom:.6rem}.modal-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:6px;width:6px}.modal-status.status-completed{color:var(--color-accent-1)}.modal-status.status-in-progress{color:var(--color-detail)}.modal-status.status-archived{color:var(--color-text-muted)}.modal-title{color:var(--color-heading);font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);margin:0 0 .4rem}.modal-meta{color:var(--color-text-muted);font-family:var(--font-code);font-size:.75rem;letter-spacing:.06em;margin:0;text-transform:uppercase}.modal-gallery{margin-bottom:1.75rem}.modal-hero-shot{aspect-ratio:16/9;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:zoom-in;display:block;overflow:hidden;padding:0;position:relative;width:100%}.modal-hero-shot--static{cursor:default}.modal-hero-shot-image{background:var(--color-bg-subtle);display:block;height:100%;object-fit:contain;width:100%}.modal-hero-shot-hint{align-items:center;background:#17140fb8;border-radius:var(--radius-full);bottom:.75rem;color:#fff;display:inline-flex;font-size:.72rem;font-weight:600;gap:.35rem;opacity:0;padding:.35rem .7rem;pointer-events:none;position:absolute;right:.75rem;transform:translateY(4px);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.modal-hero-shot:hover .modal-hero-shot-hint{opacity:1;transform:translateY(0)}.modal-filmstrip{display:flex;gap:.5rem;margin-top:.6rem;overflow-x:auto;padding-bottom:.2rem}.modal-filmstrip-item{aspect-ratio:16/10;border:1.5px solid #0000;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;opacity:.55;overflow:hidden;padding:0;transition:opacity .18s ease,border-color .18s ease;width:4.5rem}.modal-filmstrip-item:hover{opacity:.85}.modal-filmstrip-item.is-active{border-color:var(--color-accent-1);opacity:1}.modal-filmstrip-item img{display:block;height:100%;object-fit:cover;width:100%}.modal-description{margin-bottom:1.75rem}.modal-description p{color:var(--color-text);font-size:var(--text-base);line-height:var(--lh-normal);margin:0}.modal-technologies{margin-bottom:1.75rem}.modal-technologies .eyebrow{margin-bottom:.75rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tech-tag{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:.3rem;color:var(--color-text-muted);font-family:var(--font-code);font-size:.75rem;font-weight:var(--fw-medium);padding:.22rem .6rem;transition:color .2s ease,border-color .2s ease,background .2s ease}.tech-tag:hover{background:var(--color-accent-1-light);border-color:var(--color-accent-1-medium);color:var(--color-accent-1)}.modal-actions{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:1.5rem;padding-top:1.5rem}.modal-cta{align-items:center;background:var(--color-accent-1);border-radius:var(--radius-md);box-shadow:0 2px 8px var(--color-accent-1-medium);color:#fff;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:.4rem;padding:.55rem 1.1rem;text-decoration:none;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s ease;white-space:nowrap}.modal-cta:hover{background:var(--signal-bright);box-shadow:0 4px 16px var(--color-accent-1-strong);transform:translateY(-2px)}.modal-link{align-items:center;color:var(--color-text-muted);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:.35rem;text-decoration:none;transition:color .2s ease,gap .2s ease}.modal-link:hover{color:var(--color-accent-1);gap:.5rem}.modal-cta:focus-visible,.modal-link:focus-visible{outline:2px solid var(--color-accent-1);outline-offset:2px}@media (max-width:768px){.modal-backdrop{align-items:flex-end;padding:1rem}.modal-container{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:95vh}.modal-content{padding:1.5rem}.modal-filmstrip-item{width:3.75rem}.modal-actions{align-items:stretch;flex-direction:column;gap:.75rem}.modal-cta,.modal-link{justify-content:center}}@media (max-width:480px){.modal-content{padding:1.25rem}}@media (prefers-reduced-motion:reduce){.modal-close,.modal-cta,.modal-filmstrip-item,.modal-hero-shot-hint,.modal-link{transition:none}}.fullscreen-overlay{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0f0d0aeb;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:99999}.fullscreen-image{border-radius:var(--radius-md);box-shadow:0 25px 50px -12px #00000080;cursor:default;max-height:90vh;max-width:90vw;object-fit:contain;-webkit-user-select:none;user-select:none}.fullscreen-close{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;transition:background .2s ease;width:40px;z-index:100000}.fullscreen-close:hover{background:#fff3}.fullscreen-nav{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease;width:44px;z-index:100000}.fullscreen-nav:hover{background:#fff3}.fullscreen-nav--prev{left:1.5rem}.fullscreen-nav--next{right:1.5rem}.fullscreen-counter{background:#ffffff1a;border:1px solid #ffffff26;border-radius:var(--radius-full);bottom:1.5rem;color:#ffffffb3;font-family:var(--font-code);font-size:.75rem;left:50%;letter-spacing:.04em;padding:.3rem .75rem;position:absolute;transform:translateX(-50%)}@media (max-width:768px){.fullscreen-overlay{padding:1rem}.fullscreen-image{max-height:95vh;max-width:95vw}.fullscreen-close{height:36px;right:1rem;top:1rem;width:36px}.fullscreen-nav{height:38px;width:38px}.fullscreen-nav--prev{left:.75rem}.fullscreen-nav--next{right:.75rem}}.project-card{animation:cardFadeIn .5s var(--ease-out) forwards;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);display:flex;flex-direction:column;opacity:0;overflow:hidden;position:relative;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s var(--ease-out);width:100%}@keyframes cardFadeIn{to{opacity:1}}.project-card:hover{border-color:var(--color-accent-1-medium);box-shadow:var(--shadow-lg),0 0 0 1px var(--color-accent-1-medium),0 12px 40px var(--color-accent-1-light);transform:translateY(-6px)}.project-card-image-wrap{aspect-ratio:16/9;flex-shrink:0;overflow:hidden;position:relative;width:100%}.project-card-image{display:block;height:100%;object-fit:cover;transition:transform .4s var(--ease-out);width:100%}.project-card:hover .project-card-image{transform:scale(1.04)}.project-card-image-overlay{background:linear-gradient(to bottom,#0000 50%,var(--color-bg) 100%);inset:0;opacity:.4;pointer-events:none;position:absolute}.project-card-status{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #0000;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);font-weight:var(--fw-semibold);gap:.4rem;left:.75rem;letter-spacing:.02em;padding:.3rem .7rem;position:absolute;top:.75rem}.project-card-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:6px;width:6px}.project-card-status.status-completed{background:#ffffffd9;border-color:var(--color-accent-1-medium);color:var(--color-accent-1)}.project-card-status.status-in-progress{background:#ffffffd9;border-color:var(--color-detail-medium);color:var(--color-detail)}.project-card-status.status-in-progress .project-card-status-dot{animation:statusDotPulse 2s ease-in-out infinite}@keyframes statusDotPulse{0%,to{opacity:1}50%{opacity:.4}}.project-card-status.status-archived{background:#ffffffd9;border-color:var(--color-border);color:var(--color-text-muted)}[data-theme=dark] .project-card-status.status-archived,[data-theme=dark] .project-card-status.status-completed,[data-theme=dark] .project-card-status.status-in-progress{background:#17140fbf}.project-card-body{display:flex;flex:1 1;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem .75rem}.project-card-header{display:flex;flex-direction:column;gap:.25rem}.project-card-title{color:var(--color-heading);font-family:var(--font-heading);font-size:clamp(1.05rem,2vw,1.3rem);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);margin:0}.project-card-meta{color:var(--color-text-muted);font-family:var(--font-code);font-size:.72rem;letter-spacing:.06em;margin:0;text-transform:uppercase}.project-card-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;flex:1 1;font-size:var(--text-sm);line-height:var(--lh-normal);margin:0;overflow:hidden}.project-card-tags{display:flex;flex-wrap:wrap;gap:.375rem}.project-card-tag{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:.3rem;color:var(--color-text-muted);font-family:var(--font-code);font-size:.72rem;font-weight:var(--fw-medium);padding:.2rem .55rem;transition:color .2s ease,border-color .2s ease,background .2s ease;white-space:nowrap}.project-card:hover .project-card-tag{background:var(--color-accent-1-light);border-color:var(--color-accent-1-medium);color:var(--color-accent-1)}.tag-more{border-style:dashed!important;color:var(--color-text-faint)!important}.project-card-footer{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-top:.75rem;padding:.85rem 1.5rem}.project-card-cta{align-items:center;background:var(--color-accent-1);border-radius:var(--radius-md);box-shadow:0 2px 8px var(--color-accent-1-medium);color:#fff;display:inline-flex;font-size:var(--text-xs);font-weight:var(--fw-semibold);gap:.4rem;padding:.45rem .9rem;text-decoration:none;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s ease;white-space:nowrap}.project-card-cta:hover{background:var(--signal-bright);box-shadow:0 4px 16px var(--color-accent-1-strong);transform:translateY(-2px)}.project-card-links{align-items:center;display:flex;gap:1rem}.project-card-link{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--fw-semibold);gap:.3rem;padding:0;text-decoration:none;transition:color .2s ease,gap .2s ease}.project-card-link:hover{color:var(--color-accent-1);gap:.45rem}.project-card-cta:focus-visible,.project-card-link:focus-visible{outline:2px solid var(--color-accent-1);outline-offset:2px}@media (prefers-reduced-motion:reduce){.project-card,.project-card-cta,.project-card-image,.project-card-link,.project-card-status-dot,.project-card-tag{animation:none;transition:none}.project-card{opacity:1}}.project-card-admin-overlay{display:flex;gap:.4rem;opacity:0;pointer-events:none;position:absolute;right:.6rem;top:.6rem;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;z-index:10}.project-card:hover .project-card-admin-overlay{opacity:1;pointer-events:auto;transform:translateY(0)}.card-admin-btn{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.72rem;font-weight:700;gap:.3rem;letter-spacing:.02em;padding:.35rem .7rem;transition:all .18s ease;white-space:nowrap}.card-admin-btn--edit{background:var(--color-accent-1);box-shadow:0 2px 10px var(--color-accent-1-strong);color:#fff}.card-admin-btn--edit:hover{background:var(--signal-bright);box-shadow:0 4px 14px var(--color-accent-1-strong);transform:translateY(-1px)}.card-admin-btn--delete{background:#ef4444cc;box-shadow:0 2px 10px #ef444466;color:#fff}.card-admin-btn--delete:hover{background:#ef4444;box-shadow:0 4px 14px #ef44448c;transform:translateY(-1px)}.admin-panel{align-items:center;animation:admin-panel-slide-in .4s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f0f19d9;border:1px solid #6366f159;border-radius:14px;box-shadow:0 8px 32px #00000080,inset 0 0 0 1px #6366f11a,0 0 20px #6366f11f;display:flex;gap:.5rem;left:50%;padding:.5rem .75rem;position:fixed;top:1rem;transform:translateX(-50%);z-index:8000}@keyframes admin-panel-slide-in{0%{opacity:0;transform:translateX(-50%) translateY(-16px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.admin-panel-badge{align-items:center;color:#a5b4fc;display:flex;font-size:.75rem;font-weight:700;gap:.45rem;letter-spacing:.08em;padding:0 .25rem;text-transform:uppercase;white-space:nowrap}.admin-panel-dot{animation:admin-dot-pulse 2s ease infinite;background:#34d399;border-radius:50%;box-shadow:0 0 6px #34d399;flex-shrink:0;height:7px;width:7px}@keyframes admin-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.admin-panel-divider{background:#ffffff1f;height:24px;margin:0 .25rem;width:1px}.admin-panel-btn{align-items:center;border:none;border-radius:9px;cursor:pointer;display:flex;font-family:inherit;font-size:.8rem;font-weight:600;gap:.4rem;padding:.45rem .9rem;transition:all .2s ease;white-space:nowrap}.admin-panel-btn--add{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 3px 10px #6366f166;color:#fff}.admin-panel-btn--add:hover{box-shadow:0 5px 16px #6366f18c;transform:translateY(-1px)}.admin-panel-btn--add:active{transform:translateY(0)}.admin-panel-btn--logout{background:#ef44441a;border:1px solid #ef444433;color:#f87171}.admin-panel-btn--logout:hover{background:#ef44442e;border-color:#ef444466;transform:translateY(-1px)}[data-theme=light] .admin-panel{background:#ffffffeb;border-color:#6366f14d;box-shadow:0 8px 32px #0000001f,0 0 20px #6366f114}[data-theme=light] .admin-panel-badge{color:#6366f1}[data-theme=light] .admin-panel-divider{background:#0000001a}@media (max-width:480px){.admin-panel{gap:.35rem;padding:.4rem .6rem;top:.5rem}.admin-panel-badge{font-size:.7rem}.admin-panel-btn{font-size:.75rem;padding:.4rem .65rem}}.pf-backdrop{align-items:center;animation:pf-fade-in .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9000}@keyframes pf-fade-in{0%{opacity:0}to{opacity:1}}.pf-modal{animation:pf-slide-in .32s cubic-bezier(.34,1.4,.64,1);background:linear-gradient(145deg,#141423f7,#0f0f1cfa);border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 30px 70px #0009,0 0 40px #6366f114;display:flex;flex-direction:column;max-height:90vh;max-width:640px;overflow:hidden;width:100%}@keyframes pf-slide-in{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.pf-header{border-bottom:1px solid #ffffff12;gap:1rem;padding:1.5rem 1.75rem 1.25rem}.pf-header,.pf-header-icon{align-items:center;display:flex;flex-shrink:0}.pf-header-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;box-shadow:0 4px 14px #6366f166;color:#fff;height:44px;justify-content:center;width:44px}.pf-title{color:#f1f5f9;color:var(--color-text-primary,#f1f5f9);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .15rem}.pf-subtitle{font-size:.8rem;margin:0}.pf-close-btn,.pf-subtitle{color:#94a3b8;color:var(--color-text-secondary,#94a3b8)}.pf-close-btn{align-items:center;background:#ffffff0f;border:none;border-radius:9px;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;margin-left:auto;transition:all .2s ease;width:34px}.pf-close-btn:hover{background:#ffffff1f;color:#f1f5f9;color:var(--color-text-primary,#f1f5f9)}.pf-form{display:flex;flex:1 1;flex-direction:column;min-height:0}.pf-scroll-body{display:flex;flex:1 1;flex-direction:column;gap:1.1rem;overflow-y:auto;padding:1.5rem 1.75rem;scrollbar-color:#ffffff1a #0000;scrollbar-width:thin}.pf-scroll-body::-webkit-scrollbar{width:5px}.pf-scroll-body::-webkit-scrollbar-track{background:#0000}.pf-scroll-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.pf-row{display:flex;gap:1rem}.pf-row--2>*{flex:1 1;min-width:0}.pf-field{display:flex;flex-direction:column;gap:.4rem}.pf-label{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.pf-required{color:#f87171;margin-left:2px}.pf-input,.pf-select,.pf-textarea{background:#ffffff0a;border:1px solid #ffffff17;border-radius:10px;box-sizing:border-box;color:#f1f5f9;color:var(--color-text-primary,#f1f5f9);font-family:inherit;font-size:.9rem;outline:none;padding:.7rem .9rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.pf-input::placeholder,.pf-textarea::placeholder{color:#94a3b873}.pf-input:focus,.pf-select:focus,.pf-textarea:focus{border-color:#6366f1a6;box-shadow:0 0 0 3px #6366f12e}.pf-input--error{border-color:#ef44448c!important;box-shadow:0 0 0 3px #ef44441f!important}.pf-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 5 6 5-6' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .9rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2.25rem}.pf-select option{background:#1e1e2e;color:#f1f5f9}.pf-textarea{line-height:1.55;min-height:90px;resize:vertical}.pf-error{color:#f87171;font-size:.75rem}.pf-tags-preview{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.pf-tag-preview{background:#6366f126;border:1px solid #6366f140;border-radius:5px;color:#a5b4fc;font-size:.72rem;font-weight:500;padding:.2rem .55rem}.pf-footer{border-top:1px solid #ffffff12;flex-shrink:0;gap:1rem;justify-content:flex-end;padding:1rem 1.75rem 1.5rem}.pf-footer,.pf-saved-banner{align-items:center;display:flex}.pf-saved-banner{color:#34d399;font-size:.82rem;font-weight:600;gap:.4rem;margin-right:auto}.pf-footer-actions{display:flex;gap:.65rem}.pf-btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;padding:.65rem 1.3rem;transition:all .2s ease}.pf-btn--primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 14px #6366f159;color:#fff;min-width:130px}.pf-btn--primary:hover:not(:disabled){box-shadow:0 6px 20px #6366f180;transform:translateY(-1px)}.pf-btn--primary:disabled{cursor:not-allowed;opacity:.65}.pf-btn--ghost{background:#ffffff0d;border:1px solid #ffffff1a;color:#94a3b8;color:var(--color-text-secondary,#94a3b8)}.pf-btn--ghost:hover{background:#ffffff1a;color:#f1f5f9;color:var(--color-text-primary,#f1f5f9)}[data-theme=light] .pf-modal{background:linear-gradient(145deg,#fff,#f8fafc);border-color:#00000014;box-shadow:0 30px 70px #00000026}[data-theme=light] .pf-header{border-bottom-color:#00000012}[data-theme=light] .pf-footer{border-top-color:#00000012}[data-theme=light] .pf-title{color:#1e293b}[data-theme=light] .pf-subtitle{color:#64748b}[data-theme=light] .pf-input,[data-theme=light] .pf-select,[data-theme=light] .pf-textarea{background:#00000008;border-color:#0000001a;color:#1e293b}[data-theme=light] .pf-input::placeholder,[data-theme=light] .pf-textarea::placeholder{color:#94a3b8}[data-theme=light] .pf-select option{background:#fff;color:#1e293b}[data-theme=light] .pf-btn--ghost{border-color:#0000001a;color:#475569}[data-theme=light] .pf-btn--ghost:hover{background:#0000000d;color:#1e293b}[data-theme=light] .pf-close-btn{color:#64748b}[data-theme=light] .pf-close-btn:hover{background:#0000000f;color:#1e293b}.pf-label-hint{font-size:.7rem;font-weight:400;letter-spacing:0;margin-left:.25rem;text-transform:none}.pf-field-hint,.pf-label-hint{color:#64748b;color:var(--color-text-tertiary,#64748b)}.pf-field-hint{font-size:.75rem;margin:0}.pf-image-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.pf-or{color:#64748b;color:var(--color-text-tertiary,#64748b);flex-shrink:0;font-size:.75rem;white-space:nowrap}.pf-input--inline{flex:1 1;min-width:140px}.pf-upload-btn{align-items:center;background:#6366f114;border:1px dashed #6366f173;border-radius:9px;color:#a5b4fc;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:.8rem;font-weight:600;gap:.4rem;padding:.55rem .9rem;transition:all .2s ease;white-space:nowrap}.pf-upload-btn:hover:not(:disabled){background:#6366f126;border-color:#6366f1b3;color:#c7d2fe}.pf-upload-btn--loading,.pf-upload-btn:disabled{cursor:not-allowed;opacity:.6}.pf-file-hidden{display:none}.pf-spinner{animation:pf-spin .7s linear infinite;border:2px solid #a5b4fc4d;border-radius:50%;border-top-color:#a5b4fc;display:inline-block;flex-shrink:0;height:14px;width:14px}@keyframes pf-spin{to{transform:rotate(1turn)}}.pf-image-preview-wrap{border:1px solid #ffffff1a;border-radius:10px;display:inline-block;max-width:100%;overflow:hidden;position:relative}.pf-image-preview{border-radius:10px;display:block;max-height:160px;object-fit:cover;width:100%}.pf-image-remove{align-items:center;background:#000000a6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:26px;justify-content:center;position:absolute;right:.4rem;top:.4rem;transition:background .2s ease;width:26px}.pf-image-remove:hover{background:#ef4444d9}.pf-screenshots-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.pf-screenshot-thumb{aspect-ratio:16/9;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;overflow:hidden;position:relative}.pf-screenshot-img{display:block;height:100%;object-fit:cover;width:100%}.pf-screenshot-remove{align-items:center;background:#000000b3;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;opacity:0;position:absolute;right:.25rem;top:.25rem;transition:background .2s ease;width:20px}.pf-screenshot-thumb:hover .pf-screenshot-remove{opacity:1}.pf-screenshot-remove:hover{background:#ef4444e6}[data-theme=light] .pf-upload-btn{background:#6366f112;border-color:#6366f159;color:#6366f1}[data-theme=light] .pf-upload-btn:hover:not(:disabled){background:#6366f11f;color:#4f46e5}[data-theme=light] .pf-image-preview-wrap{border-color:#0000001a}[data-theme=light] .pf-screenshot-thumb{border-color:#00000014}@media (max-width:600px){.pf-row--2{flex-direction:column}.pf-modal{max-height:95vh}.pf-scroll-body{padding:1.25rem}.pf-header{padding:1.25rem 1.25rem 1rem}.pf-footer{padding:.875rem 1.25rem 1.25rem}.pf-image-controls{align-items:stretch;flex-direction:column}.pf-input--inline{min-width:0}.pf-upload-btn{justify-content:center}}.skills-section{background:var(--color-bg);padding:var(--section-padding) 0;position:relative}.skills-container{margin:0 auto;max-width:var(--max-width);padding:0 var(--container-px);position:relative}.skills-title{color:var(--color-heading);font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:2.5rem;position:relative;text-align:left}.skills-manifest{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--card-radius);overflow:hidden}.skills-row{grid-gap:1.5rem;align-items:baseline;display:grid;gap:1.5rem;grid-template-columns:200px 1fr;padding:1.35rem 1.75rem}.skills-row+.skills-row{border-top:1px solid var(--color-border)}.skills-row-label{align-items:center;color:var(--color-text-muted);display:flex;font-family:var(--font-code);font-size:.8rem;font-weight:600;gap:.75rem;letter-spacing:.06em;text-transform:uppercase}.skills-row-items{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.skills-tag{align-items:center;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);display:inline-flex;font-size:.82rem;font-weight:500;gap:.4rem;padding:.3rem .7rem;transition:border-color .18s var(--ease-out),color .18s var(--ease-out),background .18s var(--ease-out)}.skills-tag:hover{background:var(--color-accent-1-light);border-color:var(--color-accent-1-medium);color:var(--color-accent-1)}.skills-tag-icon{color:var(--color-text-muted);display:inline-flex;font-size:1rem}.skills-tag:hover .skills-tag-icon{color:var(--color-accent-1)}@media (max-width:768px){.skills-row{gap:.75rem;grid-template-columns:1fr;padding:1.1rem 1.25rem}}@media (prefers-reduced-motion:reduce){.skills-tag{transition:none}}.contact-section{background:var(--color-bg);color:var(--color-text);overflow:hidden;padding:var(--section-padding) 0;position:relative}.contact-section:before{background:radial-gradient(circle at 20% 80%,var(--color-accent-2-light) 0,#0000 50%),radial-gradient(circle at 80% 20%,var(--color-accent-1-light) 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.contact-container{margin:0 auto;max-width:var(--max-width);padding:0 var(--container-px);position:relative;width:100%;z-index:1}.contact-heading{color:var(--color-heading);font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:2.5rem;position:relative;text-align:left}.contact-layout{grid-gap:2rem;align-items:start;display:grid;gap:2rem}@media (min-width:900px){.contact-layout{grid-template-columns:1fr 1.1fr}}.contact-panel{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--card-radius);overflow:hidden}.contact-row{align-items:center;color:inherit;display:flex;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none}.contact-row+.contact-row{border-top:1px solid var(--color-border)}.contact-row--link{cursor:pointer;transition:background-color .18s var(--ease-out)}.contact-row--link:hover{background:var(--color-accent-1-light)}.contact-row-body{display:flex;flex-direction:column;min-width:0}.contact-row-label{color:var(--color-text-muted);font-family:var(--font-code);font-size:.7rem;letter-spacing:.08em;margin-bottom:.25rem;text-transform:uppercase}.contact-row-value{color:var(--color-heading);font-size:.98rem;font-weight:600}.contact-row--link:hover .contact-row-value{color:var(--color-accent-1)}.contact-row-value--static{color:var(--color-text);font-weight:500}.contact-row-arrow{color:var(--color-text-faint);display:inline-flex;flex-shrink:0;margin-left:auto;opacity:0;transform:translate(-4px,4px);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out),color .18s var(--ease-out)}.contact-row--link:hover .contact-row-arrow{color:var(--color-accent-1);opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){.contact-row--link,.contact-row-arrow{transition:none}}.contact-form{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.form-heading{color:var(--color-heading);font-family:var(--font-heading);font-size:1.4rem;font-weight:700;margin-bottom:.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{color:var(--color-text-muted);font-family:var(--font-code);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.form-input,.form-textarea{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:.5rem;border-radius:var(--input-radius,.5rem);box-sizing:border-box;color:var(--color-heading);font-family:var(--font-body);font-size:.95rem;padding:.85rem 1rem;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;width:100%}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-faint)}.form-input:focus,.form-textarea:focus{background:var(--color-surface);border-color:var(--color-accent-1);box-shadow:0 0 0 3px var(--color-accent-1-light);outline:none}.form-textarea{min-height:120px;resize:vertical}.form-submit{align-items:center;background:var(--btn-primary-bg);border:none;border-radius:var(--btn-radius);box-shadow:var(--btn-primary-shadow);color:var(--btn-primary-text);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);gap:.5rem;height:var(--btn-h-md);justify-content:center;letter-spacing:var(--btn-letter-spacing);padding:0 var(--btn-px-md);transition:var(--btn-transition);width:100%}.form-submit:disabled{cursor:not-allowed;opacity:.55}.form-submit:hover:not(:disabled){box-shadow:var(--btn-primary-shadow-h);transform:translateY(-2px)}.form-submit:focus-visible{box-shadow:var(--btn-focus-ring)}.form-status{align-items:center;animation:statusArrive .42s cubic-bezier(0,0,.2,1) both;animation:statusArrive .42s var(--ease-out,cubic-bezier(0,0,.2,1)) both;border-radius:.5rem;border-radius:var(--input-radius,.5rem);display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:500;gap:.6rem;padding:.75rem 1rem}.form-status:before{animation:statusDotSettle .42s cubic-bezier(0,0,.2,1) both;animation:statusDotSettle .42s var(--ease-out,cubic-bezier(0,0,.2,1)) both;background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.form-status-tag{font-family:var(--font-code);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.form-status-link{color:currentColor;font-weight:600;text-decoration:underline;text-underline-offset:2px}.form-status-link:hover{opacity:.8}.form-success{background:var(--success-bg);border:1px solid var(--color-accent-1-medium);color:var(--color-success)}.form-error{background:var(--error-bg);border:1px solid var(--color-accent-2-medium);color:var(--color-error)}@keyframes statusArrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes statusDotSettle{0%{box-shadow:0 0 0 0 currentColor;opacity:.3}55%{box-shadow:0 0 0 5px #0000;opacity:1}to{box-shadow:0 0 0 0 #0000;opacity:1}}@media (max-width:768px){.contact-section{padding:4rem 1.25rem}.contact-row{padding:1rem 1.25rem}.contact-form{padding:1.5rem}.contact-heading{margin-bottom:2rem}}@media (max-width:480px){.contact-section{padding:4rem 1rem}}@media (prefers-reduced-motion:reduce){.form-input,.form-submit,.form-textarea{transition:none}}.side-nav{position:fixed;right:1.75rem;top:50%;transform:translateY(-50%);z-index:100;z-index:var(--z-nav,100)}.side-nav__track{align-items:center;display:flex;flex-direction:column;gap:1.35rem;position:relative}.side-nav__rail{background:var(--color-border-strong);bottom:14px;left:50%;overflow:hidden;position:absolute;top:14px;transform:translateX(-50%);width:1px}.side-nav__rail-fill{background:var(--color-accent-1);height:0;height:var(--nav-fill,0);left:0;position:absolute;top:0;transition:height .4s cubic-bezier(0,0,.2,1);transition:height .4s var(--ease-out,cubic-bezier(0,0,.2,1));width:100%}.side-nav__node{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;height:1.75rem;justify-content:center;padding:0;position:relative;width:1.75rem;z-index:1}.side-nav__node:focus-visible{border-radius:50%;outline:2px solid var(--accent);outline-offset:2px}.side-nav__node-dot{background:var(--color-bg);border:1.5px solid var(--color-text-faint);border-radius:50%;display:block;height:7px;position:relative;transition:width .2s cubic-bezier(0,0,.2,1),height .2s cubic-bezier(0,0,.2,1),border-color .2s cubic-bezier(0,0,.2,1),background .2s cubic-bezier(0,0,.2,1);transition:width .2s var(--ease-out,cubic-bezier(0,0,.2,1)),height .2s var(--ease-out,cubic-bezier(0,0,.2,1)),border-color .2s var(--ease-out,cubic-bezier(0,0,.2,1)),background .2s var(--ease-out,cubic-bezier(0,0,.2,1));width:7px}.side-nav__node:hover .side-nav__node-dot{border-color:var(--color-accent-1)}.side-nav__node.is-active .side-nav__node-dot{background:var(--color-accent-1);border-color:var(--color-accent-1);box-shadow:0 0 0 3px var(--color-accent-1-light);height:8px;width:8px}.side-nav__node-corner{height:12px;pointer-events:none;position:absolute;width:12px}.side-nav__node-corner--tl{border-left:1.5px solid var(--color-accent-1);border-top:1.5px solid var(--color-accent-1);left:-7px;top:-7px}.side-nav__node-corner--br{border-bottom:1.5px solid var(--color-accent-2);border-right:1.5px solid var(--color-accent-2);bottom:-7px;right:-7px}.side-nav__label{align-items:center;display:inline-flex;font-family:var(--font-code);font-size:.75rem;gap:.5rem;opacity:0;pointer-events:none;position:absolute;right:calc(100% + .9rem);top:50%;transform:translateY(-50%) translateX(6px);transition:opacity .15s cubic-bezier(0,0,.2,1),transform .15s cubic-bezier(0,0,.2,1);transition:opacity .15s var(--ease-out,cubic-bezier(0,0,.2,1)),transform .15s var(--ease-out,cubic-bezier(0,0,.2,1));white-space:nowrap}.side-nav__label.is-visible{opacity:1;transform:translateY(-50%) translateX(0)}.side-nav__label-index{color:var(--color-text-faint);font-weight:500}.side-nav__label.is-active .side-nav__label-index{color:var(--color-accent-1);font-weight:600}.side-nav__label-text{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--color-heading);font-weight:600;padding:.3rem .6rem}@media (max-width:768px){.side-nav{bottom:max(1.25rem,env(safe-area-inset-bottom,1.25rem));right:50%;top:auto;transform:translateX(50%)}.side-nav__track{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);background:var(--nav-bg);border:1px solid var(--nav-border);border-radius:var(--radius-full);box-shadow:var(--glass-shadow);flex-direction:row;gap:1.1rem;padding:.5rem .75rem}.side-nav__rail{bottom:auto;height:1px;left:.75rem;right:.75rem;top:50%;transform:translateY(-50%);width:auto}.side-nav__rail-fill{height:100%;transition:width .4s cubic-bezier(0,0,.2,1);transition:width .4s var(--ease-out,cubic-bezier(0,0,.2,1));width:0;width:var(--nav-fill,0)}.side-nav__label{bottom:calc(100% + .75rem);left:50%;right:auto;top:auto;transform:translateX(-50%) translateY(4px)}.side-nav__label.is-visible{transform:translateX(-50%) translateY(0)}}@media (max-width:1024px) and (min-width:769px){.side-nav{right:1rem}}@media (prefers-reduced-motion:reduce){.side-nav__label,.side-nav__node-dot,.side-nav__rail-fill{transition:none}}.theme-toggle{align-items:center;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);box-shadow:var(--shadow-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-code);font-size:.72rem;font-weight:600;gap:.5rem;height:2.25rem;letter-spacing:.08em;padding:0 .9rem;position:fixed;right:1.25rem;text-transform:uppercase;top:1.25rem;transition:background-color .2s cubic-bezier(0,0,.2,1),border-color .2s cubic-bezier(0,0,.2,1),box-shadow .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);transition:background-color .2s var(--ease-out,cubic-bezier(0,0,.2,1)),border-color .2s var(--ease-out,cubic-bezier(0,0,.2,1)),box-shadow .2s var(--ease-out,cubic-bezier(0,0,.2,1)),transform .2s var(--ease-out,cubic-bezier(0,0,.2,1));z-index:9999;z-index:var(--z-top,9999)}.theme-toggle:hover{border-color:var(--color-accent-1);box-shadow:var(--shadow-lg);color:var(--color-accent-1);transform:translateY(-2px)}.theme-toggle:active{transform:translateY(0) scale(.96)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-toggle-dot{background:var(--color-accent-1);border-radius:50%;box-shadow:0 0 6px rgba(var(--color-accent-1-rgb),.6);flex-shrink:0;height:6px;width:6px}.theme-toggle-label{min-width:2.6em;text-align:left}@media (max-width:768px){.theme-toggle{font-size:.68rem;height:2rem;padding:0 .7rem;right:.875rem;top:.875rem}}@media (prefers-reduced-motion:reduce){.theme-toggle{transition:none}}.admin-modal-backdrop{align-items:center;animation:admin-backdrop-in .2s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#000000bf;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}@keyframes admin-backdrop-in{0%{opacity:0}to{opacity:1}}.admin-modal-card{animation:admin-card-in .3s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(145deg,#ffffff12,#ffffff08);border:1px solid #ffffff1f;border-radius:20px;box-shadow:0 25px 60px #0009,inset 0 0 0 1px #ffffff0d,0 0 40px #6366f114;margin:1rem;max-width:440px;padding:2.5rem 2rem 1.75rem;position:relative;transition:box-shadow .3s ease;width:100%}@keyframes admin-card-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-modal-card.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{0%,to{transform:translateX(0)}15%{transform:translateX(-8px)}30%{transform:translateX(8px)}45%{transform:translateX(-6px)}60%{transform:translateX(6px)}75%{transform:translateX(-3px)}90%{transform:translateX(3px)}}.admin-modal-card.success{border-color:#34d39966;box-shadow:0 25px 60px #0009,0 0 30px #34d39933}.admin-modal-header{margin-bottom:2rem;text-align:center}.admin-modal-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:18px;box-shadow:0 8px 24px #6366f166;color:#fff;display:inline-flex;height:64px;justify-content:center;margin-bottom:1.25rem;width:64px}.admin-modal-title{color:#f1f5f9;color:var(--color-text-primary,#f1f5f9);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .4rem}.admin-modal-subtitle{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.875rem;margin:0}.admin-modal-form{display:flex;flex-direction:column;gap:1.25rem}.admin-input-group{display:flex;flex-direction:column;gap:.5rem}.admin-input-label{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.admin-input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;box-sizing:border-box;color:#f1f5f9;color:var(--color-text-primary,#f1f5f9);font-family:inherit;font-size:1rem;outline:none;padding:.8rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.admin-input:focus{border-color:#6366f1b3;box-shadow:0 0 0 3px #6366f133}.admin-input--error{border-color:#ef444499!important;box-shadow:0 0 0 3px #ef444426!important}.admin-input-error{align-items:center;color:#f87171;display:flex;font-size:.8rem;gap:.3rem;margin:0}.admin-success-banner{align-items:center;background:#34d3991f;border:1px solid #34d3994d;border-radius:8px;color:#34d399;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.6rem .9rem}.admin-modal-actions{display:flex;gap:.75rem}.admin-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-family:inherit;font-size:.9rem;font-weight:600;padding:.75rem 1.25rem;transition:all .2s ease}.admin-btn--primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 15px #6366f159;color:#fff}.admin-btn--primary:hover:not(:disabled){box-shadow:0 6px 20px #6366f180;transform:translateY(-1px)}.admin-btn--primary:disabled{cursor:not-allowed;opacity:.6}.admin-btn--ghost{background:#ffffff0f;border:1px solid #ffffff1a;color:#94a3b8;color:var(--color-text-secondary,#94a3b8)}.admin-btn--ghost:hover{background:#ffffff1a;color:#f1f5f9;color:var(--color-text-primary,#f1f5f9)}.admin-modal-hint{color:#64748b;color:var(--color-text-tertiary,#64748b);font-size:.75rem;margin:1.25rem 0 0;text-align:center}.admin-modal-hint kbd{background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;display:inline-block;font-family:monospace;font-size:.7rem;padding:.1em .4em}.admin-modal-close{align-items:center;background:#ffffff0f;border:none;border-radius:8px;color:#94a3b8;color:var(--color-text-secondary,#94a3b8);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:32px}.admin-modal-close:hover{background:#ffffff1f;color:#f1f5f9;color:var(--color-text-primary,#f1f5f9)}[data-theme=light] .admin-modal-card{background:linear-gradient(145deg,#ffffffeb,#f8fafcd9);border-color:#0000001a;box-shadow:0 25px 60px #00000026,0 0 40px #6366f10f}[data-theme=light] .admin-modal-title{color:#1e293b}[data-theme=light] .admin-modal-subtitle{color:#64748b}[data-theme=light] .admin-input{background:#0000000a;border-color:#0000001f;color:#1e293b}[data-theme=light] .admin-btn--ghost{border-color:#0000001f;color:#475569}[data-theme=light] .admin-btn--ghost:hover{background:#0000000f;color:#1e293b}[data-theme=light] .admin-modal-close{color:#64748b}[data-theme=light] .admin-modal-close:hover{background:#00000014;color:#1e293b}body,html{-ms-overflow-style:none;background:var(--color-bg);color:var(--color-text);scrollbar-width:none}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none}h1,h2,h3,h4,h5,h6{color:var(--color-heading)}p{color:var(--color-text)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.code,code{font-family:var(--font-code);font-weight:var(--fw-medium)}html{scroll-behavior:smooth}.app-container,.smooth-scroll-container{position:relative}.motion-optimized{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.enhanced-section,.motion-div,.profile-circle-decoration,.projects-card{will-change:transform,opacity}.animation-complete{will-change:auto}body,html{height:100%}#root,.App{min-height:100vh}.app-container,.app-root{min-height:100vh;position:relative;width:100%}.app-container{overflow-x:hidden}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.container{margin:0 auto;padding:0 var(--space-4);width:var(--content-width)}.section{background:var(--surface);border-bottom:1px solid var(--glass-border);padding:var(--section-spacing-md) 0}.section:last-child{border-bottom:none}.grid{grid-gap:var(--grid-gap);gap:var(--grid-gap);width:100%}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.section{padding:var(--section-spacing-sm) 0}}@media (max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.container{padding:0 var(--space-3)}}.text-center{text-align:center}.btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:25px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:var(--spacing-sm);justify-content:center;overflow:hidden;padding:.8rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn:hover:before{left:100%}.btn-primary{background:var(--button-bg);border:1px solid var(--button-border);box-shadow:var(--button-shadow);color:var(--button-text)}.btn-primary:hover{box-shadow:0 12px 40px #00d4ff4d;transform:translateY(-2px) scale(1.02)}.btn-outline{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border:2px solid var(--accent-primary);color:var(--accent-primary)}.btn-outline:hover{background:var(--accent-primary);box-shadow:0 8px 25px #00d4ff66;color:var(--primary-bg);transform:translateY(-2px)}.btn-ghost{background:#0000;border:1px solid var(--glass-border);color:var(--text-secondary)}.btn-ghost:hover{background:var(--glass-bg);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px)}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.glass,.glass-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-card{border-radius:16px;padding:2rem;transition:all .3s ease}.glass-card:hover{box-shadow:0 20px 60px #0006;transform:translateY(-4px)}.gradient-text{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.animate-float{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.btn-white{background:#fff;color:var(--color-accent-1)}.btn-white:hover{background:var(--color-surface);transform:translateY(-2px)}.card{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s ease}.card:hover{box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-4px)}.grid{grid-gap:2rem;display:grid;gap:2rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (min-width:768px){.md-grid-2{grid-template-columns:repeat(2,1fr)}.md-grid-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.lg-grid-3{grid-template-columns:repeat(3,1fr)}}.scroll-progress-bar{background:var(--gradient-radial);height:4px;left:0;position:fixed;top:0;z-index:1000}.main-liquid-nav{z-index:1001}.intro-neural-network{opacity:.8;pointer-events:auto}@media (max-width:768px){.app-container:after{content:"";display:block;height:6rem;height:calc(var(--section-padding, 4rem) + 2rem)}}.loading-fallback{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-family:var(--font-body);justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--glass-border);border:3px solid var(--glass-border);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-fallback p{font-size:16px;font-weight:500;margin:0;opacity:.8}.App{contain:layout style paint;will-change:scroll-position}.section{contain:layout style}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loading-spinner{animation:none;border-top-color:var(--primary-color)}}@media (max-width:768px){.section{padding:60px var(--spacing-lg)}.App{font-size:14px}.loading-fallback{min-height:300px}.loading-spinner{height:32px;width:32px}.loading-fallback p{font-size:14px}}@media (max-width:480px){.section{padding:40px 15px}.App{font-size:13px}.loading-fallback{min-height:250px}.loading-spinner{height:28px;width:28px}.loading-fallback p{font-size:13px}}
/*# sourceMappingURL=main.a5f5ef0d.css.map*/