@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--ink: #1d1d1d;--ink-80: #3a3636;--ink-60: #5a5454;--ink-meta: #736e6e;--ink-40: #8a8585;--accent: #ec4829;--accent-text: #c9391d;--line: #d9d9d9;--line-nav: #e4e4e4;--line-dark: #2a2828;--surface: #f2f2f2;--page: #fdfdfd;--white: #ffffff;--brand-gradient-soft: radial-gradient(ellipse 71.4% 55.6% at -7.1% 83.3%, rgba(72, 42, 196, .1) 0%, rgba(72, 42, 196, 0) 100%), linear-gradient(129deg, rgba(72, 42, 196, .1) 14.286%, rgba(143, 126, 224, .06) 53.571%, rgba(0, 195, 208, .12) 85.714%);--content: 1200px;--gutter: clamp(20px, 8.3334vw, 120px);--gutter-hero: clamp(20px, 4.4445vw, 64px);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-reveal: .48s;--dur-hover: .2s;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}@media(max-width:767px){:root{--gutter: 20px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-feature-settings:"cv11" 0}h1,h2,h3,h4,p,ul,ol,figure{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{position:absolute;left:16px;top:-48px;z-index:100;padding:8px 12px;background:var(--ink);color:var(--white);font-size:15px;border-radius:4px;transition:top var(--dur-hover) var(--ease-out)}.skip-link:focus{top:12px}.t-caption{font-size:13px;font-weight:500;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}.t-display{font-size:clamp(40px,5vw,72px);font-weight:600;line-height:1.05;letter-spacing:-.02em}.t-display-sm{font-size:clamp(36px,4.4445vw,64px);font-weight:600;line-height:1.05;letter-spacing:-.02em}.t-h2{font-size:clamp(30px,3.0556vw,44px);font-weight:600;line-height:1.15;letter-spacing:-.02em}.t-h3{font-size:clamp(24px,1.9445vw,28px);font-weight:600;line-height:1.25;letter-spacing:-.02em}.t-label{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.02em}.t-h4{font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.02em}.t-body-l{font-size:20px;line-height:1.6}.t-body{font-size:17px;line-height:1.7}.t-small{font-size:15px;line-height:1.55}.c-ink{color:var(--ink)}.c-ink-80{color:var(--ink-80)}.c-ink-60{color:var(--ink-60)}.c-ink-40{color:var(--ink-40)}.c-accent{color:var(--accent-text)}.paras>p+p{margin-top:1lh}@media(max-width:767px){.t-caption{font-size:12px}.t-display,.t-display-sm{font-size:40px;line-height:1.1}.t-h2{font-size:30px;line-height:1.18}.t-h3,.t-label{font-size:22px;line-height:1.28}.t-h4{font-size:18px;line-height:1.33}.t-body-l{font-size:18px;line-height:1.6}.t-body{font-size:16px;line-height:1.7}.t-small{font-size:14px;line-height:1.55}}.reveal{opacity:0;transform:translateY(12px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.page--pending{visibility:hidden}.page-loading{min-height:100vh;background:var(--page)}.not-found{min-height:60vh;max-width:calc(var(--content) + 2 * var(--gutter));margin:0 auto;padding:160px var(--gutter) 128px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.not-found__link{color:var(--accent)}.img{position:relative;display:block;width:100%;overflow:hidden;isolation:isolate}.img__el{display:block;width:100%;height:100%;object-fit:cover}.img--error{background:#efedeb}.img__open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:inherit}.img__error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px;text-align:center;font-size:12px;line-height:1.4;color:var(--ink-40)}.img__error--offline{font-size:14px;color:var(--ink-60)}.img__retry{min-width:88px;min-height:44px;font:inherit;font-size:14px;color:var(--accent);background:none;border:0;cursor:pointer}.section{padding-left:var(--gutter);padding-right:var(--gutter);overflow-x:clip}.section--page{background:var(--page)}.section--surface{background:var(--surface)}.section--border-top{border-top:1px solid var(--line)}.section--border-bottom{border-bottom:1px solid var(--line)}.section--border-both{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section__inner{max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:var(--section-gap)}.section__inner>*{max-width:100%}.title-block{display:flex;flex-direction:column;gap:24px;width:100%}.title-block h1{color:var(--ink)}.project-type{display:flex;flex-direction:column;gap:10px}.project-type__rule{display:block;width:40px;height:2px;background:var(--accent)}.hero-image{width:100%;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image--inset{width:calc(100% - (2*clamp(12px,6.5972vw,95px)));margin:0 auto}.meta-bar{background:var(--page);border-bottom:1px solid var(--line);padding:48px var(--gutter) 47px}.meta-bar--top{border-top:1px solid var(--line);padding-top:47px}.meta-bar__inner{max-width:var(--content);margin:0 auto;display:flex;gap:48px}.meta-bar__item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:8px}.meta-bar__item dd{margin:0}@media(max-width:900px){.meta-bar__inner{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}}@media(max-width:767px){.meta-bar,.meta-bar--top{padding:32px 20px 31px}.meta-bar--top{padding-top:31px}}.scope{display:flex;flex-wrap:wrap;gap:12px 48px;width:100%}.scope__item{width:calc(50% - 24px);display:flex;align-items:center;gap:12px}.scope__dot{flex:none;width:4px;height:4px;background:var(--accent)}@media(max-width:767px){.scope{gap:10px}.scope__item{width:100%;align-items:flex-start}.scope__dot{margin-top:9px}.title-block,.intro,.two-col{gap:16px}.two-col__copy{gap:16px!important}}.two-col{display:flex;align-items:flex-start;gap:var(--two-col-gap);width:100%}.two-col__label{flex:0 0 280px;position:sticky;top:120px}.two-col__copy{flex:0 1 720px;min-width:0;display:flex;flex-direction:column}@media(max-width:1023px){.two-col{flex-direction:column;gap:24px}.two-col__label{position:static;flex:none}.two-col__copy{flex:none;width:100%;max-width:720px}}.intro{display:flex;flex-direction:column;gap:24px;width:100%}.detail-list{width:100%;display:flex;flex-direction:column}.detail-list__item{display:flex;align-items:center;gap:16px;padding:11px 0 12px;border-top:1px solid var(--line)}.detail-list__index{flex:0 0 28px}.detail-list__item--rich,.detail-list__item--top{align-items:flex-start}.detail-list__item--top .detail-list__index{padding-top:7px}.detail-list strong{font-weight:600}.detail-list__item--h4 .detail-list__index{padding-top:0}.detail-list__item--body .detail-list__index{padding-top:6px}.detail-list__rich{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:16px}.detail-list__title-body{font-weight:600}.bullet-list{width:100%;display:flex;flex-direction:column}.bullet-list__item{display:flex;align-items:center;gap:16px;padding:11px 0 12px;border-top:1px solid var(--line)}.bullet-list__marker{flex:none;width:16px;height:2px;background:var(--accent)}.bullet-list strong{font-weight:600}.media{width:100%;display:flex;flex-direction:column}.media__row{display:flex;width:100%;gap:var(--row-gap, 0)}.media__item{flex:none;position:relative;overflow:hidden}.media__item--border{outline:1.2px solid var(--line);outline-offset:-1.2px}.media__item-caption{margin-top:12px}@media(min-width:768px)and (max-width:1023px){.media__row--quad{flex-wrap:wrap;justify-content:center;row-gap:32px}.media__row--quad .media__item{width:42%!important}}.dots{display:none;align-items:center;gap:6px;height:24px}.dots__dot{position:relative;width:6px;height:6px;padding:0;border:0;border-radius:3px;background:#d6d2d2;cursor:pointer;transition:width .24s cubic-bezier(.2,0,0,1),background-color .24s cubic-bezier(.2,0,0,1)}.dots__dot:after{content:"";position:absolute;inset:-9px -3px}.dots__dot.is-active{width:18px;background:var(--ink)}@media(max-width:767px){.media{gap:12px!important}.media__item{margin-right:0!important}.media__row--m-single{justify-content:center!important}.media__row--m-single .media__item{width:min(100%,var(--fig-w))!important}.media__row--m-single .media__item--portrait{width:min(100%,240px)!important}.media__row--m-stack{flex-direction:column;gap:20px!important}.media__row--m-stack .media__item{width:100%!important}.media__row--m-carousel{width:auto;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);gap:12px!important;align-items:flex-start!important;justify-content:flex-start!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none}.media__row--m-carousel::-webkit-scrollbar{display:none}.media__row--m-carousel:after{content:"";flex:0 0 8px}.media__row--m-carousel .media__item{width:var(--m-w)!important;scroll-snap-align:start}.dots{display:flex}.media>figcaption{margin-top:0}}.carousel{--cw: min(var(--content), calc(100vw - 2 * var(--gutter)));width:100%;display:flex;flex-direction:column;gap:16px}.carousel__track{position:relative;display:flex;align-items:flex-start;gap:var(--gap);width:calc(100% + (100vw - var(--cw)) / 2);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none}.carousel__track::-webkit-scrollbar{display:none}.carousel__track:after{content:"";flex:0 0 var(--gutter)}.carousel__track:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.carousel__slide{--sw: calc(var(--cw) * var(--w) / 1200);flex:none;width:var(--sw);margin-right:calc(var(--sw) * var(--overlap));scroll-snap-align:start;display:flex;flex-direction:column;gap:12px}.carousel__slide .img__el{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.carousel__bar{display:flex;align-items:center;justify-content:space-between;gap:24px}.carousel__controls{flex:none;display:flex;align-items:center;gap:8px}.carousel__count{min-width:64px;text-align:right;margin-right:8px;font-variant-numeric:tabular-nums}.carousel__button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out),color var(--dur-hover) var(--ease-out),border-color var(--dur-hover) var(--ease-out),opacity var(--dur-hover) var(--ease-out)}.carousel__button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--page)}.carousel__button:active:not(:disabled){transform:scale(.96)}.carousel__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.carousel__button:disabled{opacity:.3;cursor:default}@media(max-width:767px){.carousel{gap:12px}.carousel__track{width:auto;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);gap:12px;scroll-padding-inline:var(--gutter)}.carousel__track:after{flex-basis:8px}.carousel__slide{--sw: 318px;margin-right:0}.carousel__controls{display:none}.carousel__bar:not(:has(figcaption)){display:none}.carousel--m-stack .carousel__track{margin:0;padding:0;flex-direction:column;gap:20px;overflow:visible}.carousel--m-stack .carousel__track:after{display:none}.carousel--m-stack .carousel__slide{width:100%}}.findings{width:100%;border-radius:6px;padding:32px;display:flex;flex-direction:column;gap:20px;background:var(--brand-gradient-soft)}.findings__figure{display:flex;flex-direction:column;gap:6px}@media(max-width:767px){.findings{padding:24px 20px}}.split{display:flex;align-items:flex-start;width:100%}.split__copy{flex:0 1 670px;min-width:0}.split__image{flex:0 1 404px}.split__image img{width:100%;height:auto}@media(max-width:1023px){.split{flex-direction:column;gap:48px!important}.split__copy{flex:none;max-width:720px}.split__image{flex:none;width:min(100%,404px)}}@media(max-width:767px){.split__image,.hero-image--inset{width:100%;max-width:none!important}}.cover-gallery{width:100%;display:flex;flex-direction:column;gap:64px}.cover-gallery__row{display:flex;align-items:flex-start;gap:4%}.cover-gallery__row>.img:first-child{width:34.6667%;height:auto}.cover-gallery__row>.img:last-child{width:58.0432%;height:auto}@media(max-width:767px){.cover-gallery{gap:32px}.cover-gallery__row{flex-direction:column;gap:12px}.cover-gallery__row>.img:first-child{width:100%}.cover-gallery__row>.img:last-child{width:100%}}.stack-24{display:flex;flex-direction:column;gap:24px}@media(max-width:767px){.detail-list__item{align-items:flex-start}.detail-list__index{line-height:27px;padding-top:0!important}}.nav{position:sticky;top:0;z-index:50;background:var(--page);border-bottom:1px solid var(--line-nav)}.nav__inner{height:72px;max-width:calc(var(--content) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;white-space:nowrap}.nav__wordmark{font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.02em;color:var(--ink)}.nav__links{display:flex;align-items:center;gap:32px}.nav__links a{color:var(--ink-60);transition:color var(--dur-hover) var(--ease-out)}.nav__links a:hover,.nav__links a.is-active{color:var(--ink)}@media(max-width:767px){.nav__inner{height:56px;padding:0 20px}.nav__wordmark{font-size:18px;line-height:1.32}.nav__links{gap:20px;font-size:14px}}.footer{background:var(--ink);color:var(--ink-40);padding:128px var(--gutter) 48px}.footer__inner{max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:32px}.footer__name{font-size:44px;font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--white)}.footer__links{display:flex;gap:24px;font-size:15px;line-height:1.55}.footer__links a{color:var(--white);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color var(--dur-hover) var(--ease-out)}.footer__links a:hover{text-decoration-color:var(--accent)}.footer__divider{height:1px;background:var(--line-dark)}.footer__bottom{display:flex;justify-content:space-between;gap:16px;font-size:15px;line-height:1.55}@media(max-width:767px){.footer{padding:64px 20px 32px}.footer__inner{gap:20px}.footer__name{font-size:30px;line-height:1.18}.footer__links,.footer__bottom{font-size:14px}.footer__bottom{flex-direction:column;gap:8px}}.next{height:320px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:0 var(--gutter);text-align:center}.next__title{color:var(--ink)}.next__arrow{display:inline-block;transition:transform var(--dur-hover) var(--ease-out)}.next:hover .next__arrow{transform:translate(6px)}@media(max-width:767px){.next{height:200px;padding:0 20px}.next__title{font-size:30px;line-height:1.18}}.hero{background:radial-gradient(ellipse 71.4% 55.6% at -7.1% 83.3%,#482ac41a,#482ac400),linear-gradient(135deg,#482ac41a 14.286%,#8f7ee00f 53.571%,#00c3d01f 85.714%),#fbfbfd;padding:56px var(--gutter) clamp(64px,7.7778vw,112px)}.hero__inner{max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:clamp(40px,4.4445vw,64px)}.hero__meta{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-meta);white-space:nowrap}.hero__lead{display:flex;align-items:flex-end}.hero__intro{flex:0 1 828px;min-width:0;display:flex;flex-direction:column;gap:40px;color:var(--ink)}.hero__display{font-size:clamp(64px,11.6667vw,168px);font-weight:400;line-height:.92;letter-spacing:-.03em;white-space:nowrap}.hero__deck{max-width:780px;font-size:clamp(22px,2.0834vw,30px);line-height:1.38;letter-spacing:-.015em}.hero__portrait{flex:0 0 378px;margin:0 0 0 -6px}.hero__photo{overflow:hidden;aspect-ratio:378 / 401}.hero__photo img{width:100%;height:100%;object-fit:cover}.hero__portrait figcaption{font-size:13px;color:var(--ink-meta)}.hero__columns{display:flex;gap:48px;padding-top:28px;border-top:1px solid var(--ink)}.hero__column{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:16px}.hero__label{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-meta);white-space:pre}.hero__text{font-size:16px;line-height:1.65;color:var(--ink-80)}.hero__footer{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;color:var(--ink-meta)}.hero__cta{flex:none;font-size:15px;font-weight:500;color:var(--accent);text-decoration:underline;text-decoration-thickness:from-font;text-underline-position:from-font;white-space:pre;transition:color var(--dur-hover) var(--ease-out)}.hero__cta:hover{color:var(--accent-text)}@media(max-width:1023px){.hero__lead{flex-direction:column;align-items:stretch;gap:32px}.hero__intro{flex:none}.hero__portrait{flex:none;width:min(100%,378px);margin:0}.hero__columns{flex-direction:column;gap:32px}}@media(max-width:767px){.hero{padding:32px 20px 48px}.hero__inner{gap:32px}.hero__meta{display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:10px 16px;font-size:11px;line-height:1.4}.hero__meta p:nth-child(2n){text-align:right}.hero__intro{gap:16px}.hero__display{font-size:62px}.hero__deck{font-size:20px;line-height:1.45;letter-spacing:-.01em}.hero__portrait{width:100%}.hero__photo{aspect-ratio:350 / 371}.hero__column{gap:12px}.hero__text{line-height:1.7}.hero__footer{flex-direction:column;align-items:flex-start;gap:16px;line-height:1.55}.hero__cta{font-size:14px}.resume{padding:64px 20px}.resume__title{font-size:22px;line-height:1.28}.resume__company{font-size:30px;line-height:1.18}}.resume{background:var(--line-nav);padding:clamp(72px,6.6667vw,96px) var(--gutter)}.resume__inner{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:1fr minmax(0,633px);gap:32px}.resume__title{font-size:28px;font-weight:600;line-height:1.25;letter-spacing:-.02em;color:var(--ink-60)}.resume__list{display:flex;flex-direction:column;gap:28px}.resume__row{display:grid;grid-template-columns:264px 1fr;align-items:center;gap:0;min-height:65px}.resume__role{font-size:18px;font-weight:500;line-height:1.25;color:var(--ink)}.resume__company{font-size:clamp(34px,3.6112vw,52px);white-space:nowrap;font-weight:500;line-height:1.15;letter-spacing:-.02em;color:var(--ink-60)}@media(max-width:1023px){.resume__inner{grid-template-columns:1fr;gap:40px}}@media(max-width:767px){.resume__row{grid-template-columns:1fr;gap:6px}.resume__role{order:2;font-size:16px}.resume__role br{display:none}.resume__company{white-space:normal}}.works-title{padding:clamp(96px,11.1112vw,160px) var(--gutter) clamp(56px,6.6667vw,96px)}.works-title__inner{max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:24px}.works-title__inner h1{max-width:900px}.works-title__inner p{max-width:720px}.works-list{padding:0 var(--gutter) clamp(72px,8.8889vw,128px)}.works-list__inner{max-width:var(--content);margin:0 auto}.work-row__link{display:flex;align-items:flex-start;gap:48px;padding:47px 0 48px;border-top:1px solid var(--line)}.work-row__image{flex:0 0 440px;border-radius:8px;overflow:hidden}.work-row__image img{width:100%;height:auto;transition:transform .4s var(--ease-out)}.work-row__link:hover .work-row__image img{transform:scale(1.02)}.work-row__copy{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:32px}.work-row__text{display:flex;flex-direction:column;gap:16px}.work-row__names{display:flex;flex-direction:column;gap:4px}.work-row__cta{color:var(--accent)}.work-row__cta span{display:inline-block;transition:transform var(--dur-hover) var(--ease-out)}.work-row__link:hover .work-row__cta span{transform:translate(4px)}.work-row__link:hover .work-row__name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}@media(max-width:1023px){.work-row__image{flex-basis:44%}.work-row__link{gap:32px}}@media(max-width:767px){.works-title{padding:56px 20px 48px}.works-title__inner{gap:16px}.works-title__inner h1{font-size:40px;line-height:1.1}.works-list{padding:0 20px 64px}.work-row__link{flex-direction:column;gap:20px;padding:31px 0 32px}.work-row__image{flex:none;width:100%}.work-row__copy{gap:12px}.work-row__text{gap:16px}.work-row__name{font-size:22px}}.lightbox{position:fixed;inset:0;z-index:200;color:var(--white);touch-action:none}.lightbox__backdrop{position:absolute;inset:0;background:#0f0f0ff5;opacity:var(--backdrop, 1);animation:lb-fade .2s ease-out both}.lightbox--closing .lightbox__backdrop{transition:opacity .22s cubic-bezier(.3,0,1,1);opacity:0}@keyframes lb-fade{0%{opacity:0}}.lightbox__bar{position:absolute;z-index:2;top:max(44px,env(safe-area-inset-top));left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 20px;pointer-events:none;transition:opacity .2s ease-out}.lightbox--opening .lightbox__bar,.lightbox--closing .lightbox__bar{opacity:0}.lightbox__count{font-size:14px;line-height:1.2;font-variant-numeric:tabular-nums}.lightbox__close{pointer-events:auto;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--white);cursor:pointer;transition:background-color .2s ease-out}.lightbox__close:hover{background:#ffffff1a}.lightbox__close:focus-visible{outline:2px solid var(--white);outline-offset:0}.lightbox__track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x}.lightbox__track::-webkit-scrollbar{display:none}.lightbox.is-zoomed .lightbox__track{overflow-x:hidden;touch-action:none}.lightbox__slide{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}.lightbox__figure{position:absolute;transform-origin:0 0;will-change:transform}.lightbox__figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.lightbox__thumb{opacity:.4}.lightbox--opening .lightbox__thumb{opacity:1}.lightbox__img{opacity:0;transform-origin:50% 50%;transition:opacity .24s ease-out,transform .2s ease-out}.lightbox__img.is-loaded{opacity:1}.lightbox.is-zoomed .lightbox__img{cursor:grab}.lightbox__spinner{position:absolute;top:50%;left:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;border:2px solid rgb(255 255 255 / .25);border-top-color:var(--white);opacity:0;animation:lb-show 0ms .4s forwards,lb-spin .8s linear infinite}@keyframes lb-show{to{opacity:1}}@keyframes lb-spin{to{transform:rotate(360deg)}}.lightbox__error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:14px;color:#b5b0b0}.lightbox__error button{min-width:88px;min-height:44px;font:inherit;font-size:15px;color:var(--white);background:none;border:0;cursor:pointer}.lightbox__dots{position:absolute;z-index:2;left:0;right:0;bottom:max(30px,calc(env(safe-area-inset-bottom) + 16px));height:24px;display:flex;align-items:center;justify-content:center;gap:6px;pointer-events:none}.lightbox--opening .lightbox__dots,.lightbox--closing .lightbox__dots{opacity:0}.lightbox__dot{width:6px;height:6px;border-radius:3px;background:var(--ink-60);transition:width .24s cubic-bezier(.2,0,0,1),background-color .24s cubic-bezier(.2,0,0,1)}.lightbox__dot.is-active{width:18px;background:var(--white)}@media(prefers-reduced-motion:reduce){.lightbox *,.lightbox__backdrop{animation-duration:0ms!important;transition-duration:0ms!important}}.lightbox__nav{position:absolute;z-index:2;top:50%;width:44px;height:44px;margin-top:-22px;display:none;place-items:center;border:1px solid rgb(255 255 255 / .2);border-radius:50%;background:transparent;color:var(--white);cursor:pointer;transition:background-color .2s ease-out,opacity .2s ease-out}.lightbox__nav:hover:not(:disabled){background:#ffffff1a}.lightbox__nav:disabled{opacity:.25;cursor:default}.lightbox__nav--prev{left:12px}.lightbox__nav--next{right:12px}@media(min-width:768px)and (hover:hover){.lightbox__nav{display:grid}}.lightbox--opening .lightbox__nav,.lightbox--closing .lightbox__nav{opacity:0}
