.home-page{max-width:80rem;margin:0 auto;padding:0 1rem}.hero-section{padding:2rem 0 3rem}.hero-section .hero-inner{display:flex;align-items:center;gap:4rem}@media(max-width:640px){.hero-section .hero-inner{flex-direction:column;gap:2rem;text-align:center}}.hero-section .hero-image{flex-shrink:0}.hero-section .hero-image .profile-image{width:180px;height:180px;border-radius:50%;object-fit:cover;border:3px solid var(--accent)}.hero-section .hero-content{flex:1;min-width:0}.hero-section .hero-name{font-size:var(--text-5xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight);margin:0 0 .5rem}@media(max-width:640px){.hero-section .hero-name{font-size:var(--text-3xl)}}.hero-section .hero-role{font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--accent);margin:0 0 2rem}@media(max-width:640px){.hero-section .hero-role{font-size:var(--text-lg)}}.hero-section .hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}@media(max-width:640px){.hero-section .hero-cta{justify-content:center}}.hero-section .hero-social{display:flex;gap:.75rem}@media(max-width:640px){.hero-section .hero-social{justify-content:center}}.btn-primary{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm);transition:opacity var(--transition-fast);white-space:nowrap}.btn-primary:hover{opacity:.85}.btn-secondary{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm);border:1px solid var(--border);transition:background var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.btn-secondary:hover{background:var(--border)}.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);font-size:1.1rem;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.social-link:hover{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.home-section-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 1.5rem}.featured-section{padding:4rem 0 3rem;border-top:1px solid var(--border)}.featured-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.featured-header .home-section-title{margin:0}.see-all-link{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--accent);display:inline-flex;align-items:center;gap:.35rem;transition:gap var(--transition-base),opacity var(--transition-fast)}.see-all-link i{transition:transform var(--transition-base)}.see-all-link:hover{opacity:.8}.see-all-link:hover i{transform:translateX(3px)}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media(max-width:900px){.featured-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.featured-grid{grid-template-columns:1fr}}.featured-card{position:relative;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;will-change:transform;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.featured-card:hover{border-color:var(--border-focus);box-shadow:0 8px 24px #0000001a,0 2px 8px #0000000f}:root.dark .featured-card:hover{box-shadow:0 8px 24px #00000059,0 2px 8px #0003}.featured-card-image{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg-elevated)}.featured-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1)}.featured-card:hover .featured-card-image img{transform:scale(1.04)}.featured-wip-badge{position:absolute;top:.75rem;left:.75rem;padding:.2rem .65rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary)}.featured-card-body{display:flex;flex-direction:column;flex:1;padding:1.25rem;gap:.75rem}.featured-card-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.featured-card-title a{color:inherit;transition:color var(--transition-fast)}.featured-card-title a:hover{color:var(--accent)}.featured-card-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.featured-card-tech{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.featured-tech-tag{padding:.2rem .6rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary)}.featured-card-actions{display:flex;align-items:center;gap:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.featured-details-link{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--accent);display:inline-flex;align-items:center;gap:.3rem;transition:opacity var(--transition-fast)}.featured-details-link i{transition:transform var(--transition-base)}.featured-details-link:hover{opacity:.8}.featured-details-link:hover i{transform:translateX(3px)}.featured-live-link{font-size:var(--text-sm);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.3rem;transition:color var(--transition-fast)}.featured-live-link:hover{color:var(--text-primary)}.tech-stack-section{padding:3rem 0 4rem;border-top:1px solid var(--border)}.tech-stack-list{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;padding:0;margin:0}.faq-section{position:relative;padding:5rem 0 7rem;border-top:1px solid var(--border)}.faq-orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}:root:not(.dark) .faq-orb{opacity:.45}.faq-orb--1{width:420px;height:420px;background:#0284c738;top:-60px;right:-80px;animation:faq-orb-a 9s ease-in-out infinite}.faq-orb--2{width:380px;height:380px;background:#8b5cf62e;bottom:60px;left:-60px;animation:faq-orb-b 11s ease-in-out infinite}.faq-orb--3{width:300px;height:300px;background:#6366f124;top:50%;left:50%;transform:translate(-50%,-50%);animation:faq-orb-c 13s ease-in-out infinite}@keyframes faq-orb-a{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-30px,20px) scale(1.05)}66%{transform:translate(20px,-15px) scale(.97)}}@keyframes faq-orb-b{0%,to{transform:translate(0) scale(1)}40%{transform:translate(25px,-20px) scale(1.08)}70%{transform:translate(-15px,10px) scale(.95)}}@keyframes faq-orb-c{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}}.faq-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start}@media(max-width:860px){.faq-inner{grid-template-columns:1fr;gap:3rem}}.faq-left{position:sticky;top:90px}@media(max-width:860px){.faq-left{position:static}}.faq-eyebrow{display:inline-block;padding:.3rem .85rem;background:color-mix(in srgb,var(--accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--accent) 30%,#0000);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.5rem}.faq-lead-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:var(--font-bold);line-height:1.1;margin:0 0 1.25rem;background:linear-gradient(135deg,var(--text-primary) 40%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text}.faq-lead-desc{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0 0 2rem;max-width:36ch}.faq-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.4rem;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm);transition:opacity var(--transition-fast),gap var(--transition-base)}.faq-cta i{transition:transform var(--transition-base)}.faq-cta:hover{opacity:.85}.faq-cta:hover i{transform:translateX(3px)}.faq-right{display:flex;flex-direction:column}.faq-item{position:relative;transition:background var(--transition-base)}.faq-item:after{content:"";position:absolute;bottom:0;left:.5rem;right:.5rem;height:1px;background:linear-gradient(to right,#0000,var(--border) 25%,var(--border) 75%,#0000)}.faq-item:last-child:after{display:none}.faq-item:first-child:before{content:"";position:absolute;top:0;left:.5rem;right:.5rem;height:1px;background:linear-gradient(to right,#0000,var(--border) 25%,var(--border) 75%,#0000)}.faq-item.is-open{border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 5%,#0000)}.faq-question{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem .75rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;color:var(--text-primary);transition:color var(--transition-fast)}.faq-question:hover .faq-q-text,.is-open .faq-question .faq-q-text{color:var(--accent)}.faq-num{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:1.8rem;flex-shrink:0;transition:color var(--transition-fast)}.is-open .faq-num{color:var(--accent)}.faq-q-text{flex:1;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.faq-icon,.faq-q-text{transition:color var(--transition-fast)}.faq-icon{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.9rem}.is-open .faq-icon{color:var(--accent)}.faq-answer{overflow:hidden}.faq-answer-inner{padding:0 .75rem 1.25rem 3.55rem;font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.tech-stack-tag{display:inline-block;padding:.45rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);cursor:default;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.tech-stack-tag:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}