:root{--bg:#f8f7f4;--text:#1a1a1a;--text-light:#666;--accent:#1a1a1a;--border:#e0e0e0;--font:"IM Fell DW Pica",serif;--space-xs:8px;--space-sm:16px;--space-md:32px;--space-lg:64px;--space-xl:128px;--transition:0.2s ease}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;display:flex;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.logo{color:var(--text);font-size:2rem;font-weight:900;text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.logo:hover{opacity:.6}.nav{display:flex;gap:var(--space-md)}.nav a{color:var(--text);font-size:1.25rem;font-weight:700;text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.nav a:hover{opacity:.6}main{flex:1 1;margin:0 auto;max-width:1200px;padding:var(--space-lg);width:100%}.footer{color:var(--text-light);font-size:.875rem;padding:var(--space-md) var(--space-lg);text-align:center;text-transform:lowercase}@media (max-width:768px){.header{flex-direction:column;padding:var(--space-sm) var(--space-md)}.header,.nav{gap:var(--space-sm)}main{padding:var(--space-md)}.footer{padding:var(--space-sm) var(--space-md)}}@media (max-width:480px){.nav{flex-wrap:wrap;justify-content:center}}.home{margin:0 auto;max-width:720px;padding:var(--space-md)}.hero{border-bottom:2px solid var(--text);margin-bottom:var(--space-lg);padding:0 0 var(--space-lg) 0}.hero h1{font-size:6rem;font-weight:400;letter-spacing:-.03em;line-height:.9;margin-bottom:var(--space-md);text-transform:none}.letter{cursor:pointer;display:inline-block;font-weight:1000;margin:0 .05em;text-shadow:none;transition:transform .6s cubic-bezier(.34,1.56,.64,1),color 1.2s ease,text-shadow .6s ease}.letter:hover{font-weight:1000;text-shadow:1px 0 0 currentColor,-1px 0 0 currentColor,0 1px 0 currentColor,0 -1px 0 currentColor,1px 1px 0 currentColor,-1px -1px 0 currentColor,1px -1px 0 currentColor,-1px 1px 0 currentColor,2px 0 0 currentColor,-2px 0 0 currentColor,0 2px 0 currentColor,0 -2px 0 currentColor,2px 2px 0 currentColor,-2px -2px 0 currentColor,2px -2px 0 currentColor,-2px 2px 0 currentColor;transform:scale(1.6) rotate(8deg)}.hero p{color:var(--text);font-size:1.25rem;font-style:italic;font-weight:400;text-transform:none}.section{border-top:none;margin-bottom:0;padding:var(--space-lg) 0}.section:first-of-type{padding-top:0}.section h2{color:var(--text-light);font-size:1rem;font-weight:400;letter-spacing:.15em;margin:0 0 var(--space-md) 0;text-transform:uppercase}.section-content{color:var(--text);font-size:1.2rem;line-height:1.8}.section-content p{margin-bottom:var(--space-sm);text-indent:2em;text-transform:none}.section-content p:first-child{text-indent:0}.section-content p:first-child:first-letter{float:left;font-size:3.5rem;line-height:1;margin-right:.1em;margin-top:.05em}.section-content p:last-child{margin-bottom:0}.current-item{border-left:3px solid var(--text);margin-bottom:var(--space-md);padding-left:var(--space-md)}.current-item:last-child{margin-bottom:0}.current-header{align-items:baseline;display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.current-name{font-size:1.5rem;font-style:italic;font-weight:400;text-transform:none}.external-link{color:var(--text);font-size:1rem;opacity:.6;text-decoration:none;transition:opacity var(--transition)}.external-link:hover{opacity:1}.current-description{color:var(--text);font-size:1.1rem;line-height:1.6;margin:0;text-transform:none}.skills-grid{grid-gap:var(--space-sm) var(--space-lg);display:grid;gap:var(--space-sm) var(--space-lg);grid-template-columns:repeat(2,1fr)}.skill-tag{color:var(--text);font-size:1.1rem;font-weight:400;padding-left:1.5em;position:relative;text-transform:none;transition:opacity var(--transition)}.skill-tag:before{color:var(--text-light);content:"—";left:0;position:absolute}.skill-tag:hover{opacity:.6}.work-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.work-item{color:var(--text);display:block;text-decoration:none;transition:opacity var(--transition)}.work-item:hover{opacity:.7}.work-item:hover .work-title{font-style:italic}.work-item img{aspect-ratio:4/5;border:1px solid var(--border);margin-bottom:var(--space-sm);object-fit:cover;width:100%}.work-info{align-items:baseline;display:flex;gap:var(--space-sm);justify-content:space-between}.work-title{flex:1 1;font-size:1rem;font-weight:400;text-transform:none;transition:font-style var(--transition)}.work-year{color:var(--text-light);font-size:.85rem;font-style:italic}@media (max-width:768px){.home{padding:var(--space-sm)}.hero{margin-bottom:var(--space-md);padding:0 0 var(--space-md) 0}.hero h1{font-size:4rem}.hero p{font-size:1.1rem}.section{padding:var(--space-md) 0}.section-content{font-size:1.1rem}.section-content p:first-child:first-letter{font-size:3rem}.current-name{font-size:1.3rem}.skills-grid,.work-grid{grid-template-columns:1fr}.work-grid{gap:var(--space-md)}}@media (max-width:480px){.hero h1{font-size:3rem}.section-content{font-size:1rem}}.portfolio{margin:0 auto;max-width:1000px}.portfolio h1{font-size:3rem;font-weight:900;margin-bottom:var(--space-lg);text-transform:lowercase}.portfolio-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.portfolio-item{color:var(--text);display:block;text-decoration:none;transition:opacity var(--transition)}.portfolio-item:hover{opacity:.7}.portfolio-item img{aspect-ratio:1;margin-bottom:var(--space-xs);object-fit:cover;width:100%}.portfolio-info{align-items:baseline;display:flex;justify-content:space-between}.portfolio-title{font-size:1rem;font-weight:700;text-transform:lowercase}.portfolio-year{color:var(--text-light);font-size:.875rem}@media (max-width:768px){.portfolio h1{font-size:2.5rem}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.portfolio-grid{grid-template-columns:1fr}}.project-detail{margin:0 auto;max-width:700px;padding:var(--space-lg) 0}.back-link{color:var(--text-light);display:inline-block;font-size:1rem;font-weight:700;margin-bottom:var(--space-md);text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.back-link:hover{opacity:.6}.project-header{margin-bottom:var(--space-lg)}.project-header h1{font-size:3rem;font-weight:900;margin:0 0 var(--space-xs);text-transform:lowercase}.project-meta{color:var(--text-light);font-size:1rem;margin:0}.project-hero{margin-bottom:var(--space-lg)}.project-hero img{display:block;width:100%}.video-wrapper{height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.video-wrapper iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.project-description{margin-bottom:var(--space-lg)}.project-description p{font-size:1.25rem;line-height:1.7;margin:0}.project-tech{margin-bottom:var(--space-lg)}.project-tech h2{font-size:1.5rem;font-weight:900;margin-bottom:var(--space-sm);text-transform:lowercase}.tech-list{color:var(--text-light);font-size:1rem;margin:0}.project-gallery{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr;margin-bottom:var(--space-lg)}.project-gallery img{display:block;width:100%}.project-links{display:flex;gap:var(--space-md);padding-top:var(--space-md)}.project-links a{color:var(--text);font-size:1rem;font-weight:700;text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.project-links a:hover{opacity:.6}@media (max-width:768px){.project-header h1{font-size:2.5rem}.project-description p{font-size:1.125rem}}.contact{margin:0 auto;max-width:700px;padding:var(--space-lg) 0}.contact h1{font-size:3rem;font-weight:900;margin-bottom:var(--space-sm);text-transform:lowercase}.contact-text{color:var(--text-light);font-size:1.25rem;margin-bottom:var(--space-lg)}.contact-links{display:flex;flex-direction:column;gap:var(--space-sm)}.contact-link{color:var(--text);font-size:1.5rem;font-weight:700;text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.contact-link:hover{opacity:.6}@media (max-width:768px){.contact h1{font-size:2.5rem}.contact-link{font-size:1.25rem}}
/*# sourceMappingURL=main.3148fe8d.css.map*/