:root{--bg:#0b0b0c;--panel:#111113;--panel2:#151517;--text:#f1f0ed;--muted:#929195;--line:rgba(255,255,255,.12);--soft:rgba(255,255,255,.06);--green:#b7d8a2;--font:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}.grain{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E")}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 3.2%;background:linear-gradient(#0b0b0c 20%,rgba(11,11,12,.78) 75%,transparent);backdrop-filter:blur(10px)}.brand{display:flex;flex-direction:column;width:max-content;line-height:1.2}.brand span{font-size:19px;font-weight:800;letter-spacing:-1px}.brand small{font-size:10px;color:var(--muted);margin-top:4px}.nav-pill{display:flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:50px;background:rgba(255,255,255,.055);box-shadow:0 5px 30px #0008}.nav-pill a{padding:7px 20px;border-radius:30px;color:#b7b5b8;font-size:13px}.nav-pill a.active,.nav-pill a:hover{background:rgba(255,255,255,.12);color:white}.nav-right{display:flex;justify-content:flex-end;gap:28px;align-items:center;font-size:12px}.nav-right a span{font-size:15px}.menu-toggle{display:none;background:none;color:white;border:0;font-size:20px}.hero{padding-top:145px}.hero-window{position:relative;min-height:570px;border:1px solid rgba(255,255,255,.24);border-radius:18px;background:radial-gradient(ellipse at 50% 30%,#242426 0%,#171719 43%,#101012 100%);box-shadow:0 35px 100px #0008,inset 0 1px 0 #ffffff24;overflow:hidden}.hero-window:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.07);border-radius:12px;pointer-events:none}.window-bar{height:44px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,#272729,#3a3a3c 45%,#252527);display:flex;align-items:center;padding:0 19px;position:relative}.window-dots{display:flex;gap:8px}.window-dots i{width:10px;height:10px;border-radius:50%;background:#ed6a5e;box-shadow:0 0 12px #ed6a5e66}.window-dots i:nth-child(2){background:#e8bd4e;box-shadow:0 0 12px #e8bd4e66}.window-dots i:nth-child(3){background:#63c554;box-shadow:0 0 12px #63c55466}.window-label{position:absolute;left:50%;transform:translateX(-50%);font:10px var(--mono);color:#aaa}.window-plus{margin-left:auto;color:#777;font-size:19px}.hero-content{padding:85px 7% 95px}.eyebrow,.kicker,.project-type,.visual-top,.visual-link,.hero-index,.more-work,.tags,.portrait-caption,.skill-no,.chart-title,.chart-foot,.contact-links,.footer>span,.footer>a:last-child{font-family:var(--mono);font-size:10px;letter-spacing:.08em}.eyebrow{color:#a9a7aa;display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 12px var(--green)}h1{font-size:clamp(42px,6.2vw,82px);line-height:1.06;letter-spacing:-.075em;font-weight:500;margin:34px 0 50px;max-width:940px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em;color:#aaa8ad}.hero-bottom{display:grid;grid-template-columns:1fr 340px;align-items:end;gap:30px}.scroll-note{font:11px var(--mono);color:#777}.hero-bottom p{margin:0;color:#d0ced0;font-size:14px;line-height:1.8}.down-arrow{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:34px;color:#a4a2a6;transition:transform .25s}.down-arrow:hover{transform:translate(-50%,5px)}.hero-index{display:flex;justify-content:space-between;color:#69686c;padding:16px 2px}.section{padding-top:150px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.kicker{color:#88868b}.section-heading h2,.contact-panel h2{font-size:clamp(42px,5vw,68px);font-weight:500;letter-spacing:-.075em;line-height:1.05;margin:20px 0 0}.section-heading>p{max-width:340px;color:var(--muted);font-size:13px;margin:0 0 7px;line-height:1.9}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 24px}.project-large{grid-column:1/-1}.project-visual{height:330px;display:block;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#141416;transition:border-color .3s,transform .4s}.project-large .project-visual{height:390px}.project-visual:hover{border-color:#ffffff55;transform:translateY(-3px)}.visual-top{position:absolute;top:20px;left:22px;right:22px;display:flex;justify-content:space-between;color:#888}.visual-link{position:absolute;bottom:19px;right:22px;color:#c6c4c7}.aegis-visual{background:radial-gradient(ellipse at 53% 40%,#27312b,#111713 62%,#0e1110)}.aegis-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);font-size:clamp(100px,17vw,210px);font-weight:800;letter-spacing:-.13em;color:#dce8dc;line-height:1;text-shadow:0 0 80px #b7d8a222}.aegis-mark span{color:#8aaa8a;font-weight:400}.visual-terminal{position:absolute;left:24px;bottom:24px;display:flex;flex-direction:column;font:10px var(--mono);gap:5px;color:#c5d4c5}.terminal-muted{color:#77877a}.terminal-green{color:#a9d8a5}.sentinel-visual{background:radial-gradient(ellipse at 50% 40%,#202a3b,#111318 65%)}.chart-wrap{position:absolute;left:10%;right:10%;top:26%;height:52%;border:1px solid #ffffff20;border-radius:9px;background:#0c1018bb;padding:20px 22px}.chart-title{display:flex;justify-content:space-between;color:#c5cbd5}.chart-title span{color:#7f91a9}.bars{height:calc(100% - 50px);display:flex;align-items:end;gap:9px;padding-top:22px;border-bottom:1px solid #ffffff22;background:repeating-linear-gradient(to bottom,transparent 0,transparent 28px,#ffffff0a 29px)}.bars i{display:block;flex:1;background:linear-gradient(to top,#5b8e9b,#a5d4c5);border-radius:3px 3px 0 0;opacity:.85}.chart-foot{display:flex;justify-content:space-between;color:#6e7888;margin-top:8px;font-size:8px}.chart-alert{color:#d9b982}.theo-visual{background:radial-gradient(ellipse at 50% 50%,#332a25,#171514 68%)}.theo-title{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%);font-size:clamp(42px,7vw,82px);font-weight:800;letter-spacing:-.09em;white-space:nowrap}.theo-title span{font-weight:400;color:#d8a77b}.theo-flow{position:absolute;top:64%;left:8%;right:8%;display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);color:#bdb0a7}.theo-flow b{color:#a47f63;font-weight:400}.project-meta{display:flex;justify-content:space-between;gap:18px;padding:22px 2px 12px}.project-type{color:#858389}.project-meta h3{font-size:25px;letter-spacing:-.05em;margin:8px 0}.project-meta p{max-width:590px;margin:0;color:var(--muted);font-size:12px;line-height:1.85}.round-link{width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .2s}.round-link:hover{background:#fff;color:#111}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid var(--line);border-radius:30px;padding:5px 10px;color:#aaa8ad;font-size:9px}.more-work{border-top:1px solid var(--line);margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;color:#777}.more-work a{color:#d6d4d7}.info-section,.lab-section{background:#101012}.info-section{margin-top:145px;padding-bottom:130px}.info-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}.portrait-frame{position:relative;max-width:390px}.portrait-frame img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover;filter:saturate(.75);border-radius:8px}.portrait-caption{display:block;color:#777;margin-top:12px}.about-copy{max-width:560px}.about-copy p{color:var(--muted);font-size:13px;line-height:2;margin:0 0 19px}.about-copy .about-lead{font-size:22px;line-height:1.55;color:#e9e7e8;letter-spacing:-.04em;margin-bottom:25px}.education{border-top:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:120px 1fr;gap:20px;margin-top:14px}.education .kicker{color:#777}.education div{display:flex;flex-direction:column;gap:4px}.education strong{font-size:13px;font-weight:600}.education div span{font-size:11px;color:var(--muted)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.skills-grid>div{min-height:170px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.skill-no{color:#777}.skills-grid h3{font-size:17px;font-weight:600;margin:22px 0 6px}.skills-grid p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.lab-section{margin-top:140px;padding:110px 0 125px}.lab-list{border-top:1px solid var(--line)}.lab-list a{display:grid;grid-template-columns:70px 1fr 1fr 30px;align-items:center;gap:20px;padding:22px 5px;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.lab-list a:hover{padding-inline:15px;background:#ffffff05}.lab-list a>span,.lab-list small{font:10px var(--mono);color:#777}.lab-list strong{font-size:16px;font-weight:500}.lab-list b{font-weight:400;text-align:right}.contact-section{padding-top:140px;padding-bottom:100px}.contact-panel{position:relative;border:1px solid var(--line);border-radius:14px;padding:65px 7%;background:radial-gradient(ellipse at 80% 20%,#202023,#111113 58%)}.contact-panel h2{font-size:clamp(52px,7vw,88px);margin:22px 0}.contact-panel>p{max-width:380px;color:var(--muted);font-size:13px;line-height:1.9}.email-link{display:inline-flex;gap:24px;align-items:center;font-size:clamp(17px,3vw,25px);margin-top:24px;border-bottom:1px solid #777;padding-bottom:9px}.email-link span{color:#aaa}.contact-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:55px;color:#999}.contact-links a:hover{color:white}.footer{border-top:1px solid var(--line);padding:24px 0 35px;display:flex;align-items:center;justify-content:space-between}.footer>span,.footer>a:last-child{color:#777;font-size:9px}.footer>a:last-child:hover{color:white}[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}[data-reveal].visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){.wrap{width:min(100% - 36px,600px)}.topbar{padding:14px 18px;grid-template-columns:1fr auto}.nav-pill{position:fixed;top:68px;left:50%;transform:translateX(-50%);opacity:0;pointer-events:none;transition:.2s}.nav-pill.open{opacity:1;pointer-events:auto}.nav-right{gap:15px}.nav-right>a{display:none}.menu-toggle{display:block}.hero{padding-top:105px}.hero-window{min-height:530px}.hero-content{padding:75px 7% 90px}h1{font-size:clamp(43px,10vw,65px);margin:30px 0 40px}.hero-bottom{grid-template-columns:1fr;gap:15px}.hero-bottom p{max-width:390px}.hero-index{font-size:8px}.section{padding-top:100px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:22px}.projects-grid{grid-template-columns:1fr;gap:42px}.project-large{grid-column:auto}.project-large .project-visual,.project-visual{height:290px}.info-section{margin-top:100px;padding:90px 0}.info-grid{grid-template-columns:1fr;gap:38px}.portrait-frame{max-width:320px}.skills-grid{grid-template-columns:1fr 1fr}.skills-grid>div{min-height:155px;padding:16px}.lab-section{margin-top:95px;padding:85px 0}.lab-list a{grid-template-columns:30px 1fr 25px;gap:10px}.lab-list small{grid-column:2;grid-row:2}.lab-list b{grid-column:3;grid-row:1/3}.contact-section{padding-top:90px}.contact-panel{padding:45px 7%}.contact-links{gap:16px;font-size:9px}.footer{gap:18px;flex-wrap:wrap}.footer>span{order:3;width:100%}}
@media(max-width:420px){.window-label{display:none}.hero-window{min-height:500px}.hero-index span:last-child{max-width:145px;text-align:right}.skills-grid{grid-template-columns:1fr}.skills-grid>div{min-height:130px}.theo-flow{font-size:7px;left:4%;right:4%}.chart-wrap{left:5%;right:5%;padding:13px}.project-meta h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
/* GOD'S EYE project visual */
.godseye-visual{background:radial-gradient(ellipse at 50% 46%,#29233a 0%,#17151f 48%,#101014 78%)}
.eye-orbit{position:absolute;width:190px;height:190px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #b7a6e455;border-radius:50%;box-shadow:0 0 70px #8e79bf22,inset 0 0 45px #8e79bf14}
.eye-orbit:before,.eye-orbit:after{content:"";position:absolute;inset:18px;border:1px solid #b7a6e433;border-radius:50%}.eye-orbit:after{inset:42px;border-color:#c9b6f866}
.eye-orbit span{position:absolute;width:62px;height:62px;border:1px solid #d6c8f2;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#d8d0f2 0 4%,#9d8acb 7%,#352b4f 60%,transparent 70%);box-shadow:0 0 35px #aa93dd77}
.eye-orbit i,.eye-orbit b{position:absolute;width:8px;height:8px;border-radius:50%;background:#d1c1f2;top:18px;left:50%;box-shadow:0 0 14px #cbb7f5}.eye-orbit b{top:auto;left:auto;right:22px;bottom:35px;width:5px;height:5px;opacity:.7}
.godseye-caption{position:absolute;left:0;right:0;top:calc(50% + 112px);text-align:center;font:9px var(--mono);letter-spacing:.18em;color:#aaa0be}
@media(max-width:760px){.eye-orbit{width:160px;height:160px}}
