@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap");:root{--ink:#11110f;--paper:#fff;--acid:#d9ff43;--blue:#3446ff;--purple:#6c4cff;--line:rgba(17,17,15,.18);--pad:clamp(1.25rem,3vw,3.5rem);--radius:1.2rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Instrument Sans",Arial,"Helvetica Neue",sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1rem var(--pad);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:-.04em;font-size:1.15rem}.nav{display:flex;gap:clamp(.8rem,2vw,1.6rem);align-items:center}.nav a{font-size:.9rem;border-bottom:1px solid transparent}.nav a:hover,.nav a:focus-visible{border-color:currentColor}.nav .pill{padding:.55rem .9rem;background:var(--ink);color:#fff;border-radius:999px}.hero{min-height:72vh;padding:clamp(4rem,10vw,9rem) var(--pad) 3rem;display:grid;align-content:space-between;gap:4rem}.eyebrow,.meta{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1{max-width:14ch;margin:0;font-size:clamp(3.8rem,10vw,9.8rem);font-weight:700;letter-spacing:-.075em;line-height:.86}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end}.hero-copy{max-width:34rem;font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.25}.availability{justify-self:end;text-align:right}.dot{display:inline-block;width:.65rem;height:.65rem;margin-right:.45rem;border-radius:50%;background:#36b64a}.work{border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;padding:1.2rem var(--pad);border-bottom:1px solid var(--line)}.project{display:grid;grid-template-columns:42% 58%;min-height:72vh;border-bottom:1px solid var(--line);overflow:hidden}.project-copy{padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;gap:3rem}.project h2{margin:.4rem 0 1rem;font-size:clamp(3.8rem,8vw,8rem);line-height:.88;letter-spacing:-.065em}.project p{max-width:30rem;font-size:1.05rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tags span{padding:.45rem .75rem;border:1px solid currentColor;border-radius:999px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.project-visual{position:relative;min-height:32rem;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,5vw,5rem)}.project-visual img{max-height:70vh;object-fit:contain;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.project:hover .project-visual img{transform:scale(1.025)}.libro .project-visual{background:#5d4cff}.ollie .project-visual{background:#c9b6ff}.arrow{font-size:2rem;transition:transform .25s}.project:hover .arrow{transform:translate(8px,-8px)}.about-strip{padding:clamp(4rem,8vw,8rem) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);background:var(--ink);color:#fff}.about-strip h2{margin:0;font-size:clamp(2.8rem,6vw,6rem);line-height:.95;letter-spacing:-.06em}.about-strip p{font-size:clamp(1.15rem,2vw,1.55rem);margin-top:0}.text-link{display:inline-block;margin-top:1rem;border-bottom:1px solid currentColor;padding-bottom:.2rem}.footer{padding:1.5rem var(--pad);display:flex;justify-content:space-between;gap:1rem}.case-hero{padding:clamp(4rem,9vw,8rem) var(--pad) 3rem}.case-hero h1{font-size:clamp(5rem,14vw,13rem);line-height:.8;letter-spacing:-.08em;margin:1rem 0 3rem}.case-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;border-top:1px solid var(--line);padding-top:1.5rem}.case-intro .lead{font-size:clamp(1.5rem,3vw,2.7rem);line-height:1.1;margin:0}.role-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.role-list span{padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.82rem;text-transform:uppercase}.case-image{padding:var(--pad)}.case-image img{max-height:90vh;object-fit:contain}.case-image.full{padding:0}.case-image.full img{width:100%;max-height:none}.bg-purple{background:#5847ef}.bg-lilac{background:#d5c3ff}.bg-dark{background:#171717}.case-copy{padding:clamp(4rem,8vw,8rem) var(--pad);display:grid;grid-template-columns:1fr 1.6fr;gap:3rem}.case-copy h2{font-size:clamp(2.5rem,5vw,5rem);line-height:.95;letter-spacing:-.05em;margin:0}.case-copy p{font-size:1.2rem;max-width:42rem;margin:0}.next{display:flex;justify-content:space-between;align-items:end;padding:clamp(4rem,8vw,7rem) var(--pad);background:var(--acid)}.next strong{font-size:clamp(3rem,8vw,8rem);letter-spacing:-.07em;line-height:.85}.about-page{padding:clamp(4rem,9vw,8rem) var(--pad)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:start}.portrait{background:#d8ff40;padding:clamp(1rem,3vw,2.5rem);border-radius:var(--radius)}.about-page h1{font-size:clamp(4rem,10vw,9rem);line-height:.85;letter-spacing:-.07em;margin:0 0 3rem}.about-page .bio{font-size:clamp(1.35rem,2.5vw,2.1rem);line-height:1.15}.likes{margin-top:4rem;border-top:1px solid var(--line)}.likes div{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line)}.resume-page{max-width:72rem;margin:auto;padding:3rem var(--pad)}.resume-top{display:flex;justify-content:space-between;gap:2rem;padding-bottom:2rem;border-bottom:3px solid var(--ink)}.resume-top h1{font-size:clamp(3rem,7vw,6rem);line-height:.9;letter-spacing:-.06em;margin:0}.resume-section{display:grid;grid-template-columns:1fr 3fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}.resume-section h2{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin:0}.resume-section p{margin:0 0 1rem}.print{position:fixed;right:1rem;bottom:1rem;background:var(--ink);color:#fff;padding:.8rem 1rem;border-radius:999px;border:0;font:inherit;cursor:pointer}@media(max-width:760px){.nav a:nth-child(2),.nav a:nth-child(3){display:none}.hero{min-height:64vh}.hero-bottom,.case-intro,.case-copy,.about-strip,.about-grid,.resume-section{grid-template-columns:1fr}.availability{justify-self:start;text-align:left}.project{grid-template-columns:1fr}.project-copy{min-height:25rem}.project-visual{min-height:26rem}.footer{flex-direction:column}.case-hero h1{margin-bottom:2rem}.resume-top{flex-direction:column}}@media print{.site-header,.print{display:none}.resume-page{padding:0}.resume-top h1{font-size:3.5rem}body{background:#fff}}
