:root{--bg:#f3f2ed;--surface:#fff;--ink:#151619;--muted:#686b70;--line:#15161924;--accent:#b9f227;--accent-deep:#7aa800;--dark:#111315;--radius:22px;--mx:50vw;--my:40vh;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:Manrope,system-ui,sans-serif}:root[data-theme=dark]{--bg:#0c0d0e;--surface:#141618;--ink:#f4f3ee;--muted:#9a9c9f;--line:#ffffff21;--dark:#08090a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;color:var(--ink);margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app-shell{background:radial-gradient(circle at 75% 10%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 28%), var(--bg);min-height:100vh;overflow:hidden}.cursor-glow{z-index:0;width:420px;height:420px;left:calc(var(--mx) - 210px);top:calc(var(--my) - 210px);pointer-events:none;background:radial-gradient(circle,#b9f22713,#0000 68%);border-radius:50%;transition:left .12s linear,top .12s linear;position:fixed}.container{z-index:1;width:min(1180px,100% - 48px);margin-inline:auto;position:relative}.nav-wrap{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb, var(--bg) 82%, transparent);border-bottom:1px solid var(--line);position:fixed;inset:0 0 auto}.nav{justify-content:space-between;align-items:center;height:76px;display:flex}.brand{cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand-mark{background:var(--accent);color:#111;border-radius:50%;place-items:center;width:38px;height:38px;font:600 12px DM Mono;display:grid}.brand-name{letter-spacing:-.03em;font-weight:800}.nav-links{align-items:center;gap:6px;display:flex}.nav-links button{cursor:pointer;text-transform:capitalize;color:var(--muted);background:0 0;border:0;padding:10px 13px;font-size:13px;font-weight:700;position:relative}.nav-links button:after{content:"";background:var(--accent);height:2px;transition:all .25s;position:absolute;bottom:2px;left:50%;right:50%}.nav-links button.active{color:var(--ink)}.nav-links button.active:after{left:13px;right:13px}.nav-actions{gap:8px;display:flex}.icon-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.menu-button{display:none}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:72px;min-height:760px;padding-top:150px;padding-bottom:80px;display:grid}.availability{border:1px solid var(--line);width:max-content;max-width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;gap:9px;padding:8px 12px;font:500 11px DM Mono;display:flex}.availability>span{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%}.availability b{color:var(--ink);margin-left:6px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent-deep);margin:36px 0 13px;font:500 12px DM Mono}.hero h1{letter-spacing:-.075em;max-width:700px;margin:0;font-size:clamp(64px,9vw,122px);line-height:.82}.hero h1 span{color:#0000;-webkit-text-stroke:1.5px var(--muted)}.role-line{height:34px;color:var(--muted);margin-top:30px;font-size:clamp(19px,2.4vw,27px)}.role-line strong{color:var(--ink);animation:.55s both roleIn;display:inline-block}@keyframes roleIn{0%{opacity:0;filter:blur(5px);transform:translateY(12px)}}.hero-text{max-width:610px;color:var(--muted);margin:24px 0 32px;font-size:18px;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid var(--line);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 20px;font-size:14px;font-weight:800;transition:transform .2s,background .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{color:#111;background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:#cdfb52}.button.ghost{background:0 0}.hero-meta{color:var(--muted);gap:28px;margin-top:34px;font-size:13px;display:flex}.hero-meta span{align-items:center;gap:8px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.portrait-stage{place-items:center;min-height:560px;display:grid;position:relative}.portrait-frame{aspect-ratio:.73;border:1px solid var(--line);background:linear-gradient(145deg,#1d2227,#0d0e10);border-radius:200px 200px 22px 22px;width:min(390px,86%);position:relative;overflow:hidden;box-shadow:0 32px 80px #00000038}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0000006b);position:absolute;inset:0}.portrait-frame img{object-fit:cover;z-index:2;opacity:0;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.portrait-frame img.loaded{opacity:1}.portrait-fallback{text-align:center;color:#eee;background:radial-gradient(circle at 60% 26%,#39434b,#101214 60%);place-content:center;display:grid;position:absolute;inset:0}.portrait-fallback span{letter-spacing:-.1em;color:var(--accent);font-size:110px;font-weight:800;line-height:1}.portrait-fallback small{letter-spacing:.25em;color:#a9adb0;margin-top:18px;font:500 11px/1.6 DM Mono}.portrait-orbit{border:1px solid var(--line);border-radius:50%;animation:18s linear infinite spin;position:absolute}.portrait-orbit:after{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:23%;right:2%}.orbit-one{width:470px;height:470px}.orbit-two{opacity:.45;width:550px;height:550px;animation-duration:25s;animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}.floating-chip{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f6f6f3;background:#16181ad4;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:8px;padding:12px 15px;font:500 11px DM Mono;display:flex;position:absolute;box-shadow:0 12px 32px #0003}.chip-code{bottom:25%;left:2%}.chip-stack{font-size:13px;top:27%;right:0}.chip-stack span{color:var(--accent)}.statement-band{background:var(--accent);color:#111;padding:52px 0}.statement-grid{grid-template-columns:1.6fr 1fr 1fr;align-items:center;gap:56px;display:grid}.statement-grid>p{letter-spacing:-.045em;margin:0;font-size:clamp(27px,4vw,44px);font-weight:700;line-height:1.15}.statement-grid em{font-family:Georgia,serif;font-weight:400}.statement-grid div{border-left:1px solid #00000038;padding-left:24px}.statement-grid div span{font:500 12px DM Mono}.statement-grid div p{margin-bottom:0;font-size:14px;line-height:1.65}.section{padding-top:120px;padding-bottom:120px;scroll-margin-top:65px}.section-heading{grid-template-columns:1.4fr .6fr;align-items:end;gap:80px;margin-bottom:54px;display:grid}.section-heading .eyebrow{margin-top:0}.section-heading h2{letter-spacing:-.06em;margin:0;font-size:clamp(42px,6vw,78px);line-height:.95}.section-heading>p{color:var(--muted);margin:0;line-height:1.75}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filter-row button{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;padding:9px 15px;font-size:12px;font-weight:700}.filter-row button.active{background:var(--ink);color:var(--bg)}.skills-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.skill-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:150px;animation:.4s both skillIn;animation-delay:var(--delay);flex-direction:column;padding:22px;display:flex}@keyframes skillIn{0%{opacity:0;transform:translateY(8px)}}.skill-card span{color:var(--muted);font:400 10px DM Mono}.skill-card strong{letter-spacing:-.03em;margin-top:auto;font-size:19px}.skill-card small{color:var(--accent-deep);text-transform:uppercase;margin-top:4px;font:500 10px DM Mono}.project-section{background:var(--dark);color:#f5f5f1}.light-heading>p{color:#909398}.project-card{border-radius:var(--radius);background:#151719;border:1px solid #ffffff24;grid-template-columns:1.2fr .8fr;display:grid;overflow:hidden}.project-visual{background:#e6e9e5;min-height:610px;position:relative;overflow:hidden}.project-visual img{object-fit:cover;object-position:center;opacity:.82;filter:saturate(.75)contrast(.95);width:100%;height:100%}.visual-topbar{color:#272b2f;align-items:center;gap:7px;height:42px;padding:0 15px;font:500 10px DM Mono;display:flex}.visual-topbar i{background:#afb3ae;border-radius:50%;width:7px;height:7px}.visual-topbar span{margin-left:auto}.visual-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#090a0be0;border:1px solid #ffffff29;border-radius:16px;justify-content:space-between;align-items:end;padding:22px;display:flex;position:absolute;inset:auto 24px 24px}.visual-overlay span{color:var(--accent);font:500 12px DM Mono}.visual-overlay strong{text-align:right;font-size:23px;line-height:1.15}.project-copy{flex-direction:column;padding:46px;display:flex}.project-label{text-transform:uppercase;color:#999da1;letter-spacing:.1em;justify-content:space-between;font:500 10px DM Mono;display:flex}.project-label span{color:var(--accent)}.project-copy h3{letter-spacing:-.06em;margin:72px 0 20px;font-size:clamp(38px,4.5vw,62px);line-height:.98}.project-copy h3 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}.project-copy>p{color:#a7aaad;font-size:15px;line-height:1.75}.project-copy ul{border-top:1px solid #ffffff1f;margin:28px 0 34px;padding:0;list-style:none}.project-copy li{color:#d5d5d2;border-bottom:1px solid #ffffff1f;grid-template-columns:70px 1fr;padding:12px 0;font-size:12px;display:grid}.project-copy li span{color:#74777b;font-family:DM Mono}.project-actions{align-items:center;gap:24px;display:flex}.button.lime{background:var(--accent);color:#111;border-color:var(--accent)}.text-button{color:#f3f3ef;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:12px;font-weight:700}.text-button span{color:var(--accent);margin-left:7px}.project-detail{grid-template-rows:0fr;transition:grid-template-rows .4s;display:grid}.project-detail p{color:#9ea1a4;margin:0;font-size:12px;line-height:1.65;overflow:hidden}.project-detail.open{grid-template-rows:1fr;margin-top:22px}.project-detail strong{color:#e7e7e4}.timeline{position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:180px}.timeline article{grid-template-columns:160px 40px 1fr;padding:28px 0 58px;display:grid}.timeline-date{color:var(--accent-deep);font:500 12px DM Mono}.timeline-dot{background:var(--accent);border:3px solid var(--bg);outline:1px solid var(--line);z-index:1;border-radius:50%;width:11px;height:11px;margin:2px 0 0 15px}.timeline-content{max-width:720px}.timeline-content>p:first-child{text-transform:uppercase;color:var(--muted);margin:0 0 8px;font:500 10px DM Mono}.timeline-content h3{letter-spacing:-.04em;margin:0;font-size:28px}.timeline-content h4{color:var(--accent-deep);margin:8px 0 18px;font-size:13px}.timeline-content>p:last-child{color:var(--muted);margin:0;line-height:1.7}.achievement-strip{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:32px;padding:24px 28px;display:flex}.achievement-strip span{color:var(--muted);text-transform:uppercase;font:500 10px DM Mono}.achievement-strip strong{margin-right:auto;font-size:17px}.contact-section{background:var(--surface);border-top:1px solid var(--line)}.contact-grid{grid-template-columns:1fr 1fr;gap:100px;display:grid}.contact-copy .eyebrow{margin-top:0}.contact-copy h2{letter-spacing:-.065em;margin:0 0 30px;font-size:clamp(44px,6vw,74px);line-height:1.02}.contact-copy h2 em{color:var(--accent-deep);font-family:Georgia,serif;font-weight:400}.contact-copy>p:not(.eyebrow){color:var(--muted);max-width:520px;line-height:1.75}.email-copy{border:1px solid var(--line);background:var(--bg);cursor:pointer;width:100%;color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;margin-top:28px;padding:17px;display:flex}.email-copy span{align-items:center;gap:10px;display:flex}.contact-links{gap:22px;margin-top:24px;display:flex}.contact-links a{align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.contact-form{gap:18px;display:grid}.contact-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;gap:8px;font:500 10px DM Mono;display:grid}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;text-transform:none;letter-spacing:0;background:0 0;outline:none;padding:10px 0 14px;font:500 15px Manrope}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-deep)}.contact-form .button{width:max-content;margin-top:8px}footer{background:var(--dark);color:#eaeae6;padding:28px 0}.footer-inner{align-items:center;gap:22px;display:flex}.footer-inner p{color:#7f8286;margin-right:auto;font-size:12px}.footer-inner button{color:#eaeae6;cursor:pointer;background:0 0;border:0;font-size:12px}.reveal{opacity:0;transition:opacity .75s,transform .75s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}@media (width<=900px){.hero{grid-template-columns:1fr;gap:30px;padding-top:130px}.portrait-stage{order:-1;min-height:500px;margin-top:24px}.portrait-frame{width:340px}.orbit-two{width:460px;height:460px}.orbit-one{width:400px;height:400px}.hero-copy{text-align:center}.availability,.hero-actions,.hero-meta{justify-content:center;margin-left:auto;margin-right:auto}.hero-text{margin-left:auto;margin-right:auto}.statement-grid{grid-template-columns:1fr 1fr}.statement-grid>p{grid-column:1/-1}.section-heading{grid-template-columns:1fr;gap:24px}.skills-grid{grid-template-columns:repeat(3,1fr)}.project-card{grid-template-columns:1fr}.project-visual{min-height:480px}.contact-grid{grid-template-columns:1fr;gap:70px}}@media (width<=680px){.container{width:min(100% - 28px,1180px)}.nav{height:66px}.brand-name{display:none}.menu-button{display:grid}.nav-links{background:var(--bg);border-bottom:1px solid var(--line);opacity:0;padding:18px;transition:all .3s;display:grid;position:fixed;top:66px;left:0;right:0;transform:translateY(-140%)}.nav-links.open{opacity:1;transform:translateY(0)}.nav-links button{padding:14px;font-size:16px}.hero{min-height:auto;padding-top:100px}.portrait-stage{min-height:400px}.portrait-frame{width:260px}.orbit-one{width:310px;height:310px}.orbit-two{width:360px;height:360px}.chip-code{left:0}.chip-stack{right:-3px}.hero h1{font-size:clamp(58px,20vw,86px)}.hero-meta{flex-direction:column;align-items:center;gap:10px}.statement-grid{grid-template-columns:1fr;gap:28px}.statement-grid>p{grid-column:auto}.section{padding-top:86px;padding-bottom:86px}.section-heading{margin-bottom:38px}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-card{min-height:125px;padding:16px}.project-visual{min-height:340px}.project-copy{padding:28px 22px}.project-copy h3{margin-top:48px}.visual-overlay{padding:16px;inset:auto 12px 12px}.visual-overlay strong{font-size:17px}.timeline:before{left:10px}.timeline article{grid-template-columns:31px 1fr}.timeline-date{grid-column:2;margin-bottom:12px}.timeline-dot{grid-area:1/1/span 2;margin-left:5px}.timeline-content{grid-column:2}.timeline-content h3{font-size:23px}.achievement-strip{flex-direction:column;align-items:flex-start;gap:10px}.contact-copy h2{font-size:45px}.email-copy{font-size:11px}.footer-inner{flex-wrap:wrap}.footer-inner p{order:3;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.cursor-glow{display:none}}
