.portfolio-design .analytics-consent-layer{z-index:1200;right:var(--space-5);bottom:var(--space-5);left:var(--space-5);pointer-events:none;justify-content:center;display:flex;position:fixed}.portfolio-design .analytics-consent-card{width:min(100%,720px);padding:var(--space-5);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 96%, transparent);box-shadow:var(--elev-overlay);gap:var(--space-5);pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;position:relative}.portfolio-design .analytics-consent-copy{padding-right:var(--space-8);gap:var(--space-2);display:grid}.portfolio-design .analytics-consent-copy a{color:var(--fg);font-weight:var(--type-body-1-normal-weight);text-underline-offset:.2em}.portfolio-design .analytics-consent-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portfolio-design .analytics-consent-close{top:var(--space-3);right:var(--space-3);position:absolute}@media (max-width:1023px){.portfolio-design .analytics-consent-layer{right:var(--space-3);bottom:var(--space-3);left:var(--space-3)}.portfolio-design .analytics-consent-card{padding:var(--space-4);border-radius:var(--radius-md);gap:var(--space-4)}.portfolio-design .analytics-consent-actions{grid-template-columns:1fr}}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--about-glow-angle:0deg}}}.portfolio-design{text-rendering:auto;font-synthesis-weight:none;line-height:1.5}.portfolio-design *,.portfolio-design :before,.portfolio-design :after{box-sizing:border-box;margin:0}.portfolio-design a{color:inherit;text-decoration:none}.portfolio-design button{cursor:pointer;font-family:inherit;line-height:normal}.portfolio-design input,.portfolio-design textarea{font-family:inherit;line-height:normal}.portfolio-design .article-action-control{align-items:stretch;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.portfolio-design .article-action-control .ds-text-button{width:100%;height:var(--button-height-lg);margin-inline:0}.portfolio-design .article-like-button[data-liked=true] .ds-button-content>svg{color:var(--danger)}.portfolio-design .article-like-count{font-variant-numeric:tabular-nums}.portfolio-design .article-like-button .ds-button-label{align-items:center;gap:var(--space-2);display:inline-flex}.portfolio-design .article-share-toast{z-index:var(--article-toast-z-index);left:50%;bottom:var(--space-8);align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--fg);box-shadow:var(--elev-overlay);color:var(--bg);font-size:var(--type-label-1-normal-size);line-height:var(--type-label-1-normal-line-height);letter-spacing:var(--type-label-1-normal-letter-spacing);font-weight:var(--type-label-1-normal-weight);pointer-events:none;animation:articleShareToastIn var(--motion-slow) var(--ease-standard);display:inline-flex;position:fixed;transform:translate(-50%)}.portfolio-design .article-share-toast-icon{flex:none}@keyframes articleShareToastIn{0%{opacity:0;transform:translate(-50%, var(--space-2))}to{opacity:1;transform:translate(-50%)}}.portfolio-design .contact-page{min-height:var(--contact-page-min-height);padding-block:var(--space-16) var(--space-12);justify-content:center;align-items:center;display:flex}.portfolio-design .contact-content{justify-items:center;gap:var(--space-5);text-align:center;width:100%;min-width:0;display:grid}.portfolio-design .contact-mesh-stage{width:100%;height:var(--contact-mesh-height-desktop);min-width:0;color:var(--fg);touch-action:none;place-items:center;display:grid;position:relative;overflow:hidden}.portfolio-design .contact-mesh-fallback,.portfolio-design .contact-mesh-canvas{width:100%;height:100%;position:absolute;inset:0}.portfolio-design .contact-mesh-fallback{font-family:var(--font-display);white-space:nowrap;place-items:center;display:grid}.portfolio-design .contact-mesh-canvas{opacity:0;pointer-events:none;display:block}.portfolio-design .contact-mesh-stage[data-canvas-ready=true] .contact-mesh-fallback{opacity:0}.portfolio-design .contact-mesh-stage[data-canvas-ready=true] .contact-mesh-canvas{opacity:1}.portfolio-design .contact-copy{justify-items:center;gap:var(--space-10);width:100%;display:grid}.portfolio-design .contact-description{gap:var(--space-1);color:var(--fg-2);display:grid}.portfolio-design .contact-actions{justify-content:center;align-items:stretch;gap:var(--space-4);flex-direction:row;display:flex}.portfolio-design .contact-actions .ds-button{width:var(--contact-action-width)}.portfolio-design .contact-actions .ds-button:focus-visible{outline:var(--contact-focus-outline-width) solid var(--accent);outline-offset:var(--contact-focus-outline-offset)}.portfolio-design input::placeholder,.portfolio-design textarea::placeholder{color:var(--placeholder);opacity:1}.portfolio-design img{display:block}.portfolio-design ::selection{background:var(--accent-bg);color:var(--accent-strong)}.portfolio-design .page-section{padding-top:56px}.portfolio-design .page-section-tight{padding-top:40px}.portfolio-design .section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.portfolio-design .section-note{color:var(--muted);font-size:var(--type-label-2-size);line-height:var(--type-label-2-line-height);letter-spacing:var(--type-label-2-letter-spacing);font-weight:var(--type-label-2-weight)}.portfolio-design .status-chip{padding:var(--badge-padding-block-sm) var(--badge-padding-inline-sm);border-radius:var(--badge-radius);background:var(--success-bg);color:var(--positive-strong);font-size:var(--type-caption-2-size);line-height:var(--type-caption-2-line-height);letter-spacing:var(--type-caption-2-letter-spacing);font-weight:var(--weight-bold)}.portfolio-design .tag-list{gap:var(--tag-list-gap);flex-wrap:wrap;display:flex}.portfolio-design .tag-chip{border-radius:var(--tag-radius);background:var(--surface-muted);color:var(--fg-2);font-size:var(--type-label-2-size);line-height:var(--type-label-2-line-height);letter-spacing:var(--type-label-2-letter-spacing);font-weight:var(--weight-semibold);padding:var(--tag-padding-block-md) var(--tag-padding-inline-md);border:0;align-items:center;display:inline-flex}.portfolio-design .tag-chip-lg{font-size:var(--type-label-2-size);padding:var(--tag-padding-block-lg) var(--tag-padding-inline-lg)}.portfolio-design .back-link{color:var(--fg-2);font-size:var(--type-label-1-normal-size);line-height:var(--type-label-1-normal-line-height);letter-spacing:var(--type-label-1-normal-letter-spacing);font-weight:var(--weight-semibold);background:0 0;border:0;align-items:center;gap:6px;margin-bottom:20px;padding:8px 0;display:inline-flex}.portfolio-design .panel{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-strong)}@media not all and (min-width:64rem){.portfolio-design .contact-page{min-height:var(--contact-page-min-height-mobile);padding-block:var(--space-10) var(--space-8);align-items:flex-start}.portfolio-design .contact-mesh-stage{height:var(--contact-mesh-height-mobile)}.portfolio-design .contact-mesh-fallback{font-size:var(--type-title-1-size);line-height:var(--type-title-1-line-height);letter-spacing:var(--type-title-1-letter-spacing);font-weight:var(--type-title-1-weight)}.portfolio-design .contact-description{font-size:var(--type-body-1-normal-size);line-height:var(--type-body-1-normal-line-height);letter-spacing:var(--type-body-1-normal-letter-spacing);font-weight:var(--weight-medium)}.portfolio-design .contact-actions{gap:var(--space-2);flex-direction:column;width:100%}.portfolio-design .contact-actions .ds-button{width:100%}}@keyframes portfolioFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.portfolio-design .contact-mesh-canvas{display:none}.portfolio-design *,.portfolio-design :before,.portfolio-design :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media not all and (min-width:64rem){.portfolio-design .ds-page-heading{flex-direction:column;justify-content:flex-start;align-items:stretch}.portfolio-design .ds-footer-row{flex-direction:column;align-items:flex-start}.portfolio-design .ds-container{padding-inline:var(--gutter-phone)}.portfolio-design .ds-header-layer{padding:var(--header-mobile-top) var(--space-5) 0;transition:transform var(--header-scroll-motion-duration) var(--ease-emphasized)}.portfolio-design .ds-header{max-width:var(--container-max);box-shadow:var(--elev-card);border-color:#0000}.portfolio-design .ds-header-inner{padding-left:var(--space-5);padding-right:var(--space-3)}.portfolio-design .ds-nav-mobile{right:var(--space-5);max-width:calc(100vw - var(--space-5) - var(--space-5));display:block}.portfolio-design .ds-header-layer[data-scroll-visibility=hidden]{transform:translateY(-100%)}.portfolio-design .ds-header-layer .ds-nav-desktop{display:none}.portfolio-design .ds-header-layer .ds-nav-trigger{display:inline-flex}.portfolio-design .ds-dialog-overlay{padding:0}.portfolio-design .ds-dialog-surface,.portfolio-design .ds-dialog-surface[data-size=wide]{width:100dvw;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0}.portfolio-design .ds-dialog-content{padding:var(--dialog-content-padding-mobile)}}@media (min-width:64rem){.portfolio-design .ds-page-heading{flex-direction:row;justify-content:space-between;align-items:flex-end}.portfolio-design .ds-header-layer[data-scroll-visibility=hidden]{transform:none}.portfolio-design .ds-header-layer .ds-nav-desktop{display:flex}.portfolio-design .ds-header-layer .ds-nav-trigger,.portfolio-design .ds-header-layer .ds-nav-mobile{display:none}}.portfolio-design .art-category-ticker{width:100%;margin-bottom:var(--space-12)}.portfolio-design .art-category-ticker-viewport{width:100%;height:var(--article-category-ticker-height);-webkit-mask-image:linear-gradient(to right, black 0, black calc(100% - var(--article-category-ticker-mask-stop)), transparent 100%);-webkit-mask-image:linear-gradient(to right, black 0, black calc(100% - var(--article-category-ticker-mask-stop)), transparent 100%);-webkit-mask-image:linear-gradient(to right, black 0, black calc(100% - var(--article-category-ticker-mask-stop)), transparent 100%);mask-image:linear-gradient(to right, black 0, black calc(100% - var(--article-category-ticker-mask-stop)), transparent 100%);-webkit-mask-image:linear-gradient(to right, black 0, black calc(100% - var(--article-category-ticker-mask-stop)), transparent 100%);align-items:center;display:flex;overflow:hidden}.portfolio-design .art-category-ticker-track{align-items:center;gap:var(--article-category-ticker-gap);width:max-content;transform:translate3d(var(--article-category-track-x,0), 0, 0);transition:transform var(--article-category-ticker-motion-duration) cubic-bezier(.16, 1, .3, 1);will-change:transform;padding-inline:0;display:flex}.portfolio-design .art-category-link{min-height:44px;color:var(--fg-2);outline:none;flex:none;align-items:center;padding:0;display:inline-flex}.portfolio-design .art-category-link:focus-visible{border-radius:var(--radius-xs);outline:var(--button-focus-ring-width) solid var(--button-focus-ring-color);outline-offset:var(--space-1)}.portfolio-design .art-category-link-content{font-size:var(--type-display-2-size);line-height:var(--type-display-2-line-height);letter-spacing:var(--type-display-2-letter-spacing);font-weight:var(--article-category-ticker-label-weight);transition:color var(--article-category-ticker-motion-duration) cubic-bezier(.16, 1, .3, 1), filter var(--article-category-ticker-motion-duration) cubic-bezier(.16, 1, .3, 1), opacity var(--article-category-ticker-motion-duration) cubic-bezier(.16, 1, .3, 1);align-items:baseline;display:inline-flex}.portfolio-design .art-category-label{display:inline-grid;position:relative}.portfolio-design .art-category-label>span{grid-area:1/1}.portfolio-design .art-category-label-outline,.portfolio-design .art-category-label-particles{pointer-events:none}.portfolio-design .art-category-label-outline{color:currentColor;opacity:var(--article-category-ticker-outline-opacity);-webkit-text-fill-color:transparent;-webkit-text-stroke:var(--article-category-ticker-outline-width) currentColor;animation:articleCategoryOutlineDrift var(--article-category-ticker-outline-duration) linear infinite}.portfolio-design .art-category-label-particles{color:currentColor;opacity:var(--article-category-ticker-particle-opacity);text-shadow:-3px -1px 4px,3px 1px 5px;animation:articleCategoryParticleDissolve var(--article-category-ticker-particle-duration) ease-in-out infinite}.portfolio-design .art-category-link[data-distance=active] .art-category-link-content{color:var(--accent);filter:blur();opacity:1}.portfolio-design .art-category-link[data-distance=adjacent] .art-category-link-content{filter:blur(var(--article-category-ticker-adjacent-blur));opacity:var(--article-category-ticker-adjacent-opacity);text-shadow:0 0 4px}.portfolio-design .art-category-link[data-distance=outer] .art-category-link-content{filter:blur(var(--article-category-ticker-outer-blur));opacity:var(--article-category-ticker-outer-opacity)}.portfolio-design .art-list{gap:var(--space-10);flex-direction:column;display:flex}.portfolio-design .art-index-content{gap:var(--article-index-columns-gap);grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;display:grid}.portfolio-design .art-index-main{min-width:0}.portfolio-design .art-loading{gap:var(--space-8);display:grid}.portfolio-design .art-loading-ticker{align-items:center;gap:var(--space-5);min-height:var(--type-display-2-line-height);display:flex;overflow:hidden}.portfolio-design .art-category-loading{margin-bottom:var(--space-12)}.portfolio-design .art-loading>.art-category-loading{margin-bottom:0}.portfolio-design .art-loading-block{border-radius:var(--radius-md);background:var(--border-soft);animation:1.2s ease-in-out infinite articleLoadingPulse;display:block}.portfolio-design .art-loading-ticker-active{width:148px;height:40px}.portfolio-design .art-loading-ticker-adjacent{opacity:.7;width:116px;height:32px}.portfolio-design .art-loading-ticker-outer{opacity:.45;width:88px;height:28px}.portfolio-design .art-loading-description{width:min(420px,70%);height:var(--type-heading-1-line-height);margin-bottom:var(--space-8)}.portfolio-design .art-loading-row{justify-content:space-between;align-items:stretch;gap:var(--space-6);min-height:162px;display:flex}.portfolio-design .art-loading-row-text{gap:var(--space-3);padding:var(--space-2) 0;flex-direction:column;flex:1;display:flex}.portfolio-design .art-loading-meta{width:92px;height:var(--type-label-1-normal-line-height)}.portfolio-design .art-loading-title{width:min(460px,86%);height:var(--type-heading-2-line-height)}.portfolio-design .art-loading-excerpt{width:min(520px,96%);height:calc(var(--type-body-1-reading-line-height) * 2)}.portfolio-design .art-loading-media{border-radius:var(--radius-lg);flex:0 0 240px;width:240px;height:162px}.portfolio-design .art-loading-latest,.portfolio-design .art-loading-latest-content{gap:var(--space-5);display:grid}.portfolio-design .art-loading-latest-heading{width:112px;height:var(--type-heading-2-line-height)}.portfolio-design .art-loading-latest-row{gap:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--border-soft);display:grid}.portfolio-design .art-loading-latest-title{width:82%;height:var(--type-headline-1-line-height)}.portfolio-design .art-loading-latest-excerpt{width:100%;height:calc(var(--type-body-2-reading-line-height) * 2)}@keyframes articleLoadingPulse{50%{opacity:.45}}.portfolio-design .art-category-description{margin:0 0 var(--space-8);color:var(--fg-2);font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line-height);letter-spacing:var(--type-heading-1-letter-spacing);font-weight:var(--type-heading-1-weight)}.portfolio-design .art-category-description-part{display:inline}.portfolio-design .art-latest-column{gap:var(--space-6);min-width:0;display:grid}.portfolio-design .art-latest-panel{padding:var(--space-6);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-muted)}.portfolio-design .art-latest-heading{margin:0 0 var(--space-6);font-size:var(--type-heading-2-size);line-height:var(--type-heading-2-line-height);letter-spacing:var(--type-heading-2-letter-spacing);font-weight:var(--type-heading-2-weight)}.portfolio-design .art-latest-list{gap:var(--space-5);display:grid}.portfolio-design .art-partner-ad{justify-items:center;gap:var(--space-3);display:grid}.portfolio-design .art-partner-ad-disclosure{max-width:320px;color:var(--fg-2);margin:0}.portfolio-design .art-partner-ad-link{width:min(320px,100%);display:block}.portfolio-design .art-partner-ad-link img{width:100%;height:auto;display:block}.portfolio-design .art-latest-item+.art-latest-item{padding-top:var(--space-5);border-top:1px solid var(--border-soft)}.portfolio-design .art-latest-link{color:inherit;text-decoration:none;display:block}.portfolio-design .art-latest-category{color:var(--muted);font-size:var(--type-body-2-normal-size);line-height:var(--type-body-2-normal-line-height);letter-spacing:var(--type-body-2-normal-letter-spacing);font-weight:var(--type-body-2-normal-weight);display:block}.portfolio-design .art-latest-title{margin:var(--space-1) 0 0;color:var(--fg);font-size:var(--type-headline-1-size);line-height:var(--type-headline-1-line-height);letter-spacing:var(--type-headline-1-letter-spacing);font-weight:var(--type-headline-1-weight)}.portfolio-design .art-latest-excerpt{margin:var(--space-1) 0 0;color:var(--fg-2);font-size:var(--type-body-2-reading-size);line-height:var(--type-body-2-reading-line-height);letter-spacing:var(--type-body-2-reading-letter-spacing);font-weight:var(--type-body-2-reading-weight);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.portfolio-design .art-latest-date{margin-top:var(--space-1);color:var(--muted);font-size:var(--type-body-2-normal-size);line-height:var(--type-body-2-normal-line-height);letter-spacing:var(--type-body-2-normal-letter-spacing);font-weight:var(--type-body-2-normal-weight);display:block}.portfolio-design .art-empty{color:var(--muted);text-align:center;padding:64px 0}.portfolio-design .art-detail{width:100%;margin:0 auto}.portfolio-design .article-cover-media{width:100%;height:100%;display:block;position:relative;overflow:hidden}.portfolio-design .article-cover-media img{object-fit:cover;width:100%;height:100%;display:block}.portfolio-design .art-detail-back{width:100%;max-width:var(--article-detail-content-width);margin:0 auto var(--space-5)}.portfolio-design .art-detail-back .back-link{margin-bottom:0}.portfolio-design .art-detail-cover{width:100%;max-width:var(--article-detail-content-width);border-radius:var(--radius-lg);height:clamp(280px,30vw,380px);margin-inline:auto}.portfolio-design .art-detail-reading{width:100%;max-width:var(--article-detail-content-width);margin:var(--space-8) auto 0}.portfolio-design .art-detail-header{text-align:center;flex-direction:column;align-items:center;display:flex}.portfolio-design .art-detail-title{font-size:var(--type-title-2-size);line-height:var(--type-title-2-line-height);letter-spacing:var(--type-title-2-letter-spacing);font-weight:var(--type-title-2-weight);margin:0}.portfolio-design .art-excerpt{max-width:640px;margin-top:var(--article-detail-lead-gap);color:var(--fg);font-size:var(--type-headline-1-size);font-weight:var(--weight-medium);line-height:var(--type-headline-1-line-height);letter-spacing:var(--type-headline-1-letter-spacing)}.portfolio-design .art-detail-tags{margin-top:32px}.portfolio-design .art-detail-tags .tag-chip{font-size:var(--type-label-1-normal-size);line-height:var(--type-label-1-normal-line-height);letter-spacing:var(--type-label-1-normal-letter-spacing)}.portfolio-design .art-detail-reading>.article-content{margin-top:46px}.portfolio-design .art-detail-loading-back{width:104px;height:var(--type-label-1-normal-line-height)}.portfolio-design .art-detail-loading-cover{background:var(--border-soft)}.portfolio-design .art-detail-loading-meta{justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.portfolio-design .art-detail-loading-meta .art-loading-block{width:88px;height:var(--type-label-1-normal-line-height)}.portfolio-design .art-detail-loading-title{width:min(560px,76%);height:var(--type-title-2-line-height)}.portfolio-design .art-detail-loading-lead{width:min(620px,88%);height:calc(var(--type-headline-1-line-height) * 2);margin-top:var(--article-detail-lead-gap)}.portfolio-design .art-detail-loading-body{gap:var(--space-4);margin-top:46px;display:grid}.portfolio-design .art-detail-loading-line{width:100%;height:var(--type-body-1-reading-line-height)}.portfolio-design .art-detail-loading-line[data-line="3"],.portfolio-design .art-detail-loading-line[data-line="6"]{width:72%}.portfolio-design .art-detail-actions{justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-soft);margin-top:30px;display:flex}.portfolio-design .art-detail-actions-label{color:var(--fg);font-size:var(--type-label-1-normal-size);line-height:var(--type-label-1-normal-line-height);letter-spacing:var(--type-label-1-normal-letter-spacing);font-weight:var(--weight-semibold);padding-top:12px}.portfolio-design .art-detail-action-buttons{grid-template-columns:var(--article-share-action-width) var(--article-like-action-width);align-items:start;gap:var(--space-3);display:grid}.portfolio-design .art-detail-like-loading>.art-loading-block{width:100%;height:var(--button-height-lg);border-radius:var(--radius-md)}.portfolio-design .art-detail-navigation{gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-soft);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portfolio-design .art-detail-navigation-link{gap:var(--space-1);min-width:0;padding:var(--space-4);color:var(--fg);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);flex-direction:column;text-decoration:none;display:flex}.portfolio-design .art-detail-navigation-link[data-direction=next]{text-align:right;grid-column:2;align-items:flex-end}.portfolio-design .art-detail-navigation-label{color:var(--muted);font-size:var(--type-label-1-normal-size);line-height:var(--type-label-1-normal-line-height);letter-spacing:var(--type-label-1-normal-letter-spacing);font-weight:var(--type-label-1-normal-weight)}.portfolio-design .art-detail-navigation-title{font-size:var(--type-headline-2-size);line-height:var(--type-headline-2-line-height);letter-spacing:var(--type-headline-2-letter-spacing);font-weight:var(--type-headline-2-weight);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (hover:hover) and (pointer:fine){.portfolio-design .art-detail-navigation-link:hover{background:var(--accent-bg);border-color:var(--accent)}}.portfolio-design .art-detail-navigation-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.portfolio-design .art-row-link{grid-template-columns:minmax(0, 1fr) var(--article-row-media-width);align-items:center;gap:var(--space-6);display:grid}.portfolio-design .art-row-text{flex-direction:column;align-items:flex-start;display:flex}.portfolio-design .art-row-media{width:var(--article-row-media-width);aspect-ratio:40/27;border-radius:var(--radius-lg);overflow:hidden}.portfolio-design .art-row-title{margin-top:var(--space-1);font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line-height);letter-spacing:var(--type-heading-1-letter-spacing);font-weight:var(--type-heading-1-weight)}.portfolio-design .art-row-excerpt{margin-top:var(--space-2);color:var(--fg-2);font-size:var(--type-headline-2-size);line-height:var(--type-headline-2-line-height);letter-spacing:var(--type-headline-2-letter-spacing);font-weight:var(--weight-medium)}.portfolio-design .art-meta{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:16px;display:flex}.portfolio-design .art-meta-category{color:var(--accent);font-size:var(--type-label-2-size);line-height:var(--type-label-2-line-height);letter-spacing:var(--type-label-2-letter-spacing);font-weight:var(--weight-bold)}.portfolio-design .art-row-category{color:var(--muted);font-size:var(--type-body-2-normal-size);line-height:var(--type-body-2-normal-line-height);letter-spacing:var(--type-body-2-normal-letter-spacing);font-weight:var(--type-body-2-normal-weight)}.portfolio-design .art-meta-date,.portfolio-design .art-meta-separator{color:var(--muted);font-size:var(--type-label-2-size);line-height:var(--type-label-2-line-height);letter-spacing:var(--type-label-2-letter-spacing);font-weight:var(--type-label-2-weight)}.portfolio-design .art-detail-header .art-meta-category,.portfolio-design .art-detail-header .art-meta-date,.portfolio-design .art-detail-header .art-meta-separator{font-size:var(--type-label-1-normal-size);line-height:var(--type-label-1-normal-line-height);letter-spacing:var(--type-label-1-normal-letter-spacing);font-weight:var(--type-label-1-normal-weight)}.portfolio-design .art-row .art-meta-date{margin-top:var(--space-2);font-size:var(--type-body-2-normal-size);line-height:var(--type-body-2-normal-line-height);letter-spacing:var(--type-body-2-normal-letter-spacing);font-weight:var(--type-body-2-normal-weight)}.portfolio-design .art-row-title{transition:color var(--motion-fast) var(--ease-standard)}.portfolio-design .art-row-link:hover .art-row-title{color:var(--accent)}.portfolio-design .art-pagination{justify-content:center;align-items:center;gap:var(--space-1);margin-top:var(--space-10);display:flex}.portfolio-design .art-pagination-link,.portfolio-design .art-pagination-ellipsis{width:var(--article-pagination-control-size);height:var(--article-pagination-control-size);border-radius:var(--radius-xs);font-size:var(--type-body-1-normal-size);line-height:var(--type-body-1-normal-line-height);letter-spacing:var(--type-body-1-normal-letter-spacing);font-weight:var(--type-body-1-normal-weight);flex:none;justify-content:center;align-items:center;display:inline-flex}.portfolio-design .art-pagination-link{color:var(--fg-2);transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:0}.portfolio-design a.art-pagination-link:hover{background:var(--surface-muted);color:var(--fg)}.portfolio-design .art-pagination-link:active{transform:scale(.96)}.portfolio-design .art-pagination-link:focus-visible{outline:var(--button-focus-ring-width) solid var(--button-focus-ring-color);outline-offset:var(--space-1)}.portfolio-design .art-pagination-link[data-active=true]{border:1px solid var(--border-strong);background:var(--surface);color:var(--fg)}.portfolio-design .art-pagination-link[aria-disabled=true]{color:var(--muted);opacity:var(--button-disabled-opacity)}.portfolio-design .art-pagination-control{border:1px solid var(--border-strong);background:var(--surface)}.portfolio-design .art-pagination-ellipsis{width:var(--article-pagination-ellipsis-size);height:var(--article-pagination-ellipsis-size);color:var(--muted)}@keyframes articleCategoryOutlineDrift{0%,to{transform:translateX(calc(var(--article-category-ticker-outline-travel) * -1))}50%{transform:translateX(var(--article-category-ticker-outline-travel))}}@keyframes articleCategoryParticleDissolve{0%,to{clip-path:inset(0 0 68%);transform:translate(-1px)}50%{clip-path:inset(62% 0 0);transform:translate(1px)}}.portfolio-design .portfolio-access-page{min-height:100dvh;padding:var(--space-8) var(--gutter-phone);background:var(--bg);text-align:center;place-items:center;display:grid}.portfolio-design .portfolio-access-denied{width:min(100%, var(--portfolio-access-panel-width));align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.portfolio-design .portfolio-access-description{max-width:var(--portfolio-access-copy-width);color:var(--muted)}.portfolio-design .portfolio-slide-viewer{grid-template-rows:var(--portfolio-viewer-toolbar-height) minmax(0, 1fr);background:var(--bg-subtle);width:100%;min-width:0;min-height:100dvh;color:var(--fg);display:grid;overflow-x:clip}.portfolio-design .portfolio-slide-viewer[data-view=slide]{height:100dvh;overflow:hidden}.portfolio-design .portfolio-slide-toolbar{z-index:1;width:100%;height:var(--portfolio-viewer-toolbar-height);grid-template-columns:var(--icon-button-size-md) minmax(0, 1fr) var(--icon-button-size-md);padding-inline:var(--space-5);border-bottom:var(--portfolio-slide-border-width) solid var(--border-soft);background:var(--surface);align-items:center;display:grid;position:relative}.portfolio-design .portfolio-slide-progress{color:var(--fg-2);font-variant-numeric:tabular-nums;text-align:center}.portfolio-design .portfolio-slide-stage{grid-template-columns:var(--icon-button-size-md) minmax(0, 1fr) var(--icon-button-size-md);align-items:center;gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-4);display:grid}.portfolio-design .portfolio-slide-canvas{width:min(100%, var(--portfolio-slide-max-width), calc((100dvh - var(--portfolio-viewer-toolbar-height) - var(--space-8)) * 16 / 9));aspect-ratio:var(--portfolio-slide-aspect-ratio);border:var(--portfolio-slide-border-width) solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-card);touch-action:pan-y;justify-self:center}.portfolio-design .portfolio-slide-grid{width:min(100%, var(--portfolio-slide-max-width));grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--portfolio-slide-grid-min-width)), 1fr));gap:var(--space-4);padding:var(--space-6);justify-self:center;display:grid}.portfolio-design .portfolio-slide-thumbnail.ds-button{width:100%;height:auto;aspect-ratio:var(--portfolio-slide-aspect-ratio);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-hairline);color:var(--fg);text-align:left;align-items:stretch}.portfolio-design .portfolio-slide-thumbnail.ds-button[aria-current=page]{border-color:var(--accent);background:var(--accent-bg);box-shadow:none}.portfolio-design .portfolio-slide-thumbnail .ds-button-content{flex-direction:column;justify-content:space-between;align-items:flex-start;width:100%;height:100%}.portfolio-design .portfolio-slide-thumbnail-section{color:var(--muted)}.portfolio-slide-toc-portal{z-index:var(--portfolio-slide-overlay-z-index);position:fixed;inset:0}.portfolio-design .portfolio-slide-toc-overlay{background:var(--overlay-dim);display:flex;position:absolute;inset:0}.portfolio-design .portfolio-slide-toc{width:min(100%, var(--portfolio-slide-toc-width));grid-template-rows:var(--portfolio-viewer-toolbar-height) minmax(0, 1fr);background:var(--surface);height:100%;box-shadow:var(--elev-overlay);color:var(--fg);display:grid}.portfolio-design .portfolio-slide-toc-header{padding-inline:var(--space-5);border-bottom:var(--portfolio-slide-border-width) solid var(--border-soft);justify-content:space-between;align-items:center;display:flex}.portfolio-design .portfolio-slide-toc-navigation{align-content:start;gap:var(--space-6);padding:var(--space-5);display:grid;overflow-y:auto}.portfolio-design .portfolio-slide-toc-section{gap:var(--space-3);display:grid}.portfolio-design .ds-app[data-route=privacy] .ds-page-heading,.portfolio-design .privacy-document{width:min(100%, var(--article-detail-content-width));margin-inline:auto}.portfolio-design .privacy-document{gap:var(--space-12);display:grid}.portfolio-design .ds-app[data-route=privacy] .ds-page-eyebrow,.portfolio-design .ds-app[data-route=privacy] .ds-page-description{font-size:var(--type-body-1-normal-size)}.portfolio-design .privacy-intro{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-subtle);color:var(--fg-2);display:grid}.portfolio-design .privacy-section{gap:var(--space-5);display:grid}.portfolio-design .privacy-section+.privacy-section{padding-top:var(--space-12);border-top:1px solid var(--border-soft)}.portfolio-design .privacy-section-heading{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.portfolio-design .privacy-section-number{color:var(--accent);flex:none}.portfolio-design .privacy-section h2,.portfolio-design .privacy-service h3{color:var(--fg)}.portfolio-design .privacy-copy{gap:var(--space-4);color:var(--fg-2);display:grid}.portfolio-design .privacy-copy code{padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);background:var(--surface-muted);color:var(--fg);font-family:var(--font-mono);font-size:var(--type-body-1-reading-size)}.portfolio-design .privacy-facts{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface);display:grid;overflow:hidden}.portfolio-design .privacy-fact{gap:var(--space-4);padding:var(--space-4) var(--space-5);grid-template-columns:152px minmax(0,1fr);display:grid}.portfolio-design .privacy-fact+.privacy-fact{border-top:1px solid var(--border-soft)}.portfolio-design .privacy-fact dt{color:var(--fg-2)}.portfolio-design .privacy-fact dd{color:var(--fg)}.portfolio-design .privacy-services{gap:var(--space-4);display:grid}.portfolio-design .privacy-service{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface);display:grid}.portfolio-design .privacy-service-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.portfolio-design .privacy-policy-link{color:var(--accent-strong);text-underline-offset:.18em}.portfolio-design .privacy-policy-link:focus-visible{border-radius:var(--radius-xs);box-shadow:var(--accent-ring);outline:none}.portfolio-design .privacy-service-detail{gap:var(--space-3);display:grid}.portfolio-design .portfolio-slide-toc-section-button.ds-button,.portfolio-design .portfolio-slide-toc-section-button .ds-button-content{justify-content:flex-start;width:100%}.portfolio-design .portfolio-slide-toc-slide-list{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.portfolio-design .portfolio-slide-toc-slide-button.ds-button{width:100%;min-width:0;padding-inline:var(--space-2)}.portfolio-design :is(.portfolio-slide-toc-section-button,.portfolio-slide-toc-slide-button)[aria-current=page]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}@media not all and (min-width:64rem){.portfolio-design .portfolio-slide-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0, 1fr) var(--icon-button-size-md);gap:var(--space-3);padding:var(--space-5)}.portfolio-design .portfolio-slide-canvas{grid-area:1/1/auto/-1;width:100%}.portfolio-design .portfolio-slide-previous{grid-area:2/1;justify-self:end}.portfolio-design .portfolio-slide-next{grid-area:2/2;justify-self:start}.portfolio-design .portfolio-slide-grid{gap:var(--space-3);padding:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-design .portfolio-slide-thumbnail.ds-button{padding:var(--space-3)}}.portfolio-design .portfolio-request-content{min-height:0;overflow-y:auto}.portfolio-design .portfolio-request-heading{gap:var(--space-2);flex-direction:column;display:flex}.portfolio-design .portfolio-request-description{color:var(--fg)}.portfolio-design .portfolio-request-form{margin-top:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.portfolio-design .portfolio-request-success{flex-direction:column;display:flex}.portfolio-design .portfolio-request-success .portfolio-request-submit{margin-top:var(--space-6)}.portfolio-design .portfolio-request-actions{gap:var(--space-4);flex-direction:column;display:flex}.portfolio-design .portfolio-request-submit{width:100%}.portfolio-design .privacy-service-detail>div{gap:var(--space-3);grid-template-columns:72px minmax(0,1fr);display:grid}.portfolio-design .privacy-service-detail dt{color:var(--muted)}.portfolio-design .privacy-service-detail dd{color:var(--fg-2)}.portfolio-design .privacy-planned-notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--accent-bg);color:var(--fg-2);display:flex}.portfolio-design .privacy-status{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--accent-strong);flex:none}.portfolio-design .privacy-contact{color:var(--fg-2);font-style:normal}@media not all and (min-width:64rem){.portfolio-design .privacy-intro{padding:var(--space-5)}.portfolio-design .privacy-fact{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.portfolio-design .privacy-service-heading{flex-direction:column;align-items:flex-start}.portfolio-design .privacy-service-detail>div{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.portfolio-design .privacy-planned-notice{flex-direction:column}}@media (min-width:64rem){.portfolio-design .art-detail-title{font-size:var(--type-display-2-size);line-height:var(--type-display-2-line-height);letter-spacing:var(--type-display-2-letter-spacing);font-weight:var(--type-display-2-weight)}}@media not all and (min-width:64rem){.portfolio-design .art-index-content{grid-template-columns:minmax(0,1fr)}.portfolio-design .art-latest-column,.portfolio-design .art-latest-panel{display:none}.portfolio-design .art-category-description-part{display:block}.portfolio-design .art-detail-page{padding-top:var(--article-detail-mobile-page-top)}.portfolio-design .art-detail-back{margin-bottom:var(--article-detail-mobile-back-gap)}.portfolio-design .art-detail-cover{border-radius:var(--radius-md);height:180px}.portfolio-design .art-detail-reading{margin-top:var(--space-5)}.portfolio-design .art-detail .art-excerpt{margin-top:var(--article-detail-mobile-lead-gap)}.portfolio-design .art-category-ticker-viewport{height:var(--article-category-ticker-mobile-height);touch-action:pan-y}.portfolio-design .art-category-link-content{font-size:var(--type-title-1-size);line-height:var(--type-title-1-line-height);letter-spacing:var(--type-title-1-letter-spacing);font-weight:var(--article-category-ticker-label-weight)}.portfolio-design .art-row-link{grid-template-columns:minmax(0, 1fr) var(--article-row-mobile-media-width);gap:var(--space-4)}.portfolio-design .art-row-media{width:var(--article-row-mobile-media-width);aspect-ratio:40/27;border-radius:var(--radius-md)}.portfolio-design .art-loading-row{min-height:88px}.portfolio-design .art-loading-media{flex-basis:var(--article-row-mobile-media-width);width:var(--article-row-mobile-media-width);aspect-ratio:40/27;border-radius:var(--radius-md);height:auto}}@media (prefers-reduced-motion:reduce){.portfolio-design .art-category-ticker-track{transition-duration:0s!important}.portfolio-design .art-category-label-outline,.portfolio-design .art-category-label-particles{animation:none!important}.portfolio-design .art-loading-block{animation:none}}@media not all and (min-width:64rem){.portfolio-design .portfolio-request-content{height:calc(100dvh - var(--dialog-header-height));flex-direction:column;display:flex;overflow-y:auto}.portfolio-design .portfolio-request-form,.portfolio-design .portfolio-request-success{flex:1}.portfolio-design .portfolio-request-actions,.portfolio-design .portfolio-request-success .portfolio-request-submit{margin-top:auto}.portfolio-design .art-pagination{overscroll-behavior-inline:contain;scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.portfolio-design .art-pagination::-webkit-scrollbar{display:none}.portfolio-design .art-detail-actions{gap:var(--space-3);flex-direction:column}.portfolio-design .art-detail-actions-label{padding-top:0}.portfolio-design .art-detail-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.portfolio-design .art-detail-navigation{grid-template-columns:minmax(0,1fr)}.portfolio-design .art-detail-navigation-link[data-direction=next]{grid-column:1}}.portfolio-design .jungwu-home{flex-direction:column;min-height:calc(100vh - 72px);display:flex}.portfolio-design .jungwu-chat-form{border:1px solid var(--border-strong);background:var(--surface);box-shadow:var(--shadow-emphasize);border-radius:999px;gap:8px;padding:6px;display:flex}.portfolio-design .jungwu-chat-input{min-width:0;color:var(--fg);font-family:var(--font-sans);font-size:var(--type-body-1-normal-size);line-height:var(--type-body-1-normal-line-height);letter-spacing:var(--type-body-1-normal-letter-spacing);font-weight:var(--type-body-1-normal-weight);background:0 0;border:0;outline:0;flex:1;padding:0 16px}.portfolio-design .jungwu-send-button{border-radius:999px;flex:none;width:46px;height:46px;padding:0}.portfolio-design .pixel-room{background:var(--pixel-room-fallback-bg);width:100%;height:100dvh;min-height:0;overflow:hidden}.portfolio-design .pixel-room-load-error,.portfolio-design .pixel-room-shell{width:100%;height:100%;position:relative;overflow:hidden}.portfolio-design .pixel-room-load-error{background:var(--pixel-room-error-bg);color:var(--pixel-room-error-fg);text-align:center;place-content:center;gap:16px;padding:28px;display:grid}.portfolio-design .pixel-room-retry{justify-self:center}.portfolio-design .pixel-room-shell{background:var(--pixel-room-canvas-bg)}.portfolio-design .pixel-room-stage{background:var(--pixel-room-canvas-bg);contain:strict;position:absolute;inset:0;overflow:hidden}.portfolio-design .pixel-room-camera{transform-origin:0 0;will-change:transform;image-rendering:pixelated;position:absolute;top:0;left:0;overflow:hidden}.portfolio-design .pixel-room-background{z-index:0;-webkit-user-select:none;user-select:none;width:1536px;max-width:none;height:1024px;position:absolute;inset:0}.portfolio-design .pixel-room-background-patch{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;image-rendering:pixelated;position:absolute}.portfolio-design .pixel-room-character{z-index:2;transform-origin:0 0;image-rendering:pixelated;will-change:left, top, background-position;background-repeat:no-repeat;flex:none;position:absolute}.portfolio-design .pixel-room-occluder{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;position:absolute}.portfolio-design .pixel-room-question-layer{z-index:10;pointer-events:none;position:absolute;inset:0}.portfolio-design .pixel-room-transition-error{z-index:12;border:1px solid var(--border-strong);background:var(--surface);max-width:min(520px,100% - 32px);box-shadow:var(--shadow-strong);color:var(--fg);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex;position:absolute;top:72px;right:16px}.portfolio-design .pixel-room-transition-error p{font-size:var(--type-label-1-reading-size);line-height:var(--type-label-1-reading-line-height);letter-spacing:var(--type-label-1-reading-letter-spacing);font-weight:var(--type-label-1-reading-weight);flex:1}.portfolio-design .pixel-room-transition-error .ds-button{flex:none}.portfolio-design .pixel-room-bubble{width:fit-content;max-width:min(var(--pixel-room-bubble-response-max-width), calc(100% - var(--gutter-phone) - var(--gutter-phone)));padding:var(--space-3) var(--space-4);border:var(--pixel-room-bubble-response-border-width) solid var(--pixel-room-bubble-response-border);border-radius:var(--radius-lg);background:var(--pixel-room-bubble-response-surface);box-shadow:var(--elev-raised);color:var(--fg);font-size:var(--type-body-1-reading-size);line-height:var(--type-body-1-reading-line-height);letter-spacing:var(--type-body-1-reading-letter-spacing);font-weight:var(--type-body-1-reading-weight);pointer-events:auto;white-space:pre-wrap;position:absolute;overflow:hidden auto}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient]{max-width:min(var(--pixel-room-bubble-ambient-max-width), calc(100% - var(--gutter-phone) - var(--gutter-phone)));padding:var(--space-2) var(--space-3);border-color:var(--pixel-room-bubble-ambient-border);border-style:dashed;border-width:var(--pixel-room-bubble-ambient-border-width);border-radius:var(--radius-md);background:var(--pixel-room-bubble-ambient-surface);box-shadow:var(--elev-card);color:var(--fg-2);font-size:var(--type-body-1-normal-size);line-height:var(--type-body-1-normal-line-height);letter-spacing:var(--type-body-1-normal-letter-spacing);font-weight:var(--type-body-1-normal-weight);pointer-events:none;overflow:visible}.portfolio-design .pixel-room-bubble[data-bubble-variant=response]{border-style:solid}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient]:before,.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient]:after{content:"";border:var(--pixel-room-bubble-response-border-width) solid var(--pixel-room-bubble-ambient-border);border-radius:var(--radius-pill);background:var(--pixel-room-bubble-thought-dot-surface);position:absolute}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient]:before{width:var(--space-2);height:var(--space-2)}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient]:after{width:var(--space-1);height:var(--space-1)}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient][data-placement=above]:before{bottom:-12px;left:calc(50% - 4px)}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient][data-placement=above]:after{bottom:-19px;left:calc(50% + 5px)}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient][data-placement=below]:before{top:-12px;left:calc(50% - 4px)}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient][data-placement=below]:after{top:-19px;left:calc(50% + 5px)}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient][data-placement=side-left]:before{top:calc(50% - 4px);right:-12px}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient][data-placement=side-left]:after{top:calc(50% + 5px);right:-19px}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient][data-placement=side-right]:before{top:calc(50% - 4px);left:-12px}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient][data-placement=side-right]:after{top:calc(50% + 5px);left:-19px}.portfolio-design .pixel-room-chat-controls{right:0;bottom:max(32px, env(safe-area-inset-bottom));min-height:0;padding:0 max(18px, env(safe-area-inset-right)) 0 max(18px, env(safe-area-inset-left));pointer-events:auto;background:0 0;position:absolute;left:0}.portfolio-design .pixel-room-chat-controls .jungwu-chat-form{width:100%;max-width:620px;height:48px;margin-bottom:0;margin-left:auto;margin-right:auto}.portfolio-design .pixel-room-chat-controls .jungwu-send-button{width:36px;height:36px}@media (prefers-reduced-motion:reduce){.portfolio-design .pixel-room-character{background-position:0 0!important}}@media not all and (min-width:64rem){.portfolio-design .pixel-room-bubble{padding:var(--space-3) var(--space-4)}.portfolio-design .pixel-room-chat-controls{padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left))}}@media (max-height:520px) and (orientation:landscape){.portfolio-design .pixel-room-bubble{max-width:min(var(--pixel-room-bubble-response-max-width), calc(100% - var(--space-3) - var(--space-3)));padding-top:var(--space-2);padding-bottom:var(--space-2)}.portfolio-design .pixel-room-bubble[data-bubble-variant=ambient]{max-width:min(var(--pixel-room-bubble-ambient-max-width), calc(100% - var(--space-3) - var(--space-3)))}}.portfolio-design{--about-pixel-glow-info-start:#f5c98b;--about-pixel-glow-info-end:#d0ccc7;--about-pixel-glow-capability-start:#ffd38a;--about-pixel-glow-capability-end:#fc9744;--about-pixel-glow-action-start:#fdcb8a;--about-pixel-glow-action-end:#b65520}@property --about-glow-angle{syntax:"<angle>";inherits:true;initial-value:0deg}.portfolio-design .ds-app[data-route=about]{height:100dvh;min-height:640px;position:relative;overflow:hidden}.portfolio-design .ds-app[data-route=about]>.ds-header-layer{width:100%;position:absolute;inset:0 0 auto}.portfolio-design .ds-app[data-route=about]>.ds-route-fade{width:100%;height:100%;position:absolute;inset:0}.portfolio-design .ds-app[data-route=about]>.ds-footer{display:none}.portfolio-design .about-pixels-runtime{isolation:isolate;background:#e2dcd9;width:100%;height:100%;min-height:0;margin-top:0;position:relative;overflow:hidden}.portfolio-design .about-pixels-runtime .portfolio-stage{touch-action:none;cursor:grab;background:#e2dcd9;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.portfolio-design .about-pixels-runtime .portfolio-stage:active{cursor:grabbing}.portfolio-design .about-pixels-runtime .portfolio-source-layer,.portfolio-design .about-pixels-runtime .portfolio-canvas-layer,.portfolio-design .about-pixels-runtime .portfolio-card-layer,.portfolio-design .about-pixels-runtime .r3f-grid-experience,.portfolio-design .about-pixels-runtime .canvas-shell{width:100%;height:100%;position:absolute;inset:0}.portfolio-design .about-pixels-runtime .portfolio-source-layer{place-items:center;display:grid}.portfolio-design .about-pixels-runtime .portfolio-source-layer img{width:min(320px,62vw);image-rendering:pixelated}.portfolio-design .about-pixels-runtime .portfolio-canvas-layer .static-fallback{background:#e2dcd9;place-items:center;width:100%;height:100%;display:grid}.portfolio-design .about-pixels-runtime .portfolio-canvas-layer .static-fallback img{width:min(44%,270px);image-rendering:pixelated}.portfolio-design .about-pixels-runtime .portfolio-card-layer{z-index:8;pointer-events:none;place-items:center;display:grid}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit{box-sizing:border-box;z-index:2;border-radius:var(--about-pixel-radius,0);font-family:var(--font-ui);isolation:isolate;text-align:left;visibility:hidden;cursor:pointer;--about-glow-angle:0deg;--about-glow-start:var(--about-pixel-glow-info-start);--about-glow-end:var(--about-pixel-glow-info-end);background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid;position:absolute;top:0;left:0;overflow:hidden}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-category=capability]{--about-glow-start:var(--about-pixel-glow-capability-start);--about-glow-end:var(--about-pixel-glow-capability-end)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-category=action]{--about-glow-start:var(--about-pixel-glow-action-start);--about-glow-end:var(--about-pixel-glow-action-end)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:after{z-index:3;box-sizing:border-box;border-radius:inherit;background:conic-gradient(from var(--about-glow-angle), transparent 0deg, transparent 292deg, var(--about-glow-start) 320deg, var(--about-glow-end) 342deg, transparent 360deg);content:"";opacity:0;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:2px;transition:opacity .18s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#2b2b28 0 0),linear-gradient(#2b2b28 0 0);mask-image:linear-gradient(#2b2b28 0 0),linear-gradient(#2b2b28 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-has-image=true]:before{z-index:1;border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(#3e3e3b1f 0%,#2b2b28b8 100%);position:absolute;inset:0}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit__image{z-index:0;object-fit:cover;opacity:.3;filter:saturate(.78)contrast(.92);transition:opacity .26s,filter .26s,transform .6s cubic-bezier(.2,.8,.2,1);transform:scale(1.001)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit>span{box-sizing:border-box;z-index:2;width:100%;height:100%;padding:var(--about-pixel-content-padding,12px 14px 14px);flex-direction:column;justify-content:flex-start;display:flex;position:relative;overflow:hidden}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit strong{font-size:var(--about-pixel-number-size,20px);letter-spacing:0;line-height:26px;font-weight:var(--about-pixel-number-weight,700)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit small{font-size:var(--about-pixel-category-size,14px);letter-spacing:0;line-height:18.2px;font-weight:var(--about-pixel-category-weight,700);margin-top:4px}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit b{font-size:var(--about-pixel-title-size,20px);letter-spacing:0;line-height:26px;font-weight:var(--about-pixel-title-weight,700);white-space:var(--about-pixel-title-white-space,pre-line);margin-top:auto;display:block;overflow:hidden}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-category=action]>span{flex-direction:row;justify-content:flex-start;align-items:center;gap:6px;padding:0 8px 0 12px}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-category=action] strong{flex:0 0 26px;font-size:14px;line-height:18.2px}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-category=action] small{display:none}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-category=action] b{font-size:var(--about-pixel-action-title-size,16px);white-space:nowrap;margin-top:0;line-height:20.8px;display:block}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit__action-icon{width:var(--about-pixel-action-icon-size,16px);height:var(--about-pixel-action-icon-size,16px);flex:none}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:hover{background:#e2dcd929}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:hover:after,.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:focus-visible:after{opacity:1}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:hover .r3f-grid-story-hit__image,.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:focus-visible .r3f-grid-story-hit__image{opacity:.56;filter:saturate(.96)contrast();transform:scale(var(--about-pixel-image-hover-scale,1.025))}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-cue-active=true]:not(:hover):not(:focus-visible):after{animation:about-pixel-cue-sweep var(--about-pixel-cue-duration,1.25s) cubic-bezier(.22, .72, .2, 1) 1}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-cue-active=true]:not(:hover):not(:focus-visible) .r3f-grid-story-hit__image{animation:about-pixel-cue-image var(--about-pixel-cue-duration,1.25s) cubic-bezier(.22, .72, .2, 1) 1}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:focus-visible{outline-offset:-4px;outline:2px solid #e2dcd9}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:disabled{cursor:default}@keyframes about-pixel-cue-sweep{0%{--about-glow-angle:0deg;opacity:0}18%,72%{opacity:1}to{--about-glow-angle:360deg;opacity:0}}@keyframes about-pixel-cue-image{0%,to{opacity:.3;filter:saturate(.78)contrast(.92);transform:scale(1.001)}32%,72%{opacity:.5;filter:saturate(.94)contrast(.98);transform:scale(1.018)}}.portfolio-design .about-pixel-dialog{pointer-events:none;transform-origin:50%;will-change:transform}.portfolio-design .about-pixel-dialog.is-visible{pointer-events:auto}.portfolio-design .about-pixel-dialog__content{grid-area:1/1/-1;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.portfolio-design .about-pixel-dialog .ds-dialog-header{border-bottom:0}.portfolio-design .about-pixel-dialog .ds-dialog-footer{border-top:0}.portfolio-design .about-pixel-dialog__navigation{justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.portfolio-design .about-pixel-dialog__navigation span{margin:0}.portfolio-design .about-pixel-dialog__body{scrollbar-color:var(--muted) transparent;min-height:0;overflow-y:auto}.portfolio-design .about-pixel-dialog__body--article-reading>p,.portfolio-design .about-pixel-dialog__body--article-reading>.about-pixel-dialog__list,.portfolio-design .about-pixel-dialog__body--article-reading>.about-pixel-dialog__tools{font-size:var(--article-reading-size);line-height:var(--article-reading-line-height);letter-spacing:var(--article-reading-letter-spacing);font-weight:var(--article-reading-weight)}.portfolio-design .about-pixel-dialog__body--article-reading>.about-pixel-dialog__lead,.portfolio-design .about-pixel-dialog__body--article-reading>.about-pixel-dialog__tools dt{font-weight:var(--weight-bold)}.portfolio-design .about-pixel-dialog__body>p,.portfolio-design .about-pixel-dialog__list,.portfolio-design .about-pixel-dialog__tools{margin:0 0 20px}.portfolio-design .about-pixel-dialog__body>p.about-pixel-dialog__identity{white-space:nowrap;margin-bottom:8px}.portfolio-design .about-pixel-dialog__identity-role{color:var(--muted)}.portfolio-design .about-pixel-dialog__lead{padding-bottom:0}.portfolio-design .about-pixel-dialog__section{margin:32px 0 12px}.portfolio-design .about-pixel-dialog__section h3,.portfolio-design .about-pixel-dialog__section p{margin:0}.portfolio-design .about-pixel-dialog__section p{color:var(--muted);margin-top:4px}.portfolio-design .about-pixel-dialog__list{gap:10px;padding-left:20px;display:grid}.portfolio-design .about-pixel-dialog__tools{gap:8px;display:grid}.portfolio-design .about-pixel-dialog__tools div{grid-template-columns:minmax(110px,.28fr) 1fr;gap:12px;display:grid}.portfolio-design .about-pixel-dialog__tools dt,.portfolio-design .about-pixel-dialog__tools dd{margin:0}.portfolio-design .about-pixel-dialog__action{border:1px solid var(--fg);border-radius:var(--radius-pill);background:var(--fg);min-height:48px;color:var(--bg);cursor:pointer;margin-top:12px;padding:0 20px}.portfolio-design .about-pixel-dialog button:focus-visible{outline:var(--button-focus-ring-width) solid var(--button-focus-ring-color);outline-offset:var(--space-1)}.portfolio-design .about-pixels-runtime .portfolio-error{color:#2b2b28;place-items:center;display:grid;position:absolute;inset:0}@media (min-width:64rem){.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:not([data-category=action])>span{padding:var(--about-pixel-content-desktop-padding)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:not([data-category=action]) strong{font-size:var(--about-pixel-number-desktop-size);line-height:var(--about-pixel-number-desktop-line-height);letter-spacing:var(--about-pixel-number-desktop-letter-spacing);font-weight:var(--about-pixel-number-desktop-weight)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:not([data-category=action]) small{font-size:var(--about-pixel-category-desktop-size);line-height:var(--about-pixel-category-desktop-line-height);letter-spacing:var(--about-pixel-category-desktop-letter-spacing);font-weight:var(--about-pixel-category-desktop-weight)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit:not([data-category=action]) b{font-size:var(--about-pixel-title-desktop-size);line-height:var(--about-pixel-title-desktop-line-height);letter-spacing:var(--about-pixel-title-desktop-letter-spacing);font-weight:var(--about-pixel-title-desktop-weight)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-category=action]>span{padding:var(--about-pixel-action-content-desktop-padding)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-category=action] b{font-size:var(--about-pixel-action-title-desktop-size);line-height:var(--about-pixel-action-title-desktop-line-height);letter-spacing:var(--about-pixel-action-title-desktop-letter-spacing);font-weight:var(--about-pixel-action-title-desktop-weight)}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit__action-icon{width:var(--about-pixel-action-icon-desktop-size);height:var(--about-pixel-action-icon-desktop-size)}}@media not all and (min-width:64rem){.portfolio-design .ds-app[data-route=about]{min-height:560px}.portfolio-design .about-pixel-dialog__navigation{padding:14px 16px}.portfolio-design .about-pixel-dialog__tools div{grid-template-columns:1fr;gap:2px}}@media (prefers-reduced-motion:reduce){.portfolio-design .about-pixels-runtime .r3f-grid-story-hit__image{transition:none}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-cue-active=true]:after{opacity:0;animation:none}.portfolio-design .about-pixels-runtime .r3f-grid-story-hit[data-cue-active=true] .r3f-grid-story-hit__image{animation:none}}
