@font-face{font-family:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(assets/fonts/fraunces-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(assets/fonts/fraunces-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(assets/fonts/fraunces-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-deepest: #05070C;--bg-deep: #0A0D12;--bg-mid: #0F131C;--surface: #161D2B;--surface-raised: #1E2636;--fg: #F5F1E8;--fg-muted: #A89B8C;--fg-muted-dim: #A0917F;--button-ink: #1A1208;--accent: #E9A568;--accent-bright: #F4C090;--accent-dim: #8B5A2B;--accent-support: #C68A3E;--border: #252B38;--border-soft: #1A1F2A;--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--fs-hero: clamp(40px, 6vw, 72px);--fs-h1: clamp(40px, 6vw, 72px);--fs-h2: clamp(28px, 4vw, 48px);--fs-h3: clamp(20px, 2.5vw, 28px);--fs-lead: clamp(17px, 2vw, 21px);--fs-body: 16px;--fs-caption: 13px;--space-3xs: 4px;--space-2xs: 8px;--space-xs: 12px;--space-sm: 16px;--space-md: 24px;--space-lg: 40px;--space-xl: 64px;--space-2xl: 96px;--space-3xl: 144px;--gap-content: var(--space-md);--gap-group: var(--space-lg);--gap-entry: var(--space-xl);--gap-column: clamp(36px, 7vw, 88px);--container-narrow: 720px;--container-normal: 1080px;--container-wide: 1280px;--gutter: 32px;--nav-offset: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--radius-round: 50%;--motion-feedback: .12s;--motion-state: .22s;--motion-arrive: .68s;--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark;scrollbar-color:var(--fg-muted-dim) var(--bg-deep);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav-offset)}body{margin:0;background:var(--bg-deep);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;position:relative}body:after{content:"";position:fixed;inset:0;background-image:radial-gradient(circle at 12% 8%,color-mix(in oklab,var(--accent) 7%,transparent),transparent 42%),radial-gradient(circle at 88% 0%,color-mix(in oklab,var(--accent) 5%,transparent),transparent 38%);pointer-events:none;z-index:-1}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;padding:0}p{text-wrap:pretty;margin:0}h1,h2,h3,h4{text-wrap:balance;margin:0}ul,ol{margin:0;padding:0}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:4px;border-radius:2px}::selection{background:color-mix(in oklab,var(--accent) 30%,transparent);color:var(--fg)}.h1,h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:500;line-height:1.05;letter-spacing:-.02em;color:var(--fg)}.h2,h2{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:500;line-height:1.1;letter-spacing:-.015em;color:var(--fg)}.h3,h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;line-height:1.25;color:var(--fg)}.hero-title{font-family:var(--font-display);font-size:var(--fs-hero);font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--fg)}.lead{font-size:var(--fs-lead);line-height:1.75;color:var(--fg-muted);max-width:60ch}.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);display:flex;align-items:center;gap:10px;margin-bottom:var(--space-md)}.eyebrow:before{content:"";width:18px;height:1px;background:var(--accent);display:inline-block}@media(prefers-reduced-motion:no-preference){.hero-ink .hero-title{will-change:filter;animation:settle-ink var(--motion-arrive) var(--ease-out)}.hero-ink .eyebrow:before{transform-origin:left;animation:draw-rule .42s var(--ease-out)}}@keyframes settle-ink{0%{filter:sepia(.35) saturate(1.35)}to{filter:sepia(0) saturate(1)}}@keyframes draw-rule{0%{transform:scaleX(.15)}to{transform:scaleX(1)}}.meta{font-size:var(--fs-caption);color:var(--fg-muted);letter-spacing:.01em}.num{font-variant-numeric:tabular-nums}.container{max-width:var(--container-normal);margin-inline:auto;padding-inline:var(--gutter)}.container-narrow{max-width:var(--container-narrow);margin-inline:auto;padding-inline:var(--gutter)}.container-wide{max-width:var(--container-wide);margin-inline:auto;padding-inline:var(--gutter)}.stack{display:flex;flex-direction:column}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}.section{padding-block:clamp(56px,7vw,var(--space-3xl));contain:layout style paint}.section+.section{border-top:1px solid var(--border-soft)}.section-heading{margin-bottom:var(--gap-group)}.section-heading:not(.row-between){max-width:42ch}.practice-layout{display:grid;gap:var(--gap-group)}.practice-layout .section-heading{margin-bottom:0}.bento-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.magazine-split{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-2xl);align-items:start}.hero-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);column-gap:var(--gap-column);row-gap:var(--gap-group);align-items:start}@media(max-width:1024px){.magazine-split,.grid-3{grid-template-columns:1fr}}.topnav{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--bg-deep) 75%,transparent);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--border-soft);box-shadow:0 1px color-mix(in oklab,var(--accent) 8%,transparent)}.topnav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:16px}.topnav .logo{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-display);font-size:21px;font-weight:600;color:var(--fg);transition:color var(--motion-state) var(--ease-out)}.topnav .logo:hover{color:var(--accent-bright)}.topnav nav{display:flex;gap:var(--space-lg)}.topnav nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;font-size:14px;font-weight:500;color:var(--fg-muted);transition:color var(--motion-state) var(--ease-out)}.topnav nav a:is(:hover,:focus-visible,[aria-current]){color:var(--accent-bright)}.topnav nav a:after{content:"";position:absolute;left:4px;right:4px;bottom:5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-feedback) var(--ease-out)}.topnav nav a:is(:hover,:focus-visible,[aria-current]):after{transform:scaleX(1)}@media(max-width:768px){:root{--nav-offset: 120px}.topnav-inner{flex-direction:column;align-items:stretch;gap:4px;padding-block:8px}.topnav .logo{align-self:flex-start}.topnav nav{gap:4px;justify-content:space-between}.topnav nav a{flex:1 1 auto;padding-inline:4px;font-size:12px}}[data-od-id=hero]{padding-block:clamp(48px,6vw,80px)}.hero-description{margin-top:var(--space-md);max-width:44ch}.hero-context{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);grid-column:1 / -1;margin:0;padding-top:var(--space-sm);border-top:1px solid var(--border);font-size:var(--fs-caption);color:var(--fg-muted)}.hero-context strong{color:var(--fg);font-weight:600}.hero-skills{min-width:0;border-left:1px solid var(--border);padding:var(--space-md) 0 var(--space-md) var(--space-lg)}.hero-skills h2{font-size:var(--fs-h3);line-height:1.3;margin-bottom:var(--space-md)}@media(max-width:768px){.hero-split{grid-template-columns:1fr;align-items:start;gap:var(--space-md)}.hero-skills{border-left:0;border-top:1px solid var(--border);padding:var(--space-md) 0 0}}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:32px}.btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:12px 22px;border-radius:var(--radius-md);border:1px solid transparent;font-size:15px;font-weight:600;transition:background-color var(--motion-state) var(--ease-out),border-color var(--motion-state) var(--ease-out),color var(--motion-state) var(--ease-out),transform var(--motion-feedback) var(--ease-out);cursor:pointer}.btn:active{transform:translateY(1px) scale(.98)}.btn-primary{background:var(--accent);color:var(--button-ink);border-color:var(--accent)}.btn-primary:is(:hover,:focus-visible){background:var(--accent-bright);border-color:var(--accent-bright)}.btn-secondary{background:transparent;color:var(--fg);border-color:var(--border)}.btn-secondary:is(:hover,:focus-visible){border-color:var(--accent);color:var(--accent-bright)}.btn-ghost{min-height:auto;padding-inline:4px;background:transparent;border-color:transparent;color:var(--fg-muted)}.btn-ghost:is(:hover,:focus-visible){color:var(--accent-bright)}.btn-arrow:after{content:"\2192";transition:transform var(--motion-feedback) var(--ease-out)}.btn-arrow:is(:hover,:focus-visible):after{transform:translate(3px)}.portrait-tech{display:grid;gap:var(--space-xs);grid-template-columns:minmax(0,1fr)}.portrait-tech-group{padding-top:var(--space-sm);border-top:1px solid color-mix(in oklab,var(--border) 80%,transparent)}.portrait-tech-group:first-child{border-top:none;padding-top:0}.portrait-tech-group-name{display:block;margin-bottom:var(--space-xs);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted-dim)}.portrait-tech-items{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.portrait-tech-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 11px;border-radius:var(--radius-pill);border:1px solid var(--border);background:color-mix(in oklab,var(--surface-raised) 72%,transparent);color:var(--fg);font-size:12px;max-width:100%;min-width:0;transition:background-color var(--motion-state) var(--ease-out),border-color var(--motion-state) var(--ease-out)}.portrait-tech-chip>span{min-width:0;overflow-wrap:anywhere}.portrait-tech-chip:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--surface-raised))}.portrait-tech-icon{width:15px;height:15px;flex-shrink:0}.feature{min-width:0}.feature-mark{width:38px;height:38px;display:grid;place-items:center;margin-bottom:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--accent-bright)}.feature-mark svg{width:18px;height:18px}.feature h3{margin-bottom:var(--space-2xs)}.feature p{color:var(--fg-muted);max-width:60ch;font-size:15px}.projects-grid{display:grid;gap:var(--gap-entry)}.project-case{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(24px,4vw,48px);scroll-margin-top:var(--space-md);transition:border-color var(--motion-state) var(--ease-out),box-shadow var(--motion-state) var(--ease-out)}.project-case:hover{border-color:color-mix(in oklab,var(--accent) 60%,transparent);box-shadow:0 12px 48px #00000080,0 0 0 1px color-mix(in oklab,var(--accent) 20%,transparent)}.project-number{position:absolute;top:-40px;left:0;font-family:var(--font-display);font-size:clamp(120px,15vw,200px);font-weight:600;color:var(--fg);opacity:.03;line-height:1;pointer-events:none;z-index:0}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);font-size:13px}.project-year{font-weight:600;color:var(--accent-bright)}.project-category{color:var(--fg-muted-dim)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:start}.project-grid-text{grid-template-columns:minmax(0,1fr)}.project-content{min-width:0;container-type:inline-size}.project-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--gap-group);align-items:start;margin-bottom:var(--gap-group)}.project-details{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--space-lg);align-items:start}.project-grid:not(.project-grid-text) .project-details{grid-template-columns:minmax(0,1fr)}.project-heading .project-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;padding-top:0;border-top:0}.section-intro{max-width:30ch;color:var(--fg-muted);font-size:15px;line-height:1.7}.project-summary{max-width:62ch;color:var(--fg);font-size:17px;line-height:1.7;margin-bottom:0}.case-notes{border-block:1px solid var(--border)}.case-notes summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:48px;padding-block:var(--space-xs);cursor:pointer;color:var(--accent-bright);font-size:14px;font-weight:500;list-style:none}.case-notes summary::-webkit-details-marker{display:none}.case-notes summary:after{content:"";width:8px;height:8px;margin-right:var(--space-2xs);border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);flex-shrink:0}.case-notes[open] summary:after{transform:rotate(225deg)}.case-notes summary:is(:hover,:focus-visible){color:var(--fg)}.case-notes-body{padding-block:var(--space-sm) var(--space-md)}.project-approach{margin:0 0 var(--space-md)}.project-approach figcaption{font-size:14px;font-weight:600;margin-bottom:var(--space-md)}.approach-flow{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:var(--space-2xs);align-items:center}.flow-step{padding-block:var(--space-sm);border-block:1px solid var(--accent-dim);min-width:0}.flow-step strong{display:block;font-size:15px;font-weight:500;margin-bottom:var(--space-2xs)}.flow-step span{display:block;color:var(--fg-muted);font-size:var(--fs-caption);line-height:1.5}.flow-arrow{width:32px;height:24px;color:var(--accent)}.project-approach p,.project-link-note{color:var(--fg-muted);font-size:var(--fs-caption);line-height:1.7;margin-top:var(--space-sm)}.project-link-note{margin-top:var(--space-xs)}@container (max-width: 600px){.project-heading,.project-details{grid-template-columns:minmax(0,1fr);gap:var(--gap-content)}.project-heading .project-metrics{max-width:360px}}@container (max-width: 360px){.approach-flow{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.flow-arrow{justify-self:center;transform:rotate(90deg)}}.project-visual{position:relative;z-index:1}.project-mockup{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm);box-shadow:0 4px 24px #0006,0 0 0 1px color-mix(in oklab,var(--accent) 12%,transparent);overflow:hidden}.project-mockup img{width:100%;height:auto;display:block;border-radius:var(--radius-sm);transition:transform .4s var(--ease-out)}.project-case:hover .project-mockup img{transform:scale(1.02)}.visual-decoration{position:absolute;top:-12px;right:-12px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in oklab,var(--accent) 15%,transparent),transparent 70%);z-index:-1;pointer-events:none}.project-content{position:relative;z-index:1}.project-title{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--fg);margin-bottom:var(--space-sm)}.case-block{margin-top:var(--space-lg)}.case-block:first-child{margin-top:0}.case-label{display:block;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-xs)}.case-block p{color:var(--fg-muted);line-height:1.7;max-width:52ch;font-size:15px}.project-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-soft)}.metric{display:flex;flex-direction:column;gap:var(--space-2xs)}.metric-value{font-family:var(--font-display);font-size:24px;color:var(--fg);line-height:1;font-variant-numeric:tabular-nums}.metric-outcome .metric-value{font-size:32px;color:var(--accent-bright)}.metric-label{font-size:12px;color:var(--fg-muted-dim);text-transform:uppercase;letter-spacing:.08em}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:0}.tag{display:inline-flex;align-items:center;padding:5px 12px;background:color-mix(in oklab,var(--accent) 12%,transparent);color:var(--accent-bright);border:1px solid var(--accent-dim);border-radius:var(--radius-pill);font-size:12px;font-weight:500}.project-links{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--gap-content)}.link-with-icon{display:inline-flex;min-height:44px;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border);color:var(--fg-muted);font-size:13px;font-weight:500;transition:border-color var(--motion-state) var(--ease-out),color var(--motion-state) var(--ease-out),transform var(--motion-feedback) var(--ease-out)}.link-with-icon:is(:hover,:focus-visible){border-color:var(--accent);color:var(--accent-bright)}.link-with-icon svg{width:14px;height:14px}@media(max-width:1024px){.project-details{grid-template-columns:minmax(0,1fr)}.project-grid{grid-template-columns:1fr}}@media(max-width:768px){.project-number{font-size:80px;top:-20px}.project-case{padding:var(--space-md)}}.timeline{position:relative;padding-left:48px}.timeline:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent-bright) 0%,var(--accent) 30%,var(--border) 100%)}.timeline-item{position:relative;padding-bottom:var(--gap-entry)}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-48px;top:8px;width:24px;height:24px;border-radius:50%;background:var(--bg-deep);border:3px solid var(--accent);box-shadow:0 0 0 6px var(--bg-deep),0 0 16px color-mix(in oklab,var(--accent) 40%,transparent);z-index:2}.timeline-item:first-child:before{background:var(--accent);box-shadow:0 0 0 6px var(--bg-deep),0 0 24px color-mix(in oklab,var(--accent) 60%,transparent),0 0 48px color-mix(in oklab,var(--accent) 30%,transparent)}.timeline-content{position:relative}.period-badge{display:inline-flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);padding:6px 14px;background:color-mix(in oklab,var(--accent) 12%,transparent);border:1px solid var(--accent-dim);border-radius:var(--radius-pill);font-size:13px;font-weight:600;color:var(--accent-bright)}.period-duration{opacity:.7;font-weight:400}.period-duration:before{content:"\b7";margin-right:var(--space-xs)}.experience-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:border-color var(--motion-state) var(--ease-out)}.experience-card:hover{border-color:color-mix(in oklab,var(--accent) 40%,transparent)}.exp-header{display:flex;justify-content:space-between;align-items:start;gap:var(--space-lg);margin-bottom:var(--space-md)}.exp-role{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--fg)}.exp-company{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs)}.company-name{font-size:15px;font-weight:600;color:var(--accent-bright);letter-spacing:.02em}.exp-tag{display:inline-flex;padding:4px 10px;background:color-mix(in oklab,var(--surface-raised) 80%,transparent);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:12px;color:var(--fg-muted)}.company-logo{width:56px;height:56px;flex-shrink:0}.logo-placeholder{width:100%;height:100%;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;place-items:center;color:var(--accent-dim);font-size:24px;font-weight:600;font-family:var(--font-display)}.exp-description{color:var(--fg-muted);line-height:1.7;margin-bottom:var(--space-lg);font-size:15px}.exp-highlights{display:grid;gap:var(--space-sm);padding-top:var(--space-lg);border-top:1px solid var(--border-soft);list-style:none}.highlight-item{display:flex;align-items:start;gap:var(--space-sm);font-size:14px;line-height:1.6;color:var(--fg)}.highlight-icon{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--accent)}.timeline-period{display:inline-block;font-size:13px;color:var(--accent-bright);font-weight:600;letter-spacing:.02em;margin-bottom:6px}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 28px;position:relative;transition:border-color var(--motion-state) var(--ease-out)}.timeline-card:hover{border-color:color-mix(in oklab,var(--accent) 40%,transparent)}.timeline-card .exp-role{margin:0}.timeline-card .exp-company{color:var(--accent-bright);font-size:14px;margin:4px 0 0;font-weight:500}.timeline-card .exp-desc{margin:14px 0 0;color:var(--fg-muted);font-size:15px}.timeline-card .exp-tag{float:right;margin:0 0 var(--space-2xs) var(--space-sm)}.timeline-card .exp-highlights{margin:16px 0 0;padding-top:16px}.timeline-card .exp-highlights li{font-size:14px;color:var(--fg);padding-left:18px;position:relative}.timeline-card .exp-highlights li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:1px;background:var(--accent)}@media(max-width:768px){.timeline{padding-left:32px}.timeline:before{left:9px}.timeline-item{padding-bottom:var(--gap-group)}.timeline-item:before{left:-32px;width:20px;height:20px}.timeline-card{padding:var(--space-md)}.timeline-card .exp-tag{float:none;margin:0 0 var(--space-sm)}}.pullquote{font-family:var(--font-display);font-size:clamp(32px,4.5vw,56px);line-height:1.15;letter-spacing:-.015em;color:var(--fg);margin:0;padding-left:var(--space-lg);border-left:4px solid var(--accent);position:relative}.pullquote:before{content:'"';position:absolute;top:-20px;left:-10px;font-size:120px;color:color-mix(in oklab,var(--accent) 15%,transparent);font-family:var(--font-display);line-height:1;z-index:-1}.pullquote cite{display:block;font-size:14px;font-style:normal;color:var(--fg-muted);margin-top:var(--space-md);font-family:var(--font-body);letter-spacing:0}.bio-text{max-width:65ch;margin:0}.bio-text p{color:var(--fg-muted);font-size:var(--fs-lead);line-height:1.75;margin-bottom:var(--gap-content)}.bio-text p:last-child{margin-bottom:0}.about-layout{display:grid;gap:var(--gap-group)}.about-layout>.eyebrow{margin-bottom:0}.section-contact{text-align:center;padding-block:clamp(64px,8vw,96px)}.contact-headline{margin-bottom:var(--space-lg)}.contact-title{font-family:var(--font-display);font-size:var(--fs-h1);line-height:1.1;letter-spacing:-.02em;margin:var(--space-md) 0}.contact-lead{font-size:var(--fs-lead);color:var(--fg-muted);line-height:1.7;max-width:54ch;margin:var(--space-md) auto 0}.contact-options{max-width:600px;margin:0 auto}.contact-primary{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius-lg);margin-bottom:var(--space-md);transition:background-color var(--motion-state) var(--ease-out),border-color var(--motion-state) var(--ease-out),transform var(--motion-feedback) var(--ease-out),box-shadow var(--motion-state) var(--ease-out);text-align:left}.contact-primary:is(:hover,:focus-visible){background:color-mix(in oklab,var(--accent) 8%,var(--surface));border-color:var(--accent-bright);transform:translateY(-2px);box-shadow:0 8px 32px #0006,0 0 0 1px color-mix(in oklab,var(--accent) 30%,transparent)}.contact-method{display:flex;align-items:center;gap:var(--space-md)}.contact-icon{width:32px;height:32px;color:var(--accent);flex-shrink:0}.contact-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted-dim);margin-bottom:4px}.contact-value{display:block;font-size:18px;font-weight:600;color:var(--fg)}.arrow-icon{width:24px;height:24px;color:var(--accent);transition:transform var(--motion-feedback) var(--ease-out);flex-shrink:0}.contact-primary:is(:hover,:focus-visible) .arrow-icon{transform:translate(4px)}.contact-social{display:flex;justify-content:center;gap:var(--space-sm)}.social-link{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:14px;font-weight:500;color:var(--fg);transition:border-color var(--motion-state) var(--ease-out),color var(--motion-state) var(--ease-out)}.social-link:hover{border-color:var(--accent);color:var(--accent-bright)}.social-link svg{width:18px;height:18px}.availability-note{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--gap-group);padding:var(--space-sm) var(--space-md);background:color-mix(in oklab,var(--accent) 10%,transparent);border:1px solid var(--accent-dim);border-radius:var(--radius-pill);font-size:13px;color:var(--fg-muted)}.availability-dot{width:8px;height:8px;flex-shrink:0;background:var(--accent-bright);border-radius:50%}.pagefoot{padding-block:var(--space-2xl);border-top:1px solid var(--border-soft);background:var(--bg-deepest)}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-lg)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-xs)}.footer-name{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--fg)}.footer-tagline{font-size:13px;color:var(--fg-muted-dim)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-md);max-width:100%;font-size:13px}.footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding-inline:8px;color:var(--fg-muted);transition:color var(--motion-state) var(--ease-out)}.footer-links a:is(:hover,:focus-visible){color:var(--accent-bright)}.footer-meta{width:100%;text-align:center;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-soft);font-size:12px;color:var(--fg-muted-dim)}@media(max-width:768px){:root{--gutter: 20px;--fs-hero: clamp(36px, 10.5vw, 48px)}.row-between{align-items:flex-start;flex-direction:column}.pullquote{font-size:clamp(24px,6vw,36px);padding-left:var(--space-md)}.contact-primary{gap:var(--space-sm);padding:var(--space-md)}.contact-method{gap:var(--space-sm);min-width:0}.contact-method>div{min-width:0}.contact-icon{width:24px;height:24px}.contact-primary .arrow-icon{width:20px;height:20px}.contact-value{font-size:16px;overflow-wrap:anywhere}.contact-social{flex-wrap:wrap}.availability-note{border-radius:var(--radius-lg);text-align:left}.footer-content,.footer-links{justify-content:center}.footer-brand{align-items:center;text-align:center}}body:before{content:"";position:fixed;inset:0;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="4"/></filter><rect width="300" height="300" filter="url(%23noise)" opacity="0.03"/></svg>');pointer-events:none;z-index:9999;mix-blend-mode:overlay}.text-link{position:relative;color:var(--accent-bright)}.text-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform var(--motion-feedback) var(--ease-out)}.text-link:is(:hover,:focus-visible):after{transform:scaleX(1);transform-origin:left}.contact-primary:active,.link-with-icon:active{transform:translateY(1px) scale(.99)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.contact-primary,.link-with-icon,.project-mockup img,.btn-arrow:after,.arrow-icon,.text-link:after,.topnav nav a:after{transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--motion-feedback)}.btn:active,.contact-primary:is(:hover,:focus-visible,:active),.link-with-icon:active,.btn-arrow:is(:hover,:focus-visible):after,.contact-primary:is(:hover,:focus-visible) .arrow-icon,.project-case:hover .project-mockup img{transform:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-to-main{position:fixed;top:8px;left:8px;transform:translateY(calc(-100% - 16px));background:var(--accent);color:var(--button-ink);min-height:44px;border-radius:var(--radius-md);padding:8px 16px;text-decoration:none;font-weight:600;z-index:1000}.skip-to-main:focus{transform:translateY(0)}
