:root{--ink:#1d1c27;--paper:#f7f5ed;--electric:#4c35ff;--lime:#d8ff4e;--line:#1d1c27}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}main{overflow:hidden}.site-nav{border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;padding:1rem clamp(1.25rem,5vw,5rem);display:flex}.wordmark,.eyebrow,.nav-links,.timeline-number,footer{letter-spacing:.05em;font-family:Courier New,Courier,monospace;font-weight:700}.wordmark{font-size:.85rem}.nav-links{gap:1.25rem;font-size:.8rem;display:flex}.nav-links a:hover{color:var(--electric)}.nav-links a[aria-current=page]{color:var(--electric);text-underline-offset:.25rem;text-decoration:underline}.hero,.journey,.next-section{padding:clamp(3.5rem,9vw,8rem) clamp(1.25rem,5vw,5rem)}.hero{background:var(--lime);border-bottom:2px solid var(--line)}.eyebrow{margin:0 0 1rem;font-size:.75rem}.hero-grid{grid-template-columns:minmax(0,50rem) minmax(12rem,20rem);justify-content:start;align-items:start;gap:clamp(1rem,2vw,2rem);display:grid}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;max-width:12ch;margin-bottom:2rem;font-size:clamp(2.6rem,6.6vw,6.8rem);line-height:.92}h2{letter-spacing:-.055em;max-width:14ch;font-size:clamp(2rem,4.5vw,4.8rem);line-height:.96}.intro{font-family:Courier New,Courier,monospace;font-size:clamp(1rem,1.6vw,1.35rem);font-weight:700}.portrait{aspect-ratio:1;background:var(--electric);border:10px double var(--ink);box-shadow:10px 10px 0 var(--ink);position:relative;overflow:hidden}.portrait img{image-rendering:pixelated;object-fit:contain;object-position:bottom}.section-heading{margin-bottom:3rem}.journey-intro{max-width:44rem;font-size:1rem;line-height:1.45}.timeline{counter-reset:timeline;grid-template-columns:repeat(6,minmax(160px,1fr));gap:0;margin:0;padding:0 0 1rem;list-style:none;display:grid;overflow-x:auto}.timeline li{border-left:2px solid var(--line);min-height:12rem;padding:1rem 1.2rem;position:relative}.timeline li:last-child{border-right:2px solid var(--line)}.timeline li:before{background:var(--electric);border:2px solid var(--line);content:"";width:.8rem;height:.8rem;position:absolute;top:-.43rem;left:-.48rem}.timeline-number{color:var(--electric);font-size:.75rem;display:block}.timeline-context{letter-spacing:.08em;text-transform:uppercase;margin-top:.5rem;font-family:Courier New,Courier,monospace;font-size:.68rem;font-weight:700;display:block}.timeline h3{letter-spacing:-.04em;margin:1.2rem 0 .75rem;font-size:1.25rem;line-height:1}.timeline p{font-size:.9rem;line-height:1.35}.next-section{background:var(--ink);color:var(--paper);min-height:50vh}.next-section h2{max-width:12ch}.next-section>p:not(.eyebrow){max-width:32rem;line-height:1.5}.next-section .button{min-width:12rem;margin-top:1rem}.coffee-hero,.coffee-setup,.coffee-brewing,.coffee-gear{padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,5vw,5rem)}.coffee-hero{background:var(--lime);border-bottom:2px solid var(--line)}.coffee-hero h1{max-width:none;margin-bottom:1.5rem}.coffee-hero>p:not(.eyebrow){max-width:36rem;font-family:Courier New,Courier,monospace;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:700;line-height:1.4}.coffee-section-heading{margin-bottom:clamp(2.5rem,5vw,4rem)}.coffee-section-heading h2{max-width:none}.setup-figure{border:2px solid var(--line);margin:0}.setup-figure img{object-fit:cover;width:100%;height:auto;max-height:44rem;display:block}.setup-figure figcaption{border-top:2px solid var(--line);letter-spacing:.045em;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding:.85rem 1rem;font-family:Courier New,Courier,monospace;font-size:.7rem;font-weight:700;display:flex}.setup-copy{letter-spacing:-.025em;max-width:38rem;margin:1.5rem 0 0;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.4}.coffee-brewing{background:var(--ink);border-block:2px solid var(--line);color:var(--paper)}.coffee-brewing .eyebrow{color:var(--lime)}.coffee-grid{border-top:2px solid;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.coffee-card{border-bottom:2px solid;border-left:2px solid;min-width:0}.coffee-card:nth-child(2n){border-right:2px solid}.coffee-card-image{background:#e9e5d8;justify-content:center;align-items:center;min-height:13rem;display:flex;overflow:hidden}.coffee-card-image img{aspect-ratio:1;object-fit:cover;width:100%;height:100%;transition:transform .18s;display:block}.coffee-card-image img.coffee-card-image-contain{object-fit:contain}.coffee-card-image:hover img{transform:scale(1.035)}.coffee-card-copy{padding:1rem 1rem 1.2rem}.coffee-card-brew,.coffee-card-roaster,.coffee-card-facts,.coffee-source-link{letter-spacing:.04em;font-family:Courier New,Courier,monospace;font-size:.68rem;font-weight:700}.coffee-card-brew{color:var(--lime);margin-bottom:1.25rem}.coffee-card-roaster{margin-bottom:.45rem}.coffee-card h3{letter-spacing:-.045em;margin-bottom:1.25rem;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1}.coffee-card-facts{margin-bottom:1rem;line-height:1.45}.coffee-card-notes{margin-bottom:1.4rem;font-size:.98rem;line-height:1.4}.coffee-source-link{border-bottom:1px solid;padding-bottom:.2rem;display:inline-block}.coffee-source-link:hover{color:var(--lime)}.coffee-empty-state{border-block:2px solid;grid-template-columns:minmax(5rem,.2fr) minmax(0,1fr);align-items:center;gap:1.5rem;padding:clamp(1.5rem,3vw,2.5rem) 0;display:grid}.coffee-empty-number{color:var(--lime);text-align:center;margin:0;font-size:clamp(3rem,6vw,5rem);line-height:1}.coffee-empty-state h3{letter-spacing:-.045em;margin-bottom:.6rem;font-size:clamp(1.6rem,3vw,2.6rem)}.coffee-empty-state p:not(.coffee-empty-number){max-width:39rem;margin-bottom:0;line-height:1.45}.coffee-gear{background:#efedff}.gear-grid{border-block:2px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.gear-category{border-left:2px solid var(--line);padding:1.1rem 1.25rem 1.75rem}.gear-category:last-child{border-right:2px solid var(--line)}.gear-category h3{color:var(--electric);letter-spacing:.05em;margin:0 0 2.25rem;font-family:Courier New,Courier,monospace;font-size:.76rem}.gear-category ul{margin:0;padding:0;list-style:none}.gear-category li{margin-bottom:1.6rem}.gear-category li:last-child{margin-bottom:0}.gear-category strong,.gear-category span{display:block}.gear-category strong{letter-spacing:-.035em;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.05}.gear-category span{margin-top:.45rem;font-family:Courier New,Courier,monospace;font-size:.73rem;line-height:1.35}.hobbies-hero,.hobbies-list{padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,5vw,5rem)}.hobbies-hero{background:var(--lime);border-bottom:2px solid var(--line)}.hobbies-hero h1{max-width:none}.hobbies-hero>p:not(.eyebrow){max-width:40rem;font-family:Courier New,Courier,monospace;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:700;line-height:1.4}.hobbies-list{background:var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.hobby-card{border:2px solid var(--line);color:var(--ink);flex-direction:column;min-height:clamp(20rem,31vw,28rem);padding:1.25rem;display:flex}.hobby-card:hover{box-shadow:8px 8px 0 var(--ink);transform:translate(-4px,-4px)}.hobby-card-topline{letter-spacing:.04em;justify-content:space-between;font-family:Courier New,Courier,monospace;font-size:.72rem;font-weight:700;display:flex}.hobby-card h2{max-width:none;margin:auto 0 1rem;font-size:clamp(2.2rem,4.2vw,4.5rem)}.hobby-card p{max-width:24rem;margin-bottom:0;font-size:1rem;line-height:1.45}.hobby-card-coffee{background:#efedff}.hobby-card-coffee .hobby-card-topline span:last-child{color:var(--electric)}.hobby-card-running{background:#ffcf6e}.hobby-card-outdoors{background:#b9e3c1}.hobby-card-music{background:#ffb9d2}footer{justify-content:space-between;align-items:center;padding:1rem clamp(1.25rem,5vw,5rem);font-size:.7rem;display:flex}.cv-page{background:var(--paper)}.cv-hero{background:var(--lime);border-bottom:2px solid var(--line);padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,5vw,5rem) 1.5rem}.cv-hero-grid{grid-template-columns:minmax(0,1fr) minmax(11.5rem,14rem);align-items:end;gap:2rem;display:grid}.cv-hero h1{max-width:none;font-size:clamp(2.8rem,6vw,6.2rem)}.cv-hero h1 span{display:block}.cv-summary{grid-column:1/-1;max-width:62rem;margin-bottom:0;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.42}.cv-actions{flex-direction:column;gap:.75rem;min-width:11.5rem;display:flex}.button{border:2px solid var(--line);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;padding:.8rem .9rem;font-family:Courier New,Courier,monospace;font-size:.78rem;font-weight:700;display:inline-flex}.button-primary{background:var(--ink);color:var(--paper)}.button-secondary{background:var(--paper);color:var(--ink)}.button:hover{background:var(--electric);color:#fff}.cv-meta{border-top:2px solid var(--line);letter-spacing:.025em;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:3rem;padding-top:1rem;font-family:Courier New,Courier,monospace;font-size:.73rem;font-weight:700;display:flex}.cv-meta a{text-underline-offset:.2rem;text-decoration:underline}.cv-section{padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,5vw,5rem)}.cv-section-heading{margin-bottom:3rem}.cv-section-heading h2,.cv-bottom-grid h2{max-width:none}.cv-disclosure{padding:0}.cv-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(2rem,5vw,4rem) clamp(1.25rem,5vw,5rem);list-style:none;display:flex}.cv-disclosure>summary::-webkit-details-marker{display:none}.cv-disclosure>summary .eyebrow{margin-bottom:.75rem;display:block}.cv-disclosure>summary h2{max-width:none;margin-bottom:0}.disclosure-toggle{letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid;flex:none;padding-bottom:.25rem;font-family:Courier New,Courier,monospace;font-size:.75rem;font-weight:700}.disclosure-open,.cv-disclosure[open] .disclosure-closed{display:none}.cv-disclosure[open] .disclosure-open{display:inline}.cv-disclosure-content{padding:0 clamp(1.25rem,5vw,5rem) clamp(3.5rem,8vw,7rem)}.capabilities{border-bottom:2px solid var(--line)}.capability-grid{border-top:2px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.capability{border-left:2px solid var(--line);padding:1rem 1.5rem 1.5rem}.capability:last-child{border-right:2px solid var(--line)}.capability>span{color:var(--electric);font-family:Courier New,Courier,monospace;font-size:.76rem;font-weight:700}.capability h3{letter-spacing:-.04em;margin:2rem 0 .75rem;font-size:clamp(1.35rem,2vw,1.8rem)}.capability p,.role li,.skill-copy,.cv-bottom-grid>div>p:not(.eyebrow):not(.education-school):not(.education-date){line-height:1.5}.agent-systems{border-bottom:2px solid var(--line);background:#efedff}.agent-definition{max-width:54rem;font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.45}.agent-case{border-block:2px solid var(--line);grid-template-columns:minmax(10rem,.32fr) 1fr;gap:1.5rem;margin-bottom:0;padding:1.25rem 0;display:grid}.agent-case p{letter-spacing:-.025em;max-width:52rem;margin:0;font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.38}.agent-case .agent-kicker{color:var(--electric);letter-spacing:.05em;text-transform:uppercase;font-family:Courier New,Courier,monospace;font-size:.75rem;font-weight:700}.agent-feedback{border:2px solid var(--line);margin:2.5rem 0 0;padding:1.25rem}.agent-feedback figcaption{letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:.75rem 1.5rem;font-family:Courier New,Courier,monospace;font-size:.74rem;font-weight:700;display:flex}.agent-feedback figcaption span:first-child{color:var(--electric)}.agent-feedback blockquote{letter-spacing:-.025em;max-width:62rem;margin:1.5rem 0 .85rem;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.43}.agent-feedback>p{margin:0;font-family:Courier New,Courier,monospace;font-size:.73rem}.experience{background:#fff}.experience-list{border-top:2px solid var(--line)}.role{border-bottom:2px solid var(--line);grid-template-columns:minmax(9rem,.35fr) 1fr;gap:2rem;padding:1.5rem 0;display:grid}.role-meta,.role-company,.education-date{letter-spacing:.04em;text-transform:uppercase;font-family:Courier New,Courier,monospace;font-size:.74rem;font-weight:700}.role-meta p{margin-bottom:.4rem}.role-company{color:var(--electric);margin-bottom:.6rem}.role h3{letter-spacing:-.05em;margin-bottom:1rem;font-size:clamp(1.5rem,2.6vw,2.4rem)}.role-intro{margin-bottom:1rem;font-size:1.05rem;line-height:1.45}.role ul{margin:0;padding-left:1.15rem}.role li{max-width:54rem;margin-bottom:.75rem}.role li:last-child{margin-bottom:0}.cv-bottom-grid{border-bottom:2px solid var(--line);grid-template-columns:1.35fr .65fr;gap:clamp(2rem,8vw,8rem);display:grid}.cv-bottom-grid h2{margin-bottom:2rem;font-size:clamp(2rem,3.7vw,3.7rem)}.skill-copy{max-width:42rem}.education-school{margin-bottom:.3rem;font-size:1.2rem;font-weight:700}.education-date{margin-top:1.5rem}.cv-contact{background:var(--ink);color:var(--paper);padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,5vw,5rem)}.cv-contact h2{max-width:none;font-size:clamp(2.8rem,6vw,6.2rem)}.email-link{border-bottom:2px solid var(--lime);color:var(--lime);padding-bottom:.35rem;font-family:Courier New,Courier,monospace;font-size:clamp(1rem,2vw,1.4rem);font-weight:700;display:inline-block}.email-link:hover{color:#fff}@media (max-width:620px){.site-nav{align-items:flex-start;gap:1rem}.nav-links{flex-wrap:wrap;justify-content:flex-end}.hero-grid{grid-template-columns:1fr}.portrait{max-width:12rem}.timeline{grid-template-columns:repeat(6,12rem)}.setup-figure figcaption{flex-direction:column;align-items:flex-start}.coffee-grid{grid-template-columns:1fr}.coffee-card{border-left:0}.coffee-card:nth-child(2n){border-right:0}.coffee-card-image{min-height:18rem}.coffee-empty-state{grid-template-columns:1fr}.coffee-empty-number{text-align:left}.gear-grid{grid-template-columns:1fr}.gear-category{border-bottom:2px solid var(--line);border-left:0;padding-inline:0}.gear-category:last-child{border-bottom:0;border-right:0}.hobbies-list{grid-template-columns:1fr}.hobby-card{min-height:16rem}footer{flex-direction:column;align-items:flex-start;gap:.5rem}.cv-hero-grid,.cv-bottom-grid{grid-template-columns:1fr}.cv-actions{max-width:17rem}.cv-disclosure>summary{align-items:flex-start;gap:1rem}.cv-disclosure>summary h2{font-size:clamp(1.8rem,9vw,3rem)}.disclosure-toggle{margin-top:1.55rem}.capability-grid{grid-template-columns:1fr}.capability{border-left:0;border-bottom:2px solid var(--line);padding-inline:0}.capability:last-child{border-bottom:0;border-right:0}.agent-case{grid-template-columns:1fr;gap:.65rem}.agent-feedback figcaption{flex-direction:column;align-items:flex-start;gap:.35rem}.role{grid-template-columns:1fr;gap:.5rem}}
