.portfolio-case .image-grain:after,body:has(.portfolio-case):before{display:none}.portfolio-case{--portfolio-section-gap:var(--portfolio-case-section-gap);--portfolio-section-inset:var(--portfolio-case-section-inset);--case-hero-bg:var(--portfolio-surface);--case-hero-text:var(--portfolio-text-primary);--case-hero-muted:var(--portfolio-text-secondary);--case-hero-line:var(--portfolio-line);--color-paper:var(--portfolio-surface);--color-paper-alt:#f0f1f3;--color-ink:var(--portfolio-text-primary);--color-ink-soft:var(--portfolio-text-secondary);--color-hairline:var(--portfolio-line);--case-glass-fill:rgba(255,255,255,.22);--case-glass-shade:rgba(36,43,55,.22);--case-glass-shadow:rgba(24,30,43,.12);color:var(--portfolio-text-primary);background:var(--portfolio-surface);font:var(--portfolio-font-body);letter-spacing:var(--portfolio-track-body)}html[data-theme=dark] .portfolio-case{--color-paper-alt:#1c1e22;--case-glass-fill:rgba(255,255,255,.045);--case-glass-shade:rgba(0,0,0,.5);--case-glass-shadow:rgba(0,0,0,.28)}.case-container{width:calc(100% - var(--portfolio-gutter) * 2);max-width:var(--portfolio-content-max);margin-inline:auto}.portfolio-case :is(section,h2){scroll-margin-top:84px}:where(.portfolio-case) :where(p,ul,ol){font:var(--portfolio-font-body);letter-spacing:var(--portfolio-track-body)}:where(.portfolio-case) :where(.font-mono){font:var(--portfolio-font-caption);letter-spacing:var(--portfolio-track-eyebrow);text-transform:none}.portfolio-case :is(strong,.font-semibold){font-weight:var(--portfolio-weight-medium)}.case-eyebrow{margin:0;color:var(--portfolio-text-secondary);font:var(--portfolio-font-eyebrow);letter-spacing:var(--portfolio-track-eyebrow);text-transform:none}.case-title{max-width:25ch;margin:var(--portfolio-eyebrow-title-gap) auto 0;font:var(--portfolio-font-title);letter-spacing:var(--portfolio-track-title);text-wrap:pretty}.case-heading{max-width:30ch;font:var(--portfolio-font-heading)}.case-heading,.case-subheading{margin:0;letter-spacing:var(--portfolio-track-heading);text-wrap:pretty}.case-subheading{font:var(--portfolio-font-subheading)}.case-paragraph{max-width:65ch;margin:0;color:var(--portfolio-text-secondary);font:var(--portfolio-font-body);letter-spacing:var(--portfolio-track-body)}.case-paragraph+.case-paragraph,.case-subheading+.case-paragraph{margin-top:var(--portfolio-title-body-gap)}.portfolio-case a:focus-visible,.portfolio-case button:focus-visible{outline:2px solid #3875dd;outline-offset:5px}.portfolio-case--devake{--case-project-accent:#d92b25}.portfolio-case--sos-lost-pet-rescue-nw{--case-project-accent:#3d68bc}html[data-theme=dark] .portfolio-case--devake{--case-project-accent:#ff625c}html[data-theme=dark] .portfolio-case--sos-lost-pet-rescue-nw{--case-project-accent:#badce7}.case-hero{padding-block:calc(var(--portfolio-page-start) - var(--portfolio-space-12)) 0;color:var(--case-hero-text);background:var(--case-hero-bg)}.case-hero__copy{max-width:none;margin-inline:auto}.case-hero__heading{max-width:1120px;margin:var(--portfolio-space-8) auto 0;text-align:center}.case-hero .case-eyebrow,.case-hero .case-paragraph{color:var(--case-hero-muted)}.case-hero__heading>div>.case-eyebrow{display:inline-block}.case-hero .case-title{max-width:var(--portfolio-case-heading-max);color:var(--case-hero-heading,var(--case-hero-text));font:var(--portfolio-font-case-title);letter-spacing:var(--portfolio-track-case-title);text-wrap:balance;-webkit-text-stroke:0}.case-hero .case-hero__heading .case-eyebrow{color:var(--case-project-accent)}.case-hero .case-hero__heading .case-eyebrow,.case-lead{font:var(--portfolio-font-body);letter-spacing:var(--portfolio-track-body)}.case-lead{max-width:62ch;margin:var(--portfolio-title-body-gap) auto 0;color:var(--case-hero-muted)}.case-hero__summary{margin-top:var(--portfolio-title-body-gap)}.case-hero__intro .case-paragraph{margin-inline:auto}.case-hero__media{width:var(--portfolio-case-artwork-width);max-width:none;margin:var(--portfolio-case-artwork-gap) 0 0 calc((100% - var(--portfolio-case-artwork-width)) / 2);overflow:hidden;border:0;--case-media-radius:22px;border-radius:0;clip-path:inset(0 round var(--case-media-radius));isolation:isolate;background:var(--case-hero-bg)}.case-hero__media--devake{position:relative;aspect-ratio:16/9}@media (min-width:700px){.case-hero__media--sos{aspect-ratio:2/1}.case-hero__media--sos>img{width:100%;height:100%;object-fit:cover;object-position:center bottom}}.case-facts,.case-hero__overview{max-width:760px;margin:var(--portfolio-heading-content-gap) auto 0}.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--portfolio-space-6) var(--portfolio-space-8);padding-top:var(--portfolio-item-inset);border-top:1px solid var(--case-hero-line);text-align:left}.case-meta{min-width:0;display:flex;flex-direction:column;gap:var(--portfolio-space-2)}.case-meta>div{font:var(--portfolio-font-body);color:var(--case-hero-text)}.case-meta .case-eyebrow{color:var(--case-hero-muted)}.case-facts--body{width:100%;margin:0;padding:0;border:0}.case-facts.case-facts--body .case-meta>div{margin:0;color:var(--portfolio-text-primary)}.case-facts--body .case-meta .case-eyebrow{color:var(--portfolio-text-secondary)}.case-next,.case-section{padding-bottom:var(--portfolio-section-gap)}.case-next__inner,.case-section>.case-container{padding-top:var(--portfolio-section-inset);border-top:1px solid var(--portfolio-line)}.case-hero+.case-section{padding-top:var(--portfolio-section-gap)}.case-section__heading{display:grid;grid-template-columns:minmax(140px,.28fr) minmax(0,1fr);gap:var(--portfolio-column-gap);align-items:start}.case-section__heading>div{grid-column:2}.case-section__content{max-width:760px;margin-top:var(--portfolio-title-body-gap);margin-left:calc((100% - var(--portfolio-column-gap)) * .28 / 1.28 + var(--portfolio-column-gap));display:flex;flex-direction:column;gap:var(--portfolio-heading-content-gap)}.case-section__content>div{min-width:0;margin-block:0;padding-block:0}.case-section__content--wide{max-width:none;margin-left:0;margin-top:var(--portfolio-heading-content-gap);gap:var(--portfolio-section-gap)}.case-section__content>div:has(>.case-subheading)+div:has(>.case-paragraph){margin-top:calc(-1 * var(--portfolio-space-4))}.case-section__content :is(ul,ol){color:var(--portfolio-text-secondary)}.case-section__content :is(ul,ol) li{min-width:0}.case-section__content .case-eyebrow+div{margin-top:var(--portfolio-space-4)}.case-section__content .case-eyebrow+.case-subheading{margin-top:var(--portfolio-space-2)}.case-media{overflow:hidden;border:0;border-radius:0;clip-path:inset(0 round 18px);isolation:isolate;background:var(--color-paper-alt)}.portfolio-case [aria-label$="open enlarged view"]{border:0;border-radius:16px;background:transparent}.portfolio-case .thumbnail-gallery__labels{font:var(--portfolio-font-caption);text-transform:none}.case-quote{margin:0;padding-left:var(--portfolio-space-6);border-left:2px solid var(--portfolio-line)}.case-quote blockquote{font:var(--portfolio-font-lead);color:var(--portfolio-text-primary)}.case-quote figcaption{margin-top:var(--portfolio-space-3);font:var(--portfolio-font-caption);color:var(--portfolio-text-secondary)}.case-metric__value{margin:0;font:var(--portfolio-font-title);letter-spacing:var(--portfolio-track-title)}.case-result{display:flex;align-items:start;gap:var(--portfolio-space-4);padding-top:var(--portfolio-space-4);border-top:1px solid var(--portfolio-line)}.case-result>div>p:first-child{margin:0;color:var(--portfolio-text-secondary);font:var(--portfolio-font-eyebrow);letter-spacing:var(--portfolio-track-eyebrow)}.case-result>div>p+p{margin-top:var(--portfolio-space-2)}.case-learning{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--portfolio-space-4);padding-top:var(--portfolio-item-inset);border-top:1px solid var(--portfolio-line)}.case-learning .case-subheading+p{margin-top:var(--portfolio-title-body-gap);color:var(--portfolio-text-secondary)}.case-role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--portfolio-item-gap)}.case-role-list li>span:first-child{font:var(--portfolio-font-body);font-weight:var(--portfolio-weight-medium);color:var(--portfolio-text-primary)}.case-role-list li>span+span{font:var(--portfolio-font-body);margin-top:var(--portfolio-space-2)}.case-prototype__grid{display:grid;grid-template-columns:minmax(140px,.28fr) minmax(0,1fr);gap:var(--portfolio-column-gap);align-items:start}.case-prototype__heading .case-heading{margin-top:var(--portfolio-eyebrow-title-gap)}.case-prototype__body{max-width:760px}.case-prototype__body iframe{background:var(--color-paper-alt)}.portfolio-case .website-scroll-preview{border:0;border-radius:0;clip-path:inset(0 round 18px);isolation:isolate;box-shadow:none;background:var(--color-paper-alt)}.portfolio-case .website-scroll-preview>div:first-child{background:var(--color-paper-alt);border-color:var(--portfolio-line)}.portfolio-case .website-scroll-preview>div:first-child p{color:var(--portfolio-text-secondary);font:var(--portfolio-font-caption);letter-spacing:var(--portfolio-track-body);text-transform:none}.portfolio-case .website-scroll-preview>div:first-child>div>span{background:var(--portfolio-text-secondary);opacity:.4}.case-next__link{display:flex;justify-content:space-between;align-items:center;gap:var(--portfolio-space-6);min-height:var(--portfolio-control-hit);margin-top:var(--portfolio-eyebrow-title-gap);font:var(--portfolio-font-heading);letter-spacing:var(--portfolio-track-heading);color:var(--portfolio-text-primary);text-decoration:none}.case-next__link svg{flex:none;width:24px;height:24px}.case-next .case-eyebrow+.case-heading{margin-top:var(--portfolio-eyebrow-title-gap)}.case-next .case-container>.case-next__inner>div{align-items:start}.case-next a:not(.case-action):not(.case-next__link),.portfolio-case .case-action.pill-btn{font:var(--portfolio-font-ui);letter-spacing:var(--portfolio-track-body);text-transform:none;min-height:var(--portfolio-control-hit)}.portfolio-case .case-action.pill-btn{position:relative;isolation:isolate;overflow:visible;height:var(--portfolio-control-hit);padding:0 var(--portfolio-space-5);border:0;border-radius:999px;gap:var(--portfolio-space-4);background:transparent;color:var(--portfolio-text-primary)}.portfolio-case .case-action:is(:hover,:focus-visible){color:var(--portfolio-text-primary)}.case-action .pill-base,.case-action .pill-fill{display:none}.case-action:after,.case-action:before{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none;border-radius:inherit}.case-action:before{background:var(--case-glass-fill);box-shadow:0 1px 4px var(--case-glass-shadow),inset 1px 1px 2px rgba(255,255,255,.3),inset -1px -1px 2px var(--case-glass-shade);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.case-action:after{padding:1px;background:conic-gradient(from 145deg,rgba(255,255,255,.95),rgba(255,255,255,.12) 52deg,var(--case-glass-shade) 110deg,rgba(255,255,255,.88) 188deg,rgba(255,255,255,.08) 250deg,rgba(255,255,255,.95));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.case-lightbox{background:rgba(8,9,12,.9)}.case-lightbox__control{width:44px;height:44px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);box-shadow:0 1px 4px rgba(0,0,0,.25),inset 1px 1px 2px rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.case-lightbox__control:hover{background:rgba(255,255,255,.15)}.case-lightbox p{font:var(--portfolio-font-caption);letter-spacing:var(--portfolio-track-body)}@media (max-width:899px){.case-prototype__grid,.case-section__heading{grid-template-columns:minmax(0,1fr);gap:var(--portfolio-eyebrow-title-gap)}.case-section__heading>div{grid-column:auto}.case-section__content{margin-left:0}.case-section__content--wide{margin-top:var(--portfolio-heading-content-gap)}}@media (max-width:699px){.case-hero{padding-top:var(--portfolio-page-start)}.case-hero__heading{margin-top:var(--portfolio-space-4)}.case-hero .case-title{max-width:var(--portfolio-case-heading-max)}.case-hero__media{margin-top:var(--portfolio-case-artwork-gap);--case-media-radius:18px}.case-role-list{grid-template-columns:minmax(0,1fr)}.case-prototype__body{min-width:0}.portfolio-case [aria-label$="open enlarged view"]{border-radius:12px}}@media (prefers-reduced-transparency:reduce){.case-action:before{background:var(--portfolio-surface)}.case-action:before,.case-lightbox__control{-webkit-backdrop-filter:none;backdrop-filter:none}.case-lightbox__control{background:#24262b}}.case-questions{margin-top:var(--portfolio-space-6)}.case-question,.case-questions{display:grid;gap:var(--portfolio-space-4)}.case-question{grid-template-columns:24px minmax(0,1fr);align-items:baseline}.case-question__text{margin:0;font:var(--portfolio-font-body);color:var(--portfolio-text-primary)}.portfolio-case .case-browser{border:0;border-radius:0;clip-path:inset(0 round 18px);isolation:isolate;box-shadow:none}.case-hero__overview>.case-paragraph{margin-inline:auto;text-align:center}.case-overview{padding-block:var(--portfolio-section-gap)}.case-overview__grid{display:grid;grid-template-columns:minmax(140px,.28fr) minmax(0,1fr);gap:var(--portfolio-column-gap);align-items:start}.case-overview__body{max-width:760px;min-width:0}.case-overview .case-facts{border-color:var(--portfolio-line)}.case-overview .case-meta>div{color:var(--portfolio-text-primary)}.case-overview .case-meta .case-eyebrow{color:var(--portfolio-text-secondary)}.portfolio-case .case-hero .case-action.pill-btn{height:var(--portfolio-control-hit);margin-top:var(--portfolio-space-6);color:var(--case-hero-text)}@media (max-width:899px){.case-overview__grid{grid-template-columns:minmax(0,1fr);gap:var(--portfolio-eyebrow-title-gap)}}.portfolio-case--devake .case-section>.case-container{display:grid;grid-template-columns:minmax(140px,.28fr) minmax(0,1fr);column-gap:var(--portfolio-column-gap);row-gap:var(--portfolio-heading-content-gap);align-items:start}.portfolio-case--devake .case-section__heading{display:block}.portfolio-case--devake .case-overview__grid>.case-eyebrow,.portfolio-case--devake .case-section__heading .case-heading{margin:0;color:var(--portfolio-text-secondary);font:var(--portfolio-font-caption);letter-spacing:var(--portfolio-track-eyebrow);text-transform:none;-webkit-text-stroke:0}.portfolio-case--devake .case-section__content{margin:0}.portfolio-case--devake .case-section__content--wide{grid-column:1/-1;max-width:none}@media (max-width:899px){.portfolio-case--devake .case-section>.case-container{grid-template-columns:minmax(0,1fr);row-gap:var(--portfolio-title-body-gap)}.portfolio-case--devake .case-section__content--wide{margin-top:var(--portfolio-space-4)}}