.about{background:var(--background,#0a0a0a);max-width:1200px;margin:0 auto;padding:120px 40px}.about__header{margin-bottom:0}.about__label{font-family:var(--font-mono,monospace);letter-spacing:3px;text-transform:uppercase;color:var(--accent-strong,#0f766e);margin-bottom:16px;font-size:10px;display:block}.about__title{font-family:var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:clamp(3px,.4vw,8px);color:var(--text-light,#e8dcc8);margin:0;font-size:clamp(36px,5vw,64px);font-weight:700;line-height:1.05}.about__divider{background:var(--gradient,linear-gradient(90deg,#2dd4bf,#22d3ee));transform-origin:0;opacity:.5;height:1px;margin:32px 0 0}.about__content{align-items:flex-start;gap:60px;margin-top:64px;display:flex}.about__photo-col{flex-shrink:0;width:340px}.about__photo-frame{aspect-ratio:3/4;border:1px solid var(--accent-strong,#0f766e);will-change:clip-path;background:radial-gradient(at 50% 35%,#1a1a1a 0%,#111 50%,#0a0a0a 100%);position:relative;overflow:hidden}.about__corner{pointer-events:none;opacity:.5;z-index:2;width:16px;height:16px;position:absolute}.about__photo-img{object-fit:cover;z-index:0}.about__corner:before,.about__corner:after{content:"";background:var(--secondary,#2dd4bf);position:absolute}.about__corner--tl{top:12px;left:12px}.about__corner--tl:before{width:16px;height:1px;top:0;left:0}.about__corner--tl:after{width:1px;height:16px;top:0;left:0}.about__corner--tr{top:12px;right:12px}.about__corner--tr:before{width:16px;height:1px;top:0;right:0}.about__corner--tr:after{width:1px;height:16px;top:0;right:0}.about__corner--bl{bottom:12px;left:12px}.about__corner--bl:before{width:16px;height:1px;bottom:0;left:0}.about__corner--bl:after{width:1px;height:16px;bottom:0;left:0}.about__corner--br{bottom:12px;right:12px}.about__corner--br:before{width:16px;height:1px;bottom:0;right:0}.about__corner--br:after{width:1px;height:16px;bottom:0;right:0}.about__monogram{font-family:var(--font-display,sans-serif);color:var(--accent-strong,#0f766e);opacity:.15;font-size:32px;font-weight:700;line-height:1;position:absolute;bottom:24px;left:24px}.about__photo-caption{align-items:center;margin-top:12px;display:flex}.about__photo-caption span{font-family:var(--font-mono,monospace);letter-spacing:2px;text-transform:uppercase;color:var(--text-dim,#444);white-space:nowrap;font-size:10px}.about__photo-line{background:linear-gradient(90deg,transparent,var(--border-hover,#333),transparent);flex:1;height:1px;margin:0 16px}.about__text-col{flex:1;min-width:0;padding-top:8px}.about__paragraph{font-family:var(--font-body,sans-serif);color:var(--text-body,#999);margin:0 0 28px;font-size:17px;font-weight:400;line-height:1.8}.about__paragraph:last-child{margin-bottom:0}.about__highlight{color:var(--text-body,#999);font-weight:500}.about__stats{border-top:1px solid var(--border-subtle,#222);justify-content:space-between;margin:80px 0 0;padding-top:48px;display:flex}.about__stat{will-change:transform,opacity;flex-direction:column-reverse;gap:8px;display:flex}.about__stat-value-wrap{margin:0}.about__stat-value{font-family:var(--font-display,sans-serif);color:var(--accent-strong,#0f766e);font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1;display:block}.about__stat-label{font-family:var(--font-mono,monospace);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted,#8a8a8a);font-size:10px}.about__content--no-photo .about__text-col{max-width:760px}.about__oss{margin-top:48px}[data-theme=light] .about__photo-frame{background:radial-gradient(at 50% 35%,#eafaf6 0%,#f4faf9 50%,#fff 100%)}@media (prefers-reduced-motion:reduce){.about__photo-frame{will-change:auto;clip-path:none}.about__stat{will-change:auto}.about__highlight{color:var(--accent-strong,#0f766e)}}@media (max-width:1024px){.about{padding:80px 32px}.about__content{flex-direction:column;align-items:center;gap:40px}.about__photo-col{width:260px}.about__photo-caption{justify-content:center}.about__content{margin-top:40px}.about__text-col{text-align:center;padding-top:0}.about__stats{justify-content:center;gap:40px;margin-top:60px;padding-top:40px}.about__stat{align-items:center}.about__oss .oss-proof__label{text-align:center}.about__oss .oss-proof__list{grid-template-columns:1fr;max-width:560px;margin:0 auto}}@media (max-width:600px){.about{padding:60px 20px}.about__content{gap:28px;margin-top:32px}.about__photo-col{width:180px}.about__photo-caption{display:none}.about__paragraph{margin-bottom:20px;font-size:15px;line-height:1.7}.about__stats{flex-direction:column;align-items:center;gap:28px;margin-top:48px;padding-top:32px}.about__stat{align-items:center}.about__stat-value{font-size:36px}}
.timeline{background:var(--background,#0a0a0a);max-width:1200px;margin:0 auto;padding:120px 40px}.timeline__header{margin-bottom:0}.timeline__label{font-family:var(--font-mono,monospace);letter-spacing:3px;text-transform:uppercase;color:var(--accent-strong,#0f766e);margin-bottom:16px;font-size:10px;display:block}.timeline__title{font-family:var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:clamp(3px,.4vw,8px);color:var(--text-light,#e8dcc8);margin:0;font-size:clamp(36px,5vw,64px);font-weight:700;line-height:1.05}.timeline__divider{background:var(--gradient,linear-gradient(90deg,#2dd4bf,#22d3ee));transform-origin:0;opacity:.5;height:1px;margin:32px 0 0}.timeline__grid{grid-template-columns:1fr 60px 1fr;gap:0 40px;margin-top:64px;display:grid;position:relative}.timeline__line-col{grid-area:1/2/4;justify-content:center;display:flex;position:relative}.timeline__svg{width:2px;height:100%;overflow:visible}.timeline__track{stroke:var(--border-subtle,#222);stroke-width:2px;vector-effect:non-scaling-stroke}.timeline__draw{stroke:var(--accent-strong,#0f766e);stroke-width:2px;vector-effect:non-scaling-stroke}.timeline__node{background:var(--accent-strong,#0f766e);opacity:.3;z-index:2;border-radius:50%;width:14px;height:14px;position:absolute;left:50%;transform:translate(-50%)scale(0)}.timeline__node--active{opacity:1;animation:2.5s ease-in-out infinite timeline-pulse;transform:translate(-50%)scale(1);box-shadow:0 0 8px #2dd4bf80,0 0 20px #2dd4bf33}@keyframes timeline-pulse{0%,to{box-shadow:0 0 8px #2dd4bf80,0 0 20px #2dd4bf33}50%{box-shadow:0 0 12px #2dd4bfcc,0 0 32px #2dd4bf4d}}.timeline__card{background:var(--surface,#111);border:1px solid var(--border-hover,#333);will-change:transform,opacity;min-width:0;margin-bottom:40px;padding:32px;transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.timeline__card:before{content:"";background:radial-gradient(600px circle at var(--mouse-x,50%)var(--mouse-y,50%),#2dd4bf0f,transparent 40%);opacity:0;pointer-events:none;z-index:0;transition:opacity .4s;position:absolute;inset:0}.timeline__card:hover:before{opacity:1}[data-theme=light] .timeline__card:before{background:radial-gradient(600px circle at var(--mouse-x,50%)var(--mouse-y,50%),#2dd4bf2e,transparent 40%)}[data-theme=light] .timeline__node--active{animation:none;box-shadow:0 0 0 4px #0f766e2e}.timeline__card:hover{border-color:#0f766e4d;transform:translateY(-4px)}.timeline__card>*{z-index:1;position:relative}.timeline__card:last-child{margin-bottom:0}.timeline__card--left{grid-column:1}.timeline__card--right{grid-column:3}.timeline__card-period{font-family:var(--font-mono,monospace);letter-spacing:3px;text-transform:uppercase;color:var(--accent-strong,#0f766e);margin-bottom:12px;font-size:10px;display:block}.timeline__card-company{font-family:var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:2px;color:var(--text-light,#e8dcc8);margin:0 0 4px;font-size:22px;font-weight:700}.timeline__card-role{font-family:var(--font-mono,monospace);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted,#555);margin:0 0 16px;font-size:11px}.timeline__card-desc{font-family:var(--font-body,sans-serif);color:var(--text-body,#999);margin:0 0 20px;font-size:15px;line-height:1.7}.timeline__card-tech{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.timeline__tech-badge{font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;color:var(--foreground,#04201f);background-color:var(--background,#f4faf9);border:1px solid var(--border-hover,#c4d6d3);cursor:pointer;border-radius:2px;padding:3px 8px;font-size:9px;transition:transform .22s,box-shadow .22s,color .22s,border-color .22s,background-color .22s}.timeline__tech-badge:hover{color:var(--accent-strong,#0f766e);border-color:var(--accent-strong,#0f766e);background-color:#2dd4bf1a;transform:translateY(-2px);box-shadow:0 5px 14px #0f766e29}@media (prefers-reduced-motion:reduce){.timeline__card{will-change:auto}.timeline__node{opacity:1;transform:translate(-50%)scale(1)}.timeline__node--active{animation:none}.timeline__tech-badge{transition:none}.timeline__tech-badge:hover{transform:none}}@media (max-width:1024px){.timeline{padding:80px 32px}.timeline__grid{grid-template-columns:40px 1fr;gap:0 24px;margin-top:48px}.timeline__line-col{grid-column:1}.timeline__card--left,.timeline__card--right{grid-area:auto/2}.timeline__card-company{font-size:20px}}@media (max-width:600px){.timeline{padding:60px 20px}.timeline__grid{grid-template-columns:24px 1fr;gap:0 16px;margin-top:32px}.timeline__card{margin-bottom:24px;padding:22px 20px;overflow:visible}.timeline__card:before{display:none}.timeline__card-company{letter-spacing:1px;font-size:18px}.timeline__card-desc{font-size:14px}.timeline__node{width:10px;height:10px}.timeline__card-tech{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.timeline__card-tech::-webkit-scrollbar{display:none}.timeline__tech-badge{flex-shrink:0}}
.services{background:var(--background,#0a0a0a);padding:120px 0}.services__header,.services__divider{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px}.services__label{font-family:var(--font-mono,monospace);letter-spacing:3px;text-transform:uppercase;color:var(--accent-strong,#0f766e);margin-bottom:16px;font-size:10px;display:block}.services__title{font-family:var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:clamp(3px,.4vw,8px);color:var(--text-light,#e8dcc8);margin:0;font-size:clamp(36px,5vw,64px);font-weight:700;line-height:1.05}.services__divider{background:var(--gradient,linear-gradient(90deg,#2dd4bf,#22d3ee));transform-origin:0;opacity:.5;height:1px;margin:32px auto 0}.services__track-wrap{cursor:grab;-webkit-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:auto;width:100%;margin-top:64px;position:relative;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 6% 94%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 6% 94%,#0000 100%)}.services__track-wrap::-webkit-scrollbar{display:none}.services__track-wrap--grabbing{cursor:grabbing;-webkit-user-select:none;user-select:none}.services__track{width:max-content;display:flex}.services__list{flex-shrink:0;margin:0;padding:0;list-style:none;display:flex}.services__card{background:var(--surface,#111);border:1px solid var(--border-hover,#333);flex-shrink:0;width:clamp(280px,28vw,380px);margin-right:24px;padding:32px;transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.services__card:before{content:"";background:radial-gradient(600px circle at var(--mouse-x,50%)var(--mouse-y,50%),#2dd4bf0f,transparent 40%);opacity:0;pointer-events:none;z-index:0;transition:opacity .4s;position:absolute;inset:0}.services__card:hover:before{opacity:1}[data-theme=light] .services__card:before{background:radial-gradient(600px circle at var(--mouse-x,50%)var(--mouse-y,50%),#2dd4bf2e,transparent 40%)}.services__card:hover{border-color:#0f766e4d}.services__card>*{z-index:1;position:relative}.services__card-top{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.services__card-number{font-family:var(--font-display,sans-serif);color:#0f766ecc;font-size:48px;font-weight:700;line-height:1;transition:color .4s}.services__card:hover .services__card-number{color:#0f766ecc}.services__card-arrow{color:var(--accent-strong,#0f766e);opacity:.4;font-size:18px;transition:transform .3s,opacity .3s}.services__card-title-link{color:inherit;text-decoration:none;transition:color .3s;display:inline-block}.services__card-title-link:hover{color:var(--accent-strong,#0f766e)}.services__card-more{font-family:var(--font-mono,monospace);letter-spacing:2px;text-transform:uppercase;color:var(--accent-strong,#0f766e);align-items:center;gap:8px;margin-top:18px;font-size:10px;text-decoration:none;transition:opacity .3s;display:inline-flex}.services__card-more:hover{opacity:.7}.services__card:hover .services__card-arrow{opacity:1;transform:translate(2px,-2px)}.services__card-title{font-family:var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:2px;color:var(--text-light,#e8dcc8);margin:0 0 16px;font-size:18px;font-weight:600}.services__card-desc{font-family:var(--font-body,sans-serif);color:var(--text-body,#b3b3b3);margin:0 0 24px;font-size:15px;line-height:1.7}.services__card-tech{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.services__tech-pill{font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;color:var(--foreground,#04201f);background-color:var(--background,#f4faf9);border:1px solid var(--border-hover,#c4d6d3);cursor:pointer;border-radius:2px;padding:3px 8px;font-size:9px;transition:transform .22s,box-shadow .22s,color .22s,border-color .22s,background-color .22s}.services__tech-pill:hover{color:var(--accent-strong,#0f766e);border-color:var(--accent-strong,#0f766e);background-color:#2dd4bf1a;transform:translateY(-2px);box-shadow:0 5px 14px #0f766e29}@media (prefers-reduced-motion:reduce){.services__track-wrap{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:auto}.services__card{scroll-snap-align:start}.services__list[aria-hidden=true]{display:none}.services__tech-pill{transition:none}.services__tech-pill:hover{transform:none}}@media (max-width:1024px){.services{padding:80px 0}.services__header,.services__divider{padding-left:32px;padding-right:32px}.services__track-wrap{margin-top:48px}.services__card{width:clamp(280px,50vw,360px);margin-right:20px}}@media (max-width:600px){.services{padding:60px 0}.services__header,.services__divider{padding-left:20px;padding-right:20px}.services__track-wrap{margin-top:32px;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 3% 97%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 3% 97%,#0000 100%)}.services__card{width:82vw;max-width:340px;margin-right:16px;padding:24px}.services__card:before{display:none}.services__card-number{font-size:36px}.services__card-title{letter-spacing:1px;font-size:16px}.services__card-desc{margin-bottom:16px;font-size:14px}.services__card-tech{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.services__card-tech::-webkit-scrollbar{display:none}.services__tech-pill{flex-shrink:0}}
.contact-form{text-align:left;max-width:560px;margin:56px auto 0}.contact-form__field{margin-bottom:20px}.contact-form__row{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.contact-form__label{font-family:var(--font-body,sans-serif);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted,#8a8a8a);margin-bottom:8px;font-size:10px;display:block}.contact-form__opt{color:var(--text-muted,#8a8a8a)}.contact-form__input{width:100%;font-family:var(--font-body,sans-serif);color:var(--foreground,#ededed);background:var(--surface,#111);border:1px solid var(--border-hover,#333);border-radius:2px;padding:12px 14px;font-size:15px;transition:border-color .25s}.contact-form__input::placeholder{color:var(--text-dim,#828282)}.contact-form__input:focus-visible{border-color:var(--accent-strong,#0f766e)}.contact-form__textarea{resize:vertical;min-height:120px;line-height:1.6}.contact-form__select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:34px}.contact-form__error{font-family:var(--font-body,sans-serif);color:#ff8a8a;align-items:center;gap:6px;margin:6px 0 0;font-size:12px;display:flex}.contact-form__error:before{content:"⚠";font-size:12px}.contact-form__input[aria-invalid=true]{border-color:#ff8a8a}.contact-form__hp{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-form__actions{flex-direction:column;align-items:flex-start;gap:12px;margin-top:26px;display:flex}.contact-form__note{font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted,#8a8a8a);margin:0;font-size:10px}.contact-form__status:not(:empty){font-family:var(--font-body,sans-serif);color:var(--accent-strong,#0f766e);margin-top:18px;font-size:14px;line-height:1.6}.contact-form__alert:not(:empty){font-family:var(--font-body,sans-serif);color:#ff8a8a;margin-top:14px;font-size:14px;line-height:1.6}[data-theme=light] .contact-form__input{border-color:var(--border-ui,#6f8784)}[data-theme=light] .contact-form__input:focus-visible{border-color:var(--accent-strong,#0f766e)}[data-theme=light] .contact-form__error,[data-theme=light] .contact-form__alert:not(:empty){color:#b3261e}[data-theme=light] .contact-form__input[aria-invalid=true]{border-color:#b3261e}[data-theme=light] .contact-form__status:not(:empty){color:#2f7d4f}@media (max-width:600px){.contact-form{margin-top:40px}.contact-form__row{grid-template-columns:1fr;gap:0}.contact-form__submit{justify-content:center;width:100%}}
.contact{background:var(--background,#0a0a0a);text-align:center;max-width:1200px;margin:0 auto;padding:120px 40px 0}.contact__label{font-family:var(--font-mono,monospace);letter-spacing:3px;text-transform:uppercase;color:var(--accent-strong,#0f766e);margin-bottom:48px;font-size:10px;display:block}.contact__heading{margin:0 0 56px}.contact__heading-line{display:block;overflow:hidden}.contact__heading-inner{font-family:var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:clamp(2px,.6vw,10px);color:var(--text-light,#e8dcc8);font-size:clamp(36px,10vw,96px);font-weight:700;line-height:1.1;display:block}.contact__email-wrap{margin-bottom:48px}.contact__email{font-family:var(--font-mono,monospace);letter-spacing:2px;color:var(--accent-strong,#0f766e);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0f766e4d;padding:12px 24px;font-size:clamp(14px,2vw,20px);transition:border-color .3s,opacity .3s;display:inline-block}.contact__email:hover{border-color:var(--accent-strong,#0f766e);opacity:.8}.contact__email-feedback{font-family:var(--font-mono,monospace);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted,#555);min-height:16px;margin-top:12px;font-size:10px;transition:color .3s;display:block}.contact__phone-wrap{margin-bottom:48px}.contact__phone{font-family:var(--font-mono,monospace);letter-spacing:2px;color:var(--text-light,#e8dcc8);border-bottom:1px solid #0f766e33;padding:12px 24px;font-size:clamp(14px,2vw,20px);text-decoration:none;transition:border-color .3s,color .3s;display:inline-block}.contact__phone:hover{border-color:var(--accent-strong,#0f766e);color:var(--accent-strong,#0f766e)}.contact__resume-wrap{margin-bottom:56px}.contact__resume-btn{font-family:var(--font-mono,monospace);letter-spacing:3px;text-transform:uppercase;color:var(--accent-strong,#0f766e);background:0 0;border:1px solid #0f766e66;align-items:center;gap:10px;padding:14px 32px;font-size:12px;text-decoration:none;transition:background .3s,border-color .3s;display:inline-flex}.contact__resume-btn:hover{border-color:var(--accent-strong,#0f766e);background:#2dd4bf1a}.contact__resume-arrow{font-size:14px;transition:transform .3s}.contact__resume-btn:hover .contact__resume-arrow{transform:translateY(3px)}.contact__socials{justify-content:center;gap:32px;margin:0;padding:0;list-style:none;display:flex}.contact__social-link{font-family:var(--font-mono,monospace);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted,#555);align-items:center;gap:6px;font-size:11px;text-decoration:none;transition:color .3s;display:inline-flex}.contact__social-link:hover{color:var(--accent-strong,#0f766e)}.contact__social-arrow{font-size:12px;transition:transform .3s}.contact__social-link:hover .contact__social-arrow{transform:translate(2px,-2px)}.contact__footer{border-top:1px solid var(--border-subtle,#222);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-top:120px;padding:32px 0;display:grid}.contact__footer-left{font-family:var(--font-mono,monospace);letter-spacing:2px;text-transform:uppercase;color:var(--text-dim,#444);justify-self:start;font-size:10px}.contact__footer-right{justify-self:end;align-items:center;gap:24px;display:flex}.contact__footer-tagline{font-family:var(--font-mono,monospace);letter-spacing:3px;text-transform:uppercase;color:var(--text-dim,#444);font-size:10px}.contact__back-to-top{border:1px solid var(--accent-strong,#0f766e);width:40px;height:40px;color:var(--accent-strong,#0f766e);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-right:64px;font-size:16px;transition:background .3s,color .3s;display:flex}.contact__back-to-top:hover{background:var(--accent-strong,#0f766e);color:var(--background,#0a0a0a)}@media (prefers-reduced-motion:reduce){.contact__heading-inner{will-change:auto}}@media (max-width:1024px){.contact{padding:80px 32px 0}.contact__socials{flex-wrap:wrap;gap:20px}.contact__footer{margin-top:80px}}@media (max-width:600px){.contact{padding:60px 20px 0}.contact__label{margin-bottom:32px}.contact__heading{margin-bottom:40px}.contact__email{padding:10px 16px;font-size:14px}.contact__email-wrap{margin-bottom:36px}.contact__socials{grid-template-columns:1fr 1fr;justify-items:center;gap:16px;display:grid}.contact__footer{text-align:center;flex-direction:column;align-items:center;gap:20px;margin-top:60px;display:flex}.contact__back-to-top{margin-right:0}.contact__footer-right{gap:16px}}
