:root{--paper:#f3efe6;--paper-deep:#ebe6da;--ink:#161513;--muted:#6f6a62;--navy:#1b2a4a;--navy-soft:#2a3d64;--gold:#b8923a;--gold-soft:#d4b56a;--card:#fffdf8;--line:#1615131a;--shadow:0 18px 50px #16151314;--ease:cubic-bezier(.22, 1, .36, 1);--serif:"Instrument Serif", Georgia, serif;--sans:"Outfit", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6}body:before{content:"";pointer-events:none;z-index:80;opacity:.04;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='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}.cursor-haze{pointer-events:none;z-index:1;opacity:0;filter:blur(12px);width:460px;height:460px;transition:opacity .45s var(--ease);will-change:transform;background:radial-gradient(circle,#386ed647 0%,#386ed61f 36%,#386ed600 70%);border-radius:50%;margin:-230px 0 0 -230px;position:fixed;top:0;left:0}.cursor-haze.is-on{opacity:1}.progress{background:var(--gold);z-index:90;transform-origin:0;height:2px;transition:transform .12s linear;position:fixed;top:0;left:0}main,.footer{z-index:2;position:relative}.nav{z-index:70;transition:background .4s var(--ease), border-color .4s var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:1.15rem 2.2rem;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-bottom-color:var(--line);background:#f3efe6f0}.brand,.menu-btn{z-index:72;position:relative}.brand{font-family:var(--serif);letter-spacing:.04em;font-size:1.35rem}.nav-links{gap:1.6rem;list-style:none;display:flex}.nav-links a{letter-spacing:.06em;text-transform:uppercase;color:#3f3b35;font-size:.86rem;position:relative}.nav-links a:after{content:"";background:var(--gold);transform-origin:0;width:100%;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{transform:scaleX(1)}.menu-btn{width:28px;height:18px;display:none;position:relative}.menu-btn span,.menu-btn span:before,.menu-btn span:after{background:var(--ink);width:100%;height:1.5px;transition:.3s var(--ease);position:absolute;left:0}.menu-btn span{top:8px}.menu-btn span:before,.menu-btn span:after{content:""}.menu-btn span:before{top:-7px}.menu-btn span:after{top:7px}.menu-btn.open span{background:0 0}.menu-btn.open span:before{top:0;transform:rotate(45deg)}.menu-btn.open span:after{top:0;transform:rotate(-45deg)}.wrap{width:min(1080px,100% - 3.2rem);margin:0 auto}.hero{background:var(--paper);align-items:center;min-height:100vh;padding:7.5rem 0 4.5rem;display:flex}.hero .wrap{text-align:center;flex-direction:column;align-items:center;display:flex}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem;font-size:.78rem}.hero h1{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(4.2rem,14vw,9.4rem);font-weight:400;line-height:.88}.hero h1 em{color:var(--navy);font-style:italic}.rule{background:var(--gold);width:0;height:1px;animation:draw 1.1s var(--ease) .55s forwards;margin:2rem auto 1.6rem}@keyframes draw{to{width:min(220px,40vw)}}.hero-lead{max-width:34rem;color:var(--muted);font-size:1.2rem;font-weight:300;line-height:1.55}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2.2rem;display:flex}.hero-stats{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:2.4rem 3.4rem;width:min(40rem,100%);margin-top:3.2rem;padding-top:1.6rem;display:flex}.hero-stats div{flex-direction:column;align-items:center;gap:.15rem;display:flex}.hero-stats strong{font-family:var(--serif);color:var(--navy);font-size:2rem;font-weight:400;line-height:1}.hero-stats span{color:var(--muted);letter-spacing:.02em;font-size:.86rem}.btn{letter-spacing:.04em;transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);border-radius:999px;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.9rem;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--navy);color:var(--paper)}.btn-primary:hover{background:var(--navy-soft)}.btn-ghost{border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.section{padding:6.5rem 0;scroll-margin-top:5rem}main>section:nth-of-type(odd){background:var(--paper)}main>section:nth-of-type(2n){background:var(--paper-deep)}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.4rem;padding-bottom:1rem;display:flex}.section-head h2{font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);font-weight:400}.section-head span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.about-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:3.5rem;display:grid}.about-copy p{color:#3d3a35;margin-bottom:1.1rem;font-size:1.18rem;font-weight:300}.about-copy p:last-child{margin-bottom:0}.edu-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:1.6rem}.edu-card img{object-fit:contain;width:72px;height:72px;margin-bottom:1.1rem}.edu-card h3{font-family:var(--serif);margin-bottom:.35rem;font-size:1.45rem;font-weight:400;line-height:1.2}.edu-card p{color:var(--muted);font-size:.95rem}.edu-meta{border-top:1px solid var(--line);color:var(--muted);margin-top:1.1rem;padding-top:1rem;font-size:.88rem}.timeline{flex-direction:column;display:flex}.job{border-bottom:1px solid var(--line);transition:background .4s var(--ease), padding .4s var(--ease);grid-template-columns:72px 1fr;gap:1.4rem;padding:1.7rem .4rem 1.7rem 0;display:grid}.job:last-child{border-bottom:0}.job:hover{background:#fffdf8b3;padding-left:.6rem}.logo-mark{border:1px solid var(--line);width:64px;height:64px;transition:transform .45s var(--ease), box-shadow .45s var(--ease);background:#fff;border-radius:16px;place-items:center;display:grid;overflow:hidden}.job:hover .logo-mark,.lead-card:hover .logo-mark{transform:translateY(-3px);box-shadow:0 10px 24px #1615131a}.logo-mark img{object-fit:cover;width:100%;height:100%}.logo-mark.contain img{object-fit:contain;width:78%;height:78%}.job-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.job h3{font-size:1.15rem;font-weight:500}.job .org{color:var(--navy);font-weight:500}.when{color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:.84rem}.role-meta{color:var(--muted);margin:.2rem 0 .75rem;font-size:.9rem}.job ul,.lead-card ul{color:#3f3c37;padding-left:1.05rem;font-size:.96rem;font-weight:300}.job li+li,.lead-card li+li{margin-top:.35rem}.projects{grid-template-columns:1.15fr .85fr;gap:1.4rem;display:grid}.project{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .5s var(--ease), box-shadow .5s var(--ease);border-radius:24px;display:block;overflow:hidden}.project:hover{transform:translateY(-6px);box-shadow:0 24px 60px #1615131f}.project-media{background:var(--paper-deep);height:320px;overflow:hidden}.project-media img{object-fit:cover;object-position:center 28%;width:100%;height:100%;transition:transform .8s var(--ease)}.project-media.ui img{object-position:top center;object-fit:cover}.project:hover .project-media img{transform:scale(1.05)}.project-body{padding:1.4rem 1.5rem 1.6rem}.project-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;display:flex}.tag{letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:#1b2a4a0f;border-radius:999px;padding:.28rem .55rem;font-size:.72rem}.project h3{font-family:var(--serif);margin-bottom:.45rem;font-size:1.7rem;font-weight:400}.project p{color:var(--muted);font-weight:300}.project-link{color:var(--navy);align-items:center;gap:.35rem;margin-top:.9rem;font-size:.88rem;display:inline-flex}.lead-grid{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.lead-card{background:var(--card);border:1px solid var(--line);transition:transform .45s var(--ease), box-shadow .45s var(--ease);border-radius:22px;padding:1.5rem}.lead-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.lead-card header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.lead-card h3{font-size:1.05rem;font-weight:500}.skills{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.skill-col{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.4rem 1.4rem 1.2rem}.skill-col.reveal.is-visible:hover{box-shadow:var(--shadow);transition:transform .45s var(--ease), box-shadow .45s var(--ease);transform:translateY(-6px)}.skill-col h3{font-family:var(--serif);margin-bottom:.9rem;font-size:1.4rem;font-weight:400}.pills{flex-wrap:wrap;gap:.45rem;display:flex}.pill{border:1px solid var(--line);color:#3d3a35;background:var(--paper);border-radius:999px;padding:.38rem .7rem;font-size:.86rem}.contact{padding-bottom:4rem}.contact-panel{background:var(--navy);color:var(--paper);border-radius:28px;padding:3.2rem 3rem;position:relative;overflow:hidden}.contact-panel:after{content:"";border:1px solid #f3efe61f;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-90px;right:-70px}.contact-panel h2{font-family:var(--serif);margin:.4rem 0 1rem;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:400;line-height:1}.contact-panel p{color:#f3efe6b8;max-width:28rem;font-weight:300}.contact-links{flex-wrap:wrap;gap:.7rem;margin-top:2rem;display:flex}.contact-links a{transition:background .35s var(--ease), transform .35s var(--ease);border:1px solid #f3efe62e;border-radius:999px;padding:.75rem 1rem;font-size:.92rem}.contact-links a:hover{background:#f3efe61a;transform:translateY(-2px)}.footer{background:var(--paper-deep);color:var(--muted);padding:1.6rem 0 2.4rem;font-size:.84rem}.footer .wrap{justify-content:space-between;display:flex}.reveal{opacity:0;transition:opacity .85s var(--ease) var(--reveal-delay,0s), transform .85s var(--ease) var(--reveal-delay,0s);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}.hero-anim{opacity:0;animation:rise 1s var(--ease) forwards;transform:translateY(18px)}.hero-anim.a1{animation-delay:50ms}.hero-anim.a2{animation-delay:.18s}.hero-anim.a3{animation-delay:.32s}.hero-anim.a4{animation-delay:.48s}@keyframes rise{to{opacity:1;transform:none}}@media (width<=860px){.about-grid,.projects,.lead-grid,.skills{grid-template-columns:1fr}.menu-btn{display:block}.nav-links{background:var(--paper);opacity:0;pointer-events:none;transition:.35s var(--ease);z-index:71;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.6rem;padding:5.5rem 2rem 2rem;position:fixed;inset:0;transform:translateY(-8px)}.nav-links a{letter-spacing:.08em;font-size:1.6rem}.nav-links.open{opacity:1;pointer-events:auto;transform:none}.job-top{flex-direction:column;gap:.2rem}.when{white-space:normal}.contact-panel{padding:2.2rem 1.5rem}.hero{padding-top:7rem}}@media (width<=560px){.wrap{width:min(100% - 2rem,1080px)}.nav{padding:1rem}.job{grid-template-columns:56px 1fr;gap:.9rem}.logo-mark{border-radius:13px;width:52px;height:52px}.hero-actions{flex-direction:column;align-items:center}.project-media{height:220px}.footer .wrap{flex-direction:column;gap:.4rem}}@media (pointer:coarse),(prefers-reduced-motion:reduce){.cursor-haze{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero-anim,.rule,.project,.lead-card,.logo-mark,.btn,.project-media img{width:auto;opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.rule{width:140px}}
