#wt-react-root[data-app=portfolio]{display:block;background:var(--w3-bg);font-family:var(--w3-font);color:var(--w3-text);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased}#wt-react-root[data-app=portfolio] *,#wt-react-root[data-app=portfolio] *:before,#wt-react-root[data-app=portfolio] *:after{box-sizing:border-box}#wt-react-root[data-app=portfolio] h1,#wt-react-root[data-app=portfolio] h2,#wt-react-root[data-app=portfolio] h3,#wt-react-root[data-app=portfolio] p,#wt-react-root[data-app=portfolio] ul,#wt-react-root[data-app=portfolio] ol,#wt-react-root[data-app=portfolio] li,#wt-react-root[data-app=portfolio] dl,#wt-react-root[data-app=portfolio] dt,#wt-react-root[data-app=portfolio] dd,#wt-react-root[data-app=portfolio] form,#wt-react-root[data-app=portfolio] label:where(:not(.wt-label)),#wt-react-root[data-app=portfolio] input:where(:not(.wt-input)),#wt-react-root[data-app=portfolio] textarea:where(:not(.wt-input)),#wt-react-root[data-app=portfolio] button:where(:not(.wt-btn)),#wt-react-root[data-app=portfolio] nav,#wt-react-root[data-app=portfolio] article,#wt-react-root[data-app=portfolio] aside,#wt-react-root[data-app=portfolio] header{margin:0;padding:0;font-family:inherit;letter-spacing:normal;text-transform:none;color:inherit}#wt-react-root[data-app=portfolio] h1,#wt-react-root[data-app=portfolio] h2,#wt-react-root[data-app=portfolio] h3{line-height:1.15;text-wrap:balance;font-weight:var(--font-weight-bold)}#wt-react-root[data-app=portfolio] p{text-wrap:pretty}#wt-react-root[data-app=portfolio] ul,#wt-react-root[data-app=portfolio] ol{list-style:none}#wt-react-root[data-app=portfolio] input:where(:not(.wt-input)),#wt-react-root[data-app=portfolio] textarea:where(:not(.wt-input)),#wt-react-root[data-app=portfolio] button:where(:not(.wt-btn)){height:auto;box-shadow:none;border-radius:0;line-height:inherit;font-size:inherit;font-weight:inherit;background:none;border:0}#wt-react-root[data-app=portfolio] button{cursor:pointer}#wt-react-root[data-app=portfolio] a:where(:not(.wt-btn)){color:var(--w3-link);text-decoration:none}#wt-react-root[data-app=portfolio] a:where(:not(.wt-btn)):hover{text-decoration:underline;text-underline-offset:.15em}#wt-react-root[data-app=portfolio] p>a:where(:not(.wt-btn)){text-decoration:underline;text-underline-offset:.15em}#wt-react-root[data-app=portfolio] img{display:block;max-width:100%;height:auto}#wt-react-root[data-app=portfolio] svg{display:inline-block;flex:none}#wt-react-root[data-app=portfolio] :focus-visible:where(:not(.wt-btn,.wt-input,.wt-select,.wt-label)){outline:none;box-shadow:var(--w3-focus);border-radius:var(--radius-control)}#wt-react-root[data-app=portfolio] .wtpf{display:block;overflow-x:clip}#wt-react-root[data-app=portfolio] .wtsy-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#wt-react-root[data-app=portfolio] h2{font-size:var(--text-fluid-xl);letter-spacing:-.015em;color:var(--w3-text)}#wt-react-root[data-app=portfolio] h3{font-size:var(--text-lg);color:var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-preview{max-width:var(--w3-max);margin:.75rem auto 0;padding:.5rem var(--w3-gutter);background:var(--w3-info-bg);color:var(--w3-graphite);border-radius:var(--w3-radius-sm);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}#wt-react-root[data-app=portfolio] .wtpf-preview a{font-weight:var(--font-weight-medium)}#wt-react-root[data-app=portfolio] .wtpf-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--w3-link);font-weight:var(--font-weight-medium);font-size:var(--text-base)}#wt-react-root[data-app=portfolio] .wtpf-media{position:relative;display:block;border-radius:var(--w3-radius);overflow:hidden;background:var(--stage, var(--w3-raised));aspect-ratio:4 / 3}#wt-react-root[data-app=portfolio] .wtpf-media--photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}#wt-react-root[data-app=portfolio] .wtpf-plate{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--stage)}#wt-react-root[data-app=portfolio] .wtpf-plate svg{display:block;width:100%;height:100%;font-family:var(--w3-font)}#wt-react-root[data-app=portfolio] .pl-f{transition:transform var(--wt-dur) var(--wt-ease);transition-delay:var(--d, 0ms)}#wt-react-root[data-app=portfolio] .wtpf-card:hover .pl-f,#wt-react-root[data-app=portfolio] .wtpf-card:focus-within .pl-f,#wt-react-root[data-app=portfolio] .wtpf-mini:hover .pl-f{transform:translateY(-7px)}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-stack .pl-f{animation:wtpf-bob 4.6s var(--wt-ease) infinite alternate;animation-delay:calc(var(--d, 0ms) + .9s)}#wt-react-root[data-app=portfolio] .wtpf-hero{max-width:var(--w3-max);margin-inline:auto;padding:clamp(2rem,4vw,4.5rem) var(--w3-gutter) 0;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:center}#wt-react-root[data-app=portfolio] .wtpf-hero__copy{display:flex;flex-direction:column;gap:1.25rem;max-width:40rem}#wt-react-root[data-app=portfolio] .wtpf-hero__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}#wt-react-root[data-app=portfolio] .wtpf-hero__kicker{font-family:var(--w3-mono);font-size:var(--text-xs);font-weight:var(--font-weight-medium);letter-spacing:.1em;text-transform:uppercase;color:var(--w3-muted)}#wt-react-root[data-app=portfolio] .wtpf-hero__title{font-size:var(--text-fluid-3xl);font-weight:var(--font-weight-bold);line-height:1.06;letter-spacing:-.02em;color:var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-hero__title span{display:block;color:var(--w3-muted)}#wt-react-root[data-app=portfolio] .wtpf-hero__lede{font-size:var(--text-fluid-sm);line-height:1.65;color:var(--w3-text);max-width:36rem}#wt-react-root[data-app=portfolio] .wtpf-hero__count{font-size:var(--text-base);color:var(--w3-muted);font-weight:var(--font-weight-medium);padding-block-start:.75rem;border-block-start:1px solid var(--w3-line);max-width:36rem}#wt-react-root[data-app=portfolio] .wtpf-hero__cta{display:flex;flex-wrap:wrap;gap:.75rem}#wt-react-root[data-app=portfolio] .wtpf-hero__copy>*{opacity:0;transform:translateY(14px)}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-hero__copy>*{animation:wtpf-rise var(--wt-dur-slow) var(--wt-ease) forwards}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-hero__copy>:nth-child(2){animation-delay:60ms}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-hero__copy>:nth-child(3){animation-delay:.12s}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-hero__copy>:nth-child(4){animation-delay:.18s}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-hero__copy>:nth-child(5){animation-delay:.24s}#wt-react-root[data-app=portfolio] .wtpf-stack{position:relative;aspect-ratio:5 / 4;width:100%;max-width:44rem;margin-inline:auto}#wt-react-root[data-app=portfolio] .wtpf-stack__item{position:absolute;display:block;width:68%;border-radius:var(--w3-radius);box-shadow:none;opacity:0;transform:translateY(40px) rotate(var(--r, 0deg))}#wt-react-root[data-app=portfolio] .wtpf-stack__item .wtpf-media{border-radius:inherit}#wt-react-root[data-app=portfolio] .wtpf-stack__item:nth-child(1){--r: 4deg;inset-inline-start:0;top:0;z-index:var(--z-local-1)}#wt-react-root[data-app=portfolio] .wtpf-stack__item:nth-child(2){--r: -3deg;inset-inline-end:0;top:22%;z-index:var(--z-local-2);width:66%}#wt-react-root[data-app=portfolio] .wtpf-stack__item:nth-child(3){--r: 2deg;inset-inline-start:14%;bottom:0;z-index:var(--z-local-3);width:58%}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-stack__item{animation:wtpf-fan var(--wt-dur-slow) var(--wt-ease) forwards}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-stack__item:nth-child(2){animation-delay:.14s}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-stack__item:nth-child(3){animation-delay:.28s}#wt-react-root[data-app=portfolio] .wtpf-flag{position:relative;isolation:isolate;overflow:hidden;scroll-margin-top:4rem;margin-inline:calc(50% - 50vw);margin-block-start:var(--w3-section);background-color:var(--stage);color:var(--w3-on-inverse)}#wt-react-root[data-app=portfolio] .wtpf-flag h2{color:var(--w3-on-inverse);font-size:var(--text-fluid-2xl);letter-spacing:-.02em;max-width:18ch}#wt-react-root[data-app=portfolio] .wtpf-flag__inner{max-width:var(--w3-max);margin-inline:auto;padding:clamp(3rem,5vw,5.5rem) var(--w3-gutter);display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem 4rem;align-items:center}#wt-react-root[data-app=portfolio] .wtpf-flag__copy{display:flex;flex-direction:column;gap:1.25rem;max-width:38rem}#wt-react-root[data-app=portfolio] .wtpf-flag__kicker{font-family:var(--w3-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--w3-on-inverse-muted)}#wt-react-root[data-app=portfolio] .wtpf-flag__lede{font-size:var(--text-fluid-sm);line-height:1.65;color:var(--w3-on-inverse-muted)}#wt-react-root[data-app=portfolio] .wtpf-flag__points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;padding-block:.5rem}#wt-react-root[data-app=portfolio] .wtpf-flag__points li{display:grid;gap:.25rem;border-block-start:1px solid var(--w3-on-inverse-muted);padding-block-start:.75rem;padding-inline-start:0}#wt-react-root[data-app=portfolio] .wtpf-flag__points strong{color:var(--w3-on-inverse);font-weight:var(--font-weight-bold);font-size:var(--text-base)}#wt-react-root[data-app=portfolio] .wtpf-flag__points span{color:var(--w3-on-inverse-muted);font-size:var(--text-base);line-height:1.5}#wt-react-root[data-app=portfolio] .wtpf-flag .wt-btn{align-self:flex-start}#wt-react-root[data-app=portfolio] .wtpf-console{position:relative;display:grid;gap:.75rem;padding:1rem;border-radius:var(--w3-radius);background:var(--w3-inverse-2);border:1px solid var(--w3-inverse-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--w3-shadow-lg)}#wt-react-root[data-app=portfolio] .wtpf-console__bar{display:flex;align-items:center;gap:.4rem;padding-block-end:.75rem;border-block-end:1px solid var(--w3-inverse-2)}#wt-react-root[data-app=portfolio] .wtpf-console__bar i{width:9px;height:9px;border-radius:50%;background:var(--w3-inverse-2)}#wt-react-root[data-app=portfolio] .wtpf-console__bar span{margin-inline-start:auto;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--w3-on-inverse-muted);direction:ltr}#wt-react-root[data-app=portfolio] .wtpf-console__thread{display:grid;gap:.6rem}#wt-react-root[data-app=portfolio] .wtpf-console__msg{max-width:88%;padding:.7rem .95rem;border-radius:var(--radius-card);font-size:var(--text-base);line-height:1.5;background:var(--w3-inverse-2);color:var(--w3-on-inverse);border-start-start-radius:var(--radius-control);opacity:0;transform:translateY(8px)}#wt-react-root[data-app=portfolio] .wtpf-console__msg--me{justify-self:end;background:var(--a);border-start-start-radius:var(--radius-card);border-start-end-radius:var(--radius-control)}#wt-react-root[data-app=portfolio] .wtpf-console__msg--think{display:flex;align-items:center;gap:.5rem;color:var(--w3-on-inverse-muted);font-size:var(--text-sm)}#wt-react-root[data-app=portfolio] .wtpf-console__dots{display:inline-flex;gap:3px}#wt-react-root[data-app=portfolio] .wtpf-console__dots i{width:5px;height:5px;border-radius:50%;background:var(--a2);opacity:.4}#wt-react-root[data-app=portfolio] .wtpf-console__approve{display:flex;gap:.6rem;align-items:center;opacity:0;transform:translateY(8px);min-height:2.25rem}#wt-react-root[data-app=portfolio] .wtpf-console__btn,#wt-react-root[data-app=portfolio] .wtpf-console__done{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}#wt-react-root[data-app=portfolio] .wtpf-console__btn{background:var(--w3-card);color:var(--w3-inverse)}#wt-react-root[data-app=portfolio] .wtpf-console__done{background:var(--w3-inverse);color:var(--w3-on-inverse);opacity:0;transform:translate(-6px)}#wt-react-root[data-app=portfolio] .wtpf-console__nodes{display:flex;flex-wrap:wrap;gap:.5rem;padding-block-start:.75rem;border-block-start:1px solid var(--w3-inverse-2)}#wt-react-root[data-app=portfolio] .wtpf-console__nodes li{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:var(--radius-pill);background:var(--w3-inverse-2);font-size:var(--text-sm);color:var(--w3-on-inverse-muted)}#wt-react-root[data-app=portfolio] .wtpf-console__nodes i{width:8px;height:8px;border-radius:50%;background:var(--w3-success);transition:background var(--wt-dur) var(--wt-ease)}#wt-react-root[data-app=portfolio] .wtpf-console__nodes li:first-child i{background:var(--color-accent-on-inverse)}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__msg{animation:wtpf-rise var(--wt-dur) var(--wt-ease) forwards}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__msg:nth-child(1){animation-delay:.2s}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__msg:nth-child(2){animation-delay:.9s}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__msg:nth-child(3){animation-delay:2s}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__msg:nth-child(4){animation-delay:2.9s}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__approve{animation:wtpf-rise var(--wt-dur) var(--wt-ease) forwards;animation-delay:3.7s}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__done{animation:wtpf-slide var(--wt-dur) var(--wt-ease) forwards;animation-delay:5.2s}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__btn{animation:wtpf-dim var(--wt-dur) var(--wt-ease) forwards;animation-delay:5.2s}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__dots i{animation:wtpf-blink 1.1s ease-in-out infinite;animation-delay:calc(.9s + var(--k, 0) * .18s)}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__dots i:nth-child(2){--k: 1}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__dots i:nth-child(3){--k: 2}#wt-react-root[data-app=portfolio] .wtpf-console--on .wtpf-console__nodes li:first-child i{animation:wtpf-heal .6s var(--wt-ease) forwards;animation-delay:5.4s}#wt-react-root[data-app=portfolio] .wtpf-tv{max-width:var(--w3-max);margin-inline:auto;padding:var(--w3-section) var(--w3-gutter) 0}#wt-react-root[data-app=portfolio] .wtpf-tv__head{display:grid;gap:.75rem;max-width:46rem;margin-block-end:2rem}#wt-react-root[data-app=portfolio] .wtpf-tv__kicker{font-size:var(--text-base);font-weight:var(--font-weight-bold);color:var(--a-deep)}#wt-react-root[data-app=portfolio] .wtpf-tv__count{font-size:var(--text-base);color:var(--w3-muted);font-weight:var(--font-weight-medium)}#wt-react-root[data-app=portfolio] .wtpf-tv__lead{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:center;padding:clamp(1rem,2vw,1.75rem);border-radius:var(--w3-radius);background:var(--stage);color:var(--on-stage)}#wt-react-root[data-app=portfolio] .wtpf-tv__lead:hover{text-decoration:none}#wt-react-root[data-app=portfolio] .wtpf-tv__lead:hover .wtpf-tv__more{text-decoration:underline;text-underline-offset:.15em}#wt-react-root[data-app=portfolio] .wtpf-tv__media{border-radius:var(--w3-radius);background:transparent;box-shadow:var(--w3-shadow)}#wt-react-root[data-app=portfolio] .wtpf-tv__body{display:grid;gap:1rem}#wt-react-root[data-app=portfolio] .wtpf-tv__summary{font-size:var(--text-fluid-sm);line-height:1.6}#wt-react-root[data-app=portfolio] .wtpf-tv__more{display:inline-flex;align-items:center;gap:.3rem;font-weight:var(--font-weight-medium)}#wt-react-root[data-app=portfolio] .wtpf-subgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem 1.25rem;margin-block-start:1.5rem}#wt-react-root[data-app=portfolio] .wtpf-sub{opacity:0;transform:translateY(14px)}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-sub{animation:wtpf-rise var(--wt-dur-slow) var(--wt-ease) forwards;animation-delay:calc(min(var(--i, 0),9)*45ms)}#wt-react-root[data-app=portfolio] .wtpf-sub__link{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;align-items:start;color:inherit;border-radius:var(--w3-radius)}#wt-react-root[data-app=portfolio] .wtpf-sub__link:hover{text-decoration:none}#wt-react-root[data-app=portfolio] .wtpf-sub__link:hover .wtpf-sub__title{color:var(--w3-link)}#wt-react-root[data-app=portfolio] .wtpf-sub__media{border-radius:var(--w3-radius-sm);transition:transform var(--wt-dur) var(--wt-ease)}#wt-react-root[data-app=portfolio] .wtpf-sub:hover .wtpf-sub__media{transform:translateY(-3px)}#wt-react-root[data-app=portfolio] .wtpf-sub__body{display:grid;gap:.25rem}#wt-react-root[data-app=portfolio] .wtpf-sub__kind{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--a-deep)}#wt-react-root[data-app=portfolio] .wtpf-sub__title{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--w3-text);transition:color var(--wt-dur-fast);text-wrap:pretty}#wt-react-root[data-app=portfolio] .wtpf-sub__summary{font-size:var(--text-base);line-height:1.5;color:var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-index{max-width:var(--w3-max);margin-inline:auto;padding:var(--w3-section) var(--w3-gutter) 0;scroll-margin-top:5rem}#wt-react-root[data-app=portfolio] .wtpf-index__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;padding-block-end:1.5rem;border-block-end:1px solid var(--w3-text);margin-block-end:2rem}#wt-react-root[data-app=portfolio] .wtpf-chips{display:flex;flex-wrap:wrap;gap:.5rem}#wt-react-root[data-app=portfolio] .wtpf-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;padding:.4rem .95rem;border-radius:var(--radius-pill);border:1px solid var(--w3-border);background:var(--w3-card);color:var(--w3-text);font-weight:var(--font-weight-medium);font-size:var(--text-base);transition:background var(--wt-dur-fast),color var(--wt-dur-fast),border-color var(--wt-dur-fast)}#wt-react-root[data-app=portfolio] .wtpf-chip bdi{font-size:var(--text-sm);color:var(--w3-muted);font-variant-numeric:tabular-nums}#wt-react-root[data-app=portfolio] .wtpf-chip:hover{border-color:var(--w3-border)}#wt-react-root[data-app=portfolio] .wtpf-chip[aria-pressed=true]{background:var(--w3-action);border-color:var(--w3-action);color:var(--w3-on-inverse)}#wt-react-root[data-app=portfolio] .wtpf-chip[aria-pressed=true] bdi{color:var(--w3-on-inverse-muted)}#wt-react-root[data-app=portfolio] .wtpf-chip[disabled]{opacity:.45;cursor:default}#wt-react-root[data-app=portfolio] .wtpf-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,2.5vw,2rem)}#wt-react-root[data-app=portfolio] .wtpf-index__note{min-height:1.5rem;margin-block-start:1rem;font-size:var(--text-base);color:var(--w3-muted)}#wt-react-root[data-app=portfolio] .wtpf-card{position:relative;display:flex;flex-direction:column;opacity:0;transform:translateY(16px)}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-card{animation:wtpf-rise var(--wt-dur-slow) var(--wt-ease) forwards;animation-delay:calc(min(var(--i, 0),8)*50ms)}#wt-react-root[data-app=portfolio] .wtpf-card__link{display:flex;flex-direction:column;gap:1rem;color:inherit;border-radius:var(--w3-radius)}#wt-react-root[data-app=portfolio] .wtpf-card__link:hover{text-decoration:none}#wt-react-root[data-app=portfolio] .wtpf-card__media{transition:transform var(--wt-dur) var(--wt-ease),box-shadow var(--wt-dur) var(--wt-ease);box-shadow:none}#wt-react-root[data-app=portfolio] .wtpf-card:hover .wtpf-card__media,#wt-react-root[data-app=portfolio] .wtpf-card:focus-within .wtpf-card__media{transform:translateY(-4px);box-shadow:none}#wt-react-root[data-app=portfolio] .wtpf-card__body{display:flex;flex-direction:column;gap:.35rem;padding-inline:.25rem}#wt-react-root[data-app=portfolio] .wtpf-card__kind{font-family:var(--w3-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--w3-muted)}#wt-react-root[data-app=portfolio] .wtpf-card__title{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--w3-text);letter-spacing:-.01em}#wt-react-root[data-app=portfolio] .wtpf-card__summary{font-size:var(--text-base);line-height:1.55;color:var(--w3-text);max-width:34rem}#wt-react-root[data-app=portfolio] .wtpf-card__more{display:inline-flex;align-items:center;gap:.3rem;margin-block-start:.35rem;font-weight:var(--font-weight-medium);font-size:var(--text-base);color:var(--w3-link)}#wt-react-root[data-app=portfolio] .wtpf-card__more svg{transition:transform var(--wt-dur-fast) var(--wt-ease)}#wt-react-root[data-app=portfolio] .wtpf-card:hover .wtpf-card__more svg{transform:translate(-3px)}#wt-react-root[data-app=portfolio] .wtpf-card__live{position:absolute;top:.9rem;inset-inline-start:.9rem;z-index:var(--z-local-2);display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:var(--radius-pill);background:var(--w3-inverse-2);color:var(--w3-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none;opacity:0;transition:opacity var(--wt-dur-fast),transform var(--wt-dur-fast)}#wt-react-root[data-app=portfolio] .wtpf-card__live:hover{text-decoration:none;color:var(--w3-link)}#wt-react-root[data-app=portfolio] .wtpf-card:hover .wtpf-card__live,#wt-react-root[data-app=portfolio] .wtpf-card:focus-within .wtpf-card__live{opacity:1}@media(hover:none){#wt-react-root[data-app=portfolio] .wtpf-card__live{opacity:1}}#wt-react-root[data-app=portfolio] .wtpf-now{position:relative;isolation:isolate;overflow:hidden;margin-inline:calc(50% - 50vw);margin-block-start:var(--w3-section);background-color:var(--w3-inverse);color:var(--w3-on-inverse)}#wt-react-root[data-app=portfolio] .wtpf-now h2{color:var(--w3-on-inverse)}#wt-react-root[data-app=portfolio] .wtpf-now__mark{position:absolute;z-index:-1;pointer-events:none;inset-inline-end:0;inset-block-end:0;height:min(92%,560px);aspect-ratio:871 / 1543;transform:scaleX(-1);background:var(--w3-inverse-2);-webkit-mask:var(--wtpf-tiger) center / contain no-repeat;mask:var(--wtpf-tiger) center / contain no-repeat}#wt-react-root[data-app=portfolio] .wtpf-now__inner{max-width:var(--w3-max);margin-inline:auto;padding:clamp(3rem,5vw,5rem) var(--w3-gutter);display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem 4rem}#wt-react-root[data-app=portfolio] .wtpf-now__copy{display:flex;flex-direction:column;gap:1.25rem;max-width:36rem}#wt-react-root[data-app=portfolio] .wtpf-now__copy p{font-size:var(--text-lg);line-height:1.65;color:var(--w3-on-inverse-muted)}#wt-react-root[data-app=portfolio] .wtpf-now__copy p bdi{color:var(--w3-on-inverse);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}#wt-react-root[data-app=portfolio] .wtpf-now__links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}#wt-react-root[data-app=portfolio] .wtpf-now__links a{display:inline-flex;align-items:center;gap:.3rem;color:var(--w3-on-inverse);font-weight:var(--font-weight-medium)}#wt-react-root[data-app=portfolio] .wtpf-now__list{display:flex;flex-direction:column;border-block-start:1px solid var(--w3-on-inverse-muted)}#wt-react-root[data-app=portfolio] .wtpf-now__list li{display:grid;gap:.25rem;padding-block:1.1rem;border-block-end:1px solid var(--w3-inverse-2)}#wt-react-root[data-app=portfolio] .wtpf-now__list strong{color:var(--w3-on-inverse);font-weight:var(--font-weight-bold);font-size:var(--text-lg)}#wt-react-root[data-app=portfolio] .wtpf-now__list span{color:var(--w3-on-inverse-muted);font-size:var(--text-base);line-height:1.5}#wt-react-root[data-app=portfolio] .wtpf-standard{max-width:var(--w3-max);margin-inline:auto;padding:var(--w3-section) var(--w3-gutter) 0}#wt-react-root[data-app=portfolio] .wtpf-standard__head{max-width:44rem;display:grid;gap:.75rem;margin-block-end:2.5rem}#wt-react-root[data-app=portfolio] .wtpf-standard__head p{font-size:var(--text-lg);color:var(--w3-muted)}#wt-react-root[data-app=portfolio] .wtpf-standard__list{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem 2.5rem}#wt-react-root[data-app=portfolio] .wtpf-standard__list li{padding-block-start:1rem;border-block-start:1px solid var(--w3-text);display:grid;gap:.4rem}#wt-react-root[data-app=portfolio] .wtpf-standard__list h3{font-size:var(--text-lg)}#wt-react-root[data-app=portfolio] .wtpf-standard__list p{font-size:var(--text-base);line-height:1.55;color:var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-standard__compact{display:grid;gap:.6rem;font-size:var(--text-base);line-height:1.5;color:var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-standard__compact li{padding-inline-start:.9rem;position:relative}#wt-react-root[data-app=portfolio] .wtpf-standard__compact li:before{content:"";position:absolute;inset-inline-start:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--w3-action)}#wt-react-root[data-app=portfolio] .wtpf-standard__compact strong{color:var(--w3-text);font-weight:var(--font-weight-bold)}#wt-react-root[data-app=portfolio] .wtpf-project__head{max-width:var(--w3-max);margin-inline:auto;padding:clamp(1.5rem,3vw,3rem) var(--w3-gutter) 0;display:grid;gap:1rem}#wt-react-root[data-app=portfolio] .wtpf-project__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}#wt-react-root[data-app=portfolio] .wtpf-project__kicker{font-family:var(--w3-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--w3-muted)}#wt-react-root[data-app=portfolio] .wtpf-project__title{font-size:var(--text-fluid-3xl);font-weight:var(--font-weight-bold);line-height:1.06;letter-spacing:-.02em;color:var(--w3-text);max-width:20ch}#wt-react-root[data-app=portfolio] .wtpf-project__lede{font-size:var(--text-fluid-md);line-height:1.6;color:var(--w3-text);max-width:40rem}#wt-react-root[data-app=portfolio] .wtpf-project__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-block-start:.5rem}#wt-react-root[data-app=portfolio] .wtpf-project__head>*{opacity:0;transform:translateY(12px)}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-project__head>*{animation:wtpf-rise var(--wt-dur-slow) var(--wt-ease) forwards}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-project__head>:nth-child(3){animation-delay:60ms}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-project__head>:nth-child(4){animation-delay:.12s}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-project__head>:nth-child(5){animation-delay:.18s}#wt-react-root[data-app=portfolio] .wtpf-stage{margin-inline:calc(50% - 50vw);margin-block-start:clamp(2rem,4vw,3.5rem);background:var(--stage, var(--w3-raised));padding:clamp(1.5rem,4vw,4rem) var(--w3-gutter)}#wt-react-root[data-app=portfolio] .wtpf-stage__media{max-width:920px;margin-inline:auto;aspect-ratio:4 / 3;border-radius:var(--w3-radius);background:transparent}#wt-react-root[data-app=portfolio] .wtpf-stage__media.wtpf-media--photo{background:var(--stage)}#wt-react-root[data-app=portfolio] .wtpf-stage__media.wtpf-media--photo img{object-fit:contain}#wt-react-root[data-app=portfolio] .wtpf--ready .wtpf-stage__media{animation:wtpf-rise var(--wt-dur-slow) var(--wt-ease) forwards;animation-delay:.2s}#wt-react-root[data-app=portfolio] .wtpf-stage__media{opacity:0;transform:translateY(16px)}#wt-react-root[data-app=portfolio] .wtpf-project__body{max-width:var(--w3-max);margin-inline:auto;padding:var(--w3-section) var(--w3-gutter) 0;display:grid;grid-template-columns:minmax(0,1fr);gap:3rem 5rem;align-items:start}#wt-react-root[data-app=portfolio] .wtpf-project__main{display:grid;gap:1.25rem;max-width:46rem}#wt-react-root[data-app=portfolio] .wtpf-project__para{font-size:var(--text-lg);line-height:1.7;color:var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-project__para:first-child{font-size:var(--text-lg);color:var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-delivered{margin-block-start:1.5rem;display:grid;gap:1.25rem}#wt-react-root[data-app=portfolio] .wtpf-delivered dl{display:grid;border-block-start:1px solid var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-delivered dl>div{display:grid;gap:.3rem;padding-block:1.1rem;border-block-end:1px solid var(--w3-line)}#wt-react-root[data-app=portfolio] .wtpf-delivered dt{font-weight:var(--font-weight-medium);color:var(--w3-text);font-size:var(--text-lg)}#wt-react-root[data-app=portfolio] .wtpf-delivered dd{color:var(--w3-text);line-height:1.55}#wt-react-root[data-app=portfolio] .wtpf-children{margin-block-start:1.5rem;display:grid;gap:1.25rem}#wt-react-root[data-app=portfolio] .wtpf-children__list{display:grid;border-block-start:1px solid var(--w3-text)}#wt-react-root[data-app=portfolio] .wtpf-children__list li{border-block-end:1px solid var(--w3-line)}#wt-react-root[data-app=portfolio] .wtpf-children__list a{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding-block:1rem;color:inherit}#wt-react-root[data-app=portfolio] .wtpf-children__list a:hover{text-decoration:none}#wt-react-root[data-app=portfolio] .wtpf-children__list a:hover strong{color:var(--w3-link)}#wt-react-root[data-app=portfolio] .wtpf-children__list strong{display:block;color:var(--w3-text);font-weight:var(--font-weight-bold);transition:color var(--wt-dur-fast)}#wt-react-root[data-app=portfolio] .wtpf-children__list span:not(.wtpf-children__n){color:var(--w3-text);font-size:var(--text-base);line-height:1.5}#wt-react-root[data-app=portfolio] .wtpf-children__list svg{color:var(--w3-link)}#wt-react-root[data-app=portfolio] .wtpf-children__n{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--w3-bench);color:var(--w3-graphite);font-family:var(--w3-mono);font-weight:var(--font-weight-medium);font-size:var(--text-sm);font-variant-numeric:tabular-nums}#wt-react-root[data-app=portfolio] .wtpf-project__aside{display:grid;gap:1.5rem;padding:1.5rem;background:var(--w3-raised);border-radius:var(--w3-radius)}#wt-react-root[data-app=portfolio] .wtpf-facts{display:grid;gap:.9rem}#wt-react-root[data-app=portfolio] .wtpf-facts>div{display:grid;gap:.15rem}#wt-react-root[data-app=portfolio] .wtpf-facts dt{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--w3-muted)}#wt-react-root[data-app=portfolio] .wtpf-facts dd{font-size:var(--text-base);color:var(--w3-text);font-weight:var(--font-weight-medium)}#wt-react-root[data-app=portfolio] .wtpf-stack-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-block-start:.25rem}#wt-react-root[data-app=portfolio] .wtpf-stack-list li{padding:.2rem .6rem;border-radius:var(--radius-pill);background:var(--w3-card);border:1px solid var(--w3-border);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}#wt-react-root[data-app=portfolio] .wtpf-aside__h{font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--w3-text);padding-block-start:1.25rem;border-block-start:1px solid var(--w3-border)}#wt-react-root[data-app=portfolio] .wtpf-projnav{max-width:var(--w3-max);margin-inline:auto;padding:var(--w3-section) var(--w3-gutter) 0;display:grid;gap:1.5rem}#wt-react-root[data-app=portfolio] .wtpf-projnav__links{display:flex;flex-wrap:wrap;gap:.5rem 2rem}#wt-react-root[data-app=portfolio] .wtpf-projnav__pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem}#wt-react-root[data-app=portfolio] .wtpf-mini{display:grid;gap:.75rem;color:inherit;border-radius:var(--w3-radius)}#wt-react-root[data-app=portfolio] .wtpf-mini:hover{text-decoration:none}#wt-react-root[data-app=portfolio] .wtpf-mini:hover .wtpf-mini__title{color:var(--w3-link)}#wt-react-root[data-app=portfolio] .wtpf-mini__media{border-radius:var(--w3-radius)}#wt-react-root[data-app=portfolio] .wtpf-mini__body{display:grid;gap:.15rem}#wt-react-root[data-app=portfolio] .wtpf-mini__label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--w3-muted)}#wt-react-root[data-app=portfolio] .wtpf-mini__title{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--w3-text);transition:color var(--wt-dur-fast)}#wt-react-root[data-app=portfolio] .wtpf-lead{margin-inline:calc(50% - 50vw);margin-block-start:var(--w3-section);background:var(--w3-bench);scroll-margin-top:4rem}#wt-react-root[data-app=portfolio] .wtpf-lead__inner{max-width:var(--w3-max);margin-inline:auto;padding:clamp(3rem,5vw,5rem) var(--w3-gutter);display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}#wt-react-root[data-app=portfolio] .wtpf-lead__aside{display:flex;flex-direction:column;gap:1.25rem;max-width:34rem}#wt-react-root[data-app=portfolio] .wtpf-lead__lede{font-size:var(--text-lg);line-height:1.6}#wt-react-root[data-app=portfolio] .wtpf-steps{display:flex;flex-direction:column;gap:1rem;margin-block:.5rem}#wt-react-root[data-app=portfolio] .wtpf-steps li{display:flex;gap:.9rem;align-items:flex-start}#wt-react-root[data-app=portfolio] .wtpf-steps strong{display:block;color:var(--w3-text);font-weight:var(--font-weight-bold)}#wt-react-root[data-app=portfolio] .wtpf-steps p{font-size:var(--text-base);color:var(--w3-muted);line-height:1.5}#wt-react-root[data-app=portfolio] .wtpf-steps__n{flex:none;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--w3-action);color:var(--w3-on-inverse);font-weight:var(--font-weight-bold);font-size:var(--text-base);font-variant-numeric:tabular-nums}#wt-react-root[data-app=portfolio] .wtpf-lead__channels{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}#wt-react-root[data-app=portfolio] .wtpf-lead__mail{display:inline-flex;align-items:center;gap:.5rem;font-weight:var(--font-weight-bold);color:var(--w3-graphite)}#wt-react-root[data-app=portfolio] .wtpf-lead__mail svg{color:var(--w3-link)}#wt-react-root[data-app=portfolio] .wtpf[dir=ltr] .wtsy-arrow{transform:scaleX(-1)}#wt-react-root[data-app=portfolio] .wtpf[dir=ltr] .wtpf-card:hover .wtpf-card__more svg{transform:scaleX(-1) translate(-3px)}#wt-react-root[data-app=portfolio] .wtpf[dir=ltr] .wtpf-now__mark{transform:none}@media(min-width:600px){#wt-react-root[data-app=portfolio] .wtsy-form__grid,#wt-react-root[data-app=portfolio] .wtpf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#wt-react-root[data-app=portfolio] .wtpf-card--wide{grid-column:1 / -1}#wt-react-root[data-app=portfolio] .wtpf-standard__list{grid-template-columns:repeat(2,minmax(0,1fr))}#wt-react-root[data-app=portfolio] .wtpf-project__aside{grid-template-columns:repeat(2,minmax(0,1fr))}#wt-react-root[data-app=portfolio] .wtpf-project__aside .wtpf-aside__h{grid-column:1 / -1}#wt-react-root[data-app=portfolio] .wtpf-project__aside .wtpf-standard__compact{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){#wt-react-root[data-app=portfolio] .wtpf-flag__inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}#wt-react-root[data-app=portfolio] .wtpf-tv__lead{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:2.5rem}#wt-react-root[data-app=portfolio] .wtpf-subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}#wt-react-root[data-app=portfolio] .wtpf-card--wide .wtpf-card__link{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2.5rem;align-items:center}#wt-react-root[data-app=portfolio] .wtpf-card--wide .wtpf-card__media{aspect-ratio:16 / 10}#wt-react-root[data-app=portfolio] .wtpf-card--wide .wtpf-card__title{font-size:var(--text-fluid-xl)}#wt-react-root[data-app=portfolio] .wtpf-card--wide .wtpf-card__summary{font-size:var(--text-lg)}#wt-react-root[data-app=portfolio] .wtpf-now__inner{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:start}}@media(min-width:1024px){#wt-react-root[data-app=portfolio] .wtpf-hero{grid-template-columns:minmax(0,6fr) minmax(0,6fr);min-height:66vh;padding-block-start:clamp(2rem,4vw,4rem)}#wt-react-root[data-app=portfolio] .wtpf-stack{max-width:none}#wt-react-root[data-app=portfolio] .wtpf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#wt-react-root[data-app=portfolio] .wtpf-subgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.5rem}#wt-react-root[data-app=portfolio] .wtpf-sub__link{grid-template-columns:minmax(0,1fr);gap:.85rem}#wt-react-root[data-app=portfolio] .wtpf-standard__list{grid-template-columns:repeat(3,minmax(0,1fr))}#wt-react-root[data-app=portfolio] .wtpf-project__body{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}#wt-react-root[data-app=portfolio] .wtpf-project__aside{position:sticky;top:6rem;grid-template-columns:minmax(0,1fr)}#wt-react-root[data-app=portfolio] .wtpf-project__aside .wtpf-standard__compact{grid-template-columns:minmax(0,1fr)}#wt-react-root[data-app=portfolio] .wtpf-lead__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4rem;align-items:start}#wt-react-root[data-app=portfolio] .wtpf-lead__aside{position:sticky;top:6rem}}@keyframes wtpf-rise{to{opacity:1;transform:none}}@keyframes wtpf-fan{to{opacity:1;transform:translateY(0) rotate(var(--r, 0deg))}}@keyframes wtpf-bob{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes wtpf-slide{to{opacity:1;transform:none}}@keyframes wtpf-blink{0%,to{opacity:.3}50%{opacity:1}}@keyframes wtpf-heal{to{background:var(--w3-success)}}@keyframes wtpf-dim{to{opacity:.45}}@media(prefers-reduced-motion:reduce){#wt-react-root[data-app=portfolio] .wtpf-hero__copy>*,#wt-react-root[data-app=portfolio] .wtpf-card,#wt-react-root[data-app=portfolio] .wtpf-project__head>*,#wt-react-root[data-app=portfolio] .wtpf-stage__media{opacity:1;transform:none;animation:none}#wt-react-root[data-app=portfolio] .wtpf-stack__item{opacity:1;transform:rotate(var(--r, 0deg));animation:none}#wt-react-root[data-app=portfolio] .wtpf-stack .pl-f{animation:none}#wt-react-root[data-app=portfolio] .wtpf-sub,#wt-react-root[data-app=portfolio] .wtpf-console__msg,#wt-react-root[data-app=portfolio] .wtpf-console__approve,#wt-react-root[data-app=portfolio] .wtpf-console__done{opacity:1;transform:none;animation:none}#wt-react-root[data-app=portfolio] .wtpf-console__dots i{animation:none;opacity:.6}#wt-react-root[data-app=portfolio] .wtpf-console__nodes li:first-child i{animation:none;background:var(--w3-success)}#wt-react-root[data-app=portfolio] *,#wt-react-root[data-app=portfolio] *:before,#wt-react-root[data-app=portfolio] *:after{transition-duration:1ms!important}}
