.portfolio-hero[data-astro-cid-epnv4ixt]{background-color:var(--color-primary);color:var(--color-white);padding-block:clamp(4rem,7vw,6.5rem);padding-inline:var(--page-gutter)}.portfolio-hero__inner[data-astro-cid-epnv4ixt]{max-width:var(--width-wide);gap:var(--space-10);grid-template-columns:1fr;align-items:center;margin-inline:auto;display:grid}@media (width>=48rem){.portfolio-hero__inner[data-astro-cid-epnv4ixt]{gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]{appearance:none;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-lg);width:100%;transition:transform var(--duration-normal) var(--ease-out);background:0 0;border:0;margin:0;padding:0;display:block}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover,.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible{transform:translateY(-4px)}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible{outline-offset:4px;outline:3px solid #ffffffd9}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:active{transform:translateY(-2px)}.portfolio-hero__image-wrap[data-astro-cid-epnv4ixt]{border-radius:var(--radius-lg);transition:box-shadow var(--duration-normal) var(--ease-default);display:block;position:relative;overflow:hidden;box-shadow:0 20px 50px -20px #00000073}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover .portfolio-hero__image-wrap[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible .portfolio-hero__image-wrap[data-astro-cid-epnv4ixt]{box-shadow:0 28px 60px -20px #0000008c}.portfolio-hero__image[data-astro-cid-epnv4ixt]{object-fit:cover;object-position:top center;aspect-ratio:4/3;border-radius:var(--radius-lg);width:100%;height:auto;transition:transform var(--duration-slow) var(--ease-out);display:block}@media (width>=48rem){.portfolio-hero__image[data-astro-cid-epnv4ixt]{aspect-ratio:4/3;height:100%}}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover .portfolio-hero__image[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible .portfolio-hero__image[data-astro-cid-epnv4ixt]{transform:scale(1.03)}.portfolio-hero__image-cue[data-astro-cid-epnv4ixt]{padding:var(--space-8) var(--space-5) var(--space-4);color:var(--color-white);font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-small);letter-spacing:.06em;text-transform:uppercase;opacity:0;transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);pointer-events:none;background:linear-gradient(#1a1a1a00 0%,#1a1a1a8c 50%,#1a1a1ab8 100%);justify-content:flex-end;align-items:center;gap:.5rem;display:flex;position:absolute;inset:auto 0 0;transform:translateY(6px)}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover .portfolio-hero__image-cue[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible .portfolio-hero__image-cue[data-astro-cid-epnv4ixt]{opacity:1;transform:translateY(0)}.portfolio-hero__image-cue-arrow[data-astro-cid-epnv4ixt]{transition:transform var(--duration-normal) var(--ease-out);display:inline-block}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover .portfolio-hero__image-cue-arrow[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible .portfolio-hero__image-cue-arrow[data-astro-cid-epnv4ixt]{transform:translate(3px)}@media (prefers-reduced-motion:reduce){.portfolio-hero__trigger[data-astro-cid-epnv4ixt],.portfolio-hero__image[data-astro-cid-epnv4ixt],.portfolio-hero__image-wrap[data-astro-cid-epnv4ixt],.portfolio-hero__image-cue[data-astro-cid-epnv4ixt],.portfolio-hero__image-cue-arrow[data-astro-cid-epnv4ixt]{transition:none}.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover,.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible,.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:active,.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover .portfolio-hero__image[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible .portfolio-hero__image[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover .portfolio-hero__image-cue[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible .portfolio-hero__image-cue[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:hover .portfolio-hero__image-cue-arrow[data-astro-cid-epnv4ixt],.portfolio-hero__trigger[data-astro-cid-epnv4ixt]:focus-visible .portfolio-hero__image-cue-arrow[data-astro-cid-epnv4ixt]{transform:none}}.portfolio-hero__text[data-astro-cid-epnv4ixt]{gap:var(--space-6);flex-direction:column;display:flex}@media (width<=47.999rem){.portfolio-hero__text[data-astro-cid-epnv4ixt]{text-align:center;align-items:center}}.portfolio-hero__overline[data-astro-cid-epnv4ixt]{font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-label);letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf;max-width:44ch;margin:0}.portfolio-hero__h1[data-astro-cid-epnv4ixt]{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-white);max-width:20ch;margin:0;font-size:clamp(2.25rem,4vw,3.25rem);line-height:1.1}.portfolio-hero__subtitle[data-astro-cid-epnv4ixt]{font-family:var(--font-body);font-weight:var(--weight-regular);color:#ffffffe0;max-width:44ch;margin:0;font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.65}.portfolio-work[data-astro-cid-epnv4ixt]{background-color:var(--bg-surface-warm);padding-block:clamp(4rem,7vw,6.5rem);padding-inline:var(--page-gutter)}.portfolio-work__inner[data-astro-cid-epnv4ixt]{max-width:var(--width-wide);margin-inline:auto}.portfolio-filter[data-astro-cid-epnv4ixt]{gap:var(--space-2);margin-bottom:var(--space-10);flex-wrap:wrap;justify-content:center;display:flex}.portfolio-chip[data-astro-cid-epnv4ixt]{font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-small);letter-spacing:.02em;color:var(--color-primary);background-color:var(--color-white);border:1.5px solid var(--color-primary);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-colors);padding:.375rem 1rem;line-height:1.2}.portfolio-chip[data-astro-cid-epnv4ixt]:hover{background-color:#8b00000f}.portfolio-chip[data-astro-cid-epnv4ixt][aria-pressed=true]{color:var(--color-white);background-color:var(--color-primary);border-color:var(--color-primary)}.portfolio-chip[data-astro-cid-epnv4ixt][aria-pressed=true]:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.portfolio-chip[data-astro-cid-epnv4ixt]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.portfolio-tag-filter[data-astro-cid-epnv4ixt]{margin-bottom:var(--space-8);border-radius:var(--radius-md);font-family:var(--font-body);background-color:#8b00000a;border:1px solid #8b00001f;flex-wrap:wrap;align-items:center;gap:.625rem;padding:.625rem .875rem;font-size:.8125rem;line-height:1.2;display:flex}.portfolio-tag-filter[data-astro-cid-epnv4ixt][hidden]{display:none}.portfolio-tag-filter__label[data-astro-cid-epnv4ixt]{color:#595959;letter-spacing:.02em}.portfolio-tag-filter__value[data-astro-cid-epnv4ixt]{font-weight:var(--weight-semibold);color:var(--color-primary);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.06em;background-color:#8b000014;border:1px solid #8b00002e;padding:.25rem .625rem;font-size:.6875rem}.portfolio-tag-filter__clear[data-astro-cid-epnv4ixt]{border-radius:var(--radius-full);width:1.5rem;height:1.5rem;color:var(--color-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);background:0 0;border:1px solid #8b000040;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.portfolio-tag-filter__clear[data-astro-cid-epnv4ixt]:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.portfolio-tag-filter__clear[data-astro-cid-epnv4ixt]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.portfolio-grid[data-astro-cid-epnv4ixt]{gap:var(--space-6);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.portfolio-grid[data-astro-cid-epnv4ixt]{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.portfolio-grid[data-astro-cid-epnv4ixt]{grid-template-columns:repeat(3,minmax(0,1fr))}}.portfolio-grid__item[data-astro-cid-epnv4ixt]{list-style:none}.portfolio-grid__item[data-astro-cid-epnv4ixt][hidden]{display:none}.portfolio-card[data-astro-cid-epnv4ixt]{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);height:100%;transition:box-shadow var(--duration-normal) var(--ease-default), transform var(--duration-normal) var(--ease-out)}.portfolio-card[data-astro-cid-epnv4ixt]:hover,.portfolio-card[data-astro-cid-epnv4ixt]:focus-within{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.portfolio-card__trigger[data-astro-cid-epnv4ixt]{cursor:pointer;text-align:left;width:100%;height:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;margin:0;padding:0;display:flex}.portfolio-card__trigger[data-astro-cid-epnv4ixt]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-lg)}.portfolio-card__image-wrap[data-astro-cid-epnv4ixt]{aspect-ratio:4/3;background-color:var(--bg-surface-warm);border-start-start-radius:var(--radius-lg);border-start-end-radius:var(--radius-lg);flex-shrink:0;width:100%;overflow:hidden}.portfolio-card__image[data-astro-cid-epnv4ixt]{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out);display:block}.portfolio-card[data-astro-cid-epnv4ixt]:hover .portfolio-card__image[data-astro-cid-epnv4ixt],.portfolio-card[data-astro-cid-epnv4ixt]:focus-within .portfolio-card__image[data-astro-cid-epnv4ixt]{transform:scale(1.04)}.portfolio-card__image-fallback[data-astro-cid-epnv4ixt]{width:100%;height:100%;padding:var(--space-4);background:linear-gradient(135deg, #8b00000f, #8b000005), var(--bg-surface-warm);color:var(--color-primary);font-family:var(--font-display);font-weight:var(--weight-semibold);text-align:center;place-items:center;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.25;display:grid}.portfolio-card__footer[data-astro-cid-epnv4ixt]{padding:var(--space-5) var(--space-6)}.portfolio-card__title[data-astro-cid-epnv4ixt]{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--text-heading);margin:0;font-size:clamp(.9375rem,1.1vw,1.0625rem);line-height:1.3}.portfolio-empty[data-astro-cid-epnv4ixt]{text-align:center;padding-block:var(--space-20);align-items:center;gap:var(--space-4);flex-direction:column;grid-column:1/-1;list-style:none;display:flex}.portfolio-empty[data-astro-cid-epnv4ixt][hidden]{display:none}.portfolio-empty__message[data-astro-cid-epnv4ixt]{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:clamp(1rem,1.1vw,1.0625rem)}.portfolio-empty__reset[data-astro-cid-epnv4ixt]{font-family:inherit;font-size:inherit;font-weight:var(--weight-semibold);color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.portfolio-empty__reset[data-astro-cid-epnv4ixt]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.portfolio-cta[data-astro-cid-epnv4ixt]{background-color:var(--bg-inverse);padding-block:clamp(4rem,7vw,6rem);padding-inline:var(--page-gutter)}.portfolio-cta__inner[data-astro-cid-epnv4ixt]{max-width:var(--width-prose);text-align:center;align-items:center;gap:var(--space-6);flex-direction:column;margin-inline:auto;display:flex}.portfolio-cta__heading[data-astro-cid-epnv4ixt]{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-white);margin:0;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15}.portfolio-modal[data-astro-cid-epnv4ixt]{z-index:var(--z-modal);padding:var(--space-6);pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.portfolio-modal[data-astro-cid-epnv4ixt][hidden]{display:none}.portfolio-modal__backdrop[data-astro-cid-epnv4ixt]{opacity:0;transition:opacity var(--duration-normal) var(--ease-out);pointer-events:auto;cursor:pointer;background-color:#1a1a1ab8;position:absolute;inset:0}.portfolio-modal[data-astro-cid-epnv4ixt].is-open .portfolio-modal__backdrop[data-astro-cid-epnv4ixt]{opacity:1}.portfolio-modal__panel[data-astro-cid-epnv4ixt]{z-index:1;background-color:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:760px;max-height:88vh;box-shadow:var(--shadow-lg);opacity:0;transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);pointer-events:auto;position:relative;overflow-y:auto;transform:scale(.97)}.portfolio-modal[data-astro-cid-epnv4ixt].is-open .portfolio-modal__panel[data-astro-cid-epnv4ixt]{opacity:1;transform:scale(1)}.portfolio-modal__close[data-astro-cid-epnv4ixt]{top:var(--space-4);right:var(--space-4);z-index:2;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-full);width:2.5rem;height:2.5rem;color:var(--text-heading);cursor:pointer;transition:var(--transition-colors);background-color:#ffffffeb;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.portfolio-modal__close[data-astro-cid-epnv4ixt]:hover{background-color:var(--color-white);border-color:var(--color-primary);color:var(--color-primary)}.portfolio-modal__close[data-astro-cid-epnv4ixt]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.portfolio-modal__image-wrap[data-astro-cid-epnv4ixt]{aspect-ratio:16/9;background-color:var(--bg-surface-warm);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;overflow:hidden}.portfolio-modal__image-wrap[data-astro-cid-epnv4ixt][hidden]{display:none}.portfolio-modal__image[data-astro-cid-epnv4ixt]{object-fit:cover;width:100%;height:100%;display:block}.portfolio-modal__body[data-astro-cid-epnv4ixt]{padding:var(--space-8)}@media (width>=48rem){.portfolio-modal__body[data-astro-cid-epnv4ixt]{padding:var(--space-10) var(--space-12)}}.portfolio-modal__categories[data-astro-cid-epnv4ixt]{margin-bottom:var(--space-4);flex-wrap:wrap;gap:.5rem;display:flex}.portfolio-modal__categories[data-astro-cid-epnv4ixt][hidden]{display:none}.portfolio-modal__title[data-astro-cid-epnv4ixt]{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--text-heading);margin:0 0 var(--space-6);font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.15}.portfolio-modal__content[data-astro-cid-epnv4ixt]{font-family:var(--font-body);color:var(--text-body);margin-bottom:var(--space-8);font-size:clamp(1rem,1.1vw,1.0625rem);line-height:1.65}.portfolio-modal__content[data-astro-cid-epnv4ixt] p{margin:0 0 var(--space-4);max-width:none}.portfolio-modal__content[data-astro-cid-epnv4ixt] p:last-child{margin-bottom:0}.portfolio-modal__content[data-astro-cid-epnv4ixt] p:first-of-type{border-left:2px solid var(--color-primary);padding-left:var(--space-4);color:var(--text-heading);font-size:clamp(1rem,1.15vw,1.125rem);font-style:italic}.portfolio-modal__content[data-astro-cid-epnv4ixt] a{color:var(--color-primary);text-decoration:underline}.portfolio-modal__content[data-astro-cid-epnv4ixt] a:hover{color:var(--color-primary-hover)}.portfolio-modal__content[data-astro-cid-epnv4ixt] strong{font-weight:var(--weight-semibold);color:var(--text-heading)}.portfolio-modal__content[data-astro-cid-epnv4ixt] ul,.portfolio-modal__content[data-astro-cid-epnv4ixt] ol{margin:0 0 var(--space-4);padding-left:var(--space-6)}.portfolio-modal__content[data-astro-cid-epnv4ixt] img{border-radius:var(--radius-md);max-width:100%;height:auto;margin:var(--space-4) 0}.portfolio-modal__tags[data-astro-cid-epnv4ixt]{padding-top:var(--space-6);border-top:1px solid var(--color-gray-200);flex-wrap:wrap;gap:.5rem;display:flex}.portfolio-modal__tags[data-astro-cid-epnv4ixt][hidden]{display:none}.portfolio-modal__visit[data-astro-cid-epnv4ixt]{font-family:var(--font-body);font-weight:var(--weight-semibold);color:var(--color-primary);margin-bottom:var(--space-8);transition:color var(--duration-normal) var(--ease-default);align-items:baseline;gap:.4rem;padding:.1rem 0;font-size:clamp(1rem,1.05vw,1.0625rem);line-height:1.3;text-decoration:none;display:inline-flex}.portfolio-modal__visit[data-astro-cid-epnv4ixt][hidden]{display:none}.portfolio-modal__visit-label[data-astro-cid-epnv4ixt]{text-underline-offset:.2em;text-decoration:underline 1.5px}.portfolio-modal__visit-arrow[data-astro-cid-epnv4ixt]{font-weight:var(--weight-regular);transition:transform var(--duration-normal) var(--ease-out);display:inline-block}.portfolio-modal__visit[data-astro-cid-epnv4ixt]:hover{color:var(--color-primary-hover)}.portfolio-modal__visit[data-astro-cid-epnv4ixt]:hover .portfolio-modal__visit-arrow[data-astro-cid-epnv4ixt]{transform:translate(4px)}.portfolio-modal__visit[data-astro-cid-epnv4ixt]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.portfolio-modal__visit[data-astro-cid-epnv4ixt],.portfolio-modal__visit-arrow[data-astro-cid-epnv4ixt]{transition:none}.portfolio-modal__visit[data-astro-cid-epnv4ixt]:hover .portfolio-modal__visit-arrow[data-astro-cid-epnv4ixt]{transform:none}}.portfolio-modal__chip[data-astro-cid-epnv4ixt]{font-family:var(--font-body);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);white-space:nowrap;line-height:1}.portfolio-modal__chip--category[data-astro-cid-epnv4ixt]{letter-spacing:.08em;color:var(--color-primary);background-color:#8b000014;border:1px solid #8b000026;padding:.375rem .75rem;font-size:.75rem}.portfolio-modal__chip--tag[data-astro-cid-epnv4ixt]{color:#595959;font-size:.6875rem;font-family:var(--font-body);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default), transform var(--duration-fast) var(--ease-out);background-color:#f2eee8;border:1px solid #5a5a5a24;margin:0;padding:.3125rem .625rem}.portfolio-modal__chip--tag[data-astro-cid-epnv4ixt]:hover{color:var(--color-white);background-color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-1px)}.portfolio-modal__chip--tag[data-astro-cid-epnv4ixt]:active{background-color:var(--color-primary-hover,#6e0000);border-color:var(--color-primary-hover,#6e0000);transform:translateY(0)}.portfolio-modal__chip--tag[data-astro-cid-epnv4ixt]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:reduce){.portfolio-modal__chip--tag[data-astro-cid-epnv4ixt]{transition:none}.portfolio-modal__chip--tag[data-astro-cid-epnv4ixt]:hover,.portfolio-modal__chip--tag[data-astro-cid-epnv4ixt]:active{transform:none}}@media (width<=47.999rem){.portfolio-modal[data-astro-cid-epnv4ixt]{padding:var(--space-4)}.portfolio-modal__panel[data-astro-cid-epnv4ixt]{max-height:92vh}.portfolio-modal__body[data-astro-cid-epnv4ixt]{padding:var(--space-6)}.portfolio-modal__close[data-astro-cid-epnv4ixt]{width:2.25rem;height:2.25rem;top:var(--space-3);right:var(--space-3)}}@media (prefers-reduced-motion:reduce){.portfolio-modal__panel[data-astro-cid-epnv4ixt],.portfolio-modal__backdrop[data-astro-cid-epnv4ixt],.portfolio-card[data-astro-cid-epnv4ixt],.portfolio-card__image[data-astro-cid-epnv4ixt]{transition:none}.portfolio-card[data-astro-cid-epnv4ixt]:hover,.portfolio-card[data-astro-cid-epnv4ixt]:focus-within,.portfolio-card[data-astro-cid-epnv4ixt]:hover .portfolio-card__image[data-astro-cid-epnv4ixt],.portfolio-card[data-astro-cid-epnv4ixt]:focus-within .portfolio-card__image[data-astro-cid-epnv4ixt]{transform:none}}
