:root{--bg:#2d2a2e;--bg-deep:#221f22;--bg-card:#3a3640;--bg-surface:#332f34;--border:#ffffff12;--border-md:#ffffff21;--yellow:#ffd866;--pink:#ff6188;--cyan:#78dce8;--orange:#fc9867;--green:#a9dc76;--purple:#ab9df2;--text:#fcfcfa;--soft:#c1b8c8;--muted:#78dce8;--font-serif:"Raleway", sans-serif;--font-mono:"IBM Plex Mono", monospace;--font-sans:"Outfit", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300;overflow-x:hidden}@media (hover:hover) and (pointer:fine){body{cursor:none}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none}.cursor{background:var(--yellow);pointer-events:none;z-index:9999;mix-blend-mode:screen;border-radius:50%;width:10px;height:10px;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}.cursor-ring{pointer-events:none;z-index:9998;border:1px solid #ffd86666;border-radius:50%;width:36px;height:36px;transition:transform .12s linear;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}@media (hover:none),(pointer:coarse){.cursor,.cursor-ring{display:none}}.navbar{z-index:200;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#221f22f0;justify-content:space-between;align-items:center;height:68px;padding:0 60px;display:flex;position:fixed;top:0;left:0;right:0}.navbar-logo{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.navbar-logo img{width:auto;height:38px}.navbar-logo-text{font-family:var(--font-sans);color:var(--text);font-size:15px;font-weight:500}.navbar-links{gap:4px;list-style:none;display:flex}.navbar-links a{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-radius:4px;padding:6px 14px;font-size:11px;text-decoration:none;transition:color .2s,background .2s}.navbar-links a:hover{color:var(--yellow);background:#ffd86612}.navbar-links a.active{color:var(--yellow);background:#ffd8661a}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--soft);border-radius:2px;width:24px;height:2px;transition:all .3s;display:block}.hamburger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{background:var(--bg-deep);border-bottom:1px solid var(--border);z-index:199;flex-direction:column;gap:4px;padding:16px 24px 24px;display:none;position:fixed;top:68px;left:0;right:0}.mobile-menu.open{display:flex}.mobile-menu a{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-radius:6px;padding:12px 16px;font-size:12px;text-decoration:none;transition:color .2s,background .2s}.mobile-menu a:hover{color:var(--yellow);background:#ffd86612}.mobile-menu a.active{color:var(--yellow);background:#ffd8661a}.page-wrap{min-height:100vh;padding-top:68px}.footer{background:var(--bg-deep);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:32px 60px;display:flex}.footer-copy{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;font-size:11px}.footer-links{gap:24px;display:flex}.footer-links a{font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--yellow)}.section-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);align-items:center;gap:12px;margin-bottom:16px;font-size:10px;display:flex}.section-label:before{content:"";background:var(--yellow);flex-shrink:0;width:24px;height:1px;display:block}.section-label.project-label:before{content:"";background:var(--cyan);flex-shrink:0;width:24px;height:1px;display:block}.section-title{font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(34px,4vw,56px);line-height:1.1}.section-sub{color:var(--soft);max-width:600px;font-size:16px;line-height:1.75}.btn-primary{background:var(--yellow);color:var(--bg-deep);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:6px;padding:13px 30px;font-size:12px;font-weight:500;text-decoration:none;transition:box-shadow .2s,transform .2s;display:inline-block;box-shadow:0 0 28px #ffd86638}.btn-primary:hover{color:var(--bg-deep);transform:translateY(-1px);box-shadow:0 0 44px #ffd86661}.btn-ghost{color:var(--soft);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;text-decoration:none;transition:color .2s;display:inline-flex}.btn-ghost:after{content:"→"}.btn-ghost:hover{color:var(--cyan)}.btn-outline{color:var(--yellow);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid #ffd8664d;border-radius:6px;padding:12px 28px;font-size:12px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-block}.btn-outline:hover{border-color:var(--yellow);color:var(--yellow);background:#ffd86612}.grid-bg{background-image:linear-gradient(#ffd86606 1px,#0000 1px),linear-gradient(90deg,#ffd86606 1px,#0000 1px);background-size:60px 60px}.reveal{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%{opacity:1;box-shadow:0 0 #a9dc7666}50%{opacity:.7;box-shadow:0 0 0 6px #a9dc7600}to{opacity:1}}@media (max-width:768px){.navbar{padding:0 20px}.navbar-links{display:none}.hamburger{display:flex}.footer{text-align:center;flex-direction:column;gap:16px;padding:28px 24px}}
