:root{--color-white:#fff;--color-black:#000;--color-accent:#f03;--font-body:"Switzer", sans-serif;--font-display:"Khand", sans-serif;--text-xs:.75rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-md:1.25rem;--text-lg:1.5rem;--text-xl:clamp(2rem, 4vw, 3.25rem);--text-hero:clamp(4.25rem, 16vw, 11.5rem);--leading-tight:.9;--leading-snug:1.15;--leading-body:1.7;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6.5rem;--space-7:9rem;--width-content:72rem;--width-copy:38rem;--gutter:clamp(1.25rem, 4vw, 3.5rem);--border:1px solid var(--color-black);--transition:.18s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-white);color:var(--color-black);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.skip-link{left:var(--gutter);z-index:200;background:var(--color-black);color:var(--color-white);font-size:var(--text-sm);padding:.65rem 1rem;text-decoration:none;position:absolute;top:0;transform:translateY(-120%)}.skip-link:focus{transform:translateY(.75rem)}.wrap{width:min(100%, var(--width-content));padding-inline:var(--gutter);margin-inline:auto}.site-header{z-index:100;background:var(--color-white);border-bottom:var(--border);position:sticky;top:0}.site-header.is-open .nav-toggle__icon{background:0 0}.site-header.is-open .nav-toggle__icon:before{top:0;transform:rotate(45deg)}.site-header.is-open .nav-toggle__icon:after{top:0;transform:rotate(-45deg)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:4.25rem;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:1.5rem;font-weight:700;line-height:1;text-decoration:none}.wordmark:hover{color:var(--color-accent)}.site-nav{gap:1.5rem;display:flex}.site-nav a{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;position:relative}.site-nav a:after{content:"";background:var(--color-accent);transform-origin:0;width:100%;height:1px;transition:transform var(--transition);position:absolute;bottom:-.2rem;left:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform:scaleX(1)}.site-nav a[aria-current=page]{color:var(--color-accent)}.nav-toggle{cursor:pointer;background:0 0;border:0;width:2.75rem;height:2.75rem;padding:0;display:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-toggle__icon,.nav-toggle__icon:before,.nav-toggle__icon:after{background:var(--color-black);width:1.25rem;height:1px;transition:transform var(--transition), top var(--transition), background var(--transition);display:block;position:relative}.nav-toggle__icon:before,.nav-toggle__icon:after{content:"";position:absolute;left:0}.nav-toggle__icon:before{top:-6px}.nav-toggle__icon:after{top:6px}.hero{padding-block:clamp(4rem, 12vw, 8.5rem) var(--space-6)}.hero__label{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--space-4);align-items:center;gap:.75rem;display:flex}.hero__label:before{content:"";background:var(--color-accent);width:2rem;height:2px}.hero__name{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;line-height:var(--leading-tight);letter-spacing:-.02em;text-transform:uppercase;margin:0}.hero__name span{display:block}.hero__name em{color:var(--color-accent);font-style:normal}.hero__statement{font-family:var(--font-display);font-size:clamp(1.75rem,3.4vw,2.75rem);font-weight:700;line-height:var(--leading-snug);max-width:18ch;margin:var(--space-4) 0 0}.hero__support{max-width:var(--width-copy);margin:var(--space-3) 0 0;font-size:var(--text-md)}.section{padding-block:var(--space-6);border-top:var(--border)}.section--compact{padding-block:var(--space-5)}.section-index{font-family:var(--font-display);color:var(--color-accent);letter-spacing:.08em;margin-bottom:var(--space-2);font-size:1.25rem;font-weight:700;display:block}.section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:var(--leading-tight);text-transform:uppercase;margin:0 0 var(--space-4);max-width:16ch}.lede,.prose p{max-width:var(--width-copy);margin:0 0 var(--space-3)}.prose p:last-child{margin-bottom:0}.stack,.about-grid{gap:var(--space-5);display:grid}.about-grid .section-title{max-width:none}@media (width>=800px){.about-grid{gap:var(--space-4) var(--space-5);grid-template-columns:minmax(8rem,12rem) 1fr}.about-grid .section-title{margin-bottom:0}}.cta-row{gap:var(--space-3) var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.text-link{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--color-black);transition:color var(--transition), border-color var(--transition);align-items:center;gap:.4rem;padding-bottom:.15rem;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.project-list{gap:0;display:grid}.project-item{gap:var(--space-3);padding-block:var(--space-5);border-top:var(--border);text-decoration:none;display:grid}.project-item:last-child{border-bottom:var(--border)}.project-item:hover .project-item__title{color:var(--color-accent)}.project-item__meta{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;gap:.35rem 1rem;display:flex}.project-item__index{color:var(--color-accent);font-family:var(--font-display);letter-spacing:.08em;font-weight:700}.project-item__title{font-family:var(--font-display);font-size:clamp(2.25rem,6vw,4.5rem);font-weight:700;line-height:var(--leading-tight);text-transform:uppercase;transition:color var(--transition);margin:0}.project-item__excerpt{max-width:var(--width-copy);margin:0}.project-item__media{border:var(--border);overflow:hidden}.project-item__media img{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform .4s}.project-item:hover .project-item__media img{transform:scale(1.02)}@media (width>=900px){.project-item{align-items:end;gap:var(--space-5);grid-template-columns:1.1fr .9fr}.project-item--flip .project-item__body{order:2}}.project-page__header{padding-block:var(--space-6) var(--space-5)}.project-page__title{font-family:var(--font-display);font-size:clamp(3.5rem,10vw,7rem);font-weight:700;line-height:var(--leading-tight);text-transform:uppercase;margin:var(--space-3) 0}.project-page__meta{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.project-page__figure{margin:0 0 var(--space-5);border:var(--border)}.project-page__figure img{aspect-ratio:16/9;object-fit:cover;width:100%}.site-footer{border-top:var(--border);padding-block:var(--space-5)}.site-footer__inner{gap:var(--space-4);display:grid}.site-footer__name{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:1.75rem;font-weight:700}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--color-accent)}.site-footer__links{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:.75rem 1.5rem;display:flex}.site-footer__copy{font-size:var(--text-sm);margin:0}.error-page{min-height:calc(100vh - 12rem);padding-block:var(--space-6);align-content:center;display:grid}.error-page__code{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;line-height:var(--leading-tight);color:var(--color-accent);margin:0}.error-page p{font-size:var(--text-md);max-width:28ch}@media (width<=720px){.nav-toggle{place-items:center;display:grid}.site-nav{background:var(--color-white);border-bottom:var(--border);padding:var(--space-2) var(--gutter) var(--space-3);flex-direction:column;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.site-header.is-open .site-nav{display:flex}.site-nav a{padding-block:.85rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
