@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Outfit:wght@500;600;700;800&display=swap";:root{--color-paper:oklch(14% .015 250);--color-paper-subtle:oklch(17% .018 250);--color-paper-elevated:oklch(21% .02 250);--color-paper-card:oklch(19% .018 250);--color-paper-border:oklch(28% .025 250);--color-paper-border-hover:oklch(38% .035 250);--color-text:oklch(96% .005 250);--color-text-secondary:oklch(78% .01 250);--color-text-muted:oklch(58% .01 250);--color-text-dim:oklch(42% .01 250);--color-accent:oklch(75% .17 160);--color-accent-hover:oklch(80% .18 160);--color-accent-subtle:oklch(22% .06 160);--color-accent-border:oklch(35% .09 160);--color-accent-alt:oklch(72% .15 220);--color-success:oklch(75% .17 160);--color-error:oklch(65% .2 25);--color-warning:oklch(78% .16 75);--color-focus:oklch(75% .17 160);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--font-display:"Outfit", "Inter", -apple-system, sans-serif;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.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;--space-20:5rem;--space-24:6rem;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:9999px;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 12px 28px #0006;--shadow-glow:0 0 20px oklch(75% .17 160/.15);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.15s var(--ease-out-expo);--transition-normal:.25s var(--ease-out-expo);--transition-slow:.4s var(--ease-out-expo);--max-width-content:1120px;--max-width-narrow:768px;--header-height:4.5rem}[data-theme=light]{--color-paper:oklch(98% .005 250);--color-paper-subtle:oklch(95% .008 250);--color-paper-elevated:oklch(100% 0 0);--color-paper-card:oklch(96% .005 250);--color-paper-border:oklch(88% .01 250);--color-paper-border-hover:oklch(75% .02 250);--color-text:oklch(18% .015 250);--color-text-secondary:oklch(35% .015 250);--color-text-muted:oklch(50% .01 250);--color-text-dim:oklch(68% .01 250);--color-accent:oklch(55% .18 160);--color-accent-hover:oklch(48% .19 160);--color-accent-subtle:oklch(92% .05 160);--color-accent-border:oklch(75% .1 160)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-paper);width:100%;max-width:100%;color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;overflow-x:clip}body{background-color:var(--color-paper);width:100%;max-width:100%;color:var(--color-text);min-height:100vh;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);font-style:normal;font-weight:var(--font-weight-bold);letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0;line-height:1.2}h1{font-size:clamp(2.5rem,6vw,4.5rem)}h2{font-size:clamp(1.8rem,4vw,2.75rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}h4{font-size:1.15rem}p{color:var(--color-text-secondary);line-height:1.7}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-paper)}::-webkit-scrollbar-thumb{background:var(--color-paper-border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-paper-border-hover)}::selection{background:var(--color-accent-subtle);color:var(--color-accent)}.no-scroll{overflow:hidden!important}.subtle-grid-bg{z-index:-2;pointer-events:none;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px);background-size:50px 50px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 35%,#000 40%,#0000 90%);mask-image:radial-gradient(circle at 50% 35%,#000 40%,#0000 90%)}.ambient-blob{-webkit-filter:blur(100px);opacity:.28;pointer-events:none;z-index:-3;will-change:transform, left, top;border-radius:50%;width:45vw;min-width:380px;height:45vw;min-height:380px;animation:18s ease-in-out infinite alternate float-blob;position:fixed}.blob-emerald{background:radial-gradient(circle,#10b981 0%,#059669 60%,#0000 100%);animation-duration:20s;top:10%;left:15%}.blob-cyan{background:radial-gradient(circle,#06b6d4 0%,#0284c7 60%,#0000 100%);animation-duration:24s;animation-delay:-5s;top:55%;right:10%}.blob-indigo{opacity:.22;background:radial-gradient(circle,#6366f1 0%,#4f46e5 60%,#0000 100%);width:35vw;height:35vw;animation-duration:22s;animation-delay:-10s;bottom:5%;left:30%}@keyframes float-blob{0%{transform:translate(0)scale(1)}33%{transform:translate(60px,-40px)scale(1.1)}66%{transform:translate(-40px,50px)scale(.95)}to{transform:translate(30px,-20px)scale(1.05)}}.cursor-spotlight{pointer-events:none;z-index:-1;background:radial-gradient(circle,#10b9812e 0%,#06b6d40f 40%,#0000 70%);border-radius:50%;width:600px;height:600px;transition:opacity .4s;position:fixed;transform:translate(-50%,-50%)}.scroll-progress-bar{transform-origin:0%;z-index:1000;background:linear-gradient(90deg,#10b981,#06b6d4,#6366f1);height:3.5px;position:fixed;top:0;left:0;right:0;box-shadow:0 0 12px #10b981cc}.pulse-indicator{display:inline-flex;position:relative}.pulse-indicator:after{content:"";border-radius:inherit;border:2px solid var(--color-accent);opacity:.8;animation:2s cubic-bezier(.16,1,.3,1) infinite pulse-ring;position:absolute;inset:-4px}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.95)}to{opacity:0;transform:scale(2.2)}}#loading-overlay{z-index:9999;background:#090d16;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.loader-glow-orb{filter:blur(60px);background:radial-gradient(circle,#10b98140 0%,#06b6d41a 50%,#0000 80%);border-radius:50%;width:400px;height:400px;animation:6s ease-in-out infinite alternate float-blob;position:absolute}.loader-lottie-box{z-index:2;margin-bottom:-1rem;position:relative}.loader-status-container{z-index:2;flex-direction:column;align-items:center;width:100%;max-width:320px;display:flex;position:relative}.loader-percentage{font-family:var(--font-display);background:linear-gradient(135deg,#10b981,#06b6d4,#818cf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:baseline;gap:2px;margin-bottom:.75rem;font-size:2.5rem;font-weight:800;display:flex}.loader-percentage .percent-sign{font-size:1.25rem;font-weight:600}.loader-bar-outer{background:#ffffff14;border-radius:999px;width:100%;height:4px;position:relative;overflow:hidden}.loader-bar-inner{background:linear-gradient(90deg,#10b981,#06b6d4,#6366f1);border-radius:999px;height:100%;transition:width .1s linear;box-shadow:0 0 10px #10b981cc}.loader-status-text{letter-spacing:.15em;color:#fff9;text-transform:uppercase;margin-top:.75rem;font-family:JetBrains Mono,monospace;font-size:.75rem}body.custom-cursor-active,body.custom-cursor-active a,body.custom-cursor-active button,body.custom-cursor-active [role=button]{cursor:none!important}body.custom-cursor-active input,body.custom-cursor-active textarea,body.custom-cursor-active [contenteditable=true]{cursor:text!important}.custom-cursor-dot{pointer-events:none;z-index:10000;background-color:#10b981;border-radius:50%;width:8px;height:8px;position:fixed;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 0 10px #10b981cc}.custom-cursor-ring{pointer-events:none;z-index:9999;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border:1.5px solid #10b98199;border-radius:50%;width:36px;height:36px;transition:border-color .2s,background-color .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor-ring.hovered{background-color:#06b6d41f;border-color:#06b6d4;box-shadow:0 0 20px #06b6d466}.custom-cursor-ring.text-mode{background-color:#818cf814;border-color:#818cf8}.custom-cursor-ring.clicked{background-color:#10b98140;border-color:#10b981}.tilt-card-container{width:100%;height:100%;display:block}.tilt-card-wrapper{border-radius:inherit;will-change:transform;width:100%;height:100%;position:relative}.tilt-card-glare{border-radius:inherit;pointer-events:none;z-index:10;transition:opacity .2s;position:absolute;inset:0}.ripple-container{justify-content:center;align-items:center;display:inline-flex}.ripple-span{pointer-events:none;border-radius:50%;animation:.65s linear ripple-anim;position:absolute;transform:scale(0)}@keyframes ripple-anim{to{opacity:0;transform:scale(1)}}.animated-text-wrapper{flex-wrap:wrap;align-items:baseline;max-width:100%;display:inline-flex}.gradient-text{background:linear-gradient(135deg,#34d399 0%,#38bdf8 50%,#818cf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.liquid-underline{position:relative}.liquid-underline:after{content:"";transform-origin:100%;background:linear-gradient(90deg,#10b981,#06b6d4);width:100%;height:2px;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.liquid-underline:hover:after{transform-origin:0;transform:scaleX(1)}.nav-floating-container{top:var(--space-4);width:min(92%, var(--max-width-content));height:var(--header-height);padding:0 var(--space-6);z-index:500;-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-paper-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);transition:border-color var(--transition-normal), box-shadow var(--transition-normal);background-color:oklch(19% .018 250/.85);justify-content:space-between;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.nav-floating-container:hover{border-color:var(--color-paper-border-hover)}.nav-brand{font-family:var(--font-display);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:-.02em;align-items:center;gap:var(--space-2);font-size:1.1rem;display:flex}.nav-brand-dot{background-color:var(--color-accent);border-radius:var(--radius-pill);width:8px;height:8px;box-shadow:0 0 10px var(--color-accent)}.nav-links-desktop{align-items:center;gap:var(--space-6);display:flex}.nav-link-item{font-size:.9rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);transition:color var(--transition-fast), background-color var(--transition-fast)}.nav-link-item:hover,.nav-link-item.active{color:var(--color-text)}.nav-active-spring-indicator{border-radius:var(--radius-pill);z-index:-1;background-color:#10b98126;border:1px solid #10b98159;position:absolute;inset:0;box-shadow:0 0 12px #10b98140}.nav-right-actions{align-items:center;gap:var(--space-3);display:flex}.btn-cv-pill{font-family:var(--font-sans);font-size:.85rem;font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background-color:var(--color-accent-subtle);color:var(--color-accent);border:1px solid var(--color-accent-border);cursor:pointer;transition:all var(--transition-fast);display:inline-flex}.btn-cv-pill:hover{background-color:var(--color-accent);color:oklch(12% .015 250);border-color:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn-cv-pill:active{transform:scale(.97)}.nav-mobile-toggle{border:1px solid var(--color-paper-border);border-radius:var(--radius-pill);width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:none}.nav-mobile-toggle:hover{border-color:var(--color-text-muted)}.nav-mobile-drawer{top:calc(var(--space-4) + var(--header-height) + var(--space-2));width:min(92%, var(--max-width-narrow));background-color:var(--color-paper-elevated);border:1px solid var(--color-paper-border);border-radius:var(--radius-xl);padding:var(--space-4);z-index:499;box-shadow:var(--shadow-lg);gap:var(--space-2);flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.nav-mobile-drawer a{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.nav-mobile-drawer a:hover{background-color:var(--color-paper-subtle);color:var(--color-text)}@media (width<=768px){.nav-links-desktop{display:none}.nav-mobile-toggle{display:flex}}.hero-workbench{min-height:90vh;padding:calc(var(--header-height) + var(--space-12)) var(--space-6) var(--space-12);width:min(100%, var(--max-width-content));justify-content:center;align-items:center;margin:0 auto;display:flex}.hero-workbench-grid{gap:var(--space-12);grid-template-columns:1.2fr .8fr;align-items:center;width:100%;display:grid}.hero-meta-badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background-color:var(--color-paper-subtle);border:1px solid var(--color-paper-border);border-radius:var(--radius-pill);font-family:var(--font-mono);color:var(--color-accent);margin-bottom:var(--space-4);font-size:.8rem;display:inline-flex}.hero-status-dot{border-radius:var(--radius-pill);background-color:var(--color-accent);width:6px;height:6px;box-shadow:0 0 6px var(--color-accent)}.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-4);letter-spacing:-.03em;line-height:1.15}.hero-title-highlight{color:var(--color-accent)}.hero-subtitle{color:var(--color-text-secondary);max-width:580px;margin-bottom:var(--space-8);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.7}.hero-cta-group{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.btn-primary-tactile{font-family:var(--font-sans);font-size:.95rem;font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);background-color:var(--color-accent);color:oklch(12% .015 250);border:1px solid var(--color-accent-hover);cursor:pointer;transition:all var(--transition-fast);display:inline-flex}.btn-primary-tactile:hover{background-color:var(--color-accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary-tactile:active{transform:translateY(0)scale(.98)}.btn-secondary-tactile{font-family:var(--font-sans);font-size:.95rem;font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);background-color:var(--color-paper-card);color:var(--color-text);border:1px solid var(--color-paper-border);cursor:pointer;transition:all var(--transition-fast);display:inline-flex}.btn-secondary-tactile:hover{background-color:var(--color-paper-elevated);border-color:var(--color-paper-border-hover);transform:translateY(-2px)}.btn-secondary-tactile:active{transform:translateY(0)scale(.98)}.hero-visual-card{background-color:var(--color-paper-card);border:1px solid var(--color-paper-border);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-md);transition:border-color var(--transition-normal);flex-direction:column;align-items:center;display:flex;position:relative}.hero-visual-card:hover{border-color:var(--color-paper-border-hover)}.hero-avatar-wrapper{border-radius:var(--radius-lg);border:2px solid var(--color-paper-border);width:220px;height:220px;margin-bottom:var(--space-4);overflow:hidden}.hero-avatar-img{object-fit:cover;width:100%;height:100%}.hero-visual-info{gap:var(--space-1);flex-direction:column;display:flex}.hero-visual-name{font-family:var(--font-display);font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-text)}.hero-visual-role{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.85rem}@media (width<=900px){.hero-workbench-grid{gap:var(--space-8);text-align:center;grid-template-columns:1fr}.hero-subtitle{margin:0 auto var(--space-8)}.hero-cta-group{justify-content:center}}.about-section{padding:var(--space-16) var(--space-6);width:min(100%, var(--max-width-content));margin:0 auto}.section-header{text-align:center;margin-bottom:var(--space-10)}.section-header h2{color:var(--color-text);margin-bottom:var(--space-2);font-size:clamp(2rem,4vw,2.75rem)}.section-header p{color:var(--color-text-secondary);font-size:1rem}.terminal-window{background-color:var(--color-paper-elevated);border:1px solid var(--color-paper-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:var(--max-width-narrow);margin:0 auto;overflow:hidden}.terminal-header{background-color:var(--color-paper-subtle);border-bottom:1px solid var(--color-paper-border);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);display:flex}.terminal-dot{border-radius:var(--radius-pill);width:10px;height:10px}.dot-red{background-color:oklch(62% .22 25)}.dot-yellow{background-color:oklch(80% .18 85)}.dot-green{background-color:oklch(72% .18 150)}.terminal-title{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.8rem}.terminal-body{padding:var(--space-6);font-family:var(--font-mono);font-size:.9rem;line-height:1.7}.terminal-line{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.prompt{color:var(--color-accent);font-weight:var(--font-weight-bold)}.command{color:var(--color-text);font-weight:var(--font-weight-medium)}.terminal-output{margin-left:var(--space-4);margin-bottom:var(--space-6);color:var(--color-text-secondary)}.terminal-output .highlight{color:var(--color-text);font-weight:var(--font-weight-semibold)}.terminal-output .dim{color:var(--color-text-dim)}.terminal-output.text-green{color:var(--color-accent)}.indent{padding-left:var(--space-4)}.skills-section{padding:var(--space-16) var(--space-6);width:min(100%, var(--max-width-content));margin:0 auto}.skills-wrapper{gap:var(--space-10);flex-direction:column;display:flex}.skills-group-title{font-family:var(--font-mono);font-size:.85rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.skills-group-title:after{content:"";background-color:var(--color-paper-border);flex:1;height:1px}.skills-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-items:stretch;display:grid}.skill-card{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-3);background-color:var(--color-paper-card);border:1px solid var(--color-paper-border);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:default;box-sizing:border-box;flex-direction:column;width:100%;height:100%;min-height:115px;display:flex}.skill-card:hover{background-color:var(--color-paper-elevated);border-color:var(--color-paper-border-hover);box-shadow:var(--shadow-md);transform:translateY(-3px)}.skill-icon{transition:transform var(--transition-fast);font-size:2rem}.skill-card:hover .skill-icon{transform:scale(1.1)}.skill-label{font-family:var(--font-sans);font-size:.85rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center}.skill-card:hover .skill-label{color:var(--color-text)}.experience-section{padding:var(--space-16) var(--space-6);width:min(100%, var(--max-width-content));margin:0 auto}.experience-card{background-color:var(--color-paper-card);border:1px solid var(--color-paper-border);border-radius:var(--radius-lg);padding:var(--space-8);transition:border-color var(--transition-normal), box-shadow var(--transition-normal)}.experience-card:hover{border-color:var(--color-paper-border-hover);box-shadow:var(--shadow-md)}.experience-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.experience-company-title{gap:var(--space-1);flex-direction:column;display:flex}.company-link{font-family:var(--font-display);font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-text);align-items:center;gap:var(--space-2);display:inline-flex}.company-link:hover{color:var(--color-accent)}.role-badge{font-family:var(--font-mono);color:var(--color-accent);font-size:.9rem}.experience-date{font-family:var(--font-mono);padding:var(--space-1) var(--space-3);background-color:var(--color-paper-subtle);border:1px solid var(--color-paper-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:.85rem}.experience-bullet-list{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;padding:0;list-style:none;display:flex}.experience-bullet-list li{padding-left:var(--space-5);color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;position:relative}.experience-bullet-list li:before{content:"→";color:var(--color-accent);font-family:var(--font-mono);position:absolute;left:0}.experience-bullet-list strong{color:var(--color-text)}.experience-location{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.85rem;display:flex}.projects-section{padding:var(--space-16) var(--space-6);width:min(100%, var(--max-width-content));margin:0 auto}.showcase-card{background-color:var(--color-paper-card);border:1px solid var(--color-paper-border);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-12);transition:border-color var(--transition-normal)}.showcase-card:hover{border-color:var(--color-paper-border-hover)}.showcase-grid{gap:var(--space-8);grid-template-columns:1fr 1fr;align-items:center;display:grid}.showcase-info{gap:var(--space-4);flex-direction:column;display:flex}.project-badge-pill{padding:var(--space-1) var(--space-3);background-color:var(--color-accent-subtle);border:1px solid var(--color-accent-border);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-accent);align-self:flex-start;display:inline-flex}.showcase-title{color:var(--color-text);font-size:clamp(1.75rem,3vw,2.25rem)}.showcase-description{color:var(--color-text-secondary);line-height:1.7}.showcase-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.tech-tag{font-family:var(--font-mono);padding:var(--space-1) var(--space-3);background-color:var(--color-paper-subtle);border:1px solid var(--color-paper-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.8rem}.showcase-media-figure{border:1px solid var(--color-paper-border);border-radius:var(--radius-lg);background-color:var(--color-paper);margin:0;overflow:hidden}.showcase-media-img{object-fit:cover;width:100%;height:auto;display:block}.projects-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.project-grid-card{background-color:var(--color-paper-card);border:1px solid var(--color-paper-border);border-radius:var(--radius-lg);padding:var(--space-6);justify-content:space-between;gap:var(--space-4);transition:all var(--transition-fast);flex-direction:column;display:flex}.project-grid-card:hover{background-color:var(--color-paper-elevated);border-color:var(--color-paper-border-hover);box-shadow:var(--shadow-md);transform:translateY(-4px)}.project-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.project-card-title{font-size:1.2rem;font-weight:var(--font-weight-bold);color:var(--color-text)}.project-card-link{color:var(--color-text-muted);transition:color var(--transition-fast);font-size:1.1rem}.project-card-link:hover{color:var(--color-accent)}.project-card-desc{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6}.project-card-footer{gap:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}@media (width<=850px){.showcase-grid{grid-template-columns:1fr}}.contact-section{padding:var(--space-16) var(--space-6);width:min(100%, var(--max-width-content));margin:0 auto}.contact-grid{gap:var(--space-8);grid-template-columns:1fr 1fr;align-items:start;display:grid}.contact-card{background-color:var(--color-paper-card);border:1px solid var(--color-paper-border);border-radius:var(--radius-xl);padding:var(--space-8);gap:var(--space-6);flex-direction:column;display:flex}.contact-card-title{color:var(--color-text);margin-bottom:var(--space-2);font-size:1.5rem}.contact-card-text{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.email-box{background-color:var(--color-paper-subtle);border:1px solid var(--color-paper-border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.email-box-label{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.05em;font-size:.75rem}.email-box-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.email-address{font-family:var(--font-mono);color:var(--color-text);word-break:break-all;font-size:.95rem}.btn-copy-pill{font-family:var(--font-sans);font-size:.8rem;font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background-color:var(--color-accent-subtle);color:var(--color-accent);border:1px solid var(--color-accent-border);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;display:inline-flex}.btn-copy-pill:hover{background-color:var(--color-accent);color:oklch(12% .015 250)}.socials-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.social-pill-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-paper-subtle);border:1px solid var(--color-paper-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.9rem;font-weight:var(--font-weight-medium);transition:all var(--transition-fast);display:flex}.social-pill-link:hover{background-color:var(--color-paper-elevated);border-color:var(--color-paper-border-hover);color:var(--color-text);transform:translateY(-2px)}.contact-form{gap:var(--space-4);flex-direction:column;display:flex}.form-field{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:.85rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-input,.form-textarea{font-family:var(--font-sans);padding:var(--space-3) var(--space-4);background-color:var(--color-paper-subtle);border:1px solid var(--color-paper-border);border-radius:var(--radius-md);color:var(--color-text);z-index:5;transition:border-color var(--transition-fast), background-color var(--transition-fast);font-size:.95rem;position:relative;cursor:text!important;pointer-events:auto!important}.form-input:hover,.form-textarea:hover{border-color:var(--color-paper-border-hover)}.form-input:focus-visible,.form-textarea:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-focus)}.form-textarea{resize:vertical;min-height:110px}.form-status-msg{padding:var(--space-3);border-radius:var(--radius-md);font-size:.85rem}.form-status-msg.success{color:var(--color-success);border:1px solid var(--color-accent-border);background-color:oklch(22% .06 160)}.form-status-msg.error{color:var(--color-error);background-color:oklch(20% .08 25);border:1px solid oklch(40% .12 25)}@media (width<=850px){.contact-grid{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--color-paper-border);padding:var(--space-12) var(--space-6) var(--space-8);background-color:var(--color-paper-subtle);margin-top:var(--space-16)}.footer-content{width:min(100%, var(--max-width-content));gap:var(--space-8);flex-direction:column;margin:0 auto;display:flex}.footer-top-row{justify-content:space-between;align-items:flex-start;gap:var(--space-8);flex-wrap:wrap;display:flex}.footer-statement{max-width:450px}.footer-brand-title{font-family:var(--font-display);font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2)}.footer-statement-text{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6}.footer-nav-col{gap:var(--space-8);flex-wrap:wrap;display:flex}.footer-nav-group{gap:var(--space-2);flex-direction:column;display:flex}.footer-group-title{font-family:var(--font-mono);font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.footer-nav-group a{color:var(--color-text-secondary);font-size:.9rem}.footer-nav-group a:hover{color:var(--color-accent)}.footer-bottom-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-paper-border);color:var(--color-text-dim);flex-wrap:wrap;font-size:.85rem;display:flex}
