:root,[data-theme=dark]{--bg: #09090b;--bg-alt: #000000;--bg-card: rgba(255,255,255,.03);--bg-nav: rgba(9,9,11,.9);--text: #ffffff;--text-muted: #9ca3af;--text-faint: #52525b;--border: rgba(255,255,255,.08);--border-nav: rgba(255,255,255,.05);--logo-fill: #F4E832}[data-theme=light]{--bg: #fafafa;--bg-alt: #ffffff;--bg-card: #ffffff;--bg-nav: rgba(250,250,250,.92);--text: #0a0a0a;--text-muted: #52525b;--text-faint: #a1a1aa;--border: rgba(0,0,0,.08);--border-nav: rgba(0,0,0,.06);--logo-fill: #0a0a0a;--yellow-label: #424445}*{box-sizing:border-box}body{background-color:var(--bg);color:var(--text);font-family:Poppins,sans-serif;transition:background-color .3s ease,color .3s ease}#main-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--bg-nav);border-bottom:1px solid var(--border-nav);backdrop-filter:blur(12px);transition:background .3s ease,border-color .3s ease}.logo-link{display:flex;align-items:center}.logo-img{display:block;height:40px;width:auto}#main-footer .logo-img{height:22px}[data-theme=dark] .logo-img-light,[data-theme=light] .logo-img-dark{display:none}[data-theme=light] .text-\[\#F4E832\]{color:var(--yellow-label)}.nav-link{color:var(--text-muted);transition:color .2s ease;text-decoration:none}.nav-link:hover{color:var(--text)}.nav-link-border{color:var(--text-muted);border:1px solid var(--border);transition:color .2s ease,border-color .2s ease;text-decoration:none}.nav-link-border:hover{color:#f4e832;border-color:#f4e832}.theme-btn{border:1px solid var(--border);color:var(--text-muted);background:transparent;cursor:pointer;border-radius:50%;transition:color .2s ease,border-color .2s ease}.theme-btn:hover{color:#f4e832;border-color:#f4e832}.section-bg{background-color:var(--bg);transition:background-color .3s ease}.section-bg-alt{background-color:var(--bg-alt);transition:background-color .3s ease}.text-primary{color:var(--text);transition:color .3s ease}.text-muted{color:var(--text-muted);transition:color .3s ease}.text-faint{color:var(--text-faint)}.card-theme{background-color:var(--bg-card);border:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.card-theme:hover{border-color:#f4e83266}.border-theme{border-color:var(--border)}#main-footer{background-color:var(--bg-alt);border-color:var(--border-nav);transition:background-color .3s ease}.footer-muted{color:var(--text-faint)}.fade-up{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}.fade-up.visible{opacity:1;transform:translateY(0)}.fade-up:nth-child(2){transition-delay:.1s}.fade-up:nth-child(3){transition-delay:.2s}.fade-up:nth-child(4){transition-delay:.3s}.fade-up:nth-child(5){transition-delay:.4s}.fade-up:nth-child(6){transition-delay:.5s}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-tag{animation:fadeSlideUp .6s ease both .1s}.hero-h1{animation:fadeSlideUp .7s ease both .25s}.hero-sub{animation:fadeSlideUp .7s ease both .45s}.hero-ctas{animation:fadeSlideUp .7s ease both .65s}@keyframes floatA{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}@keyframes floatB{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(16px) scale(.97)}}.blob-a{animation:floatA 8s ease-in-out infinite}.blob-b{animation:floatB 10s ease-in-out infinite}#portfolio-nav-float{position:fixed;right:1.25rem;bottom:6rem;display:flex;flex-direction:column;gap:.5rem;z-index:50;opacity:0;pointer-events:none;transition:opacity .3s ease}#portfolio-nav-float.visible{opacity:1;pointer-events:auto}.portfolio-nav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid #F4E832;color:#f4e832;background:#000000a6;backdrop-filter:blur(8px);text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease}.portfolio-nav-btn:hover{color:#000;background:#f4e832}[data-theme=light] .portfolio-nav-btn{border-color:#111;color:#111;background:#ffffffd9}[data-theme=light] .portfolio-nav-btn:hover{color:#fff;background:#111}.btn-secondary{border:1px solid var(--border);color:var(--text);background:transparent;font-weight:700;padding:1rem 2rem;border-radius:9999px;transition:border-color .2s ease,color .2s ease;text-decoration:none;display:inline-block}.btn-secondary:hover{border-color:#f4e832;color:#f4e832}.contact-input{background:transparent;border:1px solid var(--border);border-radius:.5rem;padding:.625rem .875rem;color:var(--text);font-size:.875rem;transition:border-color .2s ease;outline:none;width:100%}.contact-input:focus{border-color:#f4e832}.contact-input::-moz-placeholder{color:var(--text-muted);opacity:1}.contact-input::placeholder{color:var(--text-muted);opacity:1}
