:root{color:#111;--cream:#f3eee3;--ink:#111;--orange:#d9541e;--orange-text:#9e3712;--muted:#615a51;--line:#d9d0c2;--surface:#faf7ef;--gutter:clamp(1rem, 4vw, 3.5rem);--radius:clamp(1.5rem, 3vw, 2.5rem);background:#f3eee3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--orange-text);outline-offset:4px}.shell{max-inline-size:84rem;padding-inline:var(--gutter);margin-inline:auto}.skip{z-index:2;background:var(--cream);padding:.75rem;position:absolute;inset:1rem auto auto 1rem;translate:0 -200%}.skip:focus{translate:none}.topbar,.footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;padding-block:.85rem;display:flex}.topbar nav{flex-wrap:wrap;gap:0 1.5rem;display:flex}.topbar a{align-items:center;min-block-size:2.75rem;text-decoration:none;display:inline-flex}.topbar a:hover{text-decoration:underline}.wordmark{letter-spacing:-.045em;font-size:1.15rem;font-weight:750}.topbar nav:not(.languages){color:var(--muted);font-size:.925rem}.topbar .languages{background:#e9e1d4;border-radius:999px;gap:0;padding:.2rem}.languages a{border-radius:999px;justify-content:center;min-inline-size:2.75rem;font-size:.75rem;font-weight:650}.languages [aria-current]{background:var(--ink);color:var(--cream)}.hero,.contact{background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:clamp(1.5rem,5.5vw,5rem)}.hero :focus-visible,.contact :focus-visible{outline-color:var(--cream)}.hero{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);padding-block:clamp(2rem,7vw,6rem);display:grid}.location{color:#d6cec0;align-items:center;gap:.55rem;margin-block-end:1.3rem;font-size:.875rem;display:flex}.location:before{content:"";background:var(--orange);border-radius:50%;block-size:.5rem;inline-size:.5rem}h1{letter-spacing:-.07em;text-wrap:balance;overflow-wrap:break-word;font-size:clamp(2.5rem,6.4vw,6rem);font-weight:720;line-height:1}.hero-bottom{justify-items:start;gap:1.5rem;margin-block-start:clamp(1.2rem,3vw,2.5rem);display:grid}.hero-bottom p{color:#d6cec0;max-inline-size:44ch;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.55}.action{background:var(--orange);min-block-size:3rem;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;padding:.65rem 1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.action:hover{background:#ed743e}.hero-art{aspect-ratio:1.12;border-radius:var(--radius);background:radial-gradient(at 85% 90%,#432217,#0000 70%),#181614;border:1px solid #3e332d;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:4%;padding:10%;display:grid}.hero-art span{background:#593427;border-radius:999px 999px .65rem .65rem;height:30%}.hero-art span:nth-child(2){background:#82432e;height:48%}.hero-art span:nth-child(3){background:#a64929;height:70%}.hero-art span:nth-child(4){background:var(--orange);height:96%}#portfolio,#experience,#contact{margin-block-start:clamp(3.5rem,8vw,7rem)}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.8rem 2rem;margin-block-end:1.5rem;display:flex}h2{letter-spacing:-.06em;text-wrap:balance;font-size:clamp(2rem,5vw,4rem);line-height:1.04}.section-heading p,.period,.muted{color:var(--muted)}.project-list,.experience-list,.stack,.contact-links{list-style:none}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,2vw,1.5rem);display:grid}.project{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;align-items:flex-start;gap:.8rem;min-inline-size:0;padding:clamp(1.1rem,3vw,2rem);display:flex}.project:first-child{grid-column:1/-1;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(1rem,4vw,3.5rem);display:grid}.project:first-child .project-media{grid-area:1/2/span 2;margin-block-start:0}.project-number{block-size:2rem;inline-size:2rem;color:var(--orange-text);font-variant-numeric:tabular-nums;background:#f3e3d5;border-radius:50%;place-items:center;font-size:.75rem;font-weight:750;display:inline-grid}.category{color:var(--orange-text);margin-block-end:.35rem;font-size:.875rem;font-weight:650}.project h3{letter-spacing:-.055em;font-size:clamp(1.6rem,3vw,2.55rem);line-height:1.07}.project h3+p{max-inline-size:54ch;color:var(--muted);margin-block-start:.65rem;line-height:1.55}.project-media{background:var(--cream);border-radius:1rem;inline-size:100%;margin-block-start:auto;overflow:hidden}.project-image{aspect-ratio:2;object-fit:cover;object-position:top;block-size:auto;inline-size:100%;display:block}.stack{color:var(--muted);flex-wrap:wrap;gap:.35rem;margin-block-start:1rem;font-size:.75rem;display:flex}.stack li{border:1px solid var(--line);border-radius:999px;padding:.35rem .6rem}.project-links,.contact-links{flex-wrap:wrap;gap:0 1rem;display:flex}.project-links a,.contact-links a,.footer a{overflow-wrap:anywhere;align-items:center;min-block-size:2.75rem;display:inline-flex}.project-links a{color:var(--orange-text);font-weight:650}.experience-list{border-block-end:1px solid var(--line)}.experience-list li{border-block-start:1px solid var(--line);grid-template-columns:9rem minmax(0,1fr) minmax(0,1.5fr);gap:.4rem 1.25rem;padding-block:1.15rem;line-height:1.5;display:grid}.contact{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(1.5rem,5vw,4rem);display:grid}.contact h2+p{color:#d6cec0;margin-block:.8rem}.footer{color:var(--muted);margin-block-start:1rem;font-size:.875rem}@media (width<=52rem){.topbar nav:not(.languages){flex-basis:100%;order:1}.contact{grid-template-columns:1fr}}@media (width<=42rem){.hero{grid-template-columns:1fr}.hero-art{display:none}.project-list{grid-template-columns:1fr}.project:first-child{display:flex}.experience-list li{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.experience-list h3{grid-area:1/1}.experience-list li>div{grid-area:1/2/span 2}}.project h3 a{text-decoration:none}.project h3 a:hover{text-underline-offset:.14em;text-decoration:underline}.project-back{align-items:center;gap:.55rem;min-block-size:2.75rem;margin-block:.4rem .9rem;display:inline-flex}.detail-hero{background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:clamp(1.5rem,6vw,5rem)}.detail-hero h1{font-size:clamp(2.65rem,7vw,6rem)}.detail-intro{color:#d6cec0;max-inline-size:58ch;margin-block-start:1.15rem;font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.55}.detail-body{align-items:start;gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2rem,6vw,4.5rem);display:grid}.detail-body--with-image{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.detail-copy{max-inline-size:64ch}.detail-copy h2{font-size:clamp(1.65rem,4vw,2.75rem)}.detail-copy p{color:var(--muted);margin-block-start:.85rem;line-height:1.65}.detail-copy h3{margin-block-start:1.5rem}.detail-copy .project-links{margin-block-start:.75rem}.detail-media{border:1px solid var(--line);background:var(--surface);border-radius:1rem;margin:0;overflow:hidden}.detail-media img{object-fit:contain;block-size:auto;max-block-size:46rem;max-inline-size:100%;margin-inline:auto;display:block}@media (width<=52rem){.detail-body--with-image{grid-template-columns:1fr}}
