.portfolio{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1100px;margin:0 auto;padding:0 24px}.header{background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000000a}.nav-wrapper{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.logo{font-size:20px;font-weight:700;margin:0;color:var(--color-text)}.nav{display:flex;gap:8px}.nav button{background:none;border:none;padding:10px 20px;font-size:15px;color:var(--color-text-light);cursor:pointer;border-radius:6px;transition:all .2s;font-weight:500}.nav button:hover{background:var(--color-bg-subtle);color:var(--color-text)}.nav button.active{background:var(--color-accent);color:#fff}.tab-content{flex:1;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero{background:linear-gradient(135deg,var(--color-gradient-start) 0%,var(--color-gradient-end) 100%);color:#fff;padding:100px 0 80px;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(14,165,233,.15) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(16,185,129,.1) 0%,transparent 50%);pointer-events:none}.hero h1{font-size:48px;font-weight:700;margin-bottom:20px;letter-spacing:-1px;line-height:1.2;position:relative;z-index:1}.hero .tagline{font-size:20px;line-height:1.6;max-width:700px;margin:0 auto 40px;opacity:.95;position:relative;z-index:1}.cta-buttons{display:flex;gap:16px;justify-content:center;position:relative;z-index:1}.btn-primary,.btn-secondary{padding:16px 36px;font-size:16px;font-weight:600;border-radius:10px;text-decoration:none;transition:all .3s ease;display:inline-block;cursor:pointer}.btn-primary{background:var(--color-accent);color:#fff;border:2px solid var(--color-accent);box-shadow:0 4px 14px #0ea5e966}.btn-primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 8px 24px #0ea5e980}.btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff1a;border-color:#fffc;transform:translateY(-2px);box-shadow:0 8px 24px #ffffff1a}.stats-section{padding:60px 0;background:var(--color-bg-subtle)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.stat-card{background:#fff;padding:32px;text-align:center;border-radius:12px;border:1px solid var(--color-border);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014}.stat-number{font-size:36px;font-weight:700;color:var(--color-accent);margin-bottom:8px;line-height:1}.stat-label{font-size:14px;color:var(--color-text-muted)}.work-preview{padding:80px 0}.work-preview h2{font-size:36px;font-weight:700;margin-bottom:50px;text-align:center;color:var(--color-text)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px}.project-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:32px;transition:transform .2s,box-shadow .2s,border-color .2s}.project-card.clickable{cursor:pointer}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.project-card.clickable:hover{border-color:var(--color-accent)}.project-card.featured{border:2px solid var(--color-accent);background:linear-gradient(135deg,#f8f9ff,#fff)}.project-tag{display:inline-block;background:var(--color-accent);color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;padding:4px 12px;border-radius:4px;margin-bottom:16px;letter-spacing:.5px}.project-card h3{font-size:24px;font-weight:700;margin-bottom:12px;color:var(--color-text)}.project-card p{font-size:15px;line-height:1.6;color:var(--color-text-light);margin-bottom:16px}.project-highlights{margin:20px 0;padding-left:20px}.project-highlights li{font-size:14px;line-height:1.7;margin-bottom:8px;color:var(--color-text-light)}.project-tech{font-size:13px;color:var(--color-text-muted);font-weight:500;margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border)}.project-card.expandable{transition:all .3s ease;cursor:pointer}.project-card.expandable:hover{border-color:var(--color-accent)}.project-card .subtitle-text{font-size:14px;color:var(--color-text-muted);font-style:italic;margin-bottom:12px}.project-card.expandable h3{display:flex;align-items:center;gap:12px;-webkit-user-select:none;user-select:none}.project-expansion{margin-top:24px;padding-top:24px;border-top:2px solid var(--color-border);animation:expandDown .3s ease-out}@keyframes expandDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:5000px;transform:translateY(0)}}.project-expansion h4{font-size:18px;font-weight:600;margin-bottom:12px;color:var(--color-text)}.case-study{padding:60px 0}.case-study-header{text-align:center;margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid var(--color-border)}.case-study-header h2{font-size:42px;font-weight:700;margin-bottom:16px;color:var(--color-text);letter-spacing:-.5px}.case-study-header .subtitle{font-size:20px;color:var(--color-text-light);margin-bottom:16px;font-style:italic}.case-study-header .meta{font-size:14px;color:var(--color-text-muted)}.project-image{margin:50px 0;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #0000001f}.project-image img{width:100%;height:auto;display:block}.image-placeholder{background:#f5f5f5;border:2px dashed #ddd;padding:60px 40px;text-align:center;color:#999}.image-placeholder.hidden{display:block!important}.image-placeholder p:first-child{font-size:18px;margin-bottom:8px}.placeholder-hint{font-size:13px;font-style:italic}.content-section{margin:50px 0}.content-section h3{font-size:28px;font-weight:700;margin-bottom:20px;color:var(--color-text)}.content-section h4{font-size:18px;font-weight:600;margin:24px 0 12px;color:var(--color-text)}.content-section p{font-size:16px;line-height:1.8;margin-bottom:16px;color:var(--color-text-light)}.content-section ul{margin:20px 0 20px 24px}.content-section li{font-size:16px;line-height:1.8;margin-bottom:12px;color:var(--color-text-light)}.highlight-box{background:#fef3c7;border-left:4px solid #f59e0b;padding:24px 28px;margin:30px 0;border-radius:4px}.highlight-box h4{margin-top:0;color:#92400e}.highlight-box p{margin-bottom:0;color:#78350f}.approach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:30px 0}.approach-card{background:var(--color-bg-subtle);padding:24px;border-radius:8px;border:1px solid var(--color-border)}.approach-card h4{font-size:16px;margin:0 0 8px;color:var(--color-accent)}.approach-card p{font-size:14px;margin:0;color:var(--color-text-light);line-height:1.6}.outcomes ul{list-style:none;margin-left:0}.outcomes li{padding-left:0;margin-bottom:12px}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0}.tech-item{padding:16px;background:var(--color-bg-subtle);border-radius:6px;font-size:14px;border:1px solid var(--color-border)}.tech-item strong{color:var(--color-text)}.skills-summary{background:var(--color-bg-subtle);padding:60px 0}.skills-summary h3{text-align:center;font-size:28px;margin-bottom:40px;color:var(--color-text)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.skill-card{background:#fff;padding:28px;border-radius:8px;border:1px solid var(--color-border);text-align:center;transition:transform .2s,box-shadow .2s}.skill-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014}.skill-icon{font-size:36px;margin-bottom:12px}.skill-card h4{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--color-text)}.skill-card p{font-size:13px;margin:0;color:var(--color-text-muted);line-height:1.5}.about-section{padding:60px 0}.about-header{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:40px}.about-header-content{flex:1}.about-section h2{font-size:42px;font-weight:700;margin:0;color:var(--color-text)}.profile-image{flex-shrink:0;width:150px;height:150px;border-radius:50%;overflow:hidden;border:4px solid var(--color-accent);box-shadow:0 8px 24px #0ea5e94d}.profile-image img{width:100%;height:100%;object-fit:cover;display:block}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:60px}.about-text .lead{font-size:20px;line-height:1.6;color:var(--color-text);margin-bottom:20px}.about-text p{font-size:16px;line-height:1.8;color:var(--color-text-light);margin-bottom:16px}.skills-list h3{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--color-text)}.skills-list ul{list-style:none;margin:0;padding:0}.skills-list li{font-size:15px;padding:10px 0;border-bottom:1px solid var(--color-border);color:var(--color-text-light)}.achievements{margin-bottom:60px}.achievements h3{font-size:28px;font-weight:700;margin-bottom:30px;text-align:center;color:var(--color-text)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.achievement-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:24px}.achievement-card h4{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--color-accent)}.achievement-card p{font-size:14px;line-height:1.6;margin:0;color:var(--color-text-light)}.contact-section{text-align:center;background:linear-gradient(135deg,var(--color-gradient-start) 0%,var(--color-gradient-end) 100%);padding:80px 40px;border-radius:16px;margin-top:60px;color:#fff;position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(14,165,233,.15) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(16,185,129,.1) 0%,transparent 50%);pointer-events:none}.contact-section h3{font-size:36px;margin-bottom:16px;color:#fff;position:relative;z-index:1}.contact-intro{font-size:18px;color:#ffffffe6;margin-bottom:48px;max-width:600px;margin-left:auto;margin-right:auto;position:relative;z-index:1}.contact-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:48px;position:relative;z-index:1}.contact-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:24px;text-align:center;transition:all .3s ease}.contact-card:hover{background:#ffffff26;border-color:#fff6;transform:translateY(-4px);box-shadow:0 8px 24px #0003}.contact-icon{font-size:32px;margin-bottom:12px}.contact-card h4{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;margin-bottom:8px;font-weight:600}.contact-card a{color:#fff;text-decoration:none;font-size:16px;font-weight:500;transition:color .2s}.contact-card a:hover{color:var(--color-accent)}.contact-card p{color:#fff;font-size:16px;margin:0}.contact-cta{display:flex;gap:16px;justify-content:center;position:relative;z-index:1}.contact-buttons{display:flex;gap:16px;justify-content:center}footer{background:var(--color-text);color:#fff;padding:40px 0;text-align:center;margin-top:auto}footer p{font-size:15px;margin-bottom:12px}footer a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);transition:border-color .2s}footer a:hover{border-bottom-color:#fff}.footer-links{font-size:14px;opacity:.8}.separator{margin:0 12px;opacity:.6}@media(max-width:768px){.nav-wrapper{flex-direction:column;gap:16px}.nav{width:100%;overflow-x:auto}.nav button{white-space:nowrap;padding:10px 16px}.hero h1{font-size:36px}.hero .tagline{font-size:18px}.cta-buttons{flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:1fr}.case-study-header h2{font-size:32px}.content-section h3{font-size:24px}.approach-grid,.skills-grid{grid-template-columns:1fr}.about-content{grid-template-columns:1fr;gap:40px}.achievements-grid{grid-template-columns:1fr}.contact-buttons{flex-direction:column}}.recommendations-section{padding:80px 0;background:#fff}.recommendations-section h3{font-size:36px;font-weight:700;text-align:center;margin-bottom:16px;color:var(--color-text)}.section-intro{text-align:center;font-size:18px;color:var(--color-text-light);margin-bottom:50px}.recommendations-grid{display:grid;grid-template-columns:1fr;gap:32px;max-width:900px;margin:0 auto}.recommendation-card{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:12px;padding:32px;transition:transform .2s,box-shadow .2s}.recommendation-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.rec-header{display:flex;gap:16px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.rec-header h4{font-size:18px;font-weight:700;margin:0 0 6px;color:var(--color-text)}.rec-title{font-size:14px;color:var(--color-text-light);margin:0 0 6px;line-height:1.4}.rec-relationship{font-size:13px;color:var(--color-text-muted);font-style:italic;margin:0}.rec-text{font-size:15px;line-height:1.8;color:var(--color-text-light);white-space:pre-line;margin:0}@media(max-width:768px){.recommendations-section h3{font-size:28px}.recommendation-card{padding:24px}}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;margin:50px 0}.gallery-item{border-radius:12px;overflow:hidden;background:#fff;border:2px solid var(--color-border);transition:all .2s;cursor:pointer;display:flex;flex-direction:column}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000026;border-color:var(--color-accent)}.gallery-item img{width:100%;height:200px;display:block;object-fit:cover;background:#f5f5f5}.gallery-caption{padding:12px 16px;font-size:13px;color:var(--color-text-light);text-align:center;background:var(--color-bg-subtle);margin:0;line-height:1.4}.lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-in}.lightbox-content{position:relative;max-width:1200px;max-height:90vh;background:#fff;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}.lightbox-close{position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;border:none;font-size:32px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}.lightbox-close:hover{background:#000000e6}.lightbox-content img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px}.lightbox-caption{text-align:center;font-size:16px;color:var(--color-text-light);margin:0}.lightbox-nav{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px 0 0;border-top:1px solid var(--color-border)}.lightbox-prev,.lightbox-next{background:var(--color-accent);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.lightbox-prev:hover:not(:disabled),.lightbox-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.lightbox-prev:disabled,.lightbox-next:disabled{opacity:.3;cursor:not-allowed}.lightbox-counter{font-size:14px;color:var(--color-text-muted);font-weight:600}.subtab-nav{display:flex;gap:12px;margin:30px 0 40px;padding:0 0 20px;border-bottom:2px solid var(--color-border)}.subtab-nav button{background:none;border:none;padding:12px 24px;font-size:15px;font-weight:600;color:var(--color-text-light);cursor:pointer;border-radius:8px;transition:all .2s;position:relative}.subtab-nav button:hover{background:var(--color-bg-subtle);color:var(--color-text)}.subtab-nav button.active{color:var(--color-accent);background:#667eea1a}.subtab-nav button.active:after{content:"";position:absolute;bottom:-22px;left:0;right:0;height:2px;background:var(--color-accent)}.deep-dive-content,.media-content{animation:fadeIn .3s ease-in}.video-container{margin:40px 0;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #0000001f;background:#000}.video-container iframe{display:block;width:100%;aspect-ratio:16 / 9;border:none}.social-proof-image{margin:40px 0;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #00000014;background:#f5f5f5}.social-proof-image img{width:100%;height:auto;display:block}.subtitle-text{font-size:17px;line-height:1.7;color:var(--color-text-light);font-style:italic}@media(max-width:768px){.image-gallery{grid-template-columns:1fr}.subtab-nav{flex-direction:column;gap:8px}.subtab-nav button.active:after{display:none}.about-header{flex-direction:column;text-align:center;gap:24px}.profile-image{width:120px;height:120px}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-text: #0F172A;--color-text-light: #475569;--color-text-muted: #94A3B8;--color-border: #E2E8F0;--color-bg: #ffffff;--color-bg-subtle: #F8FAFC;--color-accent: #0EA5E9;--color-accent-dark: #0284C7;--color-success: #10B981;--color-gradient-start: #0F172A;--color-gradient-end: #1E293B}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh}
