:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#edf1e9;background:#111714;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--bg: #111714;--bg-soft: #171e1a;--bg-raised: #1b231e;--text: #edf1e9;--text-soft: #c3ccc0;--muted: #89958a;--line: #2c3730;--accent: #c5ef88;--accent-ink: #172110;--accent-soft: rgba(197, 239, 136, .11);--serif: "Playfair Display", Georgia, serif;--mono: "DM Mono", "SFMono-Regular", Consolas, monospace}:root[data-theme=light]{color-scheme:light;color:#1c2921;background:#f4f6f2;--bg: #f4f6f2;--bg-soft: #e9eee8;--bg-raised: #e4ebe3;--text: #1c2921;--text-soft: #44534a;--muted: #65736a;--line: #d5ddd4;--accent: #527c32;--accent-ink: #f7faef;--accent-soft: rgba(82, 124, 50, .1)}*{box-sizing:border-box}html{width:100%;max-width:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:88px}body{width:100%;min-width:0;margin:0;overflow-x:clip;background:var(--bg);color:var(--text);transition:color .25s ease,background-color .25s ease}#root{width:100%;min-height:100vh;overflow-x:clip}body,button,a{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}::selection{color:var(--accent-ink);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.shell{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section-pad{padding-block:118px}.skip-link{position:fixed;z-index:20;top:12px;left:12px;transform:translateY(-160%);padding:12px 18px;background:var(--accent);color:var(--accent-ink);border-radius:3px}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:10;height:76px;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto}.wordmark-mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--accent);color:var(--text);font-size:14px;font-weight:650;letter-spacing:-.06em;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transition:clip-path .3s cubic-bezier(.2,.75,.25,1),background-color .2s ease}.wordmark-mark>span{color:var(--text);line-height:1;transform:translateY(-.5px)}.wordmark-name{font-size:13px;font-weight:550;letter-spacing:.015em}.primary-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.primary-nav>a{color:var(--text-soft);font-size:12px;transition:color .18s ease}.primary-nav>a:hover,.primary-nav>a:focus-visible{color:var(--accent)}.primary-nav .nav-contact{display:inline-flex;align-items:center;gap:6px;color:var(--text)}.nav-contact svg,.footer-actions svg,.contact-details svg{width:13px;height:13px;color:var(--accent)}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text-soft);cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.icon-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.theme-toggle{margin-left:1px}.theme-toggle svg{width:17px;height:17px}.menu-toggle{display:none}.hero{position:relative;min-height:670px;padding-top:112px;padding-bottom:52px;overflow:hidden;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;top:-140px;right:3%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 66%);pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px}.eyebrow{margin:0;color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.12em;line-height:1.6}h1,h2,h3,p{margin-top:0}.hero h1{margin:0 0 22px;font-size:clamp(58px,7.3vw,90px);font-weight:500;letter-spacing:-.075em;line-height:.99}h1 em,h2 em{color:var(--accent);font-family:var(--serif);font-weight:500;letter-spacing:-.055em}.hero-intro{max-width:440px;margin-bottom:29px;color:var(--text-soft);font-size:16px;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:21px}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:0 19px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:600;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.button:hover{transform:translateY(-2px)}.button svg{width:15px;height:15px}.button-primary{color:var(--accent-ink);background:var(--accent)}.button-primary:hover{background:color-mix(in srgb,var(--accent) 85%,white)}.button-quiet{padding-inline:4px;color:var(--text-soft)}.button-quiet:hover{color:var(--accent)}.hero-art{position:relative;display:grid;place-items:center;justify-self:end;width:min(100%,450px);aspect-ratio:1 / 1;margin-right:14px;perspective:900px}.page-reveal{opacity:0;transform:translate(48px);pointer-events:none}.page-reveal.page-entered{animation:page-enter .72s cubic-bezier(.2,.75,.25,1) both;pointer-events:auto}.laptop-glow{position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 69%);opacity:0;filter:blur(8px);transition:opacity .45s ease,transform .6s ease,filter .45s ease}.laptop-art.laptop-awake .laptop-glow{opacity:.72;transform:scale(1.16);filter:blur(0);animation:laptop-glow-in .9s ease-out}.laptop-art.laptop-awake:hover .laptop-glow{opacity:1;transform:scale(1.35);filter:blur(0)}.laptop-shadow{position:absolute;right:15%;bottom:24%;left:15%;height:8%;border-radius:50%;background:#0000006b;filter:blur(17px)}.laptop-shell{position:relative;z-index:1;display:flex;width:92%;flex-direction:column;align-items:center;transform:translateY(-1%) rotateX(6deg);transform-style:preserve-3d;animation:laptop-arrive 2.6s cubic-bezier(.2,.75,.25,1) both}.laptop-screen{position:relative;width:78%;aspect-ratio:1.48;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:11px 11px 5px 5px;background:linear-gradient(145deg,#28332d,#151c18 68%);box-shadow:0 20px 50px #00000047;transform-origin:bottom center;transform:rotateX(-9deg) translateY(-2px);transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease;animation:laptop-open 2.6s cubic-bezier(.2,.75,.25,1) both}.laptop-screen:after{position:absolute;top:4px;left:50%;width:3px;height:3px;border-radius:50%;background:var(--muted);content:"";transform:translate(-50%)}.laptop-screen-inner{display:grid;width:100%;height:100%;place-items:center;overflow:hidden;border:1px solid transparent;background:#151c18;opacity:0;transition:opacity .25s ease}.laptop-art.laptop-awake .laptop-screen-inner{border-color:var(--line);background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--accent) 12%,var(--bg)),var(--bg) 68%);opacity:1}.laptop-initials{padding-right:.12em;color:var(--accent);font-family:var(--serif);font-size:clamp(76px,10vw,112px);font-style:italic;letter-spacing:-.12em;opacity:0;text-shadow:0 0 38px color-mix(in srgb,var(--accent) 34%,transparent);transition:opacity .3s ease}.laptop-art.laptop-awake .laptop-initials{opacity:1;transition-delay:.12s}.laptop-hinge{width:23%;height:7px;border-radius:0 0 6px 6px;background:linear-gradient(var(--line),#1b231e)}.laptop-base{position:relative;width:100%;height:17px;overflow:hidden;clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:0 0 14px 14px;background:linear-gradient(180deg,#39463e,#202923)}.laptop-base span{position:absolute;top:0;left:42%;width:16%;height:3px;border-radius:0 0 5px 5px;background:color-mix(in srgb,var(--text-soft) 56%,transparent)}.hero-bottom{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:45px;color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.scroll-line{width:48px;height:1px;background:var(--line)}.section-grid{display:grid;grid-template-columns:184px minmax(0,1fr);gap:63px}.section-aside{display:flex;flex-direction:column;align-items:flex-start}.section-index{color:var(--accent)}.aside-rule{width:26px;height:1px;margin-top:27px;background:var(--line)}.aside-note{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.65}.about-section{background:var(--bg-soft)}.about-content h2,.section-heading h2{margin-bottom:26px;font-size:clamp(35px,4.3vw,49px);font-weight:500;letter-spacing:-.06em;line-height:1.13}.about-content h2{max-width:610px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}.about-columns p{margin-bottom:0;color:var(--text-soft);font-size:14px;line-height:1.85}.direction-note{display:flex;align-items:flex-start;gap:13px;max-width:680px;margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line);color:var(--text);font-size:13px;line-height:1.7}.direction-mark{color:var(--accent);font-size:15px}.work-section{background:var(--bg)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading h2{margin-bottom:43px}.heading-count{padding-top:7px;color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.08em;white-space:nowrap}.mobile-index{display:none}.experience-list{border-top:1px solid var(--line)}.experience-card{display:grid;grid-template-columns:34px 1fr;gap:17px;padding:27px 0 31px;border-bottom:1px solid var(--line)}.experience-marker{display:flex;flex-direction:column;align-items:center;gap:11px;padding-top:4px}.experience-marker span{color:var(--accent);font-family:var(--mono);font-size:9px}.experience-marker i{flex:1;width:1px;min-height:64px;background:linear-gradient(var(--line),transparent)}.experience-card:last-child .experience-marker i{display:none}.experience-topline{display:flex;justify-content:space-between;gap:20px}.experience-topline h3{margin:0 0 7px;font-size:18px;font-weight:550;letter-spacing:-.025em}.company-line{margin-bottom:0;color:var(--accent);font-size:12px}.company-line span{color:var(--muted)}.experience-topline time{padding-top:4px;color:var(--muted);font-family:var(--mono);font-size:9px;white-space:nowrap}.experience-summary{max-width:690px;margin:17px 0 12px;color:var(--text-soft);font-size:13px;line-height:1.7}.experience-points{display:grid;gap:8px;margin:0;padding:0;list-style:none}.experience-points li{position:relative;padding-left:15px;color:var(--muted);font-size:12px;line-height:1.65}.experience-points li:before{content:"";position:absolute;top:.66em;left:0;width:4px;height:4px;border-radius:50%;background:var(--accent)}.outcome-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;padding:23px 19px;border:1px solid var(--line);background:var(--bg-soft)}.outcome-strip>div{border-right:1px solid var(--line)}.outcome-strip>div:last-child{border-right:0}.outcome-strip strong{display:block;color:var(--accent);font-size:32px;font-weight:500;letter-spacing:-.08em;line-height:1}.outcome-strip strong span{font-size:18px;letter-spacing:-.03em}.outcome-strip>div p{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.projects-section{background:var(--bg-soft)}.project-heading h2{margin-bottom:12px}.projects-intro{max-width:580px;margin:0 0 24px;color:var(--text-soft);font-size:13px;line-height:1.7}.project-carousel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:540px;overflow:hidden}.project-card{grid-area:1 / 1;position:relative;z-index:1;display:flex;width:74%;height:100%;min-width:0;flex-direction:column;justify-self:center;overflow:hidden;border:1px solid var(--line);background:var(--bg);transition:border-color .2s ease,transform .45s cubic-bezier(.2,.75,.25,1),opacity .35s ease,box-shadow .25s ease}.project-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 13px 34px #0000001a}.project-card.project-active{z-index:2;transform:translate(0);opacity:1}.project-card.project-previous{transform:translate(-55%);opacity:.58;pointer-events:none}.project-card.project-next{transform:translate(55%);opacity:.58;pointer-events:none}.project-card.project-previous .project-content,.project-card.project-next .project-content{opacity:0}:root[data-theme=light] .project-card.project-previous,:root[data-theme=light] .project-card.project-next{opacity:.7}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.carousel-controls p{min-width:165px;margin:0;color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-align:center}.carousel-controls p span{color:var(--accent)}.carousel-controls p i{padding-inline:5px;color:var(--line);font-style:normal}.carousel-button{display:grid;padding-top:5px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text-soft);cursor:pointer;font-size:16px;transition:border-color .18s ease,color .18s ease,background .18s ease}.carousel-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.project-visual{position:relative;display:grid;flex:0 0 210px;min-height:0;place-items:center;overflow:hidden;background:#1a2620}:root[data-theme=light] .project-visual{background:#e0e9df}.visual-kicker{position:absolute;top:15px;left:17px;z-index:1;color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.12em}.visual-index{position:absolute;right:15px;bottom:13px;color:color-mix(in srgb,var(--text) 42%,transparent);font-family:var(--mono);font-size:9px}.investment-visual{width:78%;max-width:330px;padding:18px 18px 12px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-raised) 78%,transparent)}.visual-labels{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-family:var(--mono);font-size:7px;letter-spacing:.08em}.visual-labels b{color:var(--text-soft);font-family:system-ui,sans-serif;font-size:8px;font-weight:450;letter-spacing:0}.visual-labels i{padding-inline:3px;color:var(--accent);font-style:normal}.chart-figure{position:relative;height:81px;margin-top:12px;overflow:hidden}.chart-figure svg{width:100%;height:100%;overflow:visible}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.chart-fill{fill:color-mix(in srgb,var(--accent) 12%,transparent)}.chart-value{position:absolute;top:5px;left:0;z-index:1;color:var(--text-soft);font-family:var(--mono);font-size:9px}.chart-axis{display:flex;justify-content:space-between;padding-top:6px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:7px}.bot-visual{position:relative;width:75%;max-width:315px;transform:rotate(-2deg)}.bot-window{padding:13px 16px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg-raised);box-shadow:0 17px 30px #0000001f}.bot-window-bar{display:flex;align-items:center;gap:5px;margin:-13px -16px 14px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:7px}.bot-window-bar i{width:5px;height:5px;border-radius:50%;background:#71915c}.bot-window-bar i:nth-child(2){background:#a18e5a}.bot-window-bar i:nth-child(3){background:#a76e65}.bot-window-bar span{margin-left:8px}.activity-row{display:flex;align-items:center;gap:8px;margin-block:11px;color:var(--text-soft);font-family:var(--mono);font-size:8px}.activity-icon{width:13px;color:var(--accent);font-size:11px}.activity-row b{margin-left:auto;color:var(--muted);font-size:6px;font-weight:400;letter-spacing:.07em}.bot-status{display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:7px}.bot-status span:first-child{width:5px;height:5px;border-radius:50%;background:#c5ef88}.bot-spark{position:absolute;top:-26px;right:-20px;color:#c5ef88;font-size:27px}.raceway-visual{position:absolute;inset:0;overflow:hidden;background:linear-gradient(155deg,#293e36,#1a2a26 53%,#17221f)}:root[data-theme=light] .raceway-visual{background:linear-gradient(155deg,#c0d3c3,#a3baae 53%,#809d91)}.raceway-sun{position:absolute;top:24%;right:21%;width:51px;height:51px;border-radius:50%;background:#d7e7bb;opacity:.8;box-shadow:0 0 40px #d3e9b03d}.raceway-gridline{position:absolute;right:-10%;bottom:-64%;left:-10%;height:100%;border-top:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:50%;transform:perspective(140px) rotateX(55deg);background:repeating-linear-gradient(0deg,transparent 0 26px,color-mix(in srgb,var(--text) 10%,transparent) 27px 28px)}.raceway-track{position:absolute;right:2%;bottom:-91%;left:-10%;height:147%;border:1px solid color-mix(in srgb,var(--text) 58%,transparent);border-radius:50%;transform:perspective(170px) rotateX(48deg);box-shadow:0 0 0 11px color-mix(in srgb,var(--bg) 38%,transparent),0 0 0 12px color-mix(in srgb,var(--text) 26%,transparent),0 0 0 49px color-mix(in srgb,var(--bg) 22%,transparent),0 0 0 50px color-mix(in srgb,var(--text) 20%,transparent)}.track-stripe{position:absolute;top:48%;left:49%;width:1px;height:88%;background:repeating-linear-gradient(transparent 0 10px,color-mix(in srgb,var(--text) 50%,transparent) 10px 17px)}.raceway-car{position:absolute;top:58%;left:53%;width:35px;height:13px;border:1px solid color-mix(in srgb,var(--bg) 82%,var(--text));border-radius:9px 8px 5px 5px;background:var(--accent);transform:rotate(-23deg);box-shadow:0 0 17px color-mix(in srgb,var(--accent) 45%,transparent)}.raceway-car i,.raceway-car b{position:absolute;bottom:-3px;width:6px;height:6px;border-radius:50%;background:#13201a}.raceway-car i{left:5px}.raceway-car b{right:5px}.raceway-label{position:absolute;bottom:17px;left:18px;color:var(--text-soft);font-family:var(--mono);font-size:8px;letter-spacing:.13em}.blackjack-table{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 47%,#315747,#1b382d 58%,#14261f)}:root[data-theme=light] .blackjack-table{background:radial-gradient(ellipse at 50% 47%,#a9c0ae,#7d9b86 58%,#5b7965)}.blackjack-table:before{position:absolute;inset:11% 12%;border:1px solid rgba(197,239,136,.2);border-radius:50%;content:""}.blackjack-label{color:color-mix(in srgb,var(--text) 72%,transparent)}.blackjack-table:before{border-color:color-mix(in srgb,var(--text) 24%,transparent)}.blackjack-label{position:absolute;bottom:17px;left:18px;color:#dcecdaa1;font-family:var(--mono);font-size:8px;letter-spacing:.14em}.blackjack-cards{position:relative;width:175px;height:116px}.blackjack-card{position:absolute;top:16px;display:flex;width:59px;height:81px;flex-direction:column;justify-content:space-between;padding:7px 8px;border:1px solid rgba(15,27,21,.24);border-radius:5px;background:#edf1e9;color:#1b2820;box-shadow:0 12px 22px #00000040}.blackjack-card b{font-family:Georgia,serif;font-size:13px;font-weight:600;line-height:1}.blackjack-card>span{align-self:center;font-size:27px;line-height:1}.blackjack-card>b:last-child{align-self:flex-end;transform:rotate(180deg)}.blackjack-card-back{left:19px;align-items:center;justify-content:center;border:1px solid rgba(197,239,136,.48);outline:1px solid rgba(197,239,136,.2);outline-offset:-5px;background:repeating-linear-gradient(45deg,#304d3d 0 5px,#263d31 5px 10px);color:#c5ef88;transform:rotate(-13deg)}.blackjack-card-back span{font-family:var(--serif);font-size:19px;font-style:italic}:root[data-theme=light] .blackjack-card-back{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));outline-color:color-mix(in srgb,var(--accent) 24%,transparent);background:repeating-linear-gradient(45deg,#75927d 0 5px,#617e69 5px 10px);color:#edf1e9}.blackjack-card-ace{left:58px;z-index:2;transform:rotate(-1deg)}.blackjack-card-ace>span{color:#263a2d}.blackjack-card-king{left:98px;transform:rotate(12deg)}.blackjack-card-king>span{color:#ae594e}.blackjack-pip{position:absolute;right:22%;bottom:22%;color:#c5ef88a3;font-size:17px}.project-content{display:flex;min-height:0;flex:1;flex-direction:column;padding:19px 19px 21px}.project-titleline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-titleline h3{margin:0;font-size:16px;font-weight:550;letter-spacing:-.025em}.project-date{padding-top:4px;color:var(--muted);font-family:var(--mono);font-size:8px;text-align:right;white-space:nowrap}.project-description,.project-contribution{margin:12px 0 0;color:var(--text-soft);font-size:11px;line-height:1.7}.project-contribution{margin-top:8px;color:var(--muted)}.project-source{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--accent);font-size:10px;font-weight:550;transition:opacity .18s ease}.project-source:hover{opacity:.75}.project-source svg{width:13px;height:13px}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:15px 0 0;list-style:none}.tag-list li{padding:5px 7px;border:1px solid var(--line);color:var(--text-soft);font-family:var(--mono);font-size:8px}.link-note{margin:17px 0 0;color:var(--muted);font-size:10px}.skills-section{background:var(--bg)}.skills-intro{max-width:630px;margin:-17px 0 25px;color:var(--text-soft);font-size:12px;line-height:1.7}.skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.skill-card{display:flex;min-height:73px;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);background:var(--bg-soft);color:var(--text-soft);font-size:11px;transition:transform .2s ease,border-color .2s ease,color .2s ease}.skill-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--text)}.skill-logo{display:grid;flex:0 0 28px;place-items:center;width:28px;height:28px;color:var(--accent)}.skill-logo svg{display:block;width:25px;height:25px}.languages-row{display:flex;gap:20px;align-items:baseline;margin-top:24px;padding:22px 0 17px;border-top:1px solid var(--line)}.language-label{flex:0 0 160px;color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.08em}.languages-row ul{display:flex;flex-wrap:wrap;gap:17px;margin:0;padding:0;list-style:none}.languages-row li{color:var(--text);font-size:11px}.education-section{background:var(--bg-soft)}.education-card{display:flex;align-items:center;gap:20px;padding:23px 21px;border:1px solid var(--line);background:var(--bg)}.education-symbol{display:grid;place-items:center;flex:0 0 55px;height:55px;border:1px solid color-mix(in srgb,var(--accent) 46%,var(--line));color:var(--accent);font-family:var(--mono);font-size:15px}.education-copy{flex:1}.education-copy .eyebrow{margin-bottom:7px;color:var(--accent);font-size:8px}.education-copy h3{margin:0 0 6px;font-size:16px;font-weight:550}.education-copy p:last-child{margin:0;color:var(--muted);font-size:11px}.education-copy p:last-child span{padding-inline:4px;color:var(--accent)}.education-card time{color:var(--muted);font-family:var(--mono);font-size:9px;white-space:nowrap}.contact-section{position:relative;overflow:hidden;background:var(--bg)}.contact-section:after{content:"NY";position:absolute;right:7%;bottom:-145px;color:var(--accent-soft);font-family:var(--serif);font-size:340px;font-style:italic;letter-spacing:-.12em;line-height:1;pointer-events:none}.contact-shell{position:relative;z-index:1}.contact-topline{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.contact-topline .eyebrow{color:var(--accent)}.contact-topline>span{color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.1em}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;padding-top:55px}.contact-grid h2{margin:0 0 20px;font-size:clamp(45px,6vw,68px);font-weight:500;letter-spacing:-.075em;line-height:1.02}.contact-intro{max-width:420px;margin-bottom:24px;color:var(--text-soft);font-size:13px;line-height:1.75}.contact-callout{display:flex;align-items:center;gap:25px;margin-bottom:24px}.contact-callout .contact-intro{margin:0}.contact-arrow{display:grid;flex:0 0 50px;place-items:center;width:50px;height:28px;color:var(--accent)}.contact-arrow svg{width:44px;height:24px}.contact-cta{min-height:46px}.contact-details{display:flex;flex-direction:column;gap:25px;align-self:center;font-style:normal}.contact-details>div{display:flex;flex-direction:column;gap:9px}.contact-details>div>span{color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.13em}.contact-details a{display:inline-flex;align-items:center;gap:9px;width:fit-content;color:var(--text);font-size:12px;transition:color .18s ease}.contact-details a:hover{color:var(--accent)}.contact-socials{display:flex;flex-wrap:wrap;gap:18px}.contact-socials a{color:var(--text-soft)}.contact-socials .contact-brand-icon{width:14px;height:14px;flex:0 0 14px;color:currentColor}.site-footer{border-top:1px solid var(--line);background:var(--bg)}.footer-inner{display:flex;min-height:82px;align-items:center;gap:22px}.footer-wordmark .wordmark-mark{width:26px;height:26px;font-size:12px}.footer-wordmark .wordmark-name{font-size:11px}.footer-inner>p{margin:0;color:var(--muted);font-size:10px}.footer-actions{display:flex;align-items:center;gap:21px;margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:8px}@media(min-width:1440px){.hero{min-height:720px;padding-top:130px}}@media(max-width:960px){.shell{width:min(100% - 64px,850px)}.section-pad{padding-block:91px}.hero{min-height:630px;padding-top:95px}.hero-grid{grid-template-columns:1fr .83fr;gap:20px}.hero-art{width:min(100%,360px);margin-right:0}.section-grid{grid-template-columns:142px minmax(0,1fr);gap:38px}.primary-nav{gap:19px}.project-card{width:82%}.project-card.project-previous{transform:translate(-55%)}.project-card.project-next{transform:translate(55%)}.contact-grid{gap:42px}}@media(max-width:700px){.shell{width:calc(100% - 42px)}.section-pad{padding-block:76px}html{scroll-padding-top:69px}.site-header{height:66px}.header-inner{gap:12px}.wordmark-name{font-size:12px}.theme-toggle{margin-left:auto;width:35px;height:35px}.menu-toggle{display:grid;order:3;width:35px;height:35px}.menu-lines{display:flex;width:15px;flex-direction:column;gap:5px}.menu-lines i{width:15px;height:1px;background:currentColor;transition:transform .18s ease}.menu-lines-open i:first-child{transform:translateY(3px) rotate(45deg)}.menu-lines-open i:last-child{transform:translateY(-3px) rotate(-45deg)}.primary-nav{position:absolute;top:65px;right:0;left:0;display:none;align-items:stretch;gap:0;padding:10px 21px 19px;border-bottom:1px solid var(--line);background:var(--bg);box-shadow:0 18px 24px #0000001f}.primary-nav.nav-open{display:flex;flex-direction:column}.primary-nav>a{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.primary-nav .nav-contact{border:0;color:var(--accent)}.hero{min-height:0;padding-top:77px;padding-bottom:27px}.hero:before{top:180px;right:-43%;width:480px;height:480px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero h1{font-size:clamp(51px,12.8vw,75px)}.hero-intro{max-width:390px;font-size:14px}.hero-art{justify-self:center;width:min(85%,340px)}.hero-bottom{margin-top:27px;font-size:7px}.scroll-line{width:26px}.section-grid{grid-template-columns:1fr;gap:29px}.section-aside{display:none}.mobile-index{display:block;margin-bottom:11px;color:var(--accent)}.about-content h2,.section-heading h2{margin-bottom:23px;font-size:clamp(36px,9vw,47px)}.about-columns{grid-template-columns:1fr;gap:15px}.about-columns p{font-size:13px}.direction-note{margin-top:22px;font-size:12px}.section-heading h2{margin-bottom:30px}.heading-count{padding-top:20px;font-size:8px}.experience-card{grid-template-columns:22px 1fr;gap:12px;padding-block:23px}.experience-topline{flex-direction:column;gap:9px}.experience-topline h3{font-size:16px}.experience-topline time{order:-1;padding:0;font-size:8px}.experience-summary{margin-top:13px;font-size:12px}.experience-points li{font-size:11px}.outcome-strip{gap:9px;margin-top:25px;padding:17px 12px}.outcome-strip strong{font-size:27px}.outcome-strip strong span{font-size:15px}.outcome-strip>div p{font-size:8px}.project-heading h2{margin-bottom:12px}.projects-intro{font-size:12px}.project-card{width:82%}.project-carousel{grid-template-rows:560px}.project-card.project-previous{transform:translate(-55%)}.project-card.project-next{transform:translate(55%)}.project-visual{flex-basis:190px}.project-content{padding:17px}.project-titleline h3{font-size:15px}.project-description,.project-contribution{font-size:11px}.skills-intro{margin-top:-13px;font-size:11px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.skill-card{min-height:64px;gap:9px;padding:10px;font-size:10px}.skill-logo{flex-basis:25px;width:25px;height:25px}.skill-logo svg{width:23px;height:23px}.languages-row{gap:13px;flex-direction:column}.language-label{flex-basis:auto}.education-card{align-items:flex-start;gap:13px;padding:17px 13px}.education-symbol{flex-basis:42px;height:42px;font-size:21px}.education-copy .eyebrow{font-size:7px}.education-copy h3{font-size:14px}.education-copy p:last-child{font-size:9px;line-height:1.6}.education-card time{font-size:8px}.contact-topline>span{font-size:7px}.contact-grid{grid-template-columns:1fr;gap:42px;padding-top:37px}.contact-grid h2{font-size:clamp(47px,12vw,64px)}.contact-intro{font-size:12px}.contact-callout{justify-content:space-between}.contact-arrow{transform:rotate(90deg)}.contact-details{gap:22px}.contact-section:after{right:-13%;bottom:-81px;font-size:215px}.footer-inner{flex-wrap:wrap;gap:10px;padding-block:18px}.footer-inner>p{display:none}.footer-actions{width:100%;justify-content:space-between;margin-left:0}}@media(max-width:390px){.shell{width:calc(100% - 34px)}.wordmark{gap:8px}.wordmark-name{font-size:11px}.outcome-strip{grid-template-columns:repeat(3,1fr);gap:6px;padding-inline:9px}.outcome-strip>div p{font-size:7px}.project-card{width:84%}.project-card.project-previous{transform:translate(-53%)}.project-card.project-next{transform:translate(53%)}.project-titleline{flex-direction:column;gap:5px}.project-date{padding:0;text-align:left}.education-card{flex-wrap:wrap}.education-card time{width:100%;padding-left:55px}}@keyframes laptop-arrive{0%{transform:translate(-100px,-165px) rotateX(6deg) rotateY(-24deg) scale(.78)}34%{transform:translate(-100px,20px) rotateX(6deg) rotateY(-24deg) scale(.88)}58%{transform:translate(0) rotateX(6deg) rotateY(0) scale(1)}to{transform:translate(0) rotateX(6deg) rotateY(360deg) scale(1)}}@keyframes page-enter{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}@keyframes laptop-open{0%,28%{transform:rotateX(-88deg) translateY(0)}62%{transform:rotateX(-28deg) translateY(-1px)}82%,to{transform:rotateX(-9deg) translateY(-2px)}}@keyframes laptop-glow-in{0%{opacity:.28;transform:scale(.82);filter:blur(8px)}to{opacity:.72;transform:scale(1.16);filter:blur(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.page-reveal,.page-reveal.page-entered{opacity:1;transform:none;pointer-events:auto;animation:none!important}.laptop-shell,.laptop-screen,.laptop-glow{animation:none!important}}
