:root{--bg: #07040f}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:var(--bg);overflow-x:hidden}#root{min-height:100vh;width:100%}main{position:relative;z-index:1}body{background:transparent}.bg-video-wrapper{position:fixed;inset:0;z-index:0;overflow:hidden}.bg-video{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.bg-video{display:none}.bg-video-wrapper{background:linear-gradient(135deg,#07040f,#1a0533,#07040f)}}.hero__nav{position:fixed;top:0;left:0;width:100%;z-index:9999;padding:1.4rem 3rem;background:#07040fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero__links{display:flex;gap:2.5rem;justify-content:center}.hero__link{color:#fff;text-decoration:none;font-size:.95rem;letter-spacing:.14em;opacity:.75;transition:opacity .2s,color .2s}.hero__link:hover{opacity:1;color:#a855f7}.hero{position:static;background:transparent}.hero__section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:5rem 4rem 2rem;background:transparent}.hero__content{display:flex;align-items:center;justify-content:center;gap:8rem;width:100%;max-width:1200px;margin:0 auto}.hero__copy{flex:0 0 520px;max-width:520px}.hero__kicker{font-size:.9rem;letter-spacing:.25em;color:#aaa;margin-bottom:.75rem}.hero__title{font-size:clamp(3rem,6vw,4.5rem);font-weight:700;color:#fff;margin:0 0 1.2rem}.hero__accent{color:#a855f7}.hero__role{font-size:1.2rem;font-weight:700;letter-spacing:.15em;color:#a855f7;margin-right:.5rem}.hero__intro{font-size:1.15rem;line-height:1.9;color:#ccc;margin-bottom:2rem}.hero__socials{display:flex;gap:.75rem}.hero__icon{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;transition:border-color .2s}.hero__icon:hover{border-color:#a855f7}.hero__icon img{width:20px;height:20px;object-fit:contain;filter:brightness(0) invert(1)}.hero__media{flex:1;max-width:480px}.hero__photo{width:100%;height:100%;min-height:500px;max-height:600px;object-fit:cover;border-radius:16px;border:1px solid rgba(168,85,247,.3);display:block}.about{position:relative;z-index:1;padding:2rem 4rem 5rem;max-width:1100px;margin:0 auto;background:transparent;scroll-margin-top:80px}.about__title{font-size:3.5rem;color:#fff;margin-bottom:2rem;font-weight:700}.about__title--center,.about__subtitle--center{text-align:center}.about__text{color:#ccc;line-height:1.9;font-size:1.15rem;margin-bottom:3.5rem}.about__subtitle{font-size:2.5rem;color:#fff;font-weight:700;margin-bottom:2.5rem}.skills__grid{display:flex;gap:3rem;flex-wrap:wrap;justify-content:center}.skills__col{flex:1;min-width:220px}.skills__head{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.skills__group{font-size:1rem;letter-spacing:.15em;color:#fff;white-space:nowrap;margin:0;font-weight:600}.skills__line{flex:1;height:1px;background:#a855f766}.skills__cards{display:flex;flex-wrap:wrap;gap:1rem}.skill{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:90px}.skill__iconWrap{width:72px;height:72px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;display:flex;align-items:center;justify-content:center}.skill__icon{width:42px;height:42px;object-fit:contain}.skill__label{font-size:.7rem;letter-spacing:.08em;color:#aaa;text-align:center;text-transform:uppercase}@media(max-width:768px){.hero__nav{padding:.9rem 1rem}.hero__links{gap:.85rem}.hero__link{font-size:.62rem;letter-spacing:.04em}.hero__content{flex-direction:column;gap:2rem;text-align:center}.hero__copy{flex:none;max-width:100%}.hero__photo{min-height:300px;max-height:380px;width:280px}.hero__section{padding:5rem 1.5rem 2rem}.about{padding:2rem 1.5rem 4rem}.about__title{font-size:2.5rem}.about__subtitle{font-size:1.8rem}.about__text{font-size:1rem}.hero__socials{justify-content:center}}.projectsFS-title{text-align:center;font-size:3rem;font-weight:700;color:#fff;letter-spacing:.1em;padding:4rem 0 2rem;text-transform:uppercase}.project-row{position:relative;width:100%;min-height:100dvh;padding:0;scroll-snap-align:start;overflow:hidden;opacity:0;transition:opacity .8s ease,transform .8s ease}.project-row:not(.flip){transform:translate(-60px)}.project-row.flip{transform:translate(60px)}.project-row.in{opacity:1;transform:translate(0)}.shot{position:absolute;inset:0;overflow:hidden;isolation:isolate;border-radius:0}.shot img,.shot video{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.92) saturate(1.08);transition:transform .6s ease,filter .6s ease}.shot:hover img,.shot:hover video{transform:scale(1.03);filter:brightness(1) saturate(1.12)}.shot,.shot *{margin:0}.shot .vignette{position:absolute;inset:0;background:radial-gradient(130% 130% at 78% 50%,#0000 0 48%,#07040fbf);pointer-events:none}.project-row.flip .shot .vignette{background:radial-gradient(130% 130% at 22% 50%,#0000 0 48%,#07040fbf)}.copy{position:absolute;top:50%;right:clamp(24px,5vw,84px);transform:translateY(-50%);width:min(560px,44vw);padding:clamp(24px,3vw,48px);border-radius:20px;background:linear-gradient(135deg,#581c8773,#0c0a128c);border:1px solid rgba(168,85,247,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 24px #a855f740,0 0 60px #a855f71a,inset 0 1px #ffffff0f}.project-row.flip .copy{left:clamp(24px,5vw,84px);right:auto}.name{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700;color:#fff;margin:0 0 .6rem}.subtitle{font-size:.92rem;letter-spacing:.08em;color:#c084fc;margin:0 0 1rem;line-height:1.6}.desc{font-size:1.05rem;line-height:1.75;color:#ffffffd1;margin:0 0 1.5rem}.copy__btns{display:flex;gap:.75rem;flex-wrap:wrap}.liveBtn{display:inline-block;padding:.6rem 1.4rem;border-radius:8px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-decoration:none;cursor:pointer;transition:all .2s;background:#a855f7;color:#fff;border:1px solid #a855f7}.liveBtn:hover{background:transparent;color:#a855f7}.liveBtn.secondary{background:transparent;color:#a855f7;border:1px solid #a855f7}.liveBtn.secondary:hover{background:#a855f7;color:#fff}@media(max-width:1100px){.project-row{min-height:72vh}.copy{position:static;transform:none;width:auto;margin:clamp(12px,3vw,16px)}}.resume-section{position:relative;z-index:1;padding:5rem 2rem;min-height:100vh;width:100%;max-width:900px;margin:0 auto;text-align:center;scroll-margin-top:60px;display:flex;flex-direction:column;align-items:center;justify-content:center}.resume-title{font-size:2rem;font-weight:700;color:#fff;letter-spacing:.1em;margin-bottom:2rem;text-transform:uppercase}.rec-title{margin-top:5rem}.modal-overlay{position:fixed;inset:0;z-index:9999;background:#000000eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-box{position:relative;width:100%;max-width:820px;height:92vh;background:#0d0818;border:1px solid rgba(168,85,247,.45);border-radius:18px;overflow:hidden;box-shadow:0 0 60px #a855f733;animation:slideUp .25s ease}.modal-close{position:absolute;top:1rem;right:1rem;z-index:10;background:#a855f726;border:1px solid rgba(168,85,247,.5);color:#fff;width:38px;height:38px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#a855f7;border-color:#a855f7}.modal-iframe{width:100%;height:100%;border:none;display:block}.doc-card{background:#ffffff0f;border:1px solid rgba(168,85,247,.3);border-radius:14px;padding:1.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem;text-align:center;width:100%}.doc-info{width:100%}.doc-name{font-size:1rem;font-weight:700;color:#fff;margin:0 0 .3rem}.doc-sub{font-size:.8rem;color:#a855f7;margin:0}.doc-btns{display:flex;gap:.75rem;flex-wrap:nowrap;justify-content:center}.resume-btn{display:inline-block;padding:.6rem 1.2rem;border-radius:8px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-decoration:none;cursor:pointer;transition:all .2s;background:#a855f7;color:#fff;border:1px solid #a855f7;white-space:nowrap}.resume-btn:hover{background:transparent;color:#a855f7}.resume-btn.secondary{background:transparent;color:#a855f7;border:1px solid #a855f7}.resume-btn.secondary:hover{background:#a855f7;color:#fff}.rec-grid{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;margin-top:2rem}.rec-card{background:#ffffff0f;border:1px solid rgba(168,85,247,.25);border-radius:14px;padding:2rem 1.5rem;width:min(380px,100%);display:flex;flex-direction:column;gap:1.5rem;text-align:center;align-items:center}.rec-card .doc-btns{justify-content:center;width:100%}.rec-card .resume-btn{font-size:.72rem;padding:.55rem .9rem}.rec-meta{display:flex;flex-direction:column;gap:.4rem}.rec-name{font-size:1.1rem;font-weight:700;color:#fff;margin:0}.rec-role{font-size:.85rem;color:#a855f7;margin:0}.rec-note{font-size:.75rem;color:#666;margin:0;font-style:italic}@media(max-width:768px){.resume-section{padding:3rem 1.25rem}.doc-btns{gap:.5rem}.resume-btn{font-size:.7rem;padding:.5rem .75rem}.rec-grid{gap:1.25rem}.rec-card{padding:1.5rem 1rem}}.contact-section{position:static;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem 6rem;max-width:900px;margin:0 auto;text-align:center;scroll-margin-top:80px}.contact-kicker{font-size:.78rem;letter-spacing:.25em;color:#a855f7;margin-bottom:1.2rem;text-transform:uppercase}.contact-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:1.5rem}.contact-accent{color:#a855f7}.contact-sub{font-size:1.1rem;color:#fff;line-height:1.8;max-width:540px;margin:0 auto 3.5rem}.contact-grid{display:flex;gap:1.5rem;flex-wrap:nowrap;justify-content:center;margin-bottom:3rem}.contact-card{background:#ffffff0f;border:1px solid rgba(168,85,247,.25);border-radius:14px;padding:1.5rem 2rem;display:flex;align-items:center;gap:1.2rem;text-decoration:none;transition:all .25s;min-width:260px}.contact-card:hover{border-color:#a855f7;background:#a855f714;transform:translateY(-4px);box-shadow:0 8px 30px #a855f733,0 0 60px #a855f714}.contact-icon{width:46px;height:46px;border-radius:50%;background:#a855f71f;border:1px solid rgba(168,85,247,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-icon img{width:22px;height:22px;object-fit:contain;filter:brightness(0) invert(1)}.contact-info{text-align:left}.contact-label{font-size:.72rem;letter-spacing:.15em;color:#a855f7;text-transform:uppercase;margin:0 0 .25rem}.contact-value{font-size:.9rem;color:#fff;margin:0}.contact-footer{font-size:.8rem;color:#555;letter-spacing:.05em;margin-top:1rem}@media(max-width:768px){.contact-grid{flex-wrap:wrap;flex-direction:column;align-items:center}.contact-card{min-width:unset;width:100%}}#root{min-height:100vh;width:100%;margin:0;padding:0;text-align:initial;display:block}
