.section-heading[data-astro-cid-ypavld2q]{gap:var(--space-s);flex-direction:column;display:flex}.section-heading[data-astro-cid-ypavld2q][data-size=large] .section-heading__title[data-astro-cid-ypavld2q]{font-size:var(--h1)}.list-header[data-astro-cid-xsfuzkrw]{justify-content:space-between;align-items:baseline;gap:var(--space-s);border-block-end:var(--border-strong);padding-block-end:var(--space-s);display:flex}.project-card[data-astro-cid-y2vllrex]{gap:var(--space-s);flex-direction:column;display:flex}.project-card__media[data-astro-cid-y2vllrex]{aspect-ratio:1;background:var(--white);cursor:zoom-in;border:0;border-radius:0;inline-size:100%;padding:0;display:block;overflow:hidden}.project-card[data-astro-cid-y2vllrex][data-variant=logo] .project-card__media[data-astro-cid-y2vllrex]{aspect-ratio:3/2}.project-card__media[data-astro-cid-y2vllrex]:focus-visible{outline:var(--focus-width) var(--focus-style) var(--focus-color);outline-offset:var(--focus-offset)}.project-card__image[data-astro-cid-y2vllrex]{object-fit:cover;block-size:100%;inline-size:100%;transition:scale var(--motion-duration) var(--motion-ease);display:block}.project-card[data-astro-cid-y2vllrex][data-variant=logo] .project-card__image[data-astro-cid-y2vllrex]{object-fit:contain}.project-card__media[data-astro-cid-y2vllrex]:hover .project-card__image[data-astro-cid-y2vllrex]{scale:1.04}@media (prefers-reduced-motion:reduce){.project-card__image[data-astro-cid-y2vllrex]{transition:none}}.project-card__meta[data-astro-cid-y2vllrex]{justify-content:space-between;align-items:baseline;gap:var(--space-s);display:flex}.project-card__title[data-astro-cid-y2vllrex]{gap:var(--space-s);display:flex}.project-card__code[data-astro-cid-y2vllrex]{color:var(--primary)}.lightbox[data-astro-cid-utnzf2kr]{inline-size:min(100vw - 2 * var(--site-padding), 72rem);block-size:min(100dvh - 2 * var(--site-padding), 60rem);max-block-size:none;max-inline-size:none;padding:var(--space-s);background:var(--theme-bg);color:var(--theme-fg);gap:var(--space-s);border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto}.lightbox[data-astro-cid-utnzf2kr]:popover-open{display:grid}.lightbox[data-astro-cid-utnzf2kr]::backdrop{background:var(--base-80)}.lightbox__top[data-astro-cid-utnzf2kr]{justify-content:space-between;align-items:center;gap:var(--space-s);display:flex}.lightbox__close[data-astro-cid-utnzf2kr]{inline-size:var(--tap-target);block-size:var(--tap-target);color:inherit;font-size:var(--text-xxl);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:static}.lightbox__viewport[data-astro-cid-utnzf2kr]{overscroll-behavior:contain;background:var(--white);min-block-size:0;position:relative;overflow-y:auto}.lightbox[data-astro-cid-utnzf2kr][data-variant=fit] .lightbox__viewport[data-astro-cid-utnzf2kr]{background:var(--neutral-100);overflow:hidden}.lightbox__viewport[data-astro-cid-utnzf2kr]:focus-visible{outline:var(--focus-width) var(--focus-style) var(--focus-color);outline-offset:var(--focus-offset)}.lightbox__image[data-astro-cid-utnzf2kr]{block-size:auto;inline-size:100%;display:block}.lightbox[data-astro-cid-utnzf2kr][data-variant=fit] .lightbox__image[data-astro-cid-utnzf2kr]{inline-size:calc(100% - 2 * var(--space-l));block-size:calc(100% - 2 * var(--space-l));object-fit:contain;position:absolute;inset-block-start:var(--space-l);inset-inline-start:var(--space-l)}.lightbox__bar[data-astro-cid-utnzf2kr]{align-items:center;gap:var(--space-s);grid-template-columns:auto 1fr auto;display:grid}.lightbox__caption[data-astro-cid-utnzf2kr]{text-align:center}.lightbox__nav[data-astro-cid-utnzf2kr]{inline-size:var(--tap-target);block-size:var(--tap-target);border:var(--border-width) solid currentColor;color:inherit;cursor:pointer;transition:background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);background:0 0;place-items:center;padding:0;display:grid}.lightbox__nav[data-astro-cid-utnzf2kr]:hover{background:var(--white);color:var(--base)}@media (prefers-reduced-motion:reduce){.lightbox__nav[data-astro-cid-utnzf2kr]{transition:none}}.hero{padding-inline:var(--site-padding);padding-block:var(--section-space-m) var(--section-space-l)}.hero__inner{gap:var(--container-spacing);inline-size:100%;max-inline-size:var(--content-width);flex-direction:column;margin-inline:auto;display:flex}.hero__meta{align-items:center;gap:var(--space-xxs);text-align:center;flex-direction:column;display:flex}@media (width>=48rem){.hero__meta{justify-content:space-between;align-items:normal;gap:var(--space-m);text-align:start;flex-direction:row}}.hero__intro{gap:var(--space-xl);justify-items:center;padding-block-end:var(--space-l);display:grid}@media (width>=64rem){.hero__intro{grid-template-columns:1fr auto;place-items:center start;padding-block-end:0}}.hero__tag{gap:var(--space-s);inline-size:calc(var(--text-l) * 16);max-inline-size:100%;padding:var(--space-s);background:var(--primary);border-radius:var(--radius-l);box-shadow:calc(var(--text-m) * .5) calc(var(--text-m) * .5) 0 var(--text-color);flex-direction:column;justify-self:center;padding-block-start:var(--space-m);display:flex;rotate:-5deg}@media (width>=64rem){.hero__tag{margin-inline-end:var(--space-l)}}.hero__tag-top{align-items:center;gap:var(--space-xxs);flex-direction:column;display:flex}.hero__tag-hello{font-family:var(--font-heading);font-size:var(--h4);color:var(--white);text-transform:uppercase;line-height:1}.hero__tag-caption{font-size:var(--text-s);color:var(--white)}.hero__tag-name{padding:var(--space-m) var(--space-s);background:var(--white);border-radius:var(--radius-m);text-align:center;font-size:calc(var(--h4) * .625);color:var(--base);font-weight:700}.hero__body{gap:var(--space-xl);border-block-start:var(--border-strong);flex-direction:column;padding-block-start:var(--space-l);display:flex}@media (width>=64rem){.hero__body{flex-direction:row;justify-content:space-between;align-items:center}}.hero__text{gap:var(--space-m);flex-direction:column;max-inline-size:65ch;display:flex}.hero__actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.hero__cta{gap:var(--space-xxs)}.hero__arrow{color:var(--primary)}.hero__stats{justify-content:space-between;gap:var(--space-m);grid-template-columns:repeat(3,auto);margin:0;padding:0;list-style:none;display:grid}@media (width>=64rem){.hero__stats{gap:var(--space-xl)}}.hero__stat{gap:var(--space-xxs);flex-direction:column;display:flex}.hero__stat:nth-child(2){text-align:center;align-items:center}.hero__stat:last-child{text-align:end;align-items:end}@media (width>=48rem){.hero__stat:nth-child(2),.hero__stat:last-child{text-align:start;align-items:start}}.hero__stat-value{font-family:var(--font-heading);font-size:var(--h4);color:var(--heading-color);align-items:baseline;line-height:1;display:flex}.hero__stat-accent{color:var(--primary)}.about{padding-inline:var(--site-padding);padding-block:var(--section-space-l)}.about__inner{gap:var(--section-space-m);inline-size:100%;max-inline-size:var(--content-width);flex-direction:column;margin-inline:auto;display:flex}.about__intro{gap:var(--space-l);display:grid}@media (width>=64rem){.about__intro{align-items:end;gap:var(--space-xxl);grid-template-columns:1fr 1fr}}.about__copy{gap:var(--space-s);flex-direction:column;display:flex}.about__lead{max-inline-size:65ch;font-size:var(--text-l)}.about__note{font-size:var(--text-s);color:color-mix(in oklab, var(--text-color) 70%, transparent)}.about__details{gap:var(--space-xl);display:grid}@media (width>=48rem){.about__details{row-gap:var(--space-m);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}@media (width>=64rem){.about__details{grid-template-columns:repeat(3,minmax(0,1fr))}}.about__figure{gap:var(--space-s);flex-direction:column;min-inline-size:0;margin:0;display:flex}@media (width>=48rem){.about__figure{grid-area:2/2;align-self:start;position:sticky;inset-block-start:var(--space-l)}}@media (width>=64rem){.about__figure{align-self:center;position:static}}.about__panel{aspect-ratio:5/6;padding:var(--space-s);background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;display:grid;container-type:inline-size}@media (width>=48rem){.about__panel{aspect-ratio:1}}.about__corners{font-size:var(--text-xs);color:color-mix(in oklab, var(--text-color) 70%, transparent);justify-content:space-between;display:flex}.about__mark{inline-size:min(80cqi, calc(var(--text-m) * 22));aspect-ratio:1;place-self:center;block-size:auto;min-block-size:0}.about__facts{flex-direction:column;display:flex}@media (width>=48rem){.about__facts{display:contents}.about__facts>.list-header{grid-area:1/1/auto/-1}}.about__fact-list{gap:var(--space-m);padding:var(--space-m) 0 0;counter-reset:fact;flex-direction:column;margin:0;list-style:none;display:flex}@media (width>=48rem){.about__fact-list{gap:var(--space-l);grid-area:2/1}}@media (width>=64rem){.about__fact-list{grid-template-columns:subgrid;align-self:center;row-gap:var(--space-xl);grid-column:1/-1;display:grid}}.about__fact{column-gap:var(--space-m);row-gap:var(--space-xxs);counter-increment:fact;grid-template-columns:auto 1fr;grid-template-areas:"number text"".tag";align-items:baseline;display:grid}@media (width>=64rem){.about__fact:nth-child(odd){text-align:end;grid-column:1;grid-template-columns:1fr auto;grid-template-areas:"text number""tag."}.about__fact:nth-child(2n){grid-column:3}}.about__fact-number{font-size:var(--text-xs);color:var(--primary);grid-area:number}.about__fact-number:before{content:"[" counter(fact, decimal-leading-zero) "]"}.about__fact-tag{grid-area:tag}.about__clients{gap:var(--space-xl);flex-direction:column;display:flex}.about__logos{gap:var(--space-m);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=48rem){.about__logos{grid-template-columns:repeat(4,1fr)}}@media (width>=64rem){.about__logos{grid-template-columns:none;grid-auto-columns:1fr;grid-auto-flow:column}}.about__logo{justify-content:center;display:flex}.about__logo:last-child:nth-child(odd){grid-column:1/-1}@media (width>=48rem){.about__logo:last-child:nth-child(odd){grid-column:auto}}.about__logo-image{inline-size:100%;max-inline-size:calc(var(--text-m) * 8);aspect-ratio:3/2;object-fit:cover;block-size:auto;filter:var(--logo-filter)}.about__client-list{font-size:var(--text-s);color:color-mix(in oklab, var(--text-color) 70%, transparent)}.about__client-more{color:var(--text-color)}.about__client-name:after{content:" / " / "";color:var(--primary)}.skills{padding-inline:var(--site-padding);padding-block:var(--section-space-l)}.skills__inner{gap:var(--space-xl);inline-size:100%;max-inline-size:var(--content-width);margin-inline:auto;display:grid}@media (width<64rem){.skills__inner{gap:var(--space-s)}}@media (width>=64rem){.skills__inner{column-gap:var(--section-space-s);grid-template-columns:auto 1fr}}@media (width>=64rem){.skills__title{writing-mode:vertical-rl;text-orientation:sideways;font-size:var(--h1);align-self:start;position:sticky;inset-inline-start:var(--space-l);rotate:180deg}}.skills__content{gap:var(--section-space-s);flex-direction:column;display:flex}@media (width<64rem){.skills__content{display:contents}}.skills__intro{gap:var(--space-s);flex-direction:column;display:flex}@media (width<64rem){.skills__intro{display:contents}}.skills__lead{max-inline-size:60ch;font-size:var(--text-xl)}@media (width<64rem){.skills__lead{margin-block-start:calc(var(--space-xl) - var(--space-s))}}.skills__highlight{color:var(--primary)}.skills__groups{gap:var(--space-xl);flex-direction:column;display:flex}@media (width<64rem){.skills__groups{margin-block-start:calc(var(--section-space-s) - var(--space-s))}}.skills__group{gap:var(--space-m);display:grid}@media (width>=64rem){.skills__group{gap:var(--space-xl);grid-template-columns:1fr 3fr}}.skills__group-header{justify-content:space-between;align-items:baseline;gap:var(--space-xs);border-block-start:var(--border-width) solid var(--primary);padding-block-start:var(--space-s);display:flex}@media (width>=64rem){.skills__group-header{flex-direction:column;justify-content:start;align-self:start}}.skills__group-title{font-family:var(--font-heading);font-size:calc(var(--h4) * .75);font-weight:var(--heading-weight);line-height:var(--heading-line-height);letter-spacing:var(--heading-letter-spacing);text-transform:var(--heading-transform)}.skills__list{border-block-start:var(--border);margin:0}.skills__item{gap:var(--space-xxs);padding-block:var(--space-s);border-block-end:var(--border);display:grid}@media (width>=48rem){.skills__item{grid-template-columns:calc(var(--text-m) * 10) 1fr;align-items:baseline;gap:var(--space-m)}}.skills__desc{margin:0}.hero__title{text-align:center}@media (width>=64rem){.hero__title{text-align:start}}.work{padding-inline:var(--site-padding);padding-block:var(--section-space-l)}.work__inner{gap:var(--section-space-s);inline-size:100%;max-inline-size:var(--content-width);flex-direction:column;margin-inline:auto;display:flex}.work__intro{gap:var(--space-l);display:grid}@media (width>=64rem){.work__intro{align-items:end;gap:var(--space-xxl);grid-template-columns:3fr 2fr}}.work__group{gap:var(--space-l);flex-direction:column;display:flex}.work__grid{gap:var(--space-xl) var(--space-m);margin:0;padding:0;list-style:none;display:grid}@media (width>=48rem){.work__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=64rem){.work__grid{grid-template-columns:repeat(3,1fr)}}.work__group-head{gap:var(--space-s);flex-direction:column;display:flex}.work__hint{font-size:var(--text-s);color:color-mix(in oklab, var(--text-color) 70%, transparent)}.work__lead{max-inline-size:65ch;font-size:var(--text-l)}.contact{--highlight:var(--base);--dot-color:var(--white);padding-inline:var(--site-padding);padding-block:var(--section-space-l)}.contact__inner{gap:var(--section-space-s);inline-size:100%;max-inline-size:var(--content-width);flex-direction:column;margin-inline:auto;display:flex}.contact__intro{gap:var(--space-l);display:grid}@media (width>=48rem){.contact__intro{align-items:center;gap:var(--space-xl);grid-template-columns:1fr auto}}.contact__badge{align-content:center;place-items:center;gap:var(--space-xs);inline-size:calc(var(--text-m) * 12);aspect-ratio:1;padding:var(--space-l);background:var(--white);color:var(--base);box-shadow:calc(var(--text-m) * .5) calc(var(--text-m) * .5) 0 var(--base);text-align:center;transition:rotate var(--motion-duration) var(--motion-ease);border-radius:50%;justify-self:end;text-decoration:none;display:grid;rotate:8deg}.contact__badge:hover{rotate:0deg}@media (width>=64rem){.contact__badge{inline-size:calc(var(--text-m) * 15);margin-inline-end:var(--space-l)}}@media (prefers-reduced-motion:reduce){.contact__badge{transition:none}}.contact__badge-mark{block-size:auto;inline-size:45%}.contact__badge-text{max-inline-size:10ch;font-size:var(--text-m);font-weight:700}.contact__body{gap:var(--space-xl);border-block-start:var(--border-width) solid var(--base);padding-block-start:var(--space-l);display:grid}@media (width>=48rem){.contact__body{gap:var(--space-xxl);grid-template-columns:1fr 2fr}}.contact__text{gap:var(--space-l);flex-direction:column;display:flex}.contact__lead{max-inline-size:65ch;font-size:var(--text-l)}.contact__based{gap:var(--space-xs);flex-direction:column;display:flex}.contact-form{gap:var(--space-m);display:grid}.contact-form>[data-form-part=note]{grid-column:1/-1}@media (width>=48rem){.contact-form{grid-template-columns:1fr 1fr}}.contact-form__field{gap:var(--space-xxs);flex-direction:column;display:flex}@media (width>=48rem){.contact-form__field--wide{grid-column:1/-1}}.contact-form__label{color:var(--text-color)}.contact-form__input{inline-size:100%;min-block-size:var(--tap-target);padding:var(--space-s);border:var(--border-width) solid var(--base);background:var(--white);color:var(--base);border-radius:0}.contact-form__input::placeholder{color:var(--base-60)}.contact-form__input:focus-visible{outline:var(--focus-width) var(--focus-style) var(--base);outline-offset:var(--focus-offset)}.contact-form__input--message{resize:vertical}.contact-form__error{font-size:var(--text-xs);color:var(--base)}.contact-form__footer{justify-content:space-between;align-items:center;gap:var(--space-m);flex-wrap:wrap;display:flex}@media (width>=48rem){.contact-form__footer{grid-column:1/-1}}.contact-form__required{color:var(--text-color)}@media (width<64rem){.skills__eyebrow{order:-1}}.about__fact-text{grid-area:text}
