.header{z-index:100;background:var(--white);border-bottom:1px solid var(--gray-200);transition:background .2s,border-color .2s;position:sticky;top:28px}.header-inner{justify-content:space-between;align-items:center;max-width:900px;height:60px;margin:0 auto;padding:0 24px;display:flex}.header-name{letter-spacing:-.01em;color:var(--black);font-size:1rem;font-weight:700}.header-nav{align-items:center;gap:32px;display:flex}.header-link{color:var(--gray-600);font-size:.85rem;font-weight:400;transition:color .15s;position:relative}.header-link:after{content:"";background:var(--black);width:0;height:1px;transition:width .2s;position:absolute;bottom:-2px;left:0}.header-link:hover{color:var(--black)}.header-link:hover:after,.header-link.active:after{width:100%}.header-link.active{color:var(--black);font-weight:500}.theme-toggle{cursor:pointer;color:var(--gray-400);background:0 0;border:none;align-items:center;padding:4px 6px;font-size:.9rem;transition:color .15s;display:flex}.theme-toggle:hover{color:var(--black)}.header-mobile-controls{align-items:center;gap:8px;display:none}.header-burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:flex}.burger-bar{background:var(--black);width:22px;height:1.5px;transition:transform .2s,opacity .2s;display:block}.header-mobile-nav{border-top:1px solid var(--gray-200);background:var(--white);flex-direction:column;display:flex}.mobile-link{color:var(--gray-600);border-bottom:1px solid var(--gray-100);padding:14px 24px;font-size:.95rem;transition:background .15s,color .15s}.mobile-link:hover,.mobile-link.active{color:var(--black);background:var(--gray-50)}@media (max-width:640px){.header-nav{display:none}.header-mobile-controls{display:flex}}
.home-main{max-width:900px;margin:0 auto;padding:64px 24px 80px}.home-hero{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:flex-start;gap:48px;margin-bottom:40px;padding-bottom:56px;display:flex}.home-hero-text{flex:1;min-width:0}.home-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gray-400);margin-bottom:12px;font-size:.78rem;font-weight:500}.home-name{letter-spacing:-.04em;color:var(--black);margin-bottom:20px;font-size:clamp(2.6rem,7vw,4rem);font-weight:700;line-height:1.05}.home-bio{color:var(--gray-600);max-width:480px;margin-bottom:28px;font-size:1rem;line-height:1.75}.local-time{color:var(--gray-400);align-items:center;gap:6px;margin-bottom:16px;font-size:.78rem;display:flex}.home-actions{flex-wrap:wrap;gap:16px;display:flex}.home-social-link{color:var(--black);border:1px solid var(--gray-200);border-radius:2px;align-items:center;gap:7px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.home-social-link:hover{background:var(--gray-100);border-color:var(--gray-400)}.home-contact{flex-shrink:0}.contact-card{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:4px;width:260px;padding:20px;transition:background .2s,border-color .2s}.contact-title{text-transform:uppercase;letter-spacing:.14em;color:var(--gray-400);margin-bottom:14px;font-size:.75rem;font-weight:600}.robot-check{background:var(--white);border:1px solid var(--gray-200);color:var(--gray-600);cursor:pointer;border-radius:2px;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;font-size:.85rem;transition:border-color .15s;display:flex}.robot-check:hover{border-color:var(--gray-400)}.robot-check input[type=checkbox]{width:15px;height:15px;accent-color:var(--black);flex-shrink:0}.contact-details{flex-direction:column;gap:8px;display:flex}.contact-details p{color:var(--gray-600);align-items:center;gap:8px;font-size:.85rem;display:flex}.contact-details i{color:var(--black);width:14px}.home-nav-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.home-nav-card{border:1px solid var(--gray-200);border-radius:2px;padding:20px;transition:background .15s,border-color .15s;display:block}.home-nav-card:hover{background:var(--gray-50);border-color:var(--black)}.home-nav-card-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.home-nav-card-title{color:var(--black);font-size:1rem;font-weight:600}.home-nav-card-top i{color:var(--gray-400);font-size:.85rem;transition:transform .2s}.home-nav-card:hover .home-nav-card-top i{color:var(--black);transform:translate(3px)}.home-nav-card-sub{color:var(--gray-400);font-size:.82rem;line-height:1.5}@media (max-width:768px){.home-hero{flex-direction:column;gap:32px}.home-contact,.contact-card{width:100%}.home-nav-grid{grid-template-columns:1fr}}@media (max-width:480px){.home-main{padding:40px 20px 60px}.home-actions{gap:10px}.home-social-link{padding:7px 13px;font-size:.8rem}}
.portfolio-list{flex-direction:column;display:flex}.portfolio-item{border-bottom:1px solid var(--gray-200);opacity:0;grid-template-columns:340px 1fr;gap:40px;padding:40px 0;transition:opacity .4s,transform .4s;display:grid;transform:translateY(12px)}.portfolio-item:first-child{border-top:1px solid var(--gray-200)}.portfolio-item.visible{opacity:1;transform:translateY(0)}.portfolio-image-wrap{flex-shrink:0}.portfolio-img{object-fit:cover;border:1px solid var(--gray-200);border-radius:2px;width:100%;height:210px;display:block}.portfolio-body{flex-direction:column;justify-content:center;gap:12px;display:flex}.portfolio-title{letter-spacing:-.02em;color:var(--black);font-size:1.2rem;font-weight:700}.portfolio-title i{color:var(--gray-400);margin-left:4px;font-size:.9rem}.portfolio-desc{color:var(--gray-600);font-size:.88rem;line-height:1.7}.portfolio-tags{flex-wrap:wrap;gap:6px;display:flex}.ptag{color:var(--gray-600);border:1px solid var(--gray-200);background:var(--gray-50);border-radius:2px;padding:2px 10px;font-size:.75rem;font-weight:500}.portfolio-links{flex-wrap:wrap;gap:8px;display:flex}.plink{border:1px solid var(--gray-200);color:var(--black);background:var(--white);border-radius:2px;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.plink:hover{background:var(--gray-100);border-color:var(--gray-400)}.plink-demo{background:var(--black);color:var(--white);border-color:var(--black)}.plink-demo:hover{opacity:.85}.portfolio-sub{flex-direction:column;gap:8px;margin-top:4px;display:flex}.portfolio-sub-label{text-transform:uppercase;letter-spacing:.14em;color:var(--gray-400);font-size:.7rem;font-weight:600}.portfolio-sub-links{flex-wrap:wrap;gap:6px;display:flex}.plink-sub{color:var(--gray-600);border:1px solid var(--gray-200);background:var(--gray-50);border-radius:2px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.plink-sub:hover{color:var(--black);border-color:var(--black);background:var(--gray-100)}@media (max-width:768px){.portfolio-item{grid-template-columns:1fr;gap:20px;padding:28px 0}.portfolio-img{height:200px}}@media (max-width:480px){.portfolio-img{height:180px}}
.footer{border-top:1px solid var(--gray-200);margin-top:64px}.footer-inner{justify-content:space-between;gap:48px;max-width:900px;margin:0 auto;padding:48px 24px 40px;display:flex}.footer-brand{flex-direction:column;gap:6px;min-width:160px;display:flex}.footer-brand-name{color:var(--black);letter-spacing:-.02em;font-size:1rem;font-weight:700}.footer-brand-sub{color:var(--gray-400);max-width:180px;margin-bottom:8px;font-size:.78rem;line-height:1.5}.footer-cols{flex-wrap:wrap;gap:48px;display:flex}.footer-col{flex-direction:column;gap:12px;min-width:120px;display:flex}.footer-col-heading{text-transform:uppercase;letter-spacing:.12em;color:var(--black);font-size:.72rem;font-weight:600}.footer-col-links{flex-direction:column;gap:9px;list-style:none;display:flex}.footer-col-links a{color:var(--gray-500);font-size:.83rem;transition:color .15s}.footer-col-links a:hover{color:var(--black)}.footer-bottom{border-top:1px solid var(--gray-100);max-width:900px;margin:0 auto;padding:16px 24px}.footer-copy{color:var(--gray-400);font-size:.76rem}.visitor-block{flex-direction:column;gap:6px;display:flex}.visitor-counter{color:var(--gray-400);align-items:center;gap:5px;font-size:.78rem;display:flex}.visitor-flags{flex-wrap:wrap;gap:4px;display:flex}.visitor-flag{cursor:default;border-radius:2px;display:inline-block}@media (max-width:640px){.footer-inner{flex-direction:column;gap:32px;padding:40px 24px 32px}.footer-cols{gap:32px}}
