*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafafa;--bg-secondary:#fff;--text:#1a1a1a;--text-secondary:#555;--accent:#2563eb;--border:#e5e5e5;--card-shadow:0 1px 3px rgba(0,0,0,.06);--transition:.3s ease;--hero-media-size:160px;--hero-gap:2rem}.dark{--bg:#0f0f0f;--bg-secondary:#1a1a1a;--text:#e5e5e5;--text-secondary:#999;--accent:#60a5fa;--border:#2a2a2a;--card-shadow:0 1px 3px rgba(0,0,0,.3)}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;transition:background-color var(--transition),color var(--transition)}body.theme-switching{animation:theme-morph .7s ease}@keyframes theme-morph{0%{filter:blur(0);opacity:1;transform:scale(1)}40%{filter:blur(2px);opacity:.4;transform:scale(.985)}60%{filter:blur(2px);opacity:.4;transform:scale(.985)}to{filter:blur(0);opacity:1;transform:scale(1)}}a{color:var(--accent);text-decoration:none;transition:opacity var(--transition)}a:hover{opacity:.8}.container{margin:0 auto;max-width:720px;padding:0 1.5rem}.header{background-color:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;transition:background-color var(--transition),border-color var(--transition);z-index:10}.header-inner{align-items:center;display:flex;height:60px;justify-content:space-between}.logo{color:var(--text);font-size:1.1rem;font-weight:600;text-decoration:none}.nav{align-items:center;display:flex;gap:1.5rem}.nav a{color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:color var(--transition)}.nav a:hover{color:var(--text);opacity:1}.theme-toggle{align-items:center;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:border-color var(--transition),color var(--transition);width:36px}.theme-toggle:hover{border-color:var(--text-secondary);color:var(--text)}.theme-toggle svg{height:18px;width:18px}section{padding:4rem 0}section+section{border-top:none}.hero{padding:5rem 0 4rem}.hero-row{align-items:center;display:flex;gap:var(--hero-gap)}.profile-image{flex-shrink:0;height:var(--hero-media-size);perspective:800px;width:var(--hero-media-size)}.profile-flip{height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,0,.2,1);width:100%}.profile-image.flipped .profile-flip{transform:rotateY(180deg)}.profile-back,.profile-front{backface-visibility:hidden;background-color:var(--bg-secondary);border:2px solid var(--border);inset:0;overflow:hidden;position:absolute;transition:border-color var(--transition),background-color var(--transition)}.profile-back{transform:rotateY(180deg)}.profile-back img,.profile-front img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.hero-text{flex:1;min-width:0}.hero h1{font-size:2rem;font-weight:800;gap:.4rem;letter-spacing:-.02em;margin-bottom:.25rem}.hero h1,.hero-location{align-items:center;display:flex}.hero-location{color:var(--text-secondary);font-size:.55rem;gap:.2rem;margin-bottom:0;margin-top:.1rem}.location-pin{flex-shrink:0;height:.7rem;width:.7rem}.hero-role{color:var(--text-secondary);font-size:.95rem;font-weight:600;margin-top:.75rem}.verified-badge{flex-shrink:0;height:14px;width:14px}.hero p{color:var(--text-secondary);font-size:1.15rem;max-width:520px}.hero-buttons{display:flex;gap:.75rem;margin-top:1.5rem}.btn{align-items:center;border-radius:8px;display:inline-flex;font-size:.85rem;font-weight:600;gap:.55rem;line-height:1;padding:.6rem 1.25rem;text-decoration:none;transition:background-color var(--transition),color var(--transition),border-color var(--transition),opacity var(--transition)}.btn-icon{flex-shrink:0;height:1rem;width:1rem}.btn-primary{background-color:#111;color:#fff}.btn-primary:hover{background-color:#000;opacity:1}.btn-secondary{background-color:transparent;border:1px solid var(--border);color:var(--text)}.btn-secondary:hover{border-color:var(--text-secondary);color:var(--text);opacity:1}.about p{color:var(--text-secondary);font-size:1rem;max-width:100%;text-align:justify;-moz-text-align-last:left;text-align-last:left}#experience,#projects,#tech-stack,.about,.contact{padding-top:1rem}.about{padding-left:0}.about p+p{margin-top:1rem}.stack-groups{display:grid;gap:1.25rem}.stack-group{display:grid;gap:.65rem}.stack-group-title{color:var(--text);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;max-width:100%}.stack-group .skills{margin-top:0}.skill-tag{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.8rem;font-weight:500;gap:.45rem;padding:.3rem .75rem .3rem .35rem;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.skill-logo-shell,.skill-tag{align-items:center;display:inline-flex}.skill-logo-shell{background-color:#fff;border:1px solid rgba(17,17,17,.08);border-radius:999px;flex-shrink:0;height:1.5rem;justify-content:center;overflow:hidden;width:1.5rem}.skill-logo{display:block;height:.9rem;width:.9rem}.skill-logo-svg{align-items:center;display:flex;justify-content:center}.skill-logo-svg svg{height:.9rem;width:.9rem}.timeline{display:grid;gap:2rem;padding-left:1.75rem;position:relative}.timeline:before{background-color:var(--border);bottom:6px;content:"";left:5px;position:absolute;top:6px;transition:background-color var(--transition);width:2px}.timeline-item{position:relative}.timeline-item,.timeline-item:last-child{padding-bottom:0}.timeline-marker{background-color:var(--accent);border:2px solid var(--bg);border-radius:50%;height:12px;left:-1.75rem;position:absolute;top:6px;transition:background-color var(--transition),border-color var(--transition);width:12px;z-index:1}.timeline-content{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:var(--card-shadow);padding:1.25rem 1.5rem;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition)}.timeline-content:hover{border-color:var(--text-secondary)}.experience-header{align-items:baseline;display:flex;gap:1rem;justify-content:space-between}.experience-header h3{font-size:1rem;font-weight:600}.experience-date{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.experience-company{color:var(--accent);font-size:.85rem;font-weight:500;margin-top:.15rem;text-decoration:none}.experience-desc{color:var(--text-secondary);font-size:.9rem;margin-top:.5rem;text-align:justify;-moz-text-align-last:left;text-align-last:left}.section-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.section-header .section-title{margin-bottom:0}.section-action{white-space:nowrap}.projects-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.project-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:var(--card-shadow);padding:1.5rem;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition)}.project-card:hover{border-color:var(--text-secondary)}.project-card h3{color:var(--text);font-size:1rem;font-weight:600;margin-bottom:.4rem}.project-card p{color:var(--text-secondary);font-size:.9rem;margin-bottom:.75rem;text-align:justify;-moz-text-align-last:left;text-align-last:left}.project-link{color:var(--accent);font-size:.8rem;font-weight:500;text-decoration:none;transition:opacity var(--transition)}.project-link:hover{opacity:.7}.projects-page{padding-bottom:4rem;padding-top:2rem}.projects-page-section{padding-top:1rem}.projects-page-header{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.projects-page-eyebrow{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.projects-page-title{color:var(--text);font-size:2rem;line-height:1.05;margin-top:.45rem}.projects-page-copy{color:var(--text-secondary);margin-top:.75rem;max-width:38rem}.contact p{color:var(--text-secondary);margin-bottom:1rem}.contact-highlight{color:var(--text);font-weight:600}.contact-links{display:flex;flex-wrap:wrap;gap:.9rem}.contact-icon-link{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;display:inline-flex;height:3rem;justify-content:center;transition:transform var(--transition),border-color var(--transition),background-color var(--transition);width:3rem}.contact-icon-link:hover{border-color:var(--text-secondary);transform:translateY(-1px)}.contact-icon{height:1.25rem;width:1.25rem}.contact-icon-link--gmail{color:#ea4335}.contact-icon-link--facebook{color:#1877f2}.contact-icon-link--linkedin{color:#0a66c2}.contact-icon-link--instagram{color:#e4405f}.section-title{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.08em;margin-bottom:1.5rem;text-transform:uppercase}#experience .section-title,#projects .section-title,#tech-stack .section-title,.about .section-title,.contact .section-title{color:var(--text);font-size:1rem;font-weight:700;margin-bottom:1rem}.footer{border-top:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;padding:2rem 0;text-align:center}@media(max-width:640px){.hero-row{align-items:center;flex-direction:column;text-align:center}.hero h1,.hero-buttons{justify-content:center}.hero h1{font-size:1.5rem}.hero-location{font-size:.55rem;justify-content:center}.hero-role{font-size:.85rem}.hero p{font-size:1rem}.projects-page-header,.section-header{align-items:flex-start;flex-direction:column}.section-action{justify-content:center;width:100%}.projects-page{padding-bottom:3rem;padding-top:1.5rem}.projects-page-title{font-size:1.6rem}.about{padding-left:0}.about p,.experience-desc,.project-card p{text-align:justify;-moz-text-align-last:left;text-align-last:left}.projects-grid{grid-template-columns:1fr}section{padding:3rem 0}}
