.dfa-case{width:min(1360px,calc(100% - 80px));margin:0 auto;padding-bottom:120px;color:var(--umo-text,#fff)}
.dfa-hero{padding:70px 0 80px;max-width:1020px}.dfa-back{display:inline-block;color:var(--umo-secondary,#aaa);margin-bottom:70px;font-size:15px}.dfa-eyebrow,.dfa-label{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;color:var(--umo-secondary,#aaa)}
.dfa-hero h1{font-size:clamp(48px,7.5vw,104px);line-height:1.03;letter-spacing:-.045em;margin:20px 0 28px;font-weight:500}.dfa-hero>p{font-size:clamp(20px,2.3vw,28px);line-height:1.35;max-width:850px;color:var(--umo-secondary,#aaa)}.dfa-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.dfa-tags span{padding:9px 15px;border-radius:99px;background:var(--umo-soft,#222);font-size:14px}
.dfa-cover,.dfa-image{margin:0;overflow:hidden;border-radius:28px}.dfa-cover{background:#e9ebe7}.dfa-cover img{width:100%;max-height:780px;object-fit:cover;display:block}.dfa-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:130px 0 64px}.dfa-intro h2,.dfa-section h2{font-size:clamp(34px,4.4vw,60px);line-height:1.08;letter-spacing:-.035em;font-weight:500;margin:18px 0 24px}.dfa-intro p,.dfa-section>p{font-size:20px;line-height:1.5;color:var(--umo-secondary,#aaa);margin:0 0 22px}.dfa-facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:30px;padding:30px 0;border-top:1px solid var(--umo-divider,#444);border-bottom:1px solid var(--umo-divider,#444)}.dfa-facts div{display:flex;flex-direction:column;gap:10px}.dfa-facts span,.dfa-metrics span{font-size:14px;color:var(--umo-secondary,#aaa)}.dfa-facts strong{font-weight:500;line-height:1.4}.dfa-section{padding:130px 0 80px}.dfa-section>h2,.dfa-section>p{max-width:900px}.dfa-grid,.dfa-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:48px}.dfa-grid>div,.dfa-metrics>div{padding:32px;background:var(--umo-soft,#222);border-radius:24px}.dfa-grid h3,.dfa-steps h3{font-size:22px;font-weight:500;margin:0 0 14px}.dfa-grid p,.dfa-steps p{color:var(--umo-secondary,#aaa);font-size:16px;line-height:1.55;margin:0}.dfa-image{background:var(--umo-soft,#222)}.dfa-image img{width:100%;height:auto;display:block}.dfa-image figcaption{padding:16px 24px;color:var(--umo-secondary,#aaa);font-size:14px}.dfa-steps{margin-top:55px}.dfa-steps>div{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--umo-divider,#444)}.dfa-steps>div>span{color:var(--umo-secondary,#aaa)}.dfa-steps p{max-width:760px}.dfa-video{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:var(--umo-soft,#222);margin-top:48px}.dfa-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.dfa-metrics{margin-bottom:44px}.dfa-metrics>div{display:flex;flex-direction:column;gap:15px}.dfa-metrics strong{font-size:clamp(36px,4vw,54px);font-weight:500}.dfa-metrics span{line-height:1.45}.dfa-next{border-top:1px solid var(--umo-divider,#444);padding:36px 0;display:flex;justify-content:space-between;font-size:18px}.dfa-next span{font-size:28px}
@media(max-width:700px){.dfa-case{width:calc(100% - 32px);padding-bottom:60px}.dfa-hero{padding:35px 0 48px}.dfa-back{margin-bottom:50px}.dfa-hero h1{font-size:clamp(40px,10vw,64px)}.dfa-cover,.dfa-image{border-radius:20px}.dfa-intro{grid-template-columns:1fr;gap:16px;padding:72px 0 36px}.dfa-facts,.dfa-grid,.dfa-metrics{grid-template-columns:1fr}.dfa-facts{gap:24px}.dfa-section{padding:80px 0 48px}.dfa-section>p,.dfa-intro p{font-size:17px}.dfa-grid>div,.dfa-metrics>div{padding:24px}.dfa-steps>div{grid-template-columns:40px 1fr;gap:12px}}
.case-editorial .dfa-hero{max-width:none;padding:32px 0 40px}
.case-editorial .dfa-cover{width:var(--umo-content);max-width:100%;margin:0 auto;border-radius:32px}
.case-editorial .dfa-cover img{aspect-ratio:16/9;max-height:none;object-fit:cover}
@media(max-width:700px){.case-editorial .dfa-hero{padding-top:24px}.case-editorial .dfa-cover{border-radius:24px}}
.dfa-challenges{grid-template-columns:repeat(2,1fr)}
.dfa-steps p+p,.dfa-steps p+ul{margin-top:16px}
.dfa-steps ul{padding-left:20px;color:var(--umo-secondary,#aaa);font-size:16px;line-height:1.6}
.dfa-steps li+li{margin-top:7px}
.dfa-outcomes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:48px 0}
.dfa-outcomes>div{padding:30px 32px;background:var(--umo-soft,#222);border-radius:24px}
.dfa-outcomes h3,.dfa-reflection h3{margin:0 0 14px;font-size:22px;font-weight:500}
.dfa-outcomes p,.dfa-reflection p{margin:0;color:var(--umo-secondary,#aaa);font-size:16px;line-height:1.55}
.dfa-reflection{max-width:850px;padding:12px 0}.dfa-reflection p+p{margin-top:16px}.dfa-reflection a{text-decoration:underline;text-underline-offset:4px;color:var(--umo-text,#fff)}
@media(max-width:700px){.dfa-challenges,.dfa-outcomes{grid-template-columns:1fr}.dfa-outcomes>div{padding:24px}}
.gpc-gallery{display:grid;gap:8px;align-items:start}.gpc-gallery--two{grid-template-columns:repeat(2,minmax(0,1fr))}.gpc-gallery--three{grid-template-columns:repeat(3,minmax(0,1fr))}.gpc-gallery .dfa-image{min-width:0}.gpc-gallery .dfa-image img{width:100%;height:auto}.gpc-short{padding:56px 0 48px}.gpc-short .dfa-steps{margin-top:0}.gpc-note{margin-top:48px;padding:32px;border-radius:24px;background:var(--umo-soft,#222)}.gpc-note h3{font-size:22px;font-weight:500;margin:0 0 16px}.gpc-note ul{margin:0;padding-left:20px;color:var(--umo-secondary,#aaa);line-height:1.7}.gpc-audience{margin-bottom:0}.gpc-audience p+p{margin-top:16px}.gpc-audience strong{color:var(--umo-text,#fff);font-weight:500}
@media(max-width:700px){.gpc-gallery--two,.gpc-gallery--three{grid-template-columns:1fr}.gpc-note{padding:24px}.gpc-short{padding:40px 0}}
.union-gallery{display:grid;gap:0;overflow:hidden;border-radius:24px}.union-gallery .dfa-image{border-radius:0}
.rd-project--pulse .rd-project__image{inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.rd-project--bankomat .rd-project__image{inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.spectrum-gallery{display:grid;gap:8px}.spectrum-visual-heading{padding:72px 0 32px}.spectrum-visual-heading h2{margin-bottom:0}
@media(max-width:700px){.spectrum-visual-heading{padding:56px 0 24px}}
.zlaker-gallery{display:grid;gap:8px}.zlaker-after-grid{margin-top:32px!important}
.rd-project--everquests .rd-project__image{inset:0;width:100%;height:100%;object-fit:cover;transform:none}

/* Work history wordmarks */
.rd-job__logo { max-width: 170px; max-height: 30px; width: auto; height: auto; filter: brightness(0) invert(1); }
.rd-job__wordmark { color: inherit; font-size: 19px; font-weight: 650; line-height: 1.15; letter-spacing: -.025em; }
@media (prefers-color-scheme: light) { .rd-home .rd-job__logo { filter: brightness(0); } }
@media (max-width: 700px) { .rd-job__logo { max-width: 145px; max-height: 25px; } .rd-job__wordmark { font-size: 16px; } }
.rd-job__project { margin-top: 24px; }
.rd-job__project h4 { color: inherit; font-size: 1em; font-weight: 600; margin: 0 0 12px; }

/* AI chip and its animated circuit traces on the third impact card. */
.rd-impact__card:has(.rd-impact__ai) { position: relative; overflow: hidden; isolation: isolate; container-type: inline-size; }
.rd-impact__card:has(.rd-impact__ai) > :not(.rd-impact__ai) { position: relative; z-index: 1; }
.rd-impact__ai { display: block; position: relative; flex: none; width: 42px; height: 42px; pointer-events: none; }
.rd-impact__ai img { display: block; position: absolute; width: 400px; width: 100cqw; max-width: none; height: auto; left: 50%; top: 50%; transform: translate(-50%, -50%); }
@media (prefers-color-scheme: light) { .rd-impact__ai img { filter: invert(1); } }
.rd-impact__logo--arrows { width: 48px; height: 32px; }
.rd-impact__logo--arrows { width: 72px; height: 48px; }
.rd-impact__logo--systems { width: 72px; height: 48px; }
.rd-header .rd-logo img { width: 112px; transform: none; }
.rd-footer__logo { width: 132px; }
@media (max-width: 700px) { .rd-header .rd-logo img { width: 90px; } }
@media (max-width: 380px) { .rd-header .rd-logo img { width: 76px; } }
/* Portrait composition for the first project card. */
.rd-project--umo .rd-project__image { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: none; }
.rd-project--invert .rd-project__image { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: none; }
/* Crypton card and project cover use the first panel of the Behance artwork. */
.rd-project--fitness .rd-project__image { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; transform: none; }
.crypton-case .dfa-cover img { object-position: center top; }
@media (min-width: 701px) {
  .crypton-case .dfa-section > h2 { max-width: none; white-space: nowrap; font-size: clamp(22px, 2.6vw, 44px); }
}
.rd-project--bankomat .rd-project__image { object-position: center 66%; }

/* Zlaker artwork uses the opening panel of the supplied case export. */
.case-editorial .zlaker-cover-figma{position:relative;aspect-ratio:2692 / 1824;background:#000}
.case-editorial .zlaker-cover-figma img{position:absolute;top:0;left:0;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:initial}
.rd-project--everquests .rd-project__image{object-position:center top}
.zlaker-overview img{display:block;width:100%;height:auto;margin-top:-67.756%}

/* Case width and section titles follow the editorial project layout. */
.case-editorial .dfa-case{width:var(--umo-content);max-width:100%;margin-inline:auto}
.case-editorial .dfa-intro h2,.case-editorial .dfa-section h2{font-size:32px;line-height:1.2;letter-spacing:-.025em;font-weight:500;white-space:normal;max-width:none}
@media(max-width:700px){.case-editorial .dfa-intro h2,.case-editorial .dfa-section h2{font-size:26px}}

/* The footer logo uses the same moving light as the header logo. */
.rd-footer__intro > a:has(.rd-footer__logo){position:relative;display:block}
.rd-footer__intro > a:has(.rd-footer__logo)::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent 32%,#b58bff 43%,#9be4bb 50%,#f4a6d2 57%,transparent 68%);background-size:250% 100%;background-position:100% 50%;-webkit-mask:url('/assets/redesign/nevsky-logo.svg') center/contain no-repeat;mask:url('/assets/redesign/nevsky-logo.svg') center/contain no-repeat;transition:opacity .3s ease}
@media (hover:hover) and (pointer:fine){.rd-footer__intro > a:has(.rd-footer__logo):hover::after{opacity:.5;animation:nevsky-shimmer 2.8s linear infinite}}
.rd-footer__intro > a:has(.rd-footer__logo):focus-visible::after{opacity:.5;animation:nevsky-shimmer 2.8s linear infinite}
@media (prefers-reduced-motion:reduce){.rd-footer__intro > a:has(.rd-footer__logo):hover::after,.rd-footer__intro > a:has(.rd-footer__logo):focus-visible::after{animation:none;transition:none}}

/* Individual Zlaker interface screens exported from Figma. */
.zlaker-screens{display:flex;justify-content:center;align-items:flex-start;gap:clamp(12px,3vw,28px);padding:clamp(24px,5vw,52px);margin:48px 0 0;background:#171717;border-radius:32px;overflow:hidden}.zlaker-screen{flex:1 1 0;max-width:240px;min-width:0;margin:0}.zlaker-screen img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 8px 24px #0003}.zlaker-screen figcaption{color:#a5a5a5;font-size:14px;line-height:1.4;margin-top:16px}.zlaker-screens+.zlaker-screens{margin-top:16px}@media(max-width:600px){.zlaker-screens{gap:12px;padding:22px 14px;border-radius:24px}.zlaker-screen img{border-radius:12px}.zlaker-screen figcaption{font-size:11px;margin-top:10px}}

.crypton-screens{background:#303030}

/* Union: focused views of the original desktop mockups. */
.union-screen img{display:block;width:100%;height:auto}.union-screen--home img,.union-screen--products img{aspect-ratio:16/10;object-fit:cover}.union-screen--home img{object-position:top}.union-screen--products img{object-position:center 25%}

.union-product-section{padding-bottom:48px}.union-product-preview img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;display:block}@media(max-width:700px){.union-product-section{padding-bottom:32px}}
