:root{--bg: #ffffff;--surface: #f7f8fa;--surface-2: #eef1f6;--border: #e4e7ef;--text: #1a1a2e;--text-dim: #5b6076;--accent: #4f6bed;--accent-2: #6d8bff;--gradient-brand: linear-gradient(120deg, var(--accent), var(--accent-2));--radius: 16px;--radius-sm: 10px;--shadow: 0 12px 32px -16px rgba(20, 24, 60, .14);--shadow-glow: 0 8px 28px -12px color-mix(in srgb, var(--accent) 28%, transparent);--sp-1: .5rem;--sp-2: .75rem;--sp-3: 1rem;--sp-4: 1.5rem;--sp-5: 2rem;--sp-6: 3rem;--sp-7: 4.5rem;--sp-8: 7rem;--font-body: "Poppins", system-ui, sans-serif;--font-display: "Poppins", system-ui, sans-serif;--maxw: 1120px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);line-height:1.1;font-weight:600}.section{max-width:var(--maxw);margin:0 auto;padding:var(--sp-8) var(--sp-4)}.section-title{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:var(--sp-5)}@font-face{font-family:Poppins;font-style:normal;font-weight:400;src:url(/fonts/Poppins/Poppins-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Poppins;font-style:normal;font-weight:500;src:url(/fonts/Poppins/Poppins-Medium.ttf) format("truetype");font-display:swap}@font-face{font-family:Poppins;font-style:normal;font-weight:600;src:url(/fonts/Poppins/Poppins-SemiBold.ttf) format("truetype");font-display:swap}@font-face{font-family:Poppins;font-style:normal;font-weight:700;src:url(/fonts/Poppins/Poppins-Bold.ttf) format("truetype");font-display:swap}@font-face{font-family:Poppins;font-style:normal;font-weight:800;src:url(/fonts/Poppins/Poppins-ExtraBold.ttf) format("truetype");font-display:swap}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease,backdrop-filter .3s ease}.nav.scrolled{background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.nav-brand{background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--text);letter-spacing:-.01em}.nav-brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nav-links{display:flex;align-items:center;gap:var(--sp-5)}.nav-link{background:none;border:none;cursor:pointer;padding:var(--sp-1) 0;font-size:.95rem;font-weight:500;color:var(--text-dim);transition:color .2s ease}.nav-link:hover,.nav-link:focus-visible{color:var(--text)}.nav-actions{display:flex;align-items:center;gap:var(--sp-3)}.nav-cta{border:none;cursor:pointer;border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-4);font-weight:600;font-size:.9rem;color:#fff;background:var(--gradient-brand);box-shadow:0 8px 24px -12px color-mix(in srgb,var(--accent) 60%,transparent);transition:transform .2s ease,box-shadow .2s ease}.nav-cta:hover,.nav-cta:focus-visible{transform:translateY(-1px);box-shadow:0 12px 28px -12px color-mix(in srgb,var(--accent) 75%,transparent)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--text);padding:var(--sp-1);line-height:0}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nav-mobile-overlay{display:none}@media (max-width: 768px){.nav-links,.nav-cta{display:none}.nav-toggle{display:inline-flex}.nav-mobile-overlay{display:block;position:fixed;right:0;bottom:0;left:0;top:0;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99}.nav-mobile-menu{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--surface);border-bottom:1px solid var(--border);padding:calc(var(--sp-8) + var(--sp-3)) var(--sp-4) var(--sp-5)}.nav-mobile-link{background:none;border:none;cursor:pointer;text-align:left;padding:var(--sp-3) 0;font-size:1.4rem;font-weight:600;color:var(--text);border-bottom:1px solid var(--border)}.nav-cta-mobile{display:block;width:100%;text-align:center;margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);font-size:1rem}}body.mobile-menu-open{overflow:hidden}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:calc(var(--sp-8) + var(--sp-4)) var(--sp-4) var(--sp-7)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.hero-glow{position:absolute;width:55vw;height:55vw;max-width:720px;max-height:720px;border-radius:50%;filter:blur(90px);opacity:.16;will-change:transform}.hero-glow--violet{top:-10%;left:-8%;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 85%,transparent),transparent 70%);animation:hero-drift-a 18s ease-in-out infinite}.hero-glow--blue{bottom:-15%;right:-10%;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent-2) 80%,transparent),transparent 70%);animation:hero-drift-b 22s ease-in-out infinite}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 75%)}@keyframes hero-drift-a{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(8%,12%,0) scale(1.12)}}@keyframes hero-drift-b{0%,to{transform:translateZ(0) scale(1.05)}50%{transform:translate3d(-10%,-8%,0) scale(.92)}}.hero-inner{position:relative;z-index:1;width:100%;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:var(--sp-7)}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-4)}.hero-eyebrow{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:.85rem;letter-spacing:.02em;color:var(--text-dim);padding:var(--sp-1) var(--sp-3);border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-status-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 color-mix(in srgb,#16a34a 70%,transparent);animation:hero-pulse 2.4s ease-out infinite}@keyframes hero-pulse{0%{box-shadow:0 0 color-mix(in srgb,#16a34a 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.hero-name{font-family:var(--font-display);font-weight:700;font-size:clamp(2.75rem,9vw,6rem);line-height:1.02;letter-spacing:-.02em;background:linear-gradient(120deg,#3f51c9,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}.hero-headline{font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,3.2vw,2rem);line-height:1.2;color:var(--text);max-width:18ch;text-wrap:balance}.hero-tagline{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);font-size:clamp(1rem,2vw,1.15rem);min-height:1.6em}.hero-tagline-label{color:var(--text-dim);font-weight:500}.hero-tagline-text{display:inline-block;font-weight:600;color:transparent;background:linear-gradient(120deg,#3f51c9,var(--accent));-webkit-background-clip:text;background-clip:text}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-2)}.hero-btn{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-body);font-size:1rem;font-weight:600;padding:.85rem 1.6rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.hero-btn--primary{color:#fff;background:var(--gradient-brand);box-shadow:var(--shadow-glow)}.hero-btn--primary:hover{transform:translateY(-2px);box-shadow:0 0 90px -10px color-mix(in srgb,var(--accent) 70%,transparent)}.hero-btn--ghost{color:var(--text);background:color-mix(in srgb,var(--surface) 55%,transparent);border-color:var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-btn--ghost:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.hero-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero-social{display:flex;gap:var(--sp-2);margin-top:var(--sp-1)}.hero-social-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--text-dim);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 45%,transparent);transition:color .2s ease,border-color .2s ease,transform .2s ease}.hero-social-link:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 60%,transparent);transform:translateY(-2px)}.hero-social-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero-portrait{display:flex;justify-content:center}.hero-portrait-frame{position:relative;width:clamp(220px,26vw,340px);aspect-ratio:1 / 1;border-radius:28px;padding:3px;background:var(--gradient-brand);box-shadow:var(--shadow),var(--shadow-glow)}.hero-portrait-frame:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:40px;background:conic-gradient(from 0deg,var(--accent),var(--accent-2),var(--accent));filter:blur(28px);opacity:.18;z-index:-1;animation:hero-spin 14s linear infinite}.hero-portrait-frame img{width:100%;height:100%;object-fit:cover;border-radius:25px;display:block}@keyframes hero-spin{to{transform:rotate(360deg)}}.hero-scroll{position:absolute;left:50%;bottom:var(--sp-4);transform:translate(-50%);z-index:1;display:inline-flex;flex-direction:column;align-items:center;gap:var(--sp-1);background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.hero-scroll-line{width:1px;height:34px;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--accent) 80%,transparent));animation:hero-scroll-cue 2s ease-in-out infinite;transform-origin:top}.hero-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@keyframes hero-scroll-cue{0%,to{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}@media (max-width: 900px){.hero-inner{grid-template-columns:1fr;gap:var(--sp-5);text-align:center}.hero-copy{align-items:center;order:2}.hero-headline{max-width:26ch}.hero-portrait{order:1}}@media (max-width: 480px){.hero{padding-top:calc(var(--sp-8) + var(--sp-2))}.hero-cta{width:100%}.hero-btn{flex:1;justify-content:center}}@media (prefers-reduced-motion: reduce){.hero-glow--violet,.hero-glow--blue,.hero-status-dot,.hero-portrait-frame:before,.hero-scroll-line{animation:none!important}}.services{position:relative}.services-inner{display:flex;flex-direction:column}.services-intro{color:var(--text-dim);font-size:clamp(1rem,2vw,1.15rem);max-width:56ch;margin-top:calc(-1 * var(--sp-3));margin-bottom:var(--sp-6)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}.service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.service-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:var(--shadow),0 0 60px -24px color-mix(in srgb,var(--accent) 60%,transparent)}.service-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-sm);background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-glow)}.service-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text)}.service-desc{color:var(--text-dim);font-size:.95rem;line-height:1.6}.services-cta-wrap{display:flex;justify-content:center;margin-top:var(--sp-6)}.services-cta{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-body);font-size:1rem;font-weight:600;color:#fff;padding:.85rem 1.8rem;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--gradient-brand);box-shadow:var(--shadow-glow);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.services-cta:hover{transform:translateY(-2px);box-shadow:0 0 90px -10px color-mix(in srgb,var(--accent) 70%,transparent)}.services-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width: 900px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.services-grid{grid-template-columns:1fr}.services-intro{max-width:100%}}.about-copy{display:flex;flex-direction:column;gap:var(--sp-3);max-width:60ch}.about-copy p{color:var(--text-dim);font-size:1.05rem;line-height:1.75}.about-stats{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-6)}.about-stat{flex:1 1 160px;min-width:140px;display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-4);border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s ease,border-color .2s ease,background .2s ease}.about-stat:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.about-stat-value{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5vw,2.75rem);line-height:1.1;background:linear-gradient(120deg,#3f51c9,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.about-stat-label{color:var(--text-dim);font-size:.9rem}@media (max-width: 480px){.about-stats{gap:var(--sp-3)}.about-stat{flex:1 1 100%;min-width:0}}.project-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.project-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:var(--shadow),0 0 60px -24px color-mix(in srgb,var(--accent) 60%,transparent)}.project-cover{position:relative;aspect-ratio:16 / 10;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-bottom:1px solid var(--border)}.project-cover-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.project-cover--brand{background:radial-gradient(120% 120% at 25% 15%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 60%),radial-gradient(120% 120% at 85% 95%,color-mix(in srgb,var(--accent-2) 42%,transparent),transparent 55%),var(--surface-2)}.project-cover-brand-logo{width:auto;height:46%;max-width:56%;object-fit:contain;border-radius:20px;filter:drop-shadow(0 10px 26px color-mix(in srgb,var(--bg) 70%,transparent))}.project-cover-badge{position:absolute;left:var(--sp-3);bottom:var(--sp-3);width:46px;height:46px;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:var(--surface);padding:3px;box-shadow:var(--shadow)}.project-monogram{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-sm);background:var(--gradient-brand);color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:.02em;box-shadow:var(--shadow-glow)}.project-body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5);flex:1}.project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);min-width:0}.project-name{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text)}.role-badge{display:inline-flex;align-items:center;align-self:flex-start;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--border);width:fit-content}.role-badge--founder{color:#fff;background:var(--gradient-brand);border-color:transparent}.role-badge--contract{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.role-badge--personal{color:var(--text-dim);background:var(--surface-2);border-color:var(--border)}.project-pitch{color:var(--text-dim);font-size:.95rem;line-height:1.6}.project-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none}.project-tag{font-size:.75rem;font-weight:500;color:var(--text-dim);padding:.25rem .65rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.project-bullets{display:flex;flex-direction:column;gap:var(--sp-2);padding-left:1.1rem;color:var(--text-dim);font-size:.9rem;line-height:1.55}.project-bullets li{list-style:disc}.project-bullets li::marker{color:var(--accent)}.project-links{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-2)}.project-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--text);padding:.5rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 60%,transparent);transition:border-color .2s ease,background .2s ease,transform .2s ease}.project-link:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.project-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.work{position:relative}.work-inner{display:flex;flex-direction:column}.work-intro{color:var(--text-dim);font-size:clamp(1rem,2vw,1.15rem);max-width:60ch;margin-top:calc(-1 * var(--sp-3));margin-bottom:var(--sp-4)}.work-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-6)}.work-filter{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--text-dim);padding:.45rem .95rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 60%,transparent);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.work-filter:hover{transform:translateY(-2px);color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.work-filter.is-active{color:#fff;background:var(--gradient-brand);border-color:transparent;box-shadow:0 8px 24px -12px color-mix(in srgb,var(--accent) 70%,transparent)}.work-filter:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.work-filter-count{font-size:.72rem;font-weight:700;padding:.05rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--bg) 30%,transparent)}.work-filter.is-active .work-filter-count{background:color-mix(in srgb,var(--bg) 28%,transparent)}.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-4);align-items:stretch}.work-grid>*{height:100%}@media (max-width: 520px){.work-grid{grid-template-columns:1fr}.work-intro{max-width:100%}}.experience-timeline{position:relative;list-style:none;margin-top:var(--sp-2)}.experience-timeline:before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:2px;background:linear-gradient(to bottom,var(--accent),var(--accent-2),color-mix(in srgb,var(--accent-2) 30%,transparent));opacity:.4}.experience-item{position:relative;padding:0 0 var(--sp-6) var(--sp-5)}.experience-item:last-child{padding-bottom:0}.experience-node{position:absolute;left:0;top:4px;width:14px;height:14px;border-radius:50%;background:var(--gradient-brand);box-shadow:0 0 0 4px var(--bg),0 0 18px color-mix(in srgb,var(--accent) 55%,transparent)}.experience-item-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.05rem,2.4vw,1.3rem);color:var(--text);line-height:1.35;margin-bottom:var(--sp-2);text-wrap:balance}.experience-item-desc{color:var(--text-dim);font-size:.98rem;line-height:1.75;max-width:68ch}.experience-item--education .experience-node{background:var(--gradient-brand)}.experience-item--education .experience-item-title{background:linear-gradient(120deg,#3f51c9,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}@media (max-width: 480px){.experience-timeline:before{left:5px}.experience-item{padding-left:var(--sp-4);padding-bottom:var(--sp-5)}.experience-node{left:-1px;width:12px;height:12px}.experience-item-desc{font-size:.92rem;line-height:1.65}}.skills{position:relative}.skills-inner{display:flex;flex-direction:column}.skills-groups{display:flex;flex-direction:column;gap:var(--sp-5)}.skills-group{display:flex;flex-direction:column;gap:var(--sp-3)}.skills-group-label{color:var(--text-dim);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.skills-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.skills-chip{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--text);padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s ease,border-color .2s ease,background .2s ease}.skills-chip:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}@media (max-width: 480px){.skills-groups{gap:var(--sp-4)}.skills-chip{font-size:.85rem;padding:.45rem .85rem}}.contact{position:relative}.contact-inner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-4);padding:var(--sp-7) var(--sp-4);border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 55%,transparent);overflow:hidden;isolation:isolate}.contact-glow{position:absolute;top:-20%;right:-10%;bottom:-20%;left:-10%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 60%),radial-gradient(circle at 75% 80%,color-mix(in srgb,var(--accent-2) 30%,transparent),transparent 60%);filter:blur(60px);opacity:.8}.contact-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.08;letter-spacing:-.02em;background:linear-gradient(120deg,#3f51c9,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance;max-width:18ch}.contact-sub{color:var(--text-dim);font-size:clamp(1rem,2vw,1.15rem);max-width:46ch;text-wrap:balance}.contact-cta{margin-top:var(--sp-2)}.contact-btn{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-body);font-size:1.05rem;font-weight:600;padding:.95rem 2rem;border-radius:var(--radius-sm);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.contact-btn--primary{color:#fff;background:var(--gradient-brand);box-shadow:var(--shadow-glow)}.contact-btn--primary:hover{transform:translateY(-2px);box-shadow:0 0 90px -10px color-mix(in srgb,var(--accent) 70%,transparent)}.contact-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-social{display:flex;gap:var(--sp-2);margin-top:var(--sp-1)}.contact-social-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--text-dim);border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 45%,transparent);transition:color .2s ease,border-color .2s ease,transform .2s ease}.contact-social-link:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 60%,transparent);transform:translateY(-2px)}.contact-social-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-footer{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);text-align:center}.contact-footer-name{font-family:var(--font-display);font-weight:600;color:var(--text);font-size:.95rem}.contact-footer-copy{color:var(--text-dim);font-size:.85rem}@media (max-width: 480px){.contact-inner{padding:var(--sp-6) var(--sp-3)}.contact-btn{width:100%;justify-content:center}}
