:root{--bg-primary: #0a0a0a;--bg-secondary: #111;--bg-card: #1a1a1a;--bg-card-hover: #222;--text-primary: #fafafa;--text-secondary: #afafaf;--text-muted: #a0a0a0;--accent: #64ffda;--accent-hover: #45e0be;--border: #2a2a2a;--radius: 12px;--radius-sm: 8px;--max-width: 1100px;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition: .3s ease}#root{min-height:100vh}.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px 24px;transition:background var(--transition),backdrop-filter var(--transition),border-color var(--transition)}.header--scrolled{background:#0a0a0ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header__inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;align-items:center;transition:opacity var(--transition)}.header__logo:hover{opacity:.7}.header__nav{display:flex;gap:24px}.header__nav a{font-size:14px;color:var(--text-secondary);transition:color var(--transition)}.header__nav a:hover{color:var(--accent)}.hero{min-height:100vh;display:flex;align-items:center;padding:120px 24px 80px}.hero__inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:60px;width:100%}.hero__content{flex:1;max-width:580px}.hero__title{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-bottom:16px}.hero__title .accent{color:var(--accent)}.hero__intro{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:20px}.hero__intro .hero__title{margin-bottom:4px}.hero__intro .hero__subtitle{margin-bottom:0}.hero__avatar-frame{width:115px;min-width:115px;height:115px;border-radius:50%;overflow:hidden;border:1px solid var(--accent)}.hero__avatar{width:100%;height:100%;object-fit:cover;object-position:30% 14px;display:block;transform:scale(1.25);transform-origin:left center}.hero__subtitle{font-size:1.2rem;color:var(--text-secondary);font-weight:400;margin-bottom:20px}.hero__description{font-size:1rem;color:var(--text-muted);line-height:1.7;margin-bottom:32px;max-width:480px}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition);border:none}.btn--primary{background:var(--accent);color:#0a0a0a}.btn--primary:hover{background:var(--accent-hover);transform:translateY(-2px)}.btn--outline{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn--outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.social-link{color:var(--text-muted);transition:color var(--transition),transform var(--transition);display:flex}.social-link:hover{color:var(--accent)!important;transform:translateY(-2px)}.hero__visual{flex-shrink:0}.phone-mockup{width:290px;height:610px;background:#111;border-radius:40px;border:3px solid #2a2a2a;padding:10px;position:relative;box-shadow:0 0 0 1px #ffffff0d,0 20px 80px #0009,0 0 60px #64ffda0a}.phone-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:100px;height:18px;background:#111;border-radius:0 0 10px 10px;z-index:2}.phone-screen{width:100%;height:100%;border-radius:30px;overflow:hidden;background:#000}.phone-screen svg{width:100%;height:100%;display:block}.phone-home-indicator{position:absolute;bottom:7px;left:50%;transform:translate(-50%);width:130px;height:5px;background:#2a2a2a;border-radius:3px}.section{padding:100px 24px}.section__inner{max-width:var(--max-width);margin:0 auto}.section__header{margin-bottom:60px}.section__title{font-size:2rem;font-weight:700;letter-spacing:-.02em;position:relative;display:inline-block}.section__title:after{content:"";position:absolute;bottom:-4px;left:0;width:40px;height:3px;background:var(--accent);border-radius:2px}.section__subtitle{color:var(--text-muted);font-size:1rem;margin-top:8px}.tech-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.tech-item{flex:0 1 120px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition)}.tech-item:hover{background:var(--bg-card-hover);border-color:var(--accent);transform:translateY(-4px)}.tech-item__icon{width:48px;height:48px;object-fit:contain}.tech-item__name{font-size:12px;color:var(--text-secondary);font-weight:500;text-align:center}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all var(--transition)}.project-card:hover{border-color:var(--accent);transform:translateY(-4px)}.project-card__image{width:100%;height:240px;overflow:hidden;background:#000}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-card__image img{transform:scale(1.05)}.project-card__content{padding:20px}.project-card__title{font-size:1.1rem;font-weight:600;margin-bottom:6px}.project-card__description{font-size:.9rem;color:var(--text-muted);line-height:1.6}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.skill-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:all var(--transition)}.skill-card:hover{border-color:var(--accent);transform:translateY(-4px)}.skill-card__header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.skill-card__icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#64ffda14;border:1px solid rgba(100,255,218,.15);color:var(--accent)}.skill-card__title{font-size:1.05rem;font-weight:600}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;font-size:.78rem;color:var(--text-secondary);transition:border-color var(--transition),color var(--transition)}.skill-tag:hover{border-color:var(--accent);color:var(--accent)}.skill-tag--accent{color:var(--accent);border-color:#64ffda4d;background:#64ffda0f}.edu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.edu-item{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;transition:all var(--transition)}.edu-item:hover{border-color:var(--accent);transform:translateY(-4px)}.edu-item__icon{width:64px;height:64px;object-fit:contain;border-radius:8px}.edu-item__name{font-size:.95rem;font-weight:600}.edu-item__meta{font-size:.8rem;color:var(--text-muted)}.reviews-grid{display:grid;grid-template-columns:1fr;gap:16px}.review-card{display:flex;flex-direction:column;height:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:border-color var(--transition)}.review-card__header{display:flex;gap:12px;margin-bottom:12px}.review-card__avatar-link{flex-shrink:0;margin-top:2px;display:block;line-height:0}.review-card__avatar-img{width:44px;height:44px;border-radius:50%;object-fit:cover}.review-card__avatar-fallback{width:44px;height:44px;border-radius:50%;background:#0a66c2;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.review-card__info{flex:1;min-width:0}.review-card__name-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:2.3rem;margin-bottom:1px}.review-card__name-link{text-decoration:none;color:inherit}.review-card__name-link:hover{text-decoration:underline;color:var(--accent)}.review-card__name{font-size:.88rem;font-weight:600;line-height:1.3;display:inline}.review-card__badge{display:inline-flex;line-height:0}.review-card__verified{display:inline-flex;line-height:0;flex-shrink:0}.review-card__degree{font-size:.74rem;color:var(--text-muted)}.review-card__title{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.1rem;font-size:.74rem;color:var(--text-muted);line-height:1.4;margin-bottom:4px}.review-card__meta{min-height:2.1rem}.review-card__service{font-size:.74rem;color:var(--text-secondary);line-height:1.4}.review-card__service strong{font-weight:600;color:var(--text-primary)}.review-card__rating-row{display:flex;align-items:center;gap:4px;margin-bottom:10px}.review-card__stars{display:flex;gap:1px;flex-shrink:0}.review-card__stars svg{width:16px;height:16px}.review-card__rating-text{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-left:4px}.review-card__date{font-size:.74rem;color:var(--text-muted)}.review-card__text-block{margin-bottom:14px}.review-card__text{font-size:.82rem;color:var(--text-secondary);line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.review-card__text--clamped{display:-webkit-box;-webkit-line-clamp:10;line-clamp:10;-webkit-box-orient:vertical;overflow:hidden}.review-card__more{display:block;margin-top:6px;padding:0;background:none;border:none;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--accent);cursor:pointer}.review-card__more:hover{text-decoration:underline}.review-card__linkedin{display:inline-flex;align-self:flex-start;margin-top:auto;align-items:center;gap:6px;font-size:.8rem;color:#0a66c2;font-weight:500;text-decoration:none;transition:opacity var(--transition)}.review-card__linkedin:hover{opacity:.7;text-decoration:underline}@media (min-width: 640px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.reviews-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1024px){@supports (grid-template-rows: subgrid){.reviews-grid{grid-auto-rows:auto auto 1fr auto}.review-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;height:auto;padding:0}.review-card>*{padding-left:18px;padding-right:18px}.review-card__header{padding-top:18px}.review-card__linkedin{padding-bottom:18px;margin-top:0}.review-card__name-row,.review-card__title,.review-card__meta{min-height:0}}}.contact-form{max-width:520px;margin:0 auto}.contact-booking{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:36px}.contact-booking__divider{display:flex;align-items:center;gap:12px;width:100%;max-width:520px;color:var(--text-muted);font-size:.85rem}.contact-booking__divider:before,.contact-booking__divider:after{content:"";flex:1;height:1px;background:var(--border)}.booking-cta{display:inline-flex;align-items:center;gap:14px;width:100%;max-width:520px;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit;text-align:left;cursor:pointer;transition:all var(--transition)}.booking-cta:hover{border-color:var(--accent);background:var(--bg-card-hover);transform:translateY(-2px)}.booking-cta__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:10px;background:#64ffda14;border:1px solid rgba(100,255,218,.15);color:var(--accent)}.booking-cta__text{display:flex;flex-direction:column;flex:1;min-width:0}.booking-cta__text strong{font-size:.95rem;font-weight:600}.booking-cta__text small{font-size:.8rem;color:var(--text-muted)}.booking-cta__arrow{display:flex;color:var(--text-muted);transition:transform var(--transition),color var(--transition)}.booking-cta:hover .booking-cta__arrow{color:var(--accent);transform:translate(3px)}.booking-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0a0ad1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:booking-fade .2s ease}.booking-modal__panel{display:flex;flex-direction:column;width:100%;max-width:900px;height:88vh;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 80px #0009}.booking-modal__bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.booking-modal__title{font-size:.9rem;font-weight:600}.booking-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.booking-modal__close:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-card)}.booking-modal__frame{flex:1;width:100%;border:0;display:block;background:#fff}@keyframes booking-fade{0%{opacity:0}to{opacity:1}}@media (max-width: 600px){.booking-modal{padding:0}.booking-modal__panel{max-width:none;height:100%;border:0;border-radius:0}}.footer{padding:40px 24px;border-top:1px solid var(--border)}.footer__inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--text-muted)}.footer__links{display:flex;gap:20px}.footer__links a{color:var(--text-muted);transition:color var(--transition)}.footer__links a:hover{color:var(--accent)}.text-center{text-align:center}@media (max-width: 900px){.hero__inner{flex-direction:column;text-align:center}.hero__content{max-width:100%}.hero__intro{align-items:center;gap:16px}.hero__socials{justify-content:center}.hero__description{margin-left:auto;margin-right:auto}.hero__actions{justify-content:center}.header__nav{display:none}.project-grid{grid-template-columns:1fr}.edu-grid{grid-template-columns:repeat(2,1fr)}.footer__inner{flex-direction:column;gap:12px;text-align:center}}@media (max-width: 600px){.phone-mockup{width:230px;height:484px}.edu-grid{grid-template-columns:1fr}.section{padding:60px 16px}.hero{padding:100px 16px 60px}.header__logo svg{width:32px;height:32px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#0a0a0a;color:#fafafa;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:#64ffda33;color:#fafafa}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444}
