:root{--color-bg:#0d0d0d;--color-fg:#fff;--color-fg-muted:#b3b3b3;--color-card-bg:#fff;--color-card-fg:#0d0d0d;--color-accent:#0d0d0d;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--max-width:1200px;--text-display:clamp(2rem, 5vw, 3.25rem);--text-h1:clamp(1.5rem, 2.5vw, 2rem);--text-h2:1.5rem;--text-h3:1.05rem;--text-lead:1.15rem;--text-subheadline:1.05rem;--text-body:.95rem;--text-body-sm:.9rem;--text-caption:.85rem;--text-eyebrow:.75rem;--text-tiny:.65rem;--weight-regular:400;--weight-semibold:600;--weight-bold:700;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.6;--tracking-tight:-.01em;--tracking-wide:.06em}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-fg);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}#root{width:100%}.home{max-width:var(--max-width);flex-direction:column;gap:3.5rem;margin:0 auto;padding:2rem 1.5rem;display:flex}@media (width>=900px){.home{gap:5rem;padding:3rem}}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar__profile{align-items:center;gap:.75rem;display:flex}.topbar__avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.topbar__name{font-weight:var(--weight-semibold);font-size:var(--text-body)}.topbar__links{gap:1.5rem;display:flex}.topbar__links a{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--color-fg-muted);align-items:center;gap:.3rem;display:inline-flex}.topbar__links a:hover{color:var(--color-fg)}.hero{max-width:960px}.hero__headline{font-size:var(--text-display);line-height:var(--leading-tight);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0 0 1.5rem}.hero__headline-muted{color:var(--color-fg-muted)}.hero__subhead{font-size:var(--text-subheadline);font-weight:var(--weight-regular);color:var(--color-fg-muted);line-height:var(--leading-normal);max-width:820px;margin:0 0 2rem}.hero__cta{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);border:1px solid #3a3a3a;border-radius:999px;padding:.9rem 1.75rem;transition:background .15s,border-color .15s;display:inline-block}.hero__cta:hover{background:#1a1a1a;border-color:#565656}.selected-projects__label{font-size:var(--text-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-muted);margin:0 0 1.5rem}.selected-projects__grid{grid-template-columns:1fr;gap:2rem 1.5rem;display:grid}@media (width>=640px){.selected-projects__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1080px){.selected-projects__grid{grid-template-columns:repeat(3,1fr)}}.project-card{color:inherit;display:block}.project-card__media{border-radius:1rem;margin-bottom:1rem;overflow:hidden}.project-card__image{aspect-ratio:4/3;object-fit:cover;width:100%}.project-card:is(a):hover .project-card__media{opacity:.9}.project-card--static .project-card__media{opacity:.85}.project-card--static{cursor:default}.project-card__meta{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.project-card__title{font-size:var(--text-h3);font-weight:var(--weight-bold);margin:0}.project-card:is(a):hover .project-card__title{color:var(--color-fg-muted)}.project-card__badge{font-size:var(--text-tiny);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:#0d0d0d;white-space:nowrap;background:#e2574c;border-radius:999px;padding:.2rem .55rem}.project-card__description{font-size:var(--text-body-sm);color:var(--color-fg-muted);line-height:var(--leading-normal);margin:0}.selected-projects__toggle{color:var(--color-fg);font:inherit;font-weight:var(--weight-semibold);font-size:var(--text-body-sm);cursor:pointer;background:0 0;border:1px solid #3a3a3a;border-radius:999px;align-items:center;gap:.4rem;margin-top:2rem;padding:.9rem 1.75rem;transition:background .15s,border-color .15s;display:inline-flex}.selected-projects__toggle:hover{background:#1a1a1a;border-color:#565656}.about-preview{grid-template-columns:1fr;align-items:center;gap:2rem;display:grid}@media (width>=700px){.about-preview{grid-template-columns:1fr 1fr;gap:2.5rem}}.about-preview__media{border-radius:1.25rem;overflow:hidden}.about-preview__photo{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.about-preview__content{max-width:520px}.about-preview__label{font-size:var(--text-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-muted);margin:0 0 1.25rem}.about-preview__text{font-size:var(--text-lead);color:var(--color-fg);line-height:var(--leading-relaxed);margin:0 0 1.5rem}.about-preview__link{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);border:1px solid #3a3a3a;border-radius:999px;align-items:center;gap:.4rem;padding:.9rem 1.75rem;transition:background .15s,border-color .15s;display:inline-flex}.about-preview__link:hover{background:#1a1a1a;border-color:#565656}.about-page{max-width:var(--max-width);flex-direction:column;gap:2rem;margin:0 auto;padding:2rem 1.5rem;display:flex}@media (width>=900px){.about-page{padding:3rem}}.about-page__row{flex-direction:column;gap:2rem;display:flex}@media (width>=900px){.about-page__row{flex-direction:row;align-items:flex-start;gap:3rem}}.about-page__content{flex-direction:column;gap:3.5rem;width:100%;display:flex}@media (width>=900px){.about-page__content{gap:5rem;width:55%}}.about-page__media{border-radius:1.25rem;width:100%;overflow:hidden}@media (width>=900px){.about-page__media{width:45%;height:calc(100vh - 9rem);position:sticky;top:3rem}}.about-page__media img{aspect-ratio:4/5;object-fit:cover;width:100%;height:100%;display:block}.about-page__back{color:var(--color-fg-muted);font-size:var(--text-body-sm);align-self:flex-start;align-items:center;gap:.4rem;display:inline-flex}.about-page__back:hover{color:var(--color-fg)}.about-page__headline{font-size:var(--text-h1);line-height:var(--leading-snug);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0}.about-page__label{font-size:var(--text-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-muted);margin:0 0 1.25rem}.about-page__intro p{font-size:var(--text-body);color:var(--color-fg-muted);line-height:var(--leading-relaxed);margin:0 0 1.25rem}.about-page__intro p:first-of-type{font-size:var(--text-lead);color:var(--color-fg)}.about-page__intro p:last-child{margin-bottom:0}.about-page__section{max-width:720px}.about-page__entry{border-bottom:1px solid #262626;margin-bottom:1rem;padding-bottom:1rem}.about-page__entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.about-page__entry-title{font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-fg);margin:0 0 8px}.about-page__entry-title a{text-underline-offset:2px;text-decoration:underline}.about-page__entry-description,.about-page__entry-list{font-size:var(--text-caption);line-height:var(--leading-normal);color:var(--color-fg-muted);margin:-4px 0 8px}.about-page__entry-list{padding-left:1.1rem}.about-page__entry-list li{margin-bottom:4px}.about-page__entry-list li:last-child{margin-bottom:0}.about-page__entry-dates{font-size:var(--text-caption);line-height:var(--leading-snug);color:var(--color-fg-muted);margin:0}.about-page__location{font-size:var(--text-body);color:var(--color-fg);margin:0 0 1.5rem}.about-page__email{font-size:var(--text-body);font-weight:var(--weight-semibold);margin-bottom:1.5rem;display:inline-block}.about-page__contact-row{flex-wrap:wrap;gap:1.5rem;display:flex}.about-page__contact-row a{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);border:1px solid #3a3a3a;border-radius:999px;align-items:center;gap:.4rem;padding:.9rem 1.75rem;transition:background .15s,border-color .15s;display:inline-flex}.about-page__contact-row a:hover{background:#1a1a1a;border-color:#565656}.case-study{flex-direction:column;gap:3rem;max-width:1040px;margin:0 auto;padding:2rem 1.5rem;display:flex}@media (width>=900px){.case-study{gap:4rem;padding:3rem}}.case-study__back{color:var(--color-fg-muted);font-size:var(--text-body-sm);align-self:flex-start;align-items:center;gap:.4rem;display:inline-flex}.case-study__back:hover{color:var(--color-fg)}.case-study__hero{flex-direction:column;gap:1.5rem;display:flex}.case-study__eyebrow{font-size:var(--text-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-muted);margin:0}.case-study__title{font-size:var(--text-h1);line-height:var(--leading-snug);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0}.case-study__meta{grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem;margin:1rem 0 0;display:grid}@media (width>=640px){.case-study__meta{grid-template-columns:repeat(4,auto)}}.case-study__meta-item dt{font-size:var(--text-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-muted);margin:0 0 .4rem}.case-study__meta-item dd{font-size:var(--text-body-sm);color:var(--color-fg);margin:0}.case-study__media{border:1px solid #2a2a2a;border-radius:1.25rem;overflow:hidden}.case-study__media img{width:100%;display:block}.case-study__figure{margin:0}.case-study__caption{font-size:var(--text-body-sm);color:var(--color-fg-muted);line-height:var(--leading-relaxed);max-width:640px;margin:.75rem 0 0}.case-study__caption--above{margin:0 0 .25rem}.case-study__gallery,.case-study__gallery-row{flex-direction:column;gap:1rem;display:flex}@media (width>=640px){.case-study__gallery-row{flex-direction:row;align-items:flex-start}}.case-study__gallery-item{min-width:0;margin:0}.case-study__gallery-item img{height:auto}.case-study__link{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);border:1px solid #3a3a3a;border-radius:999px;align-items:center;gap:.4rem;margin-top:1.5rem;padding:.75rem 1.5rem;transition:background .15s,border-color .15s;display:inline-flex}.case-study__link:hover{background:#1a1a1a;border-color:#565656}.case-study__video{aspect-ratio:16/9;background:#000;border-radius:1.25rem;width:100%;position:relative;overflow:hidden}.case-study__video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.case-study__label{font-size:var(--text-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-muted);margin:0 0 1rem}.case-study__section p{font-size:var(--text-lead);color:var(--color-fg);line-height:var(--leading-relaxed);max-width:860px;margin:0}.case-study__section p+p,.case-study__section p+.case-study__list{margin-top:1rem}.case-study__list{font-size:var(--text-lead);color:var(--color-fg);line-height:var(--leading-relaxed);max-width:860px;margin:0;padding-left:1.3rem}@media (width>=640px){.case-study__list--columns{grid-template-columns:repeat(2,1fr);column-gap:2rem;display:grid}}.case-study__list--small{font-size:var(--text-body-sm)}.case-study__list li{margin-bottom:.4rem}.case-study__list li:last-child{margin-bottom:0}.case-study__closing{font-size:var(--text-lead);font-weight:var(--weight-semibold);color:var(--color-fg);line-height:var(--leading-relaxed);text-align:center;max-width:860px;margin:0 auto;padding:1rem 0}.case-study__more{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);border:1px solid #3a3a3a;border-radius:999px;align-self:center;align-items:center;gap:.4rem;padding:.9rem 1.75rem;transition:background .15s,border-color .15s;display:inline-flex}.case-study__more:hover{background:#1a1a1a;border-color:#565656}.site-footer{text-align:center;margin-top:3rem}@media (width>=900px){.site-footer{margin-top:4rem}}.site-footer p{color:var(--color-fg-muted);font-size:var(--text-caption);margin:0}
