*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg{max-width:100%;display:block}a{text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.25,.8,.25,1)}html{scroll-behavior:smooth}:root{--bg-base: #050608;--text-main: #ffffff;--text-muted: #9ca3af;--text-light: #ffffff;--primary: #FFC107;--primary-glow: rgba(255, 193, 7, .15);--primary-border: rgba(255, 193, 7, .3);--secondary: #FFD54F;--gradient-bg: radial-gradient(circle at 50% 0%, #1a1500 0%, #050608 60%);--gradient-card: linear-gradient(180deg, rgba(255, 255, 255, .03) 0%, rgba(255, 255, 255, .01) 100%);--gradient-card-hover: linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .02) 100%);--grid-max: 1440px;--radius-lg: 32px;--radius-md: 20px;--radius-sm: 12px;--header-height: 80px;--glass-blur: blur(24px);--border-light: rgba(255, 255, 255, .08);--border-hover: rgba(255, 193, 7, .4);--shadow-card: 0 20px 40px -10px rgba(0, 0, 0, .5);--shadow-hover: 0 20px 40px -5px rgba(0, 0, 0, .7)}body{font-family:Space Grotesk,system-ui,sans-serif;background:var(--bg-base);background-image:var(--gradient-bg);background-attachment:fixed;color:var(--text-main);line-height:1.5;min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 50%,rgba(255,193,7,.05),transparent 60%),radial-gradient(circle at 80% 20%,rgba(5,6,8,.8),transparent 50%);z-index:-1;pointer-events:none;animation:bg-shift 20s ease-in-out infinite alternate}@keyframes bg-shift{0%{transform:translate(0)}to{transform:translate(-3%,-3%)}}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.1}.display-text{font-size:clamp(3.5rem,8vw,6rem);background:linear-gradient(180deg,#fff,#aaa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1.5rem}.section-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}.lead{font-size:clamp(1.1rem,1.5vw,1.35rem);color:var(--text-muted);font-weight:300;max-width:40ch}.container{max-width:var(--grid-max);margin:0 auto;padding:0 clamp(20px,4vw,40px)}header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-height);display:flex;align-items:center;background:#05060899;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)}.nav-wrapper{display:flex;justify-content:space-between;align-items:center;width:100%}.brand{font-size:1.5rem;font-weight:800}.brand span{color:var(--primary)}.nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.nav-links a{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.nav-links a:hover{color:var(--primary)}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#050608f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translateY(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1);opacity:0;pointer-events:none}.mobile-overlay.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-menu-list{list-style:none;padding:0;margin:0;text-align:center;display:flex;flex-direction:column;gap:2rem}.mobile-menu-list a{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:var(--text-main);transition:color .2s}.mobile-menu-list a:hover{color:var(--primary)}.mobile-close{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:12px}.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding:120px 0 60px}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.span-9{grid-column:span 9}.span-7{grid-column:span 7}.span-5{grid-column:span 5}@media (max-width: 1024px){.span-9,.span-8,.span-7,.span-5,.span-4{grid-column:span 6}}@media (max-width: 768px){.span-9,.span-8,.span-7,.span-6,.span-5,.span-4,.span-3{grid-column:span 12}.bento-grid{gap:16px;padding-top:100px}.display-text{font-size:3rem}}.bento-card{background:var(--gradient-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:clamp(24px,3vw,48px);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-card);display:flex;flex-direction:column}.bento-card:hover{transform:translateY(-6px);border-color:var(--border-hover);background:var(--gradient-card-hover);box-shadow:var(--shadow-hover);z-index:2}.bento-card{opacity:0;animation:fadeUp .6s ease-out forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.bento-card:nth-child(1){animation-delay:.1s}.bento-card:nth-child(2){animation-delay:.2s}.bento-card:nth-child(3){animation-delay:.3s}.bento-card:nth-child(4){animation-delay:.4s}.bento-card:nth-child(5){animation-delay:.5s}.bento-card:nth-child(6){animation-delay:.6s}.bento-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.card-hero{min-height:500px;color:#fff}.card-dark .exp-meta{color:#ffffffb3}.card-primary{background:linear-gradient(135deg,var(--primary) 0%,#e6a800 100%);color:#000;border:none}.card-primary .lead,.card-primary h2{color:#000}.stat-number{font-size:4rem;font-weight:800;color:var(--primary);line-height:1;margin-bottom:.5rem}.stat-label{font-size:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.skill-cloud{display:flex;flex-wrap:wrap;gap:12px}.skill-pill{padding:10px 20px;border-radius:100px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);font-weight:600;transition:all .2s}.skill-pill:hover{background:var(--primary);color:#000;border-color:var(--primary)}.btn{display:inline-flex;align-items:center;padding:16px 32px;border-radius:100px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;cursor:pointer;transition:all .3s ease}.btn-primary{background:var(--primary);color:#000;border:none}.btn-primary:hover{background:#fff;box-shadow:0 0 20px #fff6}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff}.btn-outline:hover{border-color:#fff;background:#ffffff0d}.mobile-toggle{display:none}@media (max-width: 768px){.nav-links{display:flex}.mobile-toggle{display:none}}.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 768px){.tech-grid{display:flex;overflow-x:auto;gap:1rem;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.tech-category{min-width:260px;scroll-snap-align:start;flex-shrink:0}.tech-stack-card{order:1}#contact{order:2}}.tech-category{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-sm);padding:1.25rem;transition:all .3s ease}.tech-category:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translateY(-2px)}.tech-category h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.experience-list{display:flex;flex-direction:column;gap:1.5rem}.experience-card{position:relative;padding-left:2rem;border-left:2px solid rgba(255,255,255,.1);transition:all .3s ease}.experience-card:hover{border-left-color:var(--primary)}.experience-card:before{content:"";position:absolute;left:-5px;top:0;width:8px;height:8px;border-radius:50%;background:var(--bg-dark);border:2px solid rgba(255,255,255,.3);transition:all .3s ease}.experience-card:hover:before{border-color:var(--primary);background:var(--primary);box-shadow:0 0 10px var(--primary)}.exp-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.exp-title{font-size:1.35rem;font-weight:700;color:var(--text-main)}.exp-company{color:var(--primary);font-weight:600}.exp-meta{font-size:.9rem;color:var(--text-muted);font-family:monospace;opacity:.8}.exp-desc{font-size:1rem;color:#b0b0b0;line-height:1.6;margin-top:.75rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-in{animation:float 6s ease-in-out infinite}
