@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600&family=Geist+Mono:wght@300;400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#0a0a0f;--ink2:#11111a;--ink3:#1a1a28;--ag-bg-secondary:#0d0f18;--ag-glow-1:#00d4ff29;--ag-glow-2:#a855f724;--fog:#f4f1eb;--cream:#f0ece4;--dim:#6b6880;--dim2:#9490a8;--wire:#ffffff0f;--wire2:#ffffff1c;--gold:#d4a853;--gold2:#e8c070;--gold-dim:#d4a8531f;--ember:#c0614a;--sage:#6baf8a;--slate:#7b9ec4;--font-display:"Instrument Serif", Georgia, serif;--font-body:"Geist", system-ui, sans-serif;--font-mono:"Geist Mono", monospace;--nav-h:64px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-inout:cubic-bezier(.76, 0, .24, 1)}html{scroll-behavior:smooth;font-size:16px}body{background:var(--ink);color:var(--cream);font-family:var(--font-body);-webkit-font-smoothing:antialiased;cursor:none;line-height:1.65;overflow-x:hidden}.antigravity-layout{z-index:1;position:relative}.nonhero-bg-layer{z-index:0;pointer-events:none;opacity:0;transition:opacity .32s;position:fixed;inset:0}.nonhero-bg-layer canvas{width:100%;height:100%;display:block}.antigravity-layout section:not(#hero){isolation:isolate;position:relative;overflow:hidden}.antigravity-layout section:not(#hero)>.container{z-index:2;position:relative}#about{background:linear-gradient(#0000 0%,#0d0f18b8 30%,#0d0f18b3 70%,#0000 100%)}#about:before{content:"";aspect-ratio:1;background:radial-gradient(circle, var(--ag-glow-1) 0%, transparent 70%);pointer-events:none;z-index:1;border-radius:50%;width:min(42vw,430px);position:absolute;top:8%;right:-6%}#experience{background:linear-gradient(#0000 0%,#0a0a0fbd 20% 80%,#0000 100%)}#experience:after{content:"";aspect-ratio:1;background:radial-gradient(circle, var(--ag-glow-2) 0%, transparent 70%);pointer-events:none;z-index:1;border-radius:50%;width:min(38vw,360px);position:absolute;bottom:4%;left:-7%}#projects{background:linear-gradient(#0000 0%,#0d0f18ad 15% 85%,#0000 100%)}#projects:before{content:"";aspect-ratio:1;background:radial-gradient(circle, var(--ag-glow-1) 0%, transparent 62%);opacity:.92;pointer-events:none;z-index:1;border-radius:50%;width:min(50vw,500px);position:absolute;top:16%;right:4%}#skills{background:linear-gradient(#0000 0%,#0a0a0fb3 20%,#0a0a0fb8 80%,#0000 100%)}#skills:after{content:"";aspect-ratio:1;background:radial-gradient(circle, var(--ag-glow-2) 0%, transparent 72%);pointer-events:none;z-index:1;border-radius:50%;width:min(40vw,410px);position:absolute;top:28%;left:4%}#contact{background:0 0}#contact:before{content:none}#cursor-dot{background:var(--gold);pointer-events:none;z-index:9999;border-radius:50%;width:8px;height:8px;transition:width .25s,height .25s,background .2s;position:fixed;transform:translate(-50%,-50%)}#cursor-outline{pointer-events:none;z-index:9998;width:40px;height:40px;transition:width .35s var(--ease-out), height .35s var(--ease-out), border-color .3s;border:1px solid #d4a85359;border-radius:50%;position:fixed;transform:translate(-50%,-50%)}body.hovering #cursor-dot{background:var(--gold2);width:14px;height:14px}body.hovering #cursor-outline{border-color:#d4a8538c;width:56px;height:56px}@media (width<=768px){#cursor-dot,#cursor-outline{display:none}body{cursor:auto}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:var(--ink3)}::selection{background:var(--gold-dim);color:var(--gold2)}.container{max-width:1160px;margin:0 auto;padding:0 2rem}.section-pad{padding:7rem 0}.num-label{font-family:var(--font-mono);color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.6rem;font-size:.67rem;display:block}.display{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.05}.tag-pill{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid;border-radius:3px;padding:.18rem .55rem;font-size:.63rem}.btn{font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;transition:all .25s var(--ease-out);border:none;border-radius:4px;outline:none;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-ghost{border:1px solid var(--wire2);color:var(--dim2);background:0 0;padding:.55rem 1.1rem}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.btn-gold{background:var(--gold);color:var(--ink);padding:.65rem 1.4rem;font-weight:600}.btn-gold:hover{background:var(--gold2);transform:translateY(-2px)}.mobile-overlay{z-index:800;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;background:#0a0a0ff7;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transition:opacity .3s;display:flex;position:fixed;inset:0}.mobile-overlay.open{opacity:1;pointer-events:all}.mobile-overlay a{font-family:var(--font-display);color:var(--dim2);font-size:2.2rem;text-decoration:none;transition:color .2s}.mobile-overlay a:hover{color:var(--gold)}@media (width<=900px){.section-pad{padding:5rem 0}}@media (width<=600px){.section-pad{padding:4rem 0}.container{padding:0 1.25rem}}@media (width<=820px){#about:before,#experience:after,#projects:before,#skills:after{width:min(72vw,340px)}}html.light{--ink:#f5f2ec;--ink2:#eceae3;--ink3:#e0ddd5;--ag-bg-secondary:#ececf3;--ag-glow-1:#0099cc1f;--ag-glow-2:#8b30e01a;--cream:#1a1814;--dim:#6b6758;--dim2:#4a4740;--wire:#00000012;--wire2:#00000021;--gold:#b8862a;--gold2:#c99830;--gold-dim:#b8862a1f}html.light #about{background:linear-gradient(#0000 0%,#ececf3b8 30%,#ececf3b3 70%,#0000 100%)}html.light #experience{background:linear-gradient(#0000 0%,#f5f2ecbd 20% 80%,#0000 100%)}html.light #projects{background:linear-gradient(#0000 0%,#ececf3ad 15% 85%,#0000 100%)}html.light #skills{background:linear-gradient(#0000 0%,#f5f2ecb3 20%,#f5f2ecb8 80%,#0000 100%)}html.light #contact{background:0 0}html.light ::-webkit-scrollbar-track{background:var(--ink)}html.light ::-webkit-scrollbar-thumb{background:var(--ink3)}html.light .mobile-overlay{background:#f5f2ecf7}body,nav,section,footer,div,span,p,h1,h2,h3,a,button,input,textarea{transition:background-color .35s,border-color .35s,color .35s}
