@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";@tailwind base;@tailwind components;@tailwind utilities;:root{color:#eeeae2;font-synthesis:none;text-rendering:optimizelegibility;--bg:#111310;--surface:#171a168c;--surface-solid:#171a16;--surface-light:#1d211c99;--text:#eeeae2;--muted:#9da39a;--line:#eeeae221;--acid:#d9f36d;--acid-dark:#111310;--warm:#c9c4bb;--glass-blur:14px;--glass-bg:#171a1673;--glass-border:#eeeae217;--pattern-color:#d9f36d09;--blob-1:#d9f36d12;--blob-2:#78a05a0d;background:#111310;font-family:Manrope,sans-serif}:root[data-theme=light]{--bg:#f2f1eb;--surface:#fbfaf6a6;--surface-solid:#fbfaf6;--surface-light:#e7e8df99;--text:#1b1d19;--muted:#656b62;--line:#1b1d1926;--acid:#b3cf42;--acid-dark:#f6f7ef;--warm:#5b6158;--glass-bg:#fbfaf68c;--glass-border:#1b1d1914;--pattern-color:#b3cf420d;--blob-1:#b3cf4217;--blob-2:#6482460f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;transition:background .4s,color .3s;position:relative;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}em{color:var(--acid);font-style:normal}.bg-pattern{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-grid{background-image:linear-gradient(var(--pattern-color) 1px, transparent 1px), linear-gradient(90deg, var(--pattern-color) 1px, transparent 1px);background-size:60px 60px;animation:40s linear infinite grid-drift;position:absolute;inset:-2px;-webkit-mask-image:radial-gradient(80% 80% at 50% 40%,#000 30%,#0000 80%);mask-image:radial-gradient(80% 80% at 50% 40%,#000 30%,#0000 80%)}@keyframes grid-drift{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.bg-blob{filter:blur(90px);opacity:.8;will-change:transform;border-radius:50%;position:absolute}.bg-blob-1{background:var(--blob-1);width:520px;height:520px;animation:22s ease-in-out infinite blob-float-1;top:-100px;right:-80px}.bg-blob-2{background:var(--blob-2);width:480px;height:480px;animation:28s ease-in-out infinite blob-float-2;bottom:10%;left:-120px}@keyframes blob-float-1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-60px,50px)scale(1.12)}66%{transform:translate(40px,-30px)scale(.92)}}@keyframes blob-float-2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(70px,-40px)scale(1.08)}66%{transform:translate(-30px,60px)scale(.95)}}.bg-noise{opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.site-shell{z-index:1;max-width:100%;position:relative}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-color:var(--glass-border)!important}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.glass-tag{-webkit-backdrop-filter:blur(8px);background:var(--glass-bg)!important}.section-pad{width:min(1180px,100% - 64px);margin:0 auto}.site-header{border-bottom:1px solid var(--line);z-index:100;justify-content:space-between;align-items:center;width:100%;height:88px;padding:0 32px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.04em;align-items:center;gap:11px;font-weight:800;display:flex}.brand-mark{background:var(--acid);width:30px;height:30px;color:var(--acid-dark);letter-spacing:-.06em;border-radius:50%;place-items:center;font:500 10px DM Mono,monospace;display:grid}.brand-name{letter-spacing:-.01em;font-size:17px}.brand-name span{color:var(--acid)}.main-nav{align-items:center;gap:35px;margin-left:100px;display:flex}.main-nav a{color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:600;transition:color .2s}.main-nav a:hover{color:var(--text)}.header-actions{align-items:center;gap:17px;display:flex}.icon-button,.mobile-menu{color:var(--muted);background:0 0;border:0;padding:8px;transition:color .2s,transform .2s}.icon-button:hover,.mobile-menu:hover{color:var(--text);transform:translateY(-1px)}.header-cta{color:var(--acid);border:1px solid var(--acid);letter-spacing:.02em;background:0 0;border-radius:3px;align-items:center;gap:7px;padding:8px 14px;font-size:12px;font-weight:700;transition:background .2s,color .2s;display:flex}.header-cta:hover{background:var(--acid);color:var(--acid-dark)}.mobile-menu{display:none}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:80px;min-height:590px;padding-top:80px;padding-bottom:80px;display:grid}.eyebrow,.kicker,.project-label,.experience-period,.proof-label{color:var(--acid);letter-spacing:.14em;text-transform:uppercase;font:500 10px DM Mono,monospace}.eyebrow{align-items:center;gap:9px;margin-bottom:30px;display:flex}.eyebrow-dot{background:var(--acid);width:7px;height:7px;box-shadow:0 0 0 5px color-mix(in srgb, var(--acid) 15%, transparent);border-radius:50%;animation:2.5s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 5px color-mix(in srgb, var(--acid) 15%, transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--acid) 8%, transparent)}}h1{letter-spacing:-.045em;max-width:700px;margin:0;font-size:clamp(52px,7vw,90px);font-weight:700;line-height:1.02}.hero-intro{max-width:525px;color:var(--muted);letter-spacing:.005em;margin:32px 0 0;font-size:15px;line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:29px;margin-top:38px;display:flex}.button{letter-spacing:.02em;border:0;border-radius:4px;align-items:center;gap:10px;padding:14px 20px;font-size:12px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--acid-dark);background:var(--acid);box-shadow:0 4px 20px color-mix(in srgb, var(--acid) 20%, transparent)}.button-primary:hover{box-shadow:0 6px 30px color-mix(in srgb, var(--acid) 30%, transparent)}.text-link{color:var(--text);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:12px;font-weight:700;transition:color .2s;display:inline-flex}.text-link:hover{color:var(--acid)}.text-link span{color:var(--acid);margin-left:4px}.hero-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:17px;margin-top:60px;font:10px DM Mono,monospace;display:flex}.hero-meta span{align-items:center;gap:7px;display:flex}.meta-divider{background:var(--line);width:1px;height:15px}.hero-aside{place-items:center;min-height:390px;display:grid;position:relative}.orbit-card{border-radius:50%;width:360px;height:360px;position:relative}.orbit{border:1px solid var(--line);border-radius:50%;animation:30s linear infinite orbit-rotate;position:absolute;inset:40px;transform:rotate(-28deg)scaleY(.52)}.orbit-two{border-color:color-mix(in srgb, var(--acid) 30%, transparent);animation:35s linear infinite orbit-rotate-rev;inset:7px;transform:rotate(43deg)scaleY(.52)}@keyframes orbit-rotate{0%{transform:rotate(-28deg)scaleY(.52)}to{transform:rotate(332deg)scaleY(.52)}}@keyframes orbit-rotate-rev{0%{transform:rotate(43deg)scaleY(.52)}to{transform:rotate(-317deg)scaleY(.52)}}.orbit-core{width:92px;height:92px;color:var(--acid-dark);background:var(--acid);box-shadow:0 0 50px color-mix(in srgb, var(--acid) 17%, transparent);border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;inset:0}.orbit-tag{color:var(--muted);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;font:9px DM Mono,monospace;position:absolute}.tag-top{top:25px;left:24px}.tag-right{top:155px;right:2px}.tag-bottom{bottom:32px;left:35px}.aside-note{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:flex-start;gap:10px;font:10px/1.5 DM Mono,monospace;display:flex;position:absolute;bottom:10px;right:-10px}.aside-note svg{color:var(--acid)}.proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:78px;width:100%;min-height:83px;padding:0 32px;display:flex}.proof-items{color:var(--muted);letter-spacing:.02em;flex-wrap:wrap;justify-content:center;gap:60px;font-size:12px;display:flex}.proof-label{white-space:nowrap;font-size:9px}.section-block{padding-top:140px}.section-heading{justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px;display:flex}.section-heading.compact{margin-bottom:40px}.kicker{margin:0 0 14px}.section-heading h2,.side-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(34px,4.5vw,57px);font-weight:700;line-height:1.08}.section-description{max-width:340px;color:var(--muted);letter-spacing:.005em;margin:0 0 5px;font-size:13px;line-height:1.75}.key-projects-title{align-items:baseline;gap:16px;margin-bottom:50px;display:flex}.key-projects-title .kicker{margin:0;font-size:12px}.key-projects-title h2{letter-spacing:-.035em;margin:0;font-size:clamp(34px,4.5vw,57px);font-weight:700;line-height:1.08}.project-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.project-card.span-full{grid-column:1/-1}.project-card{border:1px solid var(--line);border-radius:6px;flex-direction:column;min-height:340px;padding:28px;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;position:relative}.project-card:hover{border-color:color-mix(in srgb, var(--acid) 50%, transparent);box-shadow:0 12px 40px color-mix(in srgb, var(--acid) 8%, transparent);transform:translateY(-6px)}.project-card.featured{background:var(--acid);color:var(--acid-dark);border-color:var(--acid)}.project-card.featured .project-label,.project-card.featured .project-link,.project-card.featured .project-url{color:var(--acid-dark)}.project-card.featured .tag-list span{border-color:color-mix(in srgb, var(--acid-dark) 25%, transparent)}.project-card.featured .project-bullets li{color:color-mix(in srgb, var(--acid-dark) 75%, transparent)}.project-number{color:color-mix(in srgb, var(--text) 30%, transparent);font:10px DM Mono,monospace;position:absolute;top:24px;right:24px}.project-card-body{margin-top:69px}.project-label{font-size:9px}.project-card h3{letter-spacing:-.02em;max-width:400px;margin:12px 0 16px;font-size:22px;line-height:1.15}.project-card p{color:var(--muted);letter-spacing:.005em;margin:0;font-size:12px;line-height:1.75}.project-card.featured p{color:color-mix(in srgb, var(--acid-dark) 70%, transparent)}.tag-list{flex-wrap:wrap;gap:6px;margin-top:24px;display:flex}.tag-list span{border:1px solid var(--line);color:var(--muted);letter-spacing:.04em;border-radius:3px;padding:5px 8px;font:9px DM Mono,monospace}.project-link{width:36px;height:36px;color:var(--acid);border:1px solid;border-radius:4px;align-self:flex-end;place-items:center;margin-top:auto;transition:background .2s,color .2s;display:grid}.project-link:hover{color:var(--acid-dark);background:var(--acid)}.project-link.muted{color:var(--muted)}.project-url{color:var(--acid);letter-spacing:.04em;text-underline-offset:3px;margin:4px 0 18px;font:10px DM Mono,monospace;text-decoration:underline;transition:opacity .2s;display:inline-block}.project-url:hover{opacity:.7}.project-bullets{gap:10px;margin:0;padding:0;list-style:none;display:grid}.project-bullets li{color:var(--muted);letter-spacing:.005em;padding-left:18px;font-size:12px;line-height:1.6;position:relative}.project-bullets li:before{content:"";background:var(--acid);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:0}.project-card.featured .project-bullets li:before{background:var(--acid-dark)}.personal-section{padding-top:120px}.personal-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.personal-grid .project-card{min-height:270px}.personal-grid .project-card-body{margin-top:45px}.personal-grid .project-card h3{font-size:19px}.personal-badge{color:var(--acid);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border-radius:3px;padding:4px 8px;font:9px DM Mono,monospace;position:absolute;top:24px;left:24px}.split-section{grid-template-columns:.85fr 1.15fr;gap:100px;padding-top:160px;display:grid}.side-heading{display:block}.side-heading .section-description{margin-top:32px}.experience-list{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line);grid-template-columns:155px 1fr;gap:30px;padding:32px 0 36px;display:grid}.experience-item h3{letter-spacing:-.02em;margin:0;font-size:21px}.experience-period{color:var(--muted);padding-top:5px;font-size:9px}.company{color:var(--acid);letter-spacing:.01em;margin:7px 0 1px;font-size:12px;font-weight:700}.experience-location{color:var(--muted);letter-spacing:.04em;margin:0;font:10px DM Mono,monospace}.experience-summary{max-width:565px;color:var(--muted);letter-spacing:.005em;margin:22px 0 20px;font-size:12px;line-height:1.75}.experience-item ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.experience-item li{color:var(--muted);letter-spacing:.005em;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;display:flex}.experience-item li svg{color:var(--acid);flex:none;margin-top:2px}.skills-section{padding-top:160px;padding-bottom:160px}.skills-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.skill-card{border:1px solid var(--line);border-radius:6px;min-height:210px;padding:26px;transition:transform .25s,border-color .25s}.skill-card:hover{border-color:color-mix(in srgb, var(--acid) 40%, transparent);transform:translateY(-4px)}.skill-card>svg{color:var(--acid);margin-bottom:32px}.skill-card h3{letter-spacing:-.01em;margin:0 0 19px;font-size:14px}.skill-list{flex-wrap:wrap;gap:7px;display:flex}.skill-list span{color:var(--muted);letter-spacing:.01em;font-size:10px}.skill-list span:not(:last-child):after{content:" ·";color:var(--acid);margin-left:7px}.contact-section{background:var(--acid);color:var(--acid-dark);margin-top:40px;position:relative;overflow:hidden}.contact-section:before{content:"";border:1px solid color-mix(in srgb, var(--acid-dark) 12%, transparent);width:600px;height:600px;box-shadow:0 0 0 50px color-mix(in srgb, var(--acid-dark) 4%, transparent), 0 0 0 100px color-mix(in srgb, var(--acid-dark) 4%, transparent);border-radius:50%;animation:8s ease-in-out infinite contact-pulse;position:absolute;top:-160px;right:-120px}@keyframes contact-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.contact-inner{z-index:1;justify-content:space-between;align-items:end;min-height:420px;padding-top:90px;padding-bottom:90px;display:flex;position:relative}.contact-content{z-index:1;position:relative}.contact-content .kicker{color:color-mix(in srgb, var(--acid-dark) 65%, transparent)}.contact-content h2{letter-spacing:-.04em;margin:0 0 36px;font-size:clamp(38px,5vw,63px);font-weight:700;line-height:1.05}.contact-content h2 em{color:var(--acid-dark)}.contact-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.button-light{background:var(--acid-dark);color:var(--acid)}.button-outline-light{color:var(--acid-dark);border:1px solid color-mix(in srgb, var(--acid-dark) 40%, transparent);background:0 0}.button-outline-light:hover{background:var(--acid-dark);color:var(--acid)}.contact-mark{z-index:1;letter-spacing:-.08em;opacity:.11;font-size:clamp(100px,18vw,245px);font-weight:800;line-height:.65;position:relative}.contact-mark span{color:var(--acid-dark)}.site-footer{width:min(1180px,100% - 64px);min-height:93px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;font:9px DM Mono,monospace;display:flex}.footer-links{align-items:center;gap:18px;display:flex}.footer-links a{transition:color .2s}.footer-links a:hover{color:var(--acid)}@media (width<=1024px){.site-header{padding:0 24px}.section-pad,.site-footer{width:min(100% - 48px,980px)}.main-nav{gap:24px;margin-left:40px}.hero{text-align:left;grid-template-columns:1fr;gap:0;padding-top:60px;padding-bottom:60px;position:relative}.hero-copy{z-index:2;position:relative}.hero-aside{z-index:1;pointer-events:none;opacity:.5;place-items:center;min-height:100%;display:grid;position:absolute;inset:0}.orbit-card{opacity:.7;transform:scale(.7)}.aside-note{display:none}.proof-strip{flex-wrap:wrap;gap:32px;padding:24px}.proof-items{gap:24px}.section-block,.split-section,.skills-section{padding-top:120px}.section-heading{display:block}.section-description{margin-top:24px}.project-grid,.personal-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,1fr)}.split-section{grid-template-columns:1fr;gap:50px}.skills-section{padding-bottom:120px}.contact-inner{min-height:380px;padding-top:70px;padding-bottom:70px}}@media (width<=640px){.site-header{height:72px;padding:0 20px}.section-pad,.site-footer{width:calc(100% - 40px)}.header-cta{display:none}.mobile-menu{display:block}.main-nav{z-index:50;background:var(--surface-solid);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);border-radius:6px;gap:0;margin-left:0;padding:10px 15px;display:none;position:absolute;top:72px;left:20px;right:20px}.main-nav.is-open{display:grid}.main-nav a{border-bottom:1px solid var(--line);padding:14px 10px}.main-nav a:last-child{border-bottom:0}.hero{gap:32px;min-height:auto;padding-top:60px;padding-bottom:60px}h1{font-size:clamp(42px,11vw,64px)}.hero-intro{font-size:14px}.hero-actions{gap:18px}.hero-meta{gap:12px;margin-top:40px}.hero-aside{z-index:1;pointer-events:none;opacity:.4;place-items:center;min-height:100%;display:grid;position:absolute;inset:0}.orbit-card{opacity:.6;transform:scale(.55)}.aside-note{display:none}.proof-strip{gap:14px;padding:22px 16px}.proof-label{text-align:center;margin-bottom:10px;display:block}.proof-items{gap:10px 20px;font-size:11px}.section-block,.split-section,.skills-section,.personal-section{padding-top:90px}.section-heading h2,.side-heading h2{font-size:clamp(32px,9vw,42px)}.section-description{margin-top:18px;font-size:12px}.project-grid,.personal-grid,.skills-grid{grid-template-columns:1fr}.project-card{min-height:280px;padding:24px}.personal-grid .project-card{min-height:230px}.project-card-body{margin-top:50px}.personal-grid .project-card-body{margin-top:35px}.experience-item{grid-template-columns:1fr;gap:12px;padding:26px 0 30px}.experience-period{padding-top:0}.contact-inner{min-height:360px;padding-top:60px;padding-bottom:60px}.contact-content h2{margin-bottom:28px;font-size:clamp(32px,9vw,48px)}.contact-actions{flex-direction:column;align-items:flex-start;gap:12px}.contact-actions .button{justify-content:center;width:100%}.contact-mark{font-size:clamp(80px,22vw,140px)}.site-footer{text-align:center;flex-wrap:wrap;justify-content:center;gap:12px;padding:22px 0}.site-footer>span:nth-child(2){display:none}}@media (width<=380px){.site-header{padding:0 16px}.section-pad,.site-footer{width:calc(100% - 32px)}h1{font-size:38px}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}.button{justify-content:center;width:100%}.project-card,.skill-card{padding:20px}}@media (prefers-reduced-motion:reduce){.bg-grid,.bg-blob,.orbit,.eyebrow-dot,.contact-section:before{animation:none!important}}
