html:has(.case-image-dialog[open]){scrollbar-gutter:stable}[data-image-preview]{cursor:zoom-in}[data-image-preview]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.case-image-dialog{overscroll-behavior:contain;background:#fff;border:2px solid #eaeff9;border-radius:30px;width:fit-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:60px 20px 20px}@supports (corner-shape:squircle){.case-image-dialog{corner-shape:squircle}}.case-image-dialog::backdrop{background:#00000080}.case-image-dialog__image{object-fit:contain;cursor:zoom-out;border-radius:16px;width:auto;max-width:min(1100px,100vw - 76px);height:auto;max-height:calc(100dvh - 116px);display:block}.case-image-dialog__close{color:#004d6e;width:40px;height:40px;font:28px/1 var(--font-sans);cursor:pointer;background:#ebf9ff;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.case-image-dialog__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.case-page{--case-sticky-offset:72px;--case-stage-spacing:150px;--case-inactive-opacity:.28;--case-transition-duration:.42s;--case-image-fade-duration:.34s;--case-image-motion-duration:.44s;--case-ease-out:cubic-bezier(.22, 1, .36, 1);--page-padding:clamp(30px, calc(16.827vw - 142.31px), 100px);padding-block:34px}.case-shell{width:min(calc(100% - var(--page-padding) * 2), 1326px);margin-inline:auto}.case-nav,.case-project-nav{color:var(--color-accent);justify-content:space-between;gap:24px;display:flex}.case-nav a,.case-project-nav a{text-decoration:none}.case-nav{margin-bottom:54px}.case-hero__media{border:1px solid #f2f2f2;border-radius:30px;height:636px;overflow:hidden;box-shadow:14px 9px 35px #185eb90f}.case-hero__media img,.case-hero__media video{object-fit:cover;object-position:center top;width:100%;height:100%}.case-hero__copy{gap:16px;margin-top:32px;display:grid}.case-hero h1,.case-hero p,.case-stage h2,.case-stage p,.case-stage dl,.case-stage dd,.case-contact h2,.case-contact p{margin:0}.case-hero h1{font-size:38px;font-weight:700;line-height:1.26}.case-hero p{font-size:20px;line-height:1.3}.case-tags{flex-wrap:wrap;gap:16px;margin-top:28px;display:flex}.case-tag{color:#004d6e;font:600 14px/18px var(--font-sans);background:#ebf9ff;border:0;border-radius:15px;padding:5px 10px}.case-tags__toggle{cursor:pointer;display:none}.case-tags__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.case-story{--case-visual-height:min(673px, calc(100svh - 32px));--case-centered-offset:max(16px, calc((100vh - var(--case-visual-height)) / 2));grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:82px;margin-top:74px;display:grid}.case-story__copy{row-gap:var(--case-stage-spacing);min-width:0;display:grid}.case-stage{align-items:flex-start;display:flex;position:relative}@media (width>=901px){.case-story__copy{padding-top:var(--case-first-text-offset,0px)}.case-stage{margin-bottom:var(--case-stage-extra-gap,0px)}}.case-stage:last-child{min-height:max(50vh, calc(62vh - 80px), var(--case-last-visual-space,0px))}.case-stage__content{width:100%;opacity:var(--case-inactive-opacity);transform-origin:0 0;transition:opacity var(--case-transition-duration) var(--case-ease-out), transform var(--case-transition-duration) var(--case-ease-out);transform:scale(.6667)}.case-stage__observer-target{pointer-events:none;width:1px;height:30px;position:absolute;top:0;left:0}.case-stage__observer-target.is-delayed{top:30px}.case-stage.is-active .case-stage__content{opacity:var(--case-active-opacity,1);transform:translateY(var(--case-active-translate-y,0px)) scale(var(--case-active-scale,1))}.case-story.is-tensioning .case-stage.is-active .case-stage__content,.case-story.is-tensioning .case-stage.is-preview .case-stage__content{will-change:opacity, transform;transition:none}.case-stage.is-preview .case-stage__content{opacity:calc(var(--case-inactive-opacity) + var(--case-preview-progress,0) * .18);transform:translateY(calc(var(--case-active-translate-y,0px) * .6)) scale(calc(.6667 + var(--case-preview-progress,0) * .1))}.case-stage h2{margin-bottom:18px;font-size:24px;font-weight:700;line-height:1.3}.case-stage__body{gap:20px;font-size:16px;line-height:1.25;display:grid}.case-stage__body p{white-space:pre-line}.case-stage dl div{display:inline}.case-stage dl div:after{content:"";display:block}.case-stage dt{white-space:nowrap;font-weight:700;display:inline}.case-stage dt:after{content:": "}.case-stage dd{display:inline}.case-stage__mobile-visual{display:none}.case-story__visual{top:var(--case-sticky-offset);width:100%;height:var(--case-visual-height);transition:top var(--case-image-motion-duration) var(--case-ease-out);justify-self:end;position:sticky}@media (width>=901px){.case-story__visual{top:var(--case-centered-offset)}}.case-story__image{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity var(--case-image-fade-duration) var(--case-ease-out), transform var(--case-image-motion-duration) var(--case-ease-out);will-change:opacity, transform;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:translateY(13px)scale(.985)}.case-story__image[data-active=true]{z-index:1;pointer-events:auto;opacity:1;transform:translateY(0)scale(1)}.case-story__image img,.case-story__image video{border-radius:30px;width:100%;max-height:100%;display:block}.case-story__image img{object-fit:contain;height:auto}@media (width>=901px){.case-story__image img[data-media-desktop-hug]{width:auto;max-width:100%}}img[data-media-bordered]{outline-offset:-2px;outline:2px solid #eaeff9}.case-story__image video{object-fit:cover;height:100%}.case-story__image video[data-square]{aspect-ratio:1;object-fit:contain;border:2px solid #ebeff9;height:auto}.case-contact{--color-accent:#0053b2;--color-button:#0075e2;margin-top:226.5px}.case-contact__pitch{text-align:center;justify-items:center;gap:12px;display:grid}.case-contact h2{font-size:24px;font-weight:700;line-height:31px}.case-contact p{max-width:304px}.case-contact__actions{gap:12px;width:230px;max-width:100%;margin-top:28px;display:grid}.case-contact__button{isolation:isolate;color:#fff;background:var(--color-button);width:100%;transition:transform .22s var(--case-ease-out), background-color .22s var(--case-ease-out);border-radius:10px;justify-content:center;align-items:center;padding:10px 20px;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.case-contact__button:active{background-color:#82bbfb;transition-duration:.14s;transform:scale(1.1)}.case-contact__button.case-contact__resume{color:var(--color-accent);background:#fff;font-weight:400}@media (hover:hover){.case-contact__resume:hover{background-color:#edf4fb}}.case-contact__button.case-contact__resume:active{background-color:#d0e6fa}.case-contact__button:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff3d 50%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}.case-contact__resume:before{display:none}@media (hover:hover) and (prefers-reduced-motion:no-preference){.case-contact__button:hover:before{animation:.85s ease-out forwards case-button-shimmer}}@keyframes case-button-shimmer{to{transform:translate(100%)}}.case-project-nav{margin-top:48px}.case-footer{margin-top:99px}.case-footer .site-footer{flex-wrap:wrap;justify-content:space-between;align-self:auto;align-items:center;gap:32px;margin:0;display:flex;position:static}.case-footer .site-footer__links{flex:none;max-width:none;margin:0;display:block}.case-footer .contact-links{gap:32px}.case-footer [data-resume-download]{display:none}@media (width>=1680px){.case-story{--case-visual-height:min(675px, calc(100svh - 32px));grid-template-columns:503px minmax(0,675px);column-gap:148px}}@media (width<=1100px){.case-story{column-gap:64px}.case-hero__media{height:540px}}@media (width<=900px){.case-page{--page-padding:30px}.case-story{margin-top:121px;display:block}.case-story__copy{gap:121px}.case-stage,.case-stage:first-child,.case-stage:last-child{flex-direction:column;gap:36px;min-height:0;padding:0;display:flex}.case-stage__content,.case-stage.is-active .case-stage__content{opacity:1;transition:none;transform:none}.case-stage.is-active .case-stage__content,.case-stage.is-active .case-stage__mobile-visual{transform:translateY(var(--case-active-translate-y,0px))}.case-stage__mobile-visual{border-radius:30px;order:-1;width:100%;display:block;overflow:hidden}.case-stage__mobile-visual img{width:100%;height:auto}.case-stage__mobile-visual[data-tablet-radius="15"]{border-radius:15px}.case-stage__mobile-visual img{border-radius:inherit}.case-stage__mobile-visual video{object-fit:cover;width:100%;height:673px;display:block}.case-stage__mobile-visual video[data-square]{aspect-ratio:1;border:2px solid #ebeff9;border-radius:30px;height:auto}.case-story__visual{display:none}}@media (width<=600px){.case-page{padding-top:60px}.case-nav{margin-bottom:31px}.case-hero__media{border-radius:15px;height:339px}.case-hero__media img{object-position:var(--case-hero-mobile-position,center top)}.case-hero h1{font-size:24px;line-height:31px}.case-hero p{font-size:14px;line-height:18px}.case-tag--extra{display:none}.case-tags.is-expanded .case-tag--extra{animation:case-tag-reveal .24s var(--case-ease-out) var(--tag-delay) both;display:inline}.case-tags__toggle{display:inline}.case-tags__toggle[aria-expanded=true]{color:var(--color-accent);font:inherit;background:0 0;border-radius:0;padding-inline:0}.case-stage h2{margin-bottom:12px;font-size:20px;line-height:26px}.case-stage__body{gap:18px;font-size:14px;line-height:18px}.case-stage__mobile-visual{border-radius:20px}.case-stage__mobile-visual[data-mobile-radius="15"]{border-radius:15px}.case-stage__mobile-visual video{aspect-ratio:330/673;height:auto}.case-stage__mobile-visual video[data-square]{border-radius:20px}.case-project-nav{gap:12px}.case-project-nav__title{display:none}.case-footer .site-footer{flex-direction:column;gap:27px}.case-footer .contact-links{gap:28px}.case-contact__pitch{gap:18px}.case-contact__actions{margin-top:22px}}@keyframes case-tag-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.case-contact__button{transition:none}.case-contact__button:active{transform:none}.case-tags.is-expanded .case-tag--extra{animation:none}.case-story__visual,.case-stage__content{transition:none}.case-story__image{transition:opacity 1ms linear;transform:none}}
