:root{--paper: #0c0e0d;--surface: #151816;--ink: #f2f3ee;--muted: #9da19a;--line: #2d312e;--accent: #7894ff;--sidebar-width: 215px;--nav-offset: 0px;--section-anchor-gap: 40px;--section-spacing: 64px;--content-inset: 80px;--timeline-line-x: 40px;--section-marker-size: 48px;--timeline-dot-size: 17px}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-offset)}.portfolio-shell{min-height:100vh}.site-sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--sidebar-width);padding:44px 34px;background:#0c0e0deb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column}.monogram{width:fit-content;color:var(--ink);font-size:1.25rem;font-weight:750;letter-spacing:-.05em;text-decoration:none}.monogram span,h1 span{color:var(--accent)}.section-nav{display:flex;flex-direction:column;gap:5px;margin:auto 0}.section-nav a{position:relative;display:flex;align-items:center;gap:14px;padding:11px 0;color:var(--muted);font-size:.88rem;font-weight:600;text-decoration:none;transition:color .18s ease,transform .18s ease}.section-nav a:before{content:"";width:18px;height:1px;background:var(--line);transition:width .18s ease,background .18s ease}.section-nav a span{color:#747a74;font-size:.66rem;font-variant-numeric:tabular-nums;letter-spacing:.08em}.section-nav a:hover,.section-nav a.active{color:var(--ink)}.section-nav a.active:before{width:34px;background:var(--accent)}.sidebar-location{margin:0;color:var(--muted);font-size:.72rem;line-height:1.65;letter-spacing:.02em}.portfolio-content{position:relative;width:min(1120px,calc(100% - var(--sidebar-width)));margin-left:var(--sidebar-width);padding:0 72px 44px var(--content-inset)}.portfolio-content:before{content:"";position:absolute;z-index:0;top:118px;bottom:112px;left:var(--timeline-line-x);width:1px;background:var(--line)}.page-section{position:relative;z-index:1;margin-top:var(--section-spacing);padding:var(--section-anchor-gap) 0 30px}.about-section{min-height:100vh;margin-top:0;padding-top:clamp(112px,15vh,168px);display:flex;flex-direction:column;justify-content:center}.section-marker{position:absolute;top:var(--section-anchor-gap);left:calc(var(--timeline-line-x) - var(--content-inset));transform:translate(-50%);width:var(--section-marker-size);height:var(--section-marker-size);border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--accent);display:grid;place-items:center;font-size:.67rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.08em}.about-section .section-marker{top:clamp(112px,15vh,168px)}.section-kicker,.card-eyebrow{margin:0 0 18px;color:var(--accent);font-size:.69rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{text-wrap:pretty}h1{max-width:920px;margin:0;color:var(--ink);font-size:clamp(4.7rem,10vw,8.9rem);font-weight:650;line-height:.9;letter-spacing:-.075em}.hero-statement{max-width:760px;margin:38px 0 0;color:var(--ink);font-size:clamp(1.55rem,3.15vw,2.85rem);font-weight:450;line-height:1.16;letter-spacing:-.04em}.about-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:820px;margin-top:48px;padding-top:27px;border-top:1px solid var(--line)}.about-details p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.7}.about-details a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px}.hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:36px}.hero-links a,.project-links a{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:.81rem;font-weight:700;text-decoration:none}.hero-links a svg,.project-links a svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.hero-links a:hover svg,.project-links a:hover svg{transform:translate(2px,-2px)}.hero-links .primary-link{padding:12px 17px;border-radius:99px;background:var(--ink);color:var(--paper)}.scroll-cue{display:inline-flex;align-items:center;gap:9px;width:fit-content;margin-top:clamp(64px,9vh,110px);color:var(--muted);font-size:.69rem;font-weight:650;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.scroll-cue span{display:grid;width:27px;height:27px;border:1px solid var(--line);border-radius:50%;place-items:center}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:44px;padding-bottom:25px;border-bottom:1px solid var(--line)}.section-heading .section-kicker{margin-bottom:8px}.section-heading h2{margin:0;color:var(--ink);font-size:clamp(2.6rem,5.5vw,4.9rem);font-weight:600;letter-spacing:-.065em;line-height:.95}.timeline-list{display:flex;flex-direction:column;gap:22px}.timeline-card{position:relative;border:1px solid var(--line);border-radius:18px;background:var(--surface);transition:border-color .18s ease,transform .18s ease}.timeline-card:before{content:"";position:absolute;top:34px;left:calc(var(--timeline-line-x) - var(--content-inset) - 1px);transform:translate(-50%);width:var(--timeline-dot-size);height:var(--timeline-dot-size);border:3px solid var(--paper);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.timeline-card:hover{border-color:#505650;transform:translateY(-2px)}.experience-card{padding:35px clamp(24px,4vw,44px) 36px}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:26px}.card-heading .card-eyebrow,.project-card .card-eyebrow{margin-bottom:12px}.timeline-card h3{margin:0;color:var(--ink);font-size:clamp(1.35rem,2.5vw,2rem);font-weight:650;line-height:1.16;letter-spacing:-.035em}.company-name{margin:2px 0 0;color:var(--ink);font-size:.86rem;font-weight:750;text-align:right}.card-summary{max-width:730px;margin:23px 0 0;color:var(--muted);font-size:.95rem;line-height:1.68}.highlights{display:grid;gap:9px;margin:25px 0 0;padding:22px 0 0 18px;border-top:1px solid var(--line);color:#c3c6c0;font-size:.86rem;line-height:1.55}.highlights li{padding-left:6px}.highlights li::marker{color:var(--accent)}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.tag-list span{padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:#b7bbb4;font-size:.65rem;font-weight:650;letter-spacing:.02em}.projects-section{padding-bottom:80px}.project-list{gap:26px}.project-card{min-height:330px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);overflow:visible}.project-copy{padding:38px clamp(24px,4vw,44px)}.project-copy .card-summary{margin-top:20px}.project-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:30px}.project-visual{min-height:100%;padding:12px;overflow:hidden}.project-visual img{width:100%;height:100%;min-height:304px;border-radius:11px;object-fit:cover;filter:saturate(.72) contrast(.96);transition:filter .25s ease}.project-card:hover .project-visual img{filter:saturate(1) contrast(1)}.site-footer{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding:28px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:.71rem}.site-footer p{margin:0}.site-footer a{color:var(--ink);font-weight:700;text-decoration:none}@media (max-width: 980px){.site-sidebar{padding-inline:26px}.portfolio-content{padding-right:36px}}@media (max-width: 760px){:root{--nav-offset: 70px;--content-inset: 68px;--timeline-line-x: 30px;--section-marker-size: 46px}.site-sidebar{position:sticky;top:0;width:100%;height:70px;padding:0 20px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between}.section-nav{flex-direction:row;gap:7px;margin:0}.section-nav a{gap:6px;padding:8px 6px;font-size:.76rem}.section-nav a:before,.section-nav a.active:before{display:none}.section-nav a.active{color:var(--accent)}.section-nav a span{font-size:.57rem}.sidebar-location{display:none}.portfolio-content{width:100%;margin-left:0;padding:0 20px 30px var(--content-inset)}.portfolio-content:before{top:64px;bottom:100px;left:var(--timeline-line-x)}.about-section{min-height:calc(100vh - 70px);padding-top:72px;padding-bottom:70px}.section-marker,.about-section .section-marker{left:calc(var(--timeline-line-x) - var(--content-inset));width:var(--section-marker-size);height:var(--section-marker-size)}.about-section .section-marker{top:72px}h1{font-size:clamp(4rem,17vw,6.5rem)}.hero-statement{margin-top:28px}.about-details{grid-template-columns:1fr;gap:17px;margin-top:36px}.section-heading{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:30px}.section-heading .section-kicker{margin-bottom:0}.timeline-card:before{top:31px}.project-card{grid-template-columns:1fr}.project-visual{min-height:230px;padding:12px;grid-row:1}.project-visual img{min-height:220px;aspect-ratio:16 / 10}.project-copy{grid-row:2}}@media (max-width: 520px){:root{--nav-offset: 62px;--content-inset: 52px;--timeline-line-x: 23px;--section-marker-size: 40px}.site-sidebar{height:62px;padding-inline:15px}.section-nav{gap:0}.section-nav a{padding-inline:5px;font-size:.68rem}.section-nav a span{display:none}.portfolio-content{padding-left:var(--content-inset);padding-right:14px}.portfolio-content:before{left:var(--timeline-line-x)}.section-marker,.about-section .section-marker{left:calc(var(--timeline-line-x) - var(--content-inset));width:var(--section-marker-size);height:var(--section-marker-size);font-size:.59rem}h1{font-size:clamp(3.55rem,17vw,5.3rem)}.hero-statement{font-size:1.48rem}.hero-links{gap:12px 19px}.section-heading h2{font-size:2.65rem}.experience-card,.project-copy{padding:28px 21px}.card-heading{flex-direction:column;gap:10px}.company-name{text-align:left}.site-footer{align-items:start;gap:22px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html{background:#0c0e0d;color-scheme:dark}body{min-width:320px;margin:0;background:#0c0e0d;color:#f2f3ee;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid #7894ff;outline-offset:5px}::selection{background:#7894ff;color:#0c0e0d}img{display:block;max-width:100%}
