:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#000;--color-surface:#0d0d0d;--color-surface-raised:#141414;--color-text:#fff;--color-muted:#a3a3a3;--color-accent:#ffc94a;--color-border:#292929;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--font-sans:Arial, Helvetica, sans-serif;--text-small:.875rem;--text-base:1rem;--text-large:1.125rem;--text-heading:clamp(2rem, 4vw, 3rem);--text-hero:clamp(2.5rem, 7vw, 6rem);--leading-body:1.6;--leading-heading:1.08;--tracking-heading:-.045em;--radius-small:.25rem;--radius-medium:.75rem;--container-width:75rem;--container-gutter:clamp(1.25rem, 5vw, 4rem);--site-header-scroll-offset:8rem}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body,dd,dl,figure,h1,h2,h3,p,ul{margin:0}body{background:var(--color-background);min-width:20rem;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body)}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:.3em}:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px;border-radius:var(--radius-small)}::selection{background:var(--color-accent);color:var(--color-background)}.container{width:min(var(--container-width),calc(100% - var(--container-gutter)*2));margin-inline:auto}.skip-link{top:var(--space-4);left:var(--container-gutter);z-index:10;padding:var(--space-3) var(--space-4);transform:translateY(calc(-100% - var(--space-8)));background:var(--color-accent);color:var(--color-background);border-radius:var(--radius-small);position:absolute}.skip-link:focus{transform:translateY(0)}.site-header{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-4) var(--space-8);padding-block:var(--space-8);background:var(--color-background);flex-wrap:wrap;display:flex;position:sticky;top:0}.brand{letter-spacing:var(--tracking-heading);font-size:1.75rem;font-weight:700;text-decoration:none}.brand span{color:var(--color-accent)}.navigation{gap:var(--space-2) var(--space-8);flex-wrap:wrap;padding:0;list-style:none;display:flex}.navigation a{padding-block:var(--space-3);color:var(--color-muted);font-size:var(--text-base);text-decoration:none;display:inline-block}.navigation a.router-link-active:not([href^="/#"]),.navigation a:focus-visible,.navigation a:hover{color:var(--color-text);text-decoration:underline}.hero{padding-block:clamp(var(--space-16),10vw,var(--space-32))}.hero>.eyebrow{margin-bottom:clamp(var(--space-6),3vw,var(--space-8));font-size:.9375rem}.eyebrow{margin-bottom:var(--space-6);color:var(--color-muted);font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{font-weight:500;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}h1{font-size:var(--text-hero)}h1 span{color:var(--color-muted)}h2{font-size:var(--text-heading)}.case-study-intro,.hero-intro,.section-copy{max-width:42rem;margin-top:var(--space-6);color:var(--color-muted);font-size:var(--text-large)}.hero-intro{margin-top:clamp(var(--space-6),3vw,var(--space-8));font-size:clamp(var(--text-large),1.5vw,1.25rem);line-height:1.65}.back-link,.text-link{align-items:center;gap:var(--space-3);color:var(--color-accent);display:inline-flex}.text-link{margin-top:var(--space-8);padding-block:var(--space-3)}.hero .text-link{margin-top:clamp(var(--space-8),4vw,var(--space-12));font-size:1.0625rem;font-weight:500;text-decoration-thickness:1px}.hero .text-link:focus-visible,.hero .text-link:hover{text-decoration:underline}.back-link{margin-bottom:var(--space-16);color:var(--color-muted);font-size:var(--text-small);text-decoration:none}.back-link:focus-visible,.back-link:hover{color:var(--color-text);text-decoration:underline}.content-section{padding-block:var(--space-16);border-top:1px solid var(--color-border)}#main-content,.content-section{scroll-margin-top:var(--site-header-scroll-offset)}.work-section{min-height:20rem}.project-index{gap:clamp(var(--space-16),8vw,var(--space-32)) clamp(var(--space-6),4vw,var(--space-12));margin-top:clamp(var(--space-12),6vw,var(--space-24));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card{overflow-wrap:anywhere;min-width:0;text-decoration:none}.project-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:8px;border-radius:var(--radius-medium)}.project-card-media{aspect-ratio:16/10;background:var(--color-surface);border-radius:var(--radius-medium);overflow:hidden}.project-card-media img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card-copy{padding-top:clamp(var(--space-6),3vw,var(--space-8))}.project-card-heading{align-items:baseline;gap:var(--space-3);display:flex}.project-card h3{min-width:0;font-size:clamp(1.75rem,3vw,2.5rem)}.project-tags{margin-top:var(--space-3);color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.9375rem;line-height:1.5}.project-card-description{max-width:42ch;margin-top:var(--space-4);color:var(--color-muted)}.project-card:focus-visible h3,.project-card:hover h3{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){.project-card:hover .project-card-media img{transform:scale(1.025)}}#contact h2,.about-preview h2{max-width:46rem}.contact-links{gap:0 var(--space-8);flex-wrap:wrap;display:flex}.case-study-header{padding-block:clamp(var(--space-16),9vw,var(--space-32))}.case-study-header>.eyebrow{margin-bottom:var(--space-6);font-size:.9375rem}.case-study-title-row{align-items:start;gap:clamp(var(--space-8),6vw,var(--space-24));grid-template-columns:minmax(0,1fr) auto;display:grid}.case-study-header h1{max-width:58rem;font-size:clamp(3.25rem,8vw,6.5rem)}.case-study-intro{max-width:44rem;margin-top:clamp(var(--space-6),3vw,var(--space-8));font-size:clamp(var(--text-large),1.5vw,1.25rem);white-space:pre-line;line-height:1.7}.project-logo{-o-object-fit:cover;object-fit:cover;border-radius:1.2rem;width:clamp(4.5rem,9vw,7rem);height:clamp(4.5rem,9vw,7rem)}.case-study-cover,.work-gallery{--gallery-gutter:clamp(1rem, 3vw, 3rem);width:min(75rem,calc(100vw - var(--gallery-gutter)*2));position:relative;left:50%;transform:translate(-50%)}.case-study-cover{background:var(--color-surface);border-radius:var(--radius-medium);overflow:hidden}.case-study-cover img{width:100%;height:auto}.case-study-section{padding-block:clamp(var(--space-24),10vw,var(--space-32));border-top:1px solid var(--color-border)}.case-study-section:first-of-type{margin-top:clamp(var(--space-24),10vw,var(--space-32))}.case-study-copy,.gallery-heading{max-width:44rem}.case-study-section h2{font-size:clamp(2.25rem,4vw,3.5rem)}.case-study-copy h2+.section-copy,.gallery-heading h2{margin-top:var(--space-6)}.case-study-copy .section-copy{max-width:44rem;font-size:clamp(var(--text-large),1.5vw,1.25rem);line-height:1.75}.case-study-copy .section-copy+.section-copy{margin-top:var(--space-6)}.feature-list{gap:0 clamp(var(--space-8),5vw,var(--space-16));margin-top:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.feature-item{padding-block:var(--space-8) var(--space-12);border-top:1px solid var(--color-border)}.feature-item dt{font-size:1.375rem;font-weight:600;line-height:1.35}.feature-item dd{max-width:34rem;margin-top:var(--space-4);color:var(--color-muted);font-size:var(--text-large);line-height:1.75}.case-study-gallery-section{--case-study-gallery-gap:clamp(var(--space-8), 5vw, var(--space-16));padding-bottom:clamp(var(--space-16),8vw,var(--space-24))}.gallery-heading{margin-bottom:var(--case-study-gallery-gap)}.gallery-heading .eyebrow{margin-bottom:var(--space-4)}.work-gallery{gap:var(--case-study-gallery-gap,clamp(var(--space-8),5vw,var(--space-16)));grid-template-columns:minmax(0,1fr);display:grid}.work-panel{min-width:0}.work-panel img{width:100%;height:auto}.case-study-next{padding-top:clamp(var(--space-32),12vw,10rem);padding-bottom:clamp(var(--space-24),10vw,var(--space-32));border-top:1px solid var(--color-border)}.case-study-next>.eyebrow{margin-bottom:var(--space-8);letter-spacing:.1em;font-size:.8125rem}.case-study-next a{justify-content:space-between;align-items:baseline;gap:var(--space-8);font-size:clamp(2.25rem,6vw,5rem);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);text-decoration:none;display:flex}.case-study-next a:focus-visible span:first-child,.case-study-next a:hover span:first-child{text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:2px}.about-hero{align-items:center;gap:clamp(var(--space-8),6vw,var(--space-24));padding-block:clamp(var(--space-16),9vw,var(--space-32));grid-template-columns:minmax(0,1fr) auto;display:grid}.about-hero>div{min-width:0}.about-role{margin-top:var(--space-6);color:var(--color-muted);font-size:var(--text-large)}.profile-image{-o-object-fit:cover;object-fit:cover;border-radius:50%;justify-self:end;width:clamp(8rem,17vw,11rem);height:clamp(8rem,17vw,11rem)}.about-summary{gap:var(--space-8) clamp(var(--space-12),6vw,var(--space-24));grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.about-summary>.eyebrow{grid-column:1/-1}.about-summary .section-copy{max-width:40rem;font-size:clamp(var(--text-large),1.5vw,1.25rem);line-height:1.75}.about-summary .section-copy:first-child{margin-top:0}.about-summary .section-copy+.section-copy{margin-top:var(--space-6)}.experience-list{margin-top:var(--space-12);border-top:1px solid var(--color-border)}.experience-item{gap:clamp(var(--space-8),5vw,var(--space-16));padding-block:clamp(var(--space-12),5vw,var(--space-16));border-bottom:1px solid var(--color-border);grid-template-columns:minmax(10rem,.4fr) minmax(0,1.6fr);display:grid}.experience-meta{font-size:.9375rem;line-height:1.5}.education-item>p:last-child,.education-years,.experience-body li,.experience-description,.experience-meta{color:var(--color-muted)}.experience-body{max-width:46rem}.education-item h3,.experience-body h3,.skill-group h3{font-size:1.25rem}.experience-body h3{font-size:clamp(1.375rem,2vw,1.625rem)}.experience-company{margin-top:var(--space-1);color:var(--color-text);font-size:1.0625rem;font-weight:600}.experience-description{max-width:42rem;margin-top:var(--space-4);font-size:1.0625rem;line-height:1.7}.experience-body ul{gap:var(--space-4);max-width:44rem;margin-top:var(--space-8);padding-left:1.2rem;display:grid}.experience-body li{padding-left:var(--space-1);font-size:1.0625rem;line-height:1.7}.experience-body li::marker{color:var(--color-accent)}.education-grid,.skills-grid{gap:var(--space-6);margin-top:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.education-item{padding:var(--space-6) 0 var(--space-8)}.education-item,.skill-group{border-top:1px solid var(--color-border)}.skill-group{padding-top:var(--space-6)}.education-item h3{margin-top:var(--space-4)}.education-item>p:last-child{margin-top:var(--space-3)}.plain-list,.tag-list{padding:0;list-style:none}.tag-list{margin-top:var(--space-6);flex-wrap:wrap;gap:0;display:flex}.tag-list li{color:var(--color-muted);font-size:var(--text-base);line-height:1.8}.tag-list li:not(:last-child):after{content:"·";margin-inline:var(--space-3);color:var(--color-border)}.plain-list{margin-top:var(--space-8);font-size:var(--text-large);flex-wrap:wrap;line-height:1.7}.plain-list,.site-footer{gap:var(--space-6);color:var(--color-muted);display:flex}.site-footer{padding-block:var(--space-8);border-top:1px solid var(--color-border);font-size:var(--text-small);justify-content:space-between;align-items:center}.site-footer a{text-decoration:none}.site-footer a:focus-visible,.site-footer a:hover{color:var(--color-text);text-decoration:underline}@media (width<=48rem){.about-hero,.about-summary,.case-study-title-row,.education-grid,.experience-item,.feature-list,.project-index,.skills-grid{grid-template-columns:1fr}.project-logo{margin-top:var(--space-4);grid-row:auto;justify-self:start}.about-summary>.eyebrow{grid-column:auto}.about-summary h2{margin-bottom:var(--space-4)}.profile-image{justify-self:start}.experience-item{gap:var(--space-4)}}@media (width<=30rem){.site-header{gap:var(--space-2) var(--space-4);padding-block:var(--space-6)}.navigation{gap:var(--space-2)}.navigation a{padding:var(--space-3) .375rem;font-size:1.0625rem}.case-study-next>.eyebrow,.eyebrow{font-size:.9375rem;line-height:1.45}.case-study-intro,.hero-intro{font-size:1.1875rem;line-height:1.75}.hero .text-link{margin-left:calc(var(--space-1)*-1);padding:.875rem var(--space-1);font-size:1.125rem}.project-tags{font-size:var(--text-base);line-height:1.55}.project-card-description{font-size:1.0625rem;line-height:1.7}.about-summary{row-gap:var(--space-6)}.about-summary h2,.about-summary>.eyebrow{margin-bottom:0}.about-summary .section-copy{font-size:1.1875rem;line-height:1.8}.experience-item{gap:var(--space-6);padding-block:3.5rem}.experience-body li,.experience-description{line-height:1.75}.education-grid,.skills-grid{gap:var(--space-8)}.education-item>p:last-child,.education-years,.tag-list li{font-size:1.0625rem;line-height:1.75}.back-link{margin-bottom:calc(var(--space-16) - var(--space-3));margin-left:calc(var(--space-2)*-1);padding:var(--space-3) var(--space-2);font-size:.9375rem}.project-logo{margin-top:0}.feature-item dd{margin-top:.875rem;line-height:1.8}.case-study-next a{gap:var(--space-4);margin-block:calc(var(--space-3)*-1);padding-block:var(--space-3)}.case-study-next a span:first-child{overflow-wrap:anywhere;min-width:0}.site-footer{flex-direction:column;align-items:flex-start}.site-footer a{margin-block:calc(var(--space-3)*-1);padding-block:var(--space-3)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card .project-card-media img{transition:none;transform:none}}
