@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Poppins:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap";:root{--paper:#fefefd;--paper-soft:#f4f4f2;--paper-warm:#eee9e4;--ink:#060606;--ink-soft:#2a2a2a;--muted:#76726e;--line:#dcdcdc;--teal:#52928e;--teal-soft:#86aeaa;--teal-pale:#b4d4d4;--teal-dim:#52928e1a;--teal-border:#52928e4d;--deep-green:#06322a;--warm-material:#b58961;--terracotta:#cc846c;--bg-primary:var(--paper);--bg-secondary:var(--paper-soft);--bg-card:#fff;--bg-glass:#f4f4f2cc;--border-subtle:var(--line);--border-accent:var(--teal-border);--accent-teal:var(--teal);--accent-teal-light:var(--teal-soft);--accent-teal-dim:var(--teal-dim);--accent-gold:var(--warm-material);--accent-purple:#7b6eaa;--accent-coral:var(--terracotta);--text-primary:var(--ink);--text-secondary:var(--ink-soft);--text-muted:var(--muted);--condensed:"Barlow Condensed", "Oswald", sans-serif;--sans:"Poppins", "Inter", sans-serif;--mono:"JetBrains Mono", monospace;--shadow-card:0 4px 24px #06060612;--shadow-lift:0 12px 40px #0606061a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--sans);background:linear-gradient(#52928e09 1px, transparent 1px), linear-gradient(90deg, #52928e09 1px, transparent 1px), var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-size:48px 48px;line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--paper-soft)}::-webkit-scrollbar-thumb{background:var(--teal);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--teal-soft)}::selection{background:var(--teal);color:var(--paper)}h1,h2,h3,h4,h5,h6{font-family:var(--condensed);letter-spacing:-.01em;color:var(--ink);text-transform:uppercase;font-weight:800;line-height:1.1}p,li,span,label,input,textarea,button{font-family:var(--sans)}.section{padding:120px 0;position:relative}.container{max-width:1280px;margin:0 auto;padding:0 48px}@media (max-width:768px){.container{padding:0 20px}.section{padding:80px 0}}.section-label{font-family:var(--condensed);letter-spacing:.25em;text-transform:uppercase;color:var(--teal);align-items:center;gap:10px;margin-bottom:10px;font-size:.72rem;font-weight:700;display:flex}.section-label:before{content:"";background:var(--teal);width:28px;height:2px;display:block}.section-title{font-family:var(--condensed);color:var(--ink);text-transform:uppercase;letter-spacing:.01em;margin-bottom:8px;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:900}.section-title span{color:var(--teal)}.section-subtitle{font-family:var(--sans);color:var(--ink-soft);max-width:600px;font-size:1rem;font-weight:400;line-height:1.75}.section-number{font-family:var(--condensed);color:var(--teal);opacity:.1;letter-spacing:-.04em;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:clamp(5rem,12vw,10rem);font-weight:900;line-height:1}.divider{background:var(--line);height:1px;margin:0}.divider-teal{background:var(--teal);width:60px;height:2px;margin:16px 0}.glass-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;transition:border-color .3s,box-shadow .3s,transform .3s}.glass-card:hover{border-color:var(--teal-border);box-shadow:var(--shadow-lift);transform:translateY(-4px)}.blueprint-grid{pointer-events:none;background-image:linear-gradient(#52928e0a 1px,#0000 1px),linear-gradient(90deg,#52928e0a 1px,#0000 1px);background-size:48px 48px;position:absolute;top:0;bottom:0;left:0;right:0}.mono-badge{font-family:var(--mono);color:var(--teal);border:1px solid var(--teal-border);white-space:nowrap;letter-spacing:.04em;background:#52928e14;border-radius:3px;padding:3px 9px;font-size:.68rem}.gradient-text{color:var(--teal)}.btn{border-radius:var(--radius-md);font-family:var(--sans);letter-spacing:.03em;cursor:pointer;text-transform:uppercase;align-items:center;gap:8px;padding:13px 28px;font-size:.875rem;font-weight:600;transition:all .25s;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.btn-primary:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-2px);box-shadow:0 8px 24px #52928e40}.btn-outline{color:var(--ink);border:1px solid var(--teal);background:0 0}.btn-outline:hover{background:var(--teal);color:var(--paper);transform:translateY(-2px)}.btn-ghost{color:var(--teal);border:1px solid var(--teal-border);background:0 0}.btn-ghost:hover{background:var(--teal-dim);border-color:var(--teal);transform:translateY(-2px)}.cursor-spotlight{pointer-events:none;z-index:1;background:radial-gradient(circle,#52928e0a 0%,#0000 70%);border-radius:50%;width:300px;height:300px;transition:transform 80ms;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-ring{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes tealLineGrow{0%{opacity:0;width:0}to{opacity:1;width:60px}}.grid-2{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}@media (max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}#about,#technical-proficiency,#areas-of-mastery,#featured-projects,#visual-archive,#contact{content-visibility:auto;contain-intrinsic-size:auto 800px}.lightbox,.image-lightbox,.gallery-lightbox{content-visibility:visible!important;contain-intrinsic-size:auto!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[style*=transition]{transition:none!important}}@media (max-width:768px){.glass-card:hover{transform:none}.hero-portrait img{transition:none}main{-webkit-overflow-scrolling:touch}}header{will-change:background, backdrop-filter}
