html,body{height:100%;margin:0;padding:0}body{background:#111;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}main{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;padding:100px 40px 40px;box-sizing:border-box}header{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000}nav{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:none;margin:0;padding:18px 40px;background:#0f0f0f;box-shadow:0 8px 20px rgba(0,0,0,.25);box-sizing:border-box;position:relative}nav ul{display:flex;align-items:center;gap:25px;list-style:none}nav a{text-decoration:none;color:#cfcfcf;font-size:14px;transition:color .3s ease}nav a:hover{color:#fff}nav a.active{color:#fff;font-weight:600;position:relative}nav a.active::after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:#fff;border-radius:2px}nav img{filter:brightness(0) invert(0.8);transition:filter .3s ease}nav img:hover{filter:brightness(0) invert(1)}.logo{text-decoration:none;color:#fff;font-weight:600;font-size:18px}.logo-svg .logo-path{fill:none;stroke:#fff;stroke-width:.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3000;stroke-dashoffset:3000;animation:logo-draw 2.8s cubic-bezier(0.4, 0, 0.2, 1) .2s forwards,logo-fill .6s ease 3s forwards}.logo-svg:hover .logo-path{opacity:.7;transition:opacity .3s ease}@keyframes logo-draw{to{stroke-dashoffset:0}}@keyframes logo-fill{to{fill:#fff;stroke-width:0}}.nav-burger{display:none;background:rgba(0,0,0,0);border:none;cursor:pointer;padding:4px;z-index:1001}.nav-burger__icon{width:22px;height:22px;display:block;filter:brightness(0) invert(0.8);transition:transform .4s cubic-bezier(0.4, 0, 0.2, 1),filter .3s ease}.nav-burger:hover .nav-burger__icon{filter:brightness(0) invert(1)}.nav-burger.is-open .nav-burger__icon{transform:rotate(90deg)}@media(max-width: 570px){nav{flex-wrap:wrap;padding:14px 20px}.logo{order:1}.nav-burger{display:flex;align-items:center;justify-content:center;order:2}.nav-menu{order:3;display:none;width:100%;flex-direction:column;align-items:flex-start;gap:0;overflow:hidden}.nav-menu li{width:100%;border-top:1px solid #1e1e1e}.nav-menu li a{display:block;padding:14px 0;font-size:15px}.nav-menu li:nth-last-child(-n+2){display:inline-flex;width:auto;border-top:none}.nav-menu li:nth-last-child(-n+2) a{padding:14px 12px 14px 0}.nav-menu li:nth-last-child(2){border-top:1px solid #1e1e1e;margin-top:4px}.nav-menu.is-open{display:flex}}.hero{width:100%;max-width:1200px;height:100%;display:flex;justify-content:space-between;align-items:center;gap:40px}.hero-left{flex:1;display:flex;justify-content:flex-start;align-items:center}.hero-left h1{font-size:clamp(3rem,7vw,7rem);font-weight:700;line-height:.95;color:#fff}.hero-right{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;gap:20px}.hero-right h2{font-size:clamp(1.2rem,2vw,2rem);font-weight:500;color:#f2f2f2;max-width:500px}.hero-right h3{font-size:1rem;font-weight:400;color:#bdbdbd}.hero-right figure{width:100%;display:flex;justify-content:center;align-items:center;margin-top:10px}.hero-right img{width:100%;max-width:320px;height:auto;display:block;filter:brightness(0) invert(1);opacity:.9}@media(max-width: 570px){body:has(.hero) main{padding:130px 20px 16px;align-items:flex-start}.hero{flex-direction:column;gap:32px;height:auto;align-items:stretch}.hero-left{flex:none;justify-content:flex-start}.hero-left h1{font-size:clamp(2rem,9vw,2.8rem);text-align:left}.hero-right{flex:none;align-self:flex-end;align-items:center;text-align:center;gap:8px;width:65%}.hero-right figure{order:-1;margin-top:0}.hero-right img{max-width:160px}.hero-right h2{font-size:.78rem;max-width:100%}.hero-right h3{font-size:.72rem}}body:has(.experience-main){overflow-y:scroll}body:has(.experience-main) main{height:auto;min-height:100vh;align-items:flex-start;padding-top:120px;padding-bottom:80px}.experience-page{width:100%;max-width:1200px}.experience-page__header{margin-bottom:72px}.experience-page__label{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:#666;margin-bottom:16px}.experience-page__title{font-size:clamp(2.8rem,6vw,5.5rem);font-weight:700;line-height:.95;color:#fff}.experience-list{display:flex;flex-direction:column}.experience-card{display:grid;grid-template-columns:260px 1fr;gap:48px;padding:48px 0;border-top:1px solid #1e1e1e;transition:border-color .3s ease}.experience-card:last-child{border-bottom:1px solid #1e1e1e}.experience-card:hover{border-top-color:#3a3a3a}.experience-card__meta{display:flex;flex-direction:column;gap:10px;padding-top:4px}.experience-card__period{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#555}.experience-card__company{font-size:13px;font-weight:500;color:#888}.experience-card__badge{display:inline-flex;align-items:center;width:fit-content;padding:4px 10px;border:1px solid #2a2a2a;border-radius:2px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#555;margin-top:6px}.experience-card__content{display:flex;flex-direction:column;gap:20px}.experience-card__role{font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:700;color:#fff;line-height:1.1}.experience-card__tasks{display:flex;flex-direction:column;list-style:none;padding:0;margin:0}.experience-task{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-top:1px solid #1a1a1a}.experience-task:first-child{padding-top:0;border-top:none}.experience-task__name{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c8c8c8}.experience-task__detail{font-size:13px;line-height:1.65;color:#666;max-width:580px}.experience-role-group{display:flex;flex-direction:column;gap:16px}.experience-role-group__dates{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#444;margin-top:-10px}.experience-role-divider{width:100%;height:1px;background:#1e1e1e;margin:8px 0}.experience-project-link{display:inline-flex;align-items:center;gap:8px;margin-top:8px;width:fit-content;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#666;text-decoration:none;padding:8px 14px;border:1px solid #2a2a2a;border-radius:2px;transition:color .2s ease,border-color .2s ease}.experience-project-link:hover{color:#fff;border-color:#555}.experience-project-link:hover .experience-project-link__arrow{transform:translateX(4px)}.experience-project-link__arrow{font-size:13px;transition:transform .2s ease}body:has(.about-main){overflow-y:scroll}body:has(.about-main) main{height:auto;min-height:100vh;align-items:flex-start;padding-top:120px;padding-bottom:100px}.about-page{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:80px}.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:flex-start}.about-hero__label{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:#666;margin-bottom:16px}.about-hero__title{font-size:clamp(2.8rem,6vw,5.5rem);font-weight:700;line-height:.95;color:#fff}.about-hero__right{display:flex;flex-direction:column;gap:20px;padding-top:8px}.about-hero__intro{font-size:14px;line-height:1.8;color:#888}.about-hero__objective{font-size:13px;font-weight:500;color:#c8c8c8;padding:14px 18px;border:1px solid #2a2a2a;border-radius:2px}.about-hero__objective strong{color:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.about-block{padding:40px;border:1px solid #1e1e1e;display:flex;flex-direction:column;gap:28px;transition:border-color .3s ease}.about-block:hover{border-color:#3a3a3a}.about-block--wide{grid-column:1/-1}.about-block__title{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#555}.about-block__content{display:flex;flex-direction:column;gap:20px}.about-block__content--row{flex-direction:row;flex-wrap:wrap;gap:24px}.skill-group{display:flex;flex-direction:column;gap:10px}.skill-group__label{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#444}.skill-group__tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{padding:5px 12px;border:1px solid #2a2a2a;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:.08em;color:#c8c8c8;transition:border-color .2s ease,color .2s ease}.skill-tag:hover{border-color:#555;color:#fff}.softskill-item{display:flex;flex-direction:column;gap:4px;padding-bottom:16px;border-bottom:1px solid #1a1a1a}.softskill-item:last-child{border-bottom:none;padding-bottom:0}.softskill-item__name{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c8c8c8}.softskill-item__detail{font-size:13px;line-height:1.6;color:#666}.langue-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #1a1a1a}.langue-item:last-child{border-bottom:none}.langue-item__name{font-size:13px;font-weight:600;color:#c8c8c8}.langue-item__level{font-size:11px;font-weight:500;letter-spacing:.1em;color:#555}.passion-item{display:flex;flex-direction:column;gap:4px;padding-bottom:16px;border-bottom:1px solid #1a1a1a}.passion-item:last-child{border-bottom:none;padding-bottom:0}.passion-item__name{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c8c8c8}.passion-item__detail{font-size:13px;line-height:1.6;color:#666}.honest-item{flex:1 1 200px;display:flex;flex-direction:column;gap:6px}.honest-item__name{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c8c8c8}.honest-item__detail{font-size:13px;line-height:1.6;color:#666}body:has(.contact-main){overflow-y:scroll}body:has(.contact-main) main{height:auto;min-height:100vh;align-items:flex-start;padding-top:120px;padding-bottom:100px}.contact-page{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:72px}.contact-header{display:flex;flex-direction:column;gap:20px;max-width:700px}.contact-header__label{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:#666}.contact-header__title{font-size:clamp(2.8rem,6vw,5.5rem);font-weight:700;line-height:.95;color:#fff}.contact-header__sub{font-size:14px;line-height:1.75;color:#888}.contact-header__sub strong{color:#c8c8c8}.contact-body{display:grid;grid-template-columns:320px 1fr;gap:64px;align-items:flex-start}.contact-info{display:flex;flex-direction:column}.contact-info__block{display:flex;flex-direction:column;gap:8px;padding:24px 0;border-top:1px solid #1e1e1e}.contact-info__block:last-child{border-bottom:1px solid #1e1e1e}.contact-info__block-label{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#444;margin-bottom:4px}.contact-info__link{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#888;text-decoration:none;transition:color .2s ease}.contact-info__link:hover{color:#fff}.contact-info__link-tag{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#444;padding:2px 7px;border:1px solid #2a2a2a;border-radius:2px}.contact-info__text{font-size:13px;font-weight:500;color:#888}.contact-info__text--muted{font-size:12px;color:#555}.contact-cv__btn{display:inline-flex;align-items:center;width:fit-content;padding:10px 20px;border:1px solid #2a2a2a;border-radius:2px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#c8c8c8;text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease;margin-top:4px}.contact-cv__btn:hover{border-color:#fff;color:#fff;background:hsla(0,0%,100%,.04)}.contact-form-wrapper{padding:40px;border:1px solid #1e1e1e}.contact-form{display:flex;flex-direction:column;gap:24px}.contact-form__group{display:flex;flex-direction:column;gap:8px}.contact-form__label{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#555}.contact-form__input,.contact-form__textarea{background:rgba(0,0,0,0);border:1px solid #2a2a2a;border-radius:2px;padding:12px 16px;font-size:13px;color:#c8c8c8;font-family:inherit;outline:none;transition:border-color .2s ease;resize:none}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:#3a3a3a}.contact-form__input:focus,.contact-form__textarea:focus{border-color:#555}.contact-form__btn{align-self:flex-start;padding:12px 28px;background:#fff;color:#111;border:none;border-radius:2px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease}.contact-form__btn:hover{background:#cfcfcf}body:has(.projects-main){overflow-y:scroll}body:has(.projects-main) main{height:auto;min-height:100vh;align-items:flex-start;padding-top:120px;padding-bottom:100px}.projects-page{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:72px}.projects-header{display:flex;flex-direction:column;gap:16px}.projects-header__label{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:#666}.projects-header__title{font-size:clamp(2.8rem,6vw,5.5rem);font-weight:700;line-height:.95;color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:2px}.project-card{display:flex;flex-direction:column;border:1px solid #1e1e1e;transition:border-color .3s ease}.project-card:hover{border-color:#3a3a3a}.project-card__visual{width:100%;height:200px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.project-card__visual--1{background:#161616}.project-card__visual--2{background:#141414}.project-card__visual--3{background:#181818}.project-card__visual--4{background:#131313}.project-card__visual--5{background:#151515}.project-card__visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.project-card__preview{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.project-card__number{font-size:5rem;font-weight:700;color:#222;letter-spacing:-0.05em;user-select:none}.project-card__body{display:flex;flex-direction:column;gap:20px;padding:28px;flex:1}.project-card__header{display:flex;flex-direction:column;gap:10px}.project-card__tag{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#555}.project-card__title{font-size:1.4rem;font-weight:700;color:#fff;line-height:1.1}.project-card__description{font-size:13px;line-height:1.65;color:#666}.project-card__stack{display:flex;flex-wrap:wrap;gap:6px}.project-card__actions{display:flex;gap:10px;margin-top:auto}.project-card__btn{display:inline-flex;align-items:center;padding:9px 16px;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.project-card__btn--github{border:1px solid #2a2a2a;color:#666;background:rgba(0,0,0,0)}.project-card__btn--github:hover{border-color:#555;color:#c8c8c8}.project-card__btn--live{border:1px solid #fff;color:#fff;background:rgba(0,0,0,0)}.project-card__btn--live:hover{background:#fff;color:#111}.project-stack-tag{padding:4px 10px;border:1px solid #2a2a2a;border-radius:2px;font-size:10px;font-weight:600;letter-spacing:.08em;color:#555}@media(max-width: 900px){.about-hero{grid-template-columns:1fr;gap:32px}.about-grid{grid-template-columns:1fr}.about-block--wide{grid-column:1}.contact-body{grid-template-columns:1fr;gap:48px}.projects-grid{grid-template-columns:1fr}}@media(max-width: 768px){nav{padding:18px 24px}main{padding-left:24px;padding-right:24px}body:has(.experience-main) main,body:has(.about-main) main,body:has(.contact-main) main,body:has(.projects-main) main{padding-left:24px;padding-right:24px}.experience-card{grid-template-columns:1fr;gap:20px;padding:36px 0}.experience-page__header{margin-bottom:48px}.contact-form-wrapper{padding:24px}}
