:root{
 --color-bg:oklch(0.22 .012 252);--color-surface:oklch(.255 .016 252);--color-text:oklch(.94 .009 85);--color-text-muted:oklch(.75 .015 252);--color-primary:oklch(.78 .075 250);--color-border:oklch(.94 .009 85 / .16);--color-surface-offset:oklch(.30 .02 252);
 --font-body:'Satoshi',Arial,sans-serif;--font-display:'Boska',Georgia,serif;
 --text-xs:clamp(.75rem,.72rem + .15vw,.8125rem);--text-sm:clamp(.875rem,.84rem + .15vw,.9375rem);--text-base:clamp(1rem,.96rem + .2vw,1.0625rem);--text-lg:clamp(1.125rem,1rem + .55vw,1.5rem);--text-xl:clamp(1.75rem,1.3rem + 1.2vw,2.5rem);--text-hero:clamp(4rem,1.8rem + 5.3vw,7rem);
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:2px
}
.wrap{width:min(1200px,calc(100% - var(--space-16)));margin-inline:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;min-height:100px;border-bottom:1px solid var(--color-border);gap:var(--space-6)}
.wordmark{font-size:var(--text-lg);font-weight:700;letter-spacing:-.04em;padding-block:var(--space-3)}
.wordmark span,h1 span{color:var(--color-primary)}
nav{display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-sm)}
nav a{padding-block:var(--space-3)}nav a:last-child{color:var(--color-primary)}
a:hover,button:hover{color:var(--color-primary)}
.skip-link{position:absolute;left:var(--space-4);top:-100px;padding:var(--space-3);background:var(--color-text);color:var(--color-bg);z-index:10}.skip-link:focus{top:var(--space-4)}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-20);align-items:center;padding-block:var(--space-16) var(--space-20)}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:500;font-size:var(--text-xs);color:var(--color-primary);margin-bottom:var(--space-5)}
h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:400;letter-spacing:-.055em;white-space:nowrap;line-height:1.07;margin-bottom:var(--space-8)}
.hero-statement{font-size:var(--text-xl);line-height:1.2;letter-spacing:-.025em;margin-bottom:var(--space-6)}
.hero-description{color:var(--color-text-muted);max-width:45ch}
.hero-actions{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-8);font-size:var(--text-sm)}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-6);min-height:52px;border-radius:var(--radius-sm);font-weight:700}
.primary{background:var(--color-primary);color:var(--color-bg)}.primary:hover{background:var(--color-text);color:var(--color-bg)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-sm)}
.hero-footnote{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-8)}
.portrait{align-self:start;position:relative;padding:var(--space-3);border:1px solid var(--color-border)}
.portrait img{width:100%;height:510px;object-fit:cover;object-position:50% 28%;background:var(--color-surface-offset)}
.portrait figcaption{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs)}
.section{padding-block:var(--space-20)}
h2{font-size:var(--text-xl);font-weight:500;letter-spacing:-.035em}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:end;margin-bottom:var(--space-12)}
.section-heading>p{color:var(--color-text-muted);max-width:45ch}
.experience{border-top:1px solid var(--color-border)}
.job{border-top:1px solid var(--color-border)}.job:last-child{border-bottom:1px solid var(--color-border)}
.job summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:230px 1fr 28px;align-items:start;gap:var(--space-6);padding-block:var(--space-8)}
.job summary::-webkit-details-marker{display:none}
.job-date{font-size:var(--text-sm);color:var(--color-text-muted);padding-top:var(--space-1)}
.job-heading{display:grid;gap:var(--space-2)}
.job-heading strong{font-size:var(--text-lg);font-weight:500;line-height:1.3}
.job-heading>span{font-size:var(--text-sm);color:var(--color-text-muted)}
.job summary:hover .job-heading strong{color:var(--color-primary)}
.expand{width:24px;height:24px;position:relative;margin-top:var(--space-1)}
.expand::before,.expand::after{content:"";position:absolute;background:var(--color-primary);left:4px;right:4px;top:11px;height:1px}.expand::after{transform:rotate(90deg)}
details[open] .expand::after{transform:rotate(0)}
.job-content{padding:0 var(--space-12) var(--space-8) calc(230px + var(--space-6));color:var(--color-text-muted)}
.job-content ul{margin-top:var(--space-4);padding-left:var(--space-5)}.job-content li{padding-left:var(--space-1);margin-block:var(--space-2)}
.skills-line{font-size:var(--text-xs);color:var(--color-primary);margin-top:var(--space-6)}.skills-line span{padding-inline:var(--space-2)}
.about-band{background:var(--color-surface);margin-block:var(--space-4) var(--space-8)}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-24);padding-block:var(--space-20)}
.about-intro>p:not(.eyebrow){color:var(--color-text-muted);margin-top:var(--space-6)}
.education{border-left:1px solid var(--color-border);padding-left:var(--space-12)}
h3{font-size:var(--text-lg);font-weight:500;line-height:1.35;margin-bottom:var(--space-4)}
.meta{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}
.education-detail{margin-top:var(--space-6)}
.education-detail>span{font-size:var(--text-xs);color:var(--color-text-muted)}
.education-detail>p{margin-top:var(--space-1)}
.strengths{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-20)}
.strengths-list>div{padding-block:var(--space-6);border-top:1px solid var(--color-border)}
.strengths-list>div:first-child{padding-top:0;border:0}
dt{font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-2)}
dd{color:var(--color-text-muted)}
.coffee{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-20);background:var(--color-surface);padding:var(--space-16);margin-block:var(--space-4) var(--space-12)}
.coffee-label{display:flex;flex-direction:column;justify-content:center}
.personal-photo img{width:100%;height:auto;background:var(--color-surface-offset)}
.coffee-copy>p{margin-top:var(--space-6);color:var(--color-text-muted)}
.coffee-note{display:block;font-size:var(--text-xs);color:var(--color-primary);margin-top:var(--space-8)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:center}
.contact h2{margin-bottom:var(--space-5)}.contact>div>p:not(.eyebrow){color:var(--color-text-muted);max-width:40ch}
.email-link{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);border-bottom:1px solid var(--color-border);font-size:var(--text-xl);letter-spacing:-.04em}
.secondary-contact{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4)}
.copy-button{font-size:var(--text-sm);min-height:44px;padding-inline:var(--space-2);color:var(--color-text-muted);text-decoration:underline;text-underline-offset:4px}
.profile-url,.copy-status{font-size:var(--text-xs);color:var(--color-text-muted)}.copy-status{min-height:1.6em;margin-top:var(--space-2)}
footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-8);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted)}footer a{padding-block:var(--space-3)}
.img-fallback{height:510px;display:grid;place-items:center;background:var(--color-surface-offset);color:var(--color-text-muted);padding:var(--space-8)}
@media(min-width:1600px){.hero{padding-block:var(--space-20) var(--space-24)}}
@media(max-width:1000px){
 .hero{gap:var(--space-10);grid-template-columns:1.2fr 1fr}h1{font-size:clamp(3.5rem,7vw,5.5rem)}.portrait img{height:460px}.portrait figcaption{display:block}.portrait figcaption span{display:block}.hero-actions{gap:var(--space-3)}.about-grid{gap:var(--space-12)}.education{padding-left:var(--space-8)}.job summary{grid-template-columns:180px 1fr 24px}.job-content{padding-left:calc(180px + var(--space-6))}.coffee{padding:var(--space-10);gap:var(--space-12)}.contact{gap:var(--space-10)}
}
@media(max-width:760px){
 .wrap{width:calc(100% - var(--space-10))}.site-header{min-height:84px;gap:var(--space-3)}.wordmark{font-size:var(--text-base)}nav{gap:var(--space-4);font-size:var(--text-xs)}nav a:last-child{display:none}
 .hero{grid-template-columns:1fr;gap:var(--space-10);padding-block:var(--space-12)}h1{font-size:var(--text-hero);margin-bottom:var(--space-6)}.hero-description{max-width:50ch}.hero-footnote{margin-top:var(--space-6)}.hero-statement{font-size:var(--text-xl)}.hero-actions{gap:var(--space-5)}.portrait{width:100%}.portrait img{height:auto;aspect-ratio:4/4.5;object-position:center 24%}.portrait figcaption{display:flex;flex-wrap:wrap}.portrait figcaption span{display:inline}
 .section{padding-block:var(--space-12)}.section-heading{grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-8)}.job summary{grid-template-columns:1fr 24px;gap:var(--space-3);padding-block:var(--space-6)}.job-date{grid-column:1}.job-heading{grid-column:1}.expand{grid-column:2;grid-row:1/3;align-self:center}.job-content{padding:0 0 var(--space-6)}.job-heading strong{font-size:var(--text-lg)}
 .about-grid{grid-template-columns:1fr;gap:var(--space-12);padding-block:var(--space-12)}.education{border-left:0;border-top:1px solid var(--color-border);padding-left:0;padding-top:var(--space-8)}.strengths{grid-template-columns:1fr;gap:var(--space-8)}
 .coffee{grid-template-columns:1fr;padding:var(--space-8);gap:var(--space-10);margin-block:var(--space-4) var(--space-6)}.coffee-word{font-size:var(--text-hero)}.coffee-label{gap:var(--space-4)}.coffee-label .eyebrow{margin-bottom:0}.contact{grid-template-columns:1fr;gap:var(--space-6)}.email-link{font-size:var(--text-xl)}footer{flex-wrap:wrap;gap:var(--space-3)}footer p:nth-child(2){display:none}.desktop-break{display:none}
}
