.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;overflow:hidden}.hero__background{position:absolute;inset:0;background-color:var(--bg-primary);z-index:-2}.hero__background:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,var(--border-color) 1px,transparent 1px),linear-gradient(to bottom,var(--border-color) 1px,transparent 1px);background-size:80px 80px;opacity:.3;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 70%)}.hero__background:after{content:"";position:absolute;top:20%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,var(--color-accent-subtle) 0%,transparent 60%);opacity:.8;z-index:-1;animation:pulseGlow 8s ease-in-out infinite}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:.8}}@media(prefers-reduced-motion:reduce){.hero__background:after{animation:none}}.hero__container{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:center;padding-top:var(--space-24);padding-bottom:var(--space-16)}@media(min-width:768px){.hero__container{grid-template-columns:1.2fr 1fr;gap:var(--space-16);padding-top:var(--space-20);padding-bottom:var(--space-20)}}@media(min-width:1024px){.hero__container{grid-template-columns:1.3fr 1fr;gap:var(--space-24)}}.hero__content{text-align:left;position:relative}.hero__label{font-family:var(--font-display);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-bottom:var(--space-6);display:inline-flex;align-items:center;gap:var(--space-3)}.hero__label:before{content:"";width:32px;height:1px;background:var(--color-accent)}.hero__name{font-family:var(--font-heading);font-size:clamp(3rem,10vw,5.5rem);font-weight:600;color:var(--text-primary);line-height:.95;letter-spacing:-.04em;margin-bottom:var(--space-4)}.hero__last-name{display:block;color:var(--text-primary);position:relative}.hero__last-name:after{content:"";position:absolute;bottom:.08em;left:0;width:100%;height:.12em;background:var(--color-accent);opacity:.3;z-index:-1}.hero__title{font-family:var(--font-body);font-size:clamp(1.125rem,2.5vw,1.375rem);font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-8);max-width:480px}.hero__tagline{font-family:var(--font-body);font-size:1rem;color:var(--text-secondary);margin-bottom:var(--space-10);max-width:440px;line-height:1.7;display:flex;align-items:baseline;flex-wrap:wrap}.hero__tagline-text{display:inline}.hero__cursor{display:inline-block;width:2px;height:1.1em;background-color:var(--color-accent);margin-left:3px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media(prefers-reduced-motion:reduce){.hero__cursor{animation:none;opacity:1}}.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.hero__stats{display:flex;gap:var(--space-10);margin-top:var(--space-16);padding-top:var(--space-8);border-top:1px solid var(--border-color)}.hero__stat{display:flex;flex-direction:column;gap:var(--space-1)}.hero__stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.hero__stat-label{font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.hero__image-wrapper{display:flex;justify-content:center;align-items:center;order:-1;position:relative}@media(min-width:768px){.hero__image-wrapper{order:0;justify-content:flex-end}}.hero__image-frame{position:relative;width:260px;height:320px}@media(min-width:768px){.hero__image-frame{width:320px;height:400px}}@media(min-width:1024px){.hero__image-frame{width:380px;height:480px}}.hero__image-frame:before,.hero__image-frame:after{content:"";position:absolute;width:60px;height:60px;border:1.5px solid var(--color-accent);z-index:2}.hero__image-frame:before{top:-12px;left:-12px;border-right:none;border-bottom:none}.hero__image-frame:after{bottom:-12px;right:-12px;border-left:none;border-top:none}.hero__image{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;border:1px solid var(--border-color);transition:border-color var(--duration-normal) var(--ease-out-expo)}.hero__image-label{position:absolute;bottom:var(--space-6);left:var(--space-6);font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);background:var(--bg-primary);padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);z-index:3}.hero__scroll{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--text-secondary);font-family:var(--font-display);font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;opacity:.6;transition:opacity var(--duration-fast) var(--ease-out-expo)}.hero__scroll:hover{opacity:1}.hero__scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--color-accent),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{transform:scaleY(1);opacity:1}50%{transform:scaleY(.6);opacity:.5}}@media(prefers-reduced-motion:reduce){.hero__scroll-line{animation:none}}@media(max-width:767px){.hero__scroll{display:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero__label{animation:fadeInUp .8s var(--ease-out-expo) .1s both}.hero__name{animation:fadeInUp .8s var(--ease-out-expo) .2s both}.hero__title{animation:fadeInUp .8s var(--ease-out-expo) .3s both}.hero__tagline{animation:fadeInUp .8s var(--ease-out-expo) .4s both}.hero__cta{animation:fadeInUp .8s var(--ease-out-expo) .5s both}.hero__stats{animation:fadeInUp .8s var(--ease-out-expo) .6s both}.hero__image-frame{animation:fadeInUp .8s var(--ease-out-expo) .3s both}@media(prefers-reduced-motion:reduce){.hero__label,.hero__name,.hero__title,.hero__tagline,.hero__cta,.hero__stats,.hero__image-frame{animation:none}}.about{position:relative}.about__container{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:center}@media(min-width:768px){.about__container{grid-template-columns:1fr 1.4fr;gap:var(--space-16)}}@media(min-width:1024px){.about__container{gap:var(--space-24)}}.about__image-wrapper{display:flex;justify-content:center;position:relative}@media(min-width:768px){.about__image-wrapper{justify-content:flex-start}}.about__image-frame{position:relative;width:100%;max-width:360px}.about__image-frame:before{content:"";position:absolute;top:var(--space-4);left:var(--space-4);right:calc(var(--space-4) * -1);bottom:calc(var(--space-4) * -1);background:var(--color-accent-subtle);border-radius:var(--radius-lg);z-index:-1}.about__image{width:100%;aspect-ratio:4 / 5;border-radius:var(--radius-lg);border:1px solid var(--border-color);object-fit:cover;object-position:center top;display:block;transition:border-color var(--duration-normal) var(--ease-out-expo)}.about__content{text-align:left}.about__header{margin-bottom:var(--space-8)}.about__label{font-family:var(--font-display);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-3)}.about__label:before{content:"01";opacity:.5}.about__title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);color:var(--text-primary);letter-spacing:-.03em}.about__text{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-10)}.about__text p{color:var(--text-secondary);line-height:1.8;font-size:1.0625rem}.about__text strong{color:var(--color-accent);font-weight:600}.about__highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media(min-width:480px){.about__highlights{grid-template-columns:repeat(3,1fr)}}.about__highlight{padding:var(--space-5);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:background-color var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo)}.about__highlight-value{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1);letter-spacing:-.02em}.about__highlight-label{font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}@keyframes aboutFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.about__image-wrapper{animation:aboutFadeIn .7s var(--ease-out-expo) .1s both}.about__content{animation:aboutFadeIn .7s var(--ease-out-expo) .2s both}@media(prefers-reduced-motion:reduce){.about__image-wrapper,.about__content{animation:none}}.services{background-color:var(--bg-secondary);position:relative}.services__header{margin-bottom:var(--space-16)}.services__label{font-family:var(--font-display);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-3)}.services__label:before{content:"02";opacity:.5}.services__title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);color:var(--text-primary);margin-bottom:var(--space-4);letter-spacing:-.03em}.services__subtitle{font-size:1.0625rem;color:var(--text-secondary);max-width:560px;line-height:1.7}.services__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:640px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.services__grid{grid-template-columns:repeat(4,1fr);gap:var(--space-4)}}.services__card{position:relative;padding:var(--space-8);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo),background-color var(--duration-normal) var(--ease-out-expo);overflow:hidden}.services__card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out-expo)}.services__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.services__card:hover:before{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){.services__card:hover{transform:none}}.services__index{font-family:var(--font-display);font-size:.6875rem;font-weight:400;color:var(--color-accent);letter-spacing:.05em;margin-bottom:var(--space-6);opacity:.7}.services__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--space-6);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:background-color var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo)}.services__icon svg{width:26px;height:26px;color:var(--color-accent);transition:transform var(--duration-normal) var(--ease-out-back)}.services__card:hover .services__icon{background-color:var(--color-accent-subtle);border-color:var(--color-accent)}.services__card:hover .services__icon svg{transform:scale(1.1)}@media(prefers-reduced-motion:reduce){.services__card:hover .services__icon svg{transform:none}}.services__card-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3);letter-spacing:-.02em}.services__card-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.7}.services__arrow{position:absolute;bottom:var(--space-6);right:var(--space-6);width:32px;height:32px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translate(-8px);transition:opacity var(--duration-fast) var(--ease-out-expo),transform var(--duration-normal) var(--ease-out-expo)}.services__arrow svg{width:20px;height:20px;color:var(--color-accent)}.services__card:hover .services__arrow{opacity:1;transform:translate(0)}@media(prefers-reduced-motion:reduce){.services__card:hover .services__arrow{transform:none}}@keyframes slideInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.services__card{animation:slideInUp .6s var(--ease-out-expo) both}.services__card:nth-child(1){animation-delay:.1s}.services__card:nth-child(2){animation-delay:.2s}.services__card:nth-child(3){animation-delay:.3s}.services__card:nth-child(4){animation-delay:.4s}@media(prefers-reduced-motion:reduce){.services__card{animation:none}}.projects{position:relative}.projects__header{margin-bottom:var(--space-16);display:flex;flex-direction:column;gap:var(--space-4)}@media(min-width:768px){.projects__header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.projects__header-content{max-width:560px}.projects__label{font-family:var(--font-display);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-3)}.projects__label:before{content:"03";opacity:.5}.projects__title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);color:var(--text-primary);margin-bottom:var(--space-4);letter-spacing:-.03em}.projects__subtitle{font-size:1.0625rem;color:var(--text-secondary);line-height:1.7}.projects__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:768px){.projects__grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto auto}.projects__card:first-child{grid-column:1 / -1}}@media(min-width:1024px){.projects__grid{grid-template-columns:repeat(12,1fr);gap:var(--space-6)}.projects__card:nth-child(1){grid-column:1 / 8;grid-row:1 / 2}.projects__card:nth-child(2){grid-column:8 / 13;grid-row:1 / 2}.projects__card:nth-child(3){grid-column:1 / 5;grid-row:2 / 3}.projects__card:nth-child(4){grid-column:5 / 9;grid-row:2 / 3}.projects__card:nth-child(5){grid-column:9 / 13;grid-row:2 / 3}}.projects__card{position:relative;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo),background-color var(--duration-normal) var(--ease-out-expo)}.projects__card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg)}.projects__card-link{display:block;color:inherit;text-decoration:none}.projects__image-wrapper{position:relative;aspect-ratio:16 / 10;overflow:hidden}@media(min-width:1024px){.projects__card:first-child .projects__image-wrapper{aspect-ratio:21 / 10}}.projects__image-wrapper img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block;transition:transform var(--duration-slow) var(--ease-out-expo)}.projects__card:hover .projects__image-wrapper img{transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.projects__card:hover .projects__image-wrapper img{transform:none}}.projects__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.3) 40%,transparent 100%);display:flex;align-items:flex-end;justify-content:flex-start;padding:var(--space-6);opacity:0;transition:opacity var(--duration-normal) var(--ease-out-expo);z-index:2}.projects__card:hover .projects__overlay{opacity:1}.projects__overlay-text{font-family:var(--font-display);font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#fff;transform:translateY(8px);transition:transform var(--duration-normal) var(--ease-out-expo)}.projects__card:hover .projects__overlay-text{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.projects__overlay{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,rgba(0,0,0,.15) 40%,transparent 100%)}.projects__overlay-text{transform:none}}.projects__content{padding:var(--space-6)}.projects__card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.projects__card-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.projects__external-link{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0;opacity:0;transform:translate(-4px,4px);transition:opacity var(--duration-fast) var(--ease-out-expo),transform var(--duration-normal) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}.projects__card:hover .projects__external-link{opacity:1;transform:translate(0);color:var(--color-accent)}@media(prefers-reduced-motion:reduce){.projects__external-link{opacity:.5;transform:none}}.projects__card-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.7;margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.projects__tech{display:flex;flex-wrap:wrap;gap:var(--space-2)}.projects__tech-tag{display:inline-block;padding:var(--space-1) var(--space-3);background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-display);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-out-expo),border-color var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}@keyframes projectSlideIn{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.projects__card{animation:projectSlideIn .7s var(--ease-out-expo) both}.projects__card:nth-child(1){animation-delay:.1s}.projects__card:nth-child(2){animation-delay:.2s}.projects__card:nth-child(3){animation-delay:.3s}.projects__card:nth-child(4){animation-delay:.4s}.projects__card:nth-child(5){animation-delay:.5s}@media(prefers-reduced-motion:reduce){.projects__card{animation:none}}.skills{background-color:var(--bg-secondary);position:relative}.skills__header{margin-bottom:var(--space-16);max-width:560px}.skills__label{font-family:var(--font-display);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-3)}.skills__label:before{content:"04";opacity:.5}.skills__title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);color:var(--text-primary);margin-bottom:var(--space-4);letter-spacing:-.03em}.skills__subtitle{font-size:1.0625rem;color:var(--text-secondary);line-height:1.7}.skills__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:640px){.skills__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.skills__grid{grid-template-columns:repeat(3,1fr)}.skills__category:nth-last-child(2){grid-column:2 / 3}}.skills__category{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);transition:background-color var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo)}.skills__category:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.skills__category-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color)}.skills__category-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent-subtle);border-radius:var(--radius-md);flex-shrink:0}.skills__category-icon svg{width:18px;height:18px;color:var(--color-accent)}.skills__category-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.skills__list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skills__item{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-out-expo),border-color var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-back)}.skills__item:hover{background-color:var(--color-accent-subtle);border-color:var(--color-accent);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.skills__item:hover{transform:none}}.skills__item-name{font-family:var(--font-display);font-size:.8125rem;font-weight:500;color:var(--text-secondary);letter-spacing:.02em;transition:color var(--duration-fast) var(--ease-out-expo)}.skills__item:hover .skills__item-name{color:var(--color-accent)}.skills__item--featured{background-color:var(--color-accent-subtle);border-color:var(--color-accent)}.skills__item--featured .skills__item-name{color:var(--color-accent)}@keyframes skillsFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.skills__category{animation:skillsFadeIn .6s var(--ease-out-expo) both}.skills__category:nth-child(1){animation-delay:.1s}.skills__category:nth-child(2){animation-delay:.15s}.skills__category:nth-child(3){animation-delay:.2s}.skills__category:nth-child(4){animation-delay:.25s}.skills__category:nth-child(5){animation-delay:.3s}@media(prefers-reduced-motion:reduce){.skills__category{animation:none}}.contact{background-color:var(--bg-secondary);position:relative;overflow:hidden}.contact:before{content:"";position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(135deg,transparent 0%,var(--color-accent-subtle) 100%);opacity:.3;pointer-events:none}.contact__header{margin-bottom:var(--space-16);max-width:560px}.contact__label{font-family:var(--font-display);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-3)}.contact__label:before{content:"05";opacity:.5}.contact__title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);color:var(--text-primary);margin-bottom:var(--space-4);letter-spacing:-.03em}.contact__subtitle{font-size:1.0625rem;color:var(--text-secondary);line-height:1.7}.contact__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);position:relative;z-index:1}@media(min-width:768px){.contact__grid{grid-template-columns:1.2fr 1fr;gap:var(--space-12)}}.contact__form-wrapper{position:relative}.contact__form{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-8);transition:background-color var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo)}@media(min-width:768px){.contact__form{padding:var(--space-10)}}.hidden{display:none!important}.contact__field{margin-bottom:var(--space-6)}.contact__label-text{display:block;font-family:var(--font-display);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:var(--space-2)}.contact__label-text span{color:var(--color-accent);margin-left:var(--space-1)}.contact__input,.contact__textarea{width:100%;padding:var(--space-4);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:1rem;transition:border-color var(--duration-fast) var(--ease-out-expo),background-color var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.contact__input::placeholder,.contact__textarea::placeholder{color:var(--text-secondary);opacity:.6}.contact__input:focus,.contact__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.contact__textarea{resize:vertical;min-height:140px;line-height:1.6}.contact__input:invalid:not(:placeholder-shown),.contact__textarea:invalid:not(:placeholder-shown){border-color:#ef4444}.contact__input:valid:not(:placeholder-shown),.contact__textarea:valid:not(:placeholder-shown){border-color:var(--color-accent)}.contact__submit{width:100%;padding:var(--space-5) var(--space-8);margin-top:var(--space-4)}.contact__status{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);text-align:center;font-family:var(--font-display);font-size:.875rem;display:none}.contact__status--success{display:block;background-color:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981}.contact__status--error{display:block;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.contact__info{display:flex;flex-direction:column;gap:var(--space-6)}.contact__links{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-8);transition:background-color var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo)}.contact__links-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.contact__links-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent-subtle);border-radius:var(--radius-md)}.contact__links-icon svg{width:20px;height:20px;color:var(--color-accent)}.contact__links-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.contact__links-list{display:flex;flex-direction:column;gap:var(--space-1)}.contact__link{display:flex;align-items:center;gap:var(--space-4);color:var(--text-secondary);padding:var(--space-3) var(--space-4);margin:0 calc(var(--space-4) * -1);border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-out-expo),background-color var(--duration-fast) var(--ease-out-expo)}.contact__link:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.contact__link svg{width:20px;height:20px;flex-shrink:0;color:var(--color-accent)}.contact__link span{font-size:.9375rem}.contact__resume{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-8);position:relative;overflow:hidden;transition:background-color var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo)}.contact__resume:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:linear-gradient(135deg,transparent 50%,var(--color-accent-subtle) 50%);opacity:.5}.contact__resume-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.contact__resume-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent-subtle);border-radius:var(--radius-md)}.contact__resume-icon svg{width:20px;height:20px;color:var(--color-accent)}.contact__resume-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.contact__resume-text{color:var(--text-secondary);font-size:.9375rem;line-height:1.7;margin-bottom:var(--space-6)}.contact__resume .btn{position:relative;z-index:1}.contact__resume .btn svg{width:18px;height:18px}.contact__availability{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:background-color var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo)}.contact__availability-dot{width:10px;height:10px;background-color:#10b981;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}@media(prefers-reduced-motion:reduce){.contact__availability-dot{animation:none}}.contact__availability-text{font-family:var(--font-display);font-size:.8125rem;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.contact__availability-text strong{color:var(--text-primary);font-weight:600}.contact__field-row{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:480px){.contact__field-row{grid-template-columns:repeat(2,1fr)}.contact__field-row .contact__field{margin-bottom:0}}
