:root{--bg:oklch(98.5% .005 80);--bg-warm:oklch(96.5% .012 75);--ink:oklch(18% .012 80);--ink-2:oklch(42% .01 80);--ink-3:oklch(62% .008 80);--line:oklch(88% .008 80);--card:oklch(100% 0 0);--accent:oklch(66% .17 38);--accent-ink:oklch(32% .12 38);--accent-soft:oklch(96% .04 60);--radius:22px;--radius-lg:28px;--shadow-sm:0 1px 2px #1c160f0a, 0 4px 12px #1c160f0a;--shadow-md:0 1px 2px #1c160f0d, 0 12px 32px #1c160f0f}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01", "cv11";font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.55}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}@media (width<=720px){.wrap{padding:0 20px}}.nav{z-index:50;-webkit-backdrop-filter:blur(18px)saturate(140%);background:color-mix(in oklab, var(--bg) 75%, transparent);border-bottom:1px solid #0000;transition:border-color .25s,background .25s;position:sticky;top:0}.nav.scrolled{border-bottom-color:var(--line)}.nav-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:600;display:flex}.brand-mark{background:var(--ink);width:30px;height:30px;color:var(--bg);border-radius:9px;place-items:center;font-family:Instrument Serif,serif;font-size:18px;font-style:italic;line-height:1;display:grid}.nav-links{align-items:center;gap:4px;display:flex}.nav-links a{color:var(--ink-2);border-radius:999px;padding:8px 14px;font-size:14.5px;transition:color .2s,background .2s}.nav-links a:hover{color:var(--ink);background:color-mix(in oklab, var(--ink) 5%, transparent)}.nav-links a.nav-cta{background:var(--ink);color:#fff;border-radius:999px;margin-left:8px;padding:9px 16px;font-size:14px;font-weight:500;transition:transform .15s,background .2s,color .2s}.nav-links a.nav-cta:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}@media (width<=720px){.nav-links a:not(.nav-cta){display:none}}.hero{padding:80px 0 110px;position:relative}.hero-eyebrow{letter-spacing:.04em;color:var(--ink-2);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:inline-flex}.hero-eyebrow .dot{background:oklch(70% .18 145);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px oklab(70% -.147447 .103244/.25)}.hero-title{letter-spacing:-.035em;text-wrap:balance;margin:22px 0 0;font-size:clamp(54px,9vw,128px);font-weight:600;line-height:.94}.hero-title em{letter-spacing:-.02em;color:var(--accent);padding-right:.04em;font-family:Instrument Serif,serif;font-style:italic;font-weight:400}.hero-sub{max-width:620px;color:var(--ink-2);text-wrap:pretty;margin-top:28px;font-size:clamp(16px,1.5vw,19px)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.btn{cursor:default;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;font-size:15px;font-weight:500;transition:transform .15s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--accent);transform:translateY(-1px)}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--card);border-color:oklch(78% .01 80);transform:translateY(-1px)}.btn .arrow{transition:transform .25s;display:inline-block}.btn:hover .arrow{transform:translate(3px)}.hero-meta{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:24px;margin-top:72px;padding-top:28px;display:grid}.hero-meta .cell .k{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:11px}.hero-meta .cell .v{color:var(--ink);font-size:15px;font-weight:500}@media (width<=720px){.hero{padding:48px 0 72px}.hero-meta{grid-template-columns:repeat(2,1fr);gap:18px}}section[data-screen-label]{scroll-margin-top:88px}.section{border-top:1px solid var(--line);padding:96px 0}.section-warm{background:var(--bg-warm)}.section-head{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px;display:flex}.section-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:12px}.section-title{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(36px,5vw,64px);font-weight:600;line-height:1.02}.section-title em{color:var(--accent);font-family:Instrument Serif,serif;font-style:italic;font-weight:400}.section-intro{max-width:480px;color:var(--ink-2);text-wrap:pretty;font-size:16px}@media (width<=720px){.section{padding:72px 0}.section-head{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:36px}}.tools-grid{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.tool{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:14px;padding:22px 18px 20px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative}.tool:hover{box-shadow:var(--shadow-md);border-color:oklch(82% .01 80);transform:translateY(-3px)}.tool-icon{border-radius:11px;place-items:center;width:40px;height:40px;font-family:Instrument Serif,serif;font-size:22px;font-weight:500;line-height:1;display:grid}.tool-name{letter-spacing:-.005em;font-size:15px;font-weight:600}.tool-tag{color:var(--ink-3);letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:10.5px}.tool-level{background:var(--line);border-radius:999px;height:4px;margin-top:auto;position:relative;overflow:hidden}.tool-level:after{content:"";width:var(--lvl,70%);background:var(--ink);border-radius:999px;transition:width .8s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0;left:0}.tool:hover .tool-level:after{background:var(--accent)}@media (width<=980px){.tools-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.tools-grid{grid-template-columns:repeat(2,1fr)}}.proj-tabs{background:var(--card);border:1px solid var(--line);border-radius:999px;gap:6px;padding:4px;display:flex}.proj-tab{color:var(--ink-2);cursor:default;background:0 0;border:0;border-radius:999px;padding:8px 14px;font-size:13px;transition:background .2s,color .2s}.proj-tab:hover{color:var(--ink)}.proj-tab.active{background:var(--ink);color:var(--bg)}.projects-grid{grid-template-columns:repeat(6,1fr);gap:18px;display:grid}.proj-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;grid-column:span 3;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.proj-card.featured{grid-column:span 6}.proj-card.compact{grid-column:span 2}.proj-card:hover{box-shadow:var(--shadow-md);border-color:oklch(78% .01 80);transform:translateY(-4px)}.proj-thumb{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:var(--bg-warm);position:relative;overflow:hidden}.proj-card.featured .proj-thumb{aspect-ratio:21/9}.proj-thumb-bg{background-image:repeating-linear-gradient(135deg, oklch(.94 .02 var(--hue,60)) 0 12px, oklch(.92 .025 var(--hue,60)) 12px 24px);transition:transform .8s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.proj-card:hover .proj-thumb-bg{transform:scale(1.04)}.proj-thumb-label{letter-spacing:.06em;text-transform:uppercase;color:oklch(.35 .05 var(--hue,60));background:color-mix(in oklab, var(--card) 80%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:11px;position:absolute;bottom:16px;left:18px}.proj-thumb-num{color:oklch(.3 .06 var(--hue,60));opacity:.7;font-family:Instrument Serif,serif;font-size:28px;font-style:italic;position:absolute;top:16px;right:18px}.proj-body{flex-direction:column;flex:1;gap:12px;padding:22px 24px 24px;display:flex}.proj-tags{flex-wrap:wrap;gap:6px;display:flex}.proj-tag{letter-spacing:.04em;color:var(--ink-2);background:var(--bg-warm);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:10.5px}.proj-title{letter-spacing:-.012em;margin:2px 0 0;font-size:22px;font-weight:600;line-height:1.2}.proj-card.featured .proj-title{font-size:32px}.proj-desc{color:var(--ink-2);margin:0;font-size:14.5px;line-height:1.55}.proj-foot{justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;display:flex}.proj-link{align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.proj-link .arrow{transition:transform .25s}.proj-card:hover .proj-link .arrow{transform:translate(3px,-3px)}.proj-year{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11.5px}@media (width<=980px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:14px}.proj-card,.proj-card.featured,.proj-card.compact{grid-column:span 1}}@media (width<=560px){.projects-grid{grid-template-columns:1fr}}.projects-list{border-top:1px solid var(--line)}.proj-row{border-bottom:1px solid var(--line);grid-template-columns:60px 1.4fr 1fr 100px 32px;align-items:center;gap:24px;padding:22px 8px;transition:background .2s,padding .25s;display:grid;position:relative}.proj-row:hover{background:color-mix(in oklab, var(--accent) 5%, transparent);padding-left:16px;padding-right:16px}.proj-row .num{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:12px}.proj-row .ttl{letter-spacing:-.01em;font-size:19px;font-weight:600}.proj-row .ttl em{color:var(--accent);font-family:Instrument Serif,serif;font-style:italic;font-weight:400}.proj-row .tg{flex-wrap:wrap;gap:6px;display:flex}.proj-row .yr{color:var(--ink-2);text-align:right;font-family:JetBrains Mono,monospace;font-size:12px}.proj-row .arrow-cell{text-align:right;color:var(--ink-3);font-size:18px;transition:color .2s,transform .25s}.proj-row:hover .arrow-cell{color:var(--accent);transform:translate(4px)}@media (width<=720px){.proj-row{grid-template-columns:1fr 32px;padding:18px 0}.proj-row .num,.proj-row .tg,.proj-row .yr{display:none}}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.about-portrait{aspect-ratio:4/5;border-radius:var(--radius-lg);border:1px solid var(--line);background:radial-gradient(ellipse at 30% 20%, color-mix(in oklab, var(--accent) 30%, transparent) 0%, transparent 60%), repeating-linear-gradient(45deg, oklch(92% .015 60) 0 14px, oklch(94% .012 60) 14px 28px);position:relative;overflow:hidden}.about-portrait:after{content:"[ photo of julian ]";color:var(--ink-2);background:color-mix(in oklab, var(--card) 85%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:11px;position:absolute;bottom:22px;left:22px}.about-portrait .badge{background:var(--ink);width:88px;height:88px;color:var(--bg);text-align:center;border:4px solid var(--bg);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;font-family:Instrument Serif,serif;font-size:15px;font-style:italic;line-height:1.05;display:grid;position:absolute;top:20px;right:20px;transform:rotate(-8deg)}.about-text h3{letter-spacing:-.02em;text-wrap:balance;margin:0 0 24px;font-size:clamp(28px,3.4vw,42px);font-weight:600;line-height:1.1}.about-text h3 em{color:var(--accent);font-family:Instrument Serif,serif;font-style:italic;font-weight:400}.about-text p{color:var(--ink-2);margin:0 0 18px;font-size:16.5px;line-height:1.65}.traits{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.trait{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:13.5px;transition:background .2s,color .2s,border-color .2s,transform .2s}.trait:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:translateY(-1px)}@media (width<=880px){.about-grid{grid-template-columns:1fr;gap:36px}.about-portrait{max-width:420px}}.contact-card{border-radius:var(--radius-lg);background:var(--ink);color:var(--bg);padding:clamp(40px,6vw,80px);position:relative;overflow:hidden}.contact-card:before{content:"";background:radial-gradient(circle, var(--accent) 0%, transparent 65%);opacity:.55;filter:blur(10px);border-radius:50%;width:420px;height:420px;position:absolute;top:-120px;right:-120px}.contact-card .eyebrow{letter-spacing:.06em;text-transform:uppercase;color:oklch(78% .07 60);margin-bottom:18px;font-family:JetBrains Mono,monospace;font-size:12px;position:relative}.contact-card h3{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(40px,6vw,76px);font-weight:600;line-height:1;position:relative}.contact-card h3 em{color:var(--accent);font-family:Instrument Serif,serif;font-style:italic;font-weight:400}.contact-card p{color:oklch(78% .005 80);max-width:520px;margin:24px 0 36px;font-size:17px;line-height:1.55;position:relative}.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:relative}.contact-mail{background:var(--bg);color:var(--ink);border-radius:999px;align-items:center;gap:12px;padding:16px 24px;font-size:15px;font-weight:500;transition:transform .15s,background .2s;display:inline-flex}.contact-mail:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.contact-secondary{color:oklch(82% .005 80);border-bottom:1px solid #0000;padding:14px 4px;font-size:14.5px;transition:border-color .2s,color .2s}.contact-secondary:hover{color:var(--bg);border-bottom-color:oklch(60% .01 80)}footer{border-top:1px solid var(--line);padding:56px 0 40px}.foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.foot-left{align-items:center;gap:14px;display:flex}.foot .name{font-weight:600}.foot .copy{color:var(--ink-3);text-wrap:pretty;max-width:420px;font-size:13.5px}.foot-links{gap:4px;display:flex}.foot-links a{color:var(--ink-2);border-radius:999px;padding:8px 12px;font-size:14px;transition:background .2s,color .2s}.foot-links a:hover{background:var(--card);color:var(--ink)}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}.hero[data-variant=bold]{background:var(--ink);color:var(--bg);border-radius:var(--radius-lg);margin:16px;padding:80px 48px 110px}.hero[data-variant=bold] .hero-eyebrow{color:oklch(85% .01 80);background:#ffffff14;border-color:#ffffff24}.hero[data-variant=bold] .hero-sub{color:oklch(78% .005 80)}.hero[data-variant=bold] .hero-meta{border-top-color:#ffffff1f}.hero[data-variant=bold] .hero-meta .cell .v{color:var(--bg)}.hero[data-variant=bold] .hero-meta .cell .k{color:oklch(65% .01 80)}.hero[data-variant=bold] .btn-ghost{color:var(--bg);border-color:#fff3}.hero[data-variant=bold] .btn-ghost:hover{background:#ffffff14;border-color:#ffffff59}.hero[data-variant=bold] .btn-primary{background:var(--accent);color:#fff}.hero[data-variant=bold] .btn-primary:hover{background:oklch(72% .18 38);transform:translateY(-1px)}
