/* Shared additions use semantic colour tokens; desktop content geometry is unchanged. */
.rp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* A single useful footer: identity, actual destinations and direct contact. */
body .rp-footer{margin:0;padding:0;background:var(--theme-footer,#f0f2f4);color:var(--theme-ink,#191c20);border-top:1px solid var(--theme-line,#dce1e5);font:500 14px/1.6 var(--editorial-font,Manrope,sans-serif)}
.rp-footer,.rp-footer *{box-sizing:border-box}
.rp-footer-inner{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding:64px 0 22px}
.rp-footer-grid{display:grid;grid-template-columns:1.3fr .85fr .95fr 1.3fr;gap:clamp(24px,4vw,64px);padding-bottom:54px}
.rp-footer-grid>*{min-width:0}
.rp-footer .rp-brand{align-items:center}
.rp-footer .rp-brand img{width:44px;height:44px;flex-basis:44px}
.rp-footer .rp-brand>span{font-size:15px}
.rp-footer .rp-brand small{font-size:11px;line-height:1.5}
.rp-footer-brand>p{margin:22px 0 0;max-width:32ch;font-size:13px;line-height:1.85;color:var(--theme-muted,#65707a)}
.rp-footer-brand::after{display:none;content:none}
.rp-footer-contact::after{display:block;margin-top:10px;color:var(--theme-ink,#191c20);font-size:10px;font-weight:650;line-height:1.5;letter-spacing:.09em;text-transform:uppercase}
html[lang="pl"] .rp-footer-contact::after{content:"Częstochowa, Polska"}
html[lang="en"] .rp-footer-contact::after{content:"Based in Częstochowa, Poland"}
html[lang="de"] .rp-footer-contact::after{content:"Standort: Częstochowa, Polen"}
html[lang="fr"] .rp-footer-contact::after{content:"Basé à Częstochowa, Pologne"}
html[lang="cs"] .rp-footer-contact::after{content:"Působím v Čenstochové, Polsko"}
html[lang="uk"] .rp-footer-contact::after,html[lang="ua"] .rp-footer-contact::after{content:"Працюю в Ченстохові, Польща"}
.rp-footer h2{font-size:12px;font-weight:650;letter-spacing:0;line-height:1.6;margin:0 0 16px;color:var(--theme-ink,#191c20)}
.rp-footer a{text-decoration:none;color:inherit}
.rp-footer a:hover{color:var(--theme-accent,#285cc4)}
.rp-footer a:focus-visible{outline:2px solid var(--theme-accent,#285cc4)!important;outline-offset:4px}
.rp-footer-column{display:flex;flex-direction:column;align-items:flex-start}
.rp-footer-column>a{display:flex;align-items:center;min-height:36px;font-size:13px;line-height:1.5;color:var(--theme-muted,#65707a);padding:5px 0}
.rp-footer-column h2{display:flex;align-items:center;gap:8px}
.rp-footer-ai-dot{display:none}
.rp-footer-contact .rp-footer-mail{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:clamp(15px,1.3vw,19px);font-weight:550;letter-spacing:-.025em;padding:2px 0 11px;border-bottom:1px solid var(--theme-line,#dce1e5);overflow-wrap:anywhere}
.rp-footer-mail>span:first-child{min-width:0}
.rp-footer-mail>span:last-child{flex-shrink:0}
.rp-footer-contact .rp-footer-phone{display:inline-flex;align-items:center;min-height:46px;font-size:18px;letter-spacing:-.02em;margin-top:8px}
.rp-footer-contact .rp-footer-process{display:none!important}
.rp-footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 26px;border-top:1px solid var(--theme-line,#dce1e5);padding-top:20px;color:var(--theme-muted,#65707a);font-size:11px}
.rp-footer-bottom p{margin:0;line-height:1.6}.rp-footer-bottom>a{display:inline-flex;align-items:center;gap:14px;min-height:36px;color:var(--theme-ink,#191c20)}
/* Real production milestones, not decorative cards. */
body .rp-process{color:var(--theme-ink,#191c20)}
.rp-process-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:3rem;margin-bottom:52px}
.rp-process-heading h2{margin:0;max-width:17ch;font-size:clamp(32px,4vw,56px);font-weight:500;line-height:1.12;letter-spacing:-.045em}
.rp-process-heading>p{margin:0 0 3px auto;max-width:43ch;color:var(--theme-muted,#65707a);font-size:15px;line-height:1.8}
.rp-process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,3vw,44px);list-style:none;padding:0;margin:0;counter-reset:none}
.rp-process-steps>li{min-width:0;position:relative;margin:0;padding:0}
.rp-step-track{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.rp-step-number{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--theme-ai-line,#bdcee7);border-radius:50%;color:var(--theme-accent,#285cc4);background:var(--theme-bg,#fafaf9);font-size:12px;font-weight:650;letter-spacing:.025em;font-variant-numeric:tabular-nums}
.rp-step-line{height:1px;flex:1;background:var(--theme-line-strong,#bac6d5);margin-right:calc(-1 * clamp(22px,3vw,44px) + 14px)}
.rp-process-steps>li:last-child .rp-step-line{background:var(--theme-line,#dce1e5);margin-right:0}
.rp-step-copy .rp-step-kicker{margin:0 0 12px;font-size:10px;font-weight:650;letter-spacing:.09em;color:var(--theme-accent,#285cc4);line-height:1.6}
.rp-step-copy h3{margin:0 0 17px;color:var(--theme-ink,#191c20);font-size:clamp(20px,1.8vw,25px);font-weight:550;line-height:1.3;letter-spacing:-.03em}
.rp-step-copy>p:not(.rp-step-kicker){margin:0;color:var(--theme-muted,#65707a);font-size:14px;line-height:1.85}
.rp-process-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;padding-top:23px;border-top:1px solid var(--theme-line,#dce1e5)}
.rp-process-bottom>p{display:flex;align-items:center;gap:10px;margin:0;font-size:13px;color:var(--theme-ink,#191c20)}
.rp-process-bottom svg{width:20px;height:20px;flex:0 0 20px;stroke:var(--theme-accent,#285cc4);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.rp-process-bottom>a{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:13px;font-weight:600;color:var(--theme-accent,#285cc4);text-decoration:none}
.rp-process-bottom>a:hover{text-decoration:underline;text-underline-offset:5px}
/* Hover previews have their own lightweight video, never taking over the full player. */
.ai-project-player .rp-ai-preview{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:1}
.ai-project-player.is-previewing .rp-ai-preview{opacity:1}
.ai-project-player .ai-project-play{z-index:3}
.ai-project-player .ai-project-play[hidden]{display:none!important}
.rp-player-error{position:absolute;left:8px;right:8px;bottom:8px;padding:10px;background:#152030ed;color:white;font-size:12px;line-height:1.6;z-index:4}
.rp-player-error[hidden]{display:none}
/* Desktop keeps the full software/model directory exactly as before. */
.rp-tool-toggle,.rp-adobe-toggle,.rp-tools-expand-all{display:none}
.ai-catalog-group[hidden]{display:none!important}
@media(max-width:1100px) and (min-width:701px){
 .rp-footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:32px}.rp-footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:20px}.rp-footer-contact::after{grid-column:1/-1;justify-self:start}.rp-footer-contact h2{grid-column:1/-1;margin-bottom:0}.rp-footer-contact .rp-footer-phone,.rp-footer-contact .rp-footer-process{margin-top:0}
 .rp-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 32px}.rp-process-steps>li:nth-child(2) .rp-step-line{margin-right:0}.rp-process-heading{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .rp-footer-inner{width:calc(100% - 40px);padding:38px 0 18px}.rp-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px;padding-bottom:30px}.rp-footer-brand,.rp-footer-contact{grid-column:1/-1}.rp-footer-brand>p{max-width:42ch;margin-top:16px;font-size:13px}.rp-footer-column>a{min-height:44px;font-size:13px}.rp-footer h2{margin-bottom:8px;font-size:12px}.rp-footer-contact{padding-top:24px;border-top:1px solid var(--theme-line,#dce1e5)}.rp-footer-contact .rp-footer-mail{font-size:19px;min-height:44px}.rp-footer-contact .rp-footer-process{margin-top:4px;min-height:44px}.rp-footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;font-size:10px}.rp-footer-bottom p{grid-column:1}.rp-footer-bottom>a{grid-column:2;grid-row:1/3;gap:7px;white-space:nowrap}
 .rp-process-heading{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:30px}.rp-process-heading h2{font-size:clamp(30px,8.3vw,42px);max-width:20ch}.rp-process-heading>p{margin:0;max-width:none;font-size:14px;line-height:1.8}
 .rp-process-steps{grid-template-columns:minmax(0,1fr);gap:0}.rp-process-steps>li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:18px;padding-bottom:30px}.rp-process-steps>li:last-child{padding-bottom:0}.rp-step-track{position:relative;display:block;margin:0}.rp-step-number{position:relative;z-index:1}.rp-step-line{position:absolute;left:18px;top:48px;bottom:-20px;width:1px;height:auto;margin:0;background:var(--theme-line-strong,#bac6d5)}.rp-process-steps>li:last-child .rp-step-line{display:none}.rp-step-copy{padding-top:1px}.rp-step-copy .rp-step-kicker{font-size:9px;margin-bottom:7px}.rp-step-copy h3{font-size:21px;line-height:1.3;margin-bottom:12px}.rp-step-copy>p:not(.rp-step-kicker){font-size:14px;line-height:1.8}.rp-process-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:28px;padding-top:20px}.rp-process-bottom>p{font-size:12px}.rp-process-bottom>a{font-size:13px}
 /* Five compact category rows instead of seventeen fully expanded model essays. */
 body.light-theme .rp-catalog-compact .ai-catalog-group{display:block!important;padding:0!important;margin:0!important;border-top:0!important;border-bottom:1px solid var(--theme-line,#dce1e5)!important;min-height:0!important}
 body.light-theme .rp-catalog-compact .ai-catalog-group[hidden]{display:none!important}
 body.light-theme .rp-catalog-compact .ai-catalog-group:first-child{border-top:1px solid var(--theme-line,#dce1e5)!important}
 .rp-tool-toggle{display:grid;grid-template-columns:minmax(0,1fr) 32px 20px;align-items:center;gap:12px;width:100%;min-height:80px;border:0;background:transparent;color:var(--theme-ink,#191c20);padding:16px 0;text-align:left;cursor:pointer;font:inherit}
 .rp-tool-title{display:block;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.015em}.rp-tool-icons{display:flex;align-items:center;gap:8px;margin-top:10px;min-height:23px}.rp-tool-icons img{display:block;width:23px;height:23px;object-fit:contain}.rp-tool-icons small{font-size:10px;color:var(--theme-muted,#65707a)}
 .rp-tool-count{color:var(--theme-muted,#65707a);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.rp-tool-toggle>.rp-chevron{width:16px;height:16px;color:var(--theme-accent,#285cc4)}.rp-tool-toggle[aria-expanded="true"]>.rp-chevron{transform:rotate(180deg)}
 body.light-theme .rp-catalog-compact .ai-catalog-group:not(.is-expanded)>.ai-group-heading,body.light-theme .rp-catalog-compact .ai-catalog-group:not(.is-expanded)>.ai-model-list{display:none!important}
 body.light-theme .rp-catalog-compact .ai-group-heading h3{display:none!important}
 body.light-theme .rp-catalog-compact .ai-group-heading>p{margin:0 0 24px;font-size:13px;line-height:1.75;color:var(--theme-muted,#65707a)}
 body.light-theme .rp-catalog-compact .ai-model-list{margin:0!important;padding:0 0 22px!important;gap:24px!important}
 body.light-theme .rp-catalog-compact .ai-tool-entry{gap:13px}.rp-catalog-compact .ai-tool-entry .ai-logo{width:42px!important;height:42px!important;flex-basis:42px!important}
 body.light-theme .rp-catalog-compact .ai-tool-body h4{font-size:17px!important;margin:3px 0 8px!important}.rp-catalog-compact .ai-tool-body p{font-size:13px!important;line-height:1.75!important}
 body.light-theme .ai-catalog-toolbar{gap:12px;margin-bottom:16px}.rp-tools-expand-all{display:inline-flex;align-items:center;min-height:44px;border:0;border-bottom:1px solid var(--theme-line-strong,#bac6d5);padding:5px 0;background:transparent;color:var(--theme-accent,#285cc4);font:600 12px/1.5 var(--editorial-font,Manrope,sans-serif);cursor:pointer}
 /* Adobe becomes three concise rows, with optional descriptions. */
 body.light-theme #showreel #tech .programs-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;border-top:1px solid var(--theme-line,#dce1e5)!important;border-bottom:0!important}
 body.light-theme #showreel #tech .programs-grid .tool-item{position:relative;display:grid!important;grid-template-columns:40px minmax(0,1fr) 44px!important;align-items:center!important;gap:6px 14px!important;min-height:78px!important;padding:14px 0!important;border:0!important;border-bottom:1px solid var(--theme-line,#dce1e5)!important;background:transparent!important;box-shadow:none!important}
 body.light-theme #showreel #tech .programs-grid .tool-head{display:contents!important}
 body.light-theme #showreel #tech .programs-grid .tool-tag{display:none!important}
 body.light-theme #showreel #tech .programs-grid .tool-icons{grid-column:1;grid-row:1;width:40px!important;height:40px!important;order:initial!important}
 body.light-theme #showreel #tech .programs-grid .tool-icon{width:36px!important;height:36px!important;border-radius:7px!important;box-shadow:none!important}
 body.light-theme #showreel #tech .programs-grid h3{grid-column:2;grid-row:1;font-size:15px!important;line-height:1.5!important}
 .rp-adobe-toggle{display:grid;place-items:center;grid-column:3;grid-row:1;width:44px;height:44px;border:0;background:transparent;color:var(--theme-accent,#285cc4);cursor:pointer}
 .rp-adobe-toggle[aria-expanded="true"] .rp-chevron{transform:rotate(180deg)}
 body.light-theme #showreel #tech .programs-grid .tool-desc{grid-column:2/-1;grid-row:2;max-width:none;margin:0 0 6px!important;font-size:13px!important;line-height:1.75!important}
 body.light-theme #showreel #tech .programs-grid .tool-item:not(.is-expanded) .tool-desc{display:none!important}
}
@media(max-width:359px){.rp-footer-inner{width:calc(100% - 28px)}.rp-footer-bottom{grid-template-columns:1fr}.rp-footer-bottom>a{grid-column:1;grid-row:3;justify-self:start}.rp-footer-contact .rp-footer-mail{font-size:17px}.rp-process-steps>li{gap:14px}.rp-step-copy h3{font-size:20px}.rp-footer-grid{column-gap:16px}}
@media(prefers-reduced-motion:reduce){.rp-ai-preview,.rp-chevron{transition:none!important}}
/* Match the specificity of the homepage's older grid declarations. */
@media(max-width:700px){
 html[data-theme] body.light-theme #showreel #tech .programs-grid{gap:0!important;background:transparent!important;border:0!important;border-top:1px solid var(--theme-line)!important}
 html[data-theme] body.light-theme #showreel #tech .programs-grid .tool-item{grid-template-rows:auto auto!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--theme-line)!important}
 html[data-theme] body.light-theme #showreel #tech .programs-grid .tool-item h3{grid-column:2!important;grid-row:1!important;font-size:15px!important}
 html[data-theme] body.light-theme #showreel #tech .programs-grid .tool-icons{grid-column:1!important;grid-row:1!important}
 html[data-theme] body.light-theme #showreel #tech .programs-grid .tool-desc{grid-column:2/-1!important;grid-row:2!important;max-width:none!important}
}
/* Keep the catalogue introduction in proportion to its compact phone controls. */
@media(max-width:700px){
 html[data-theme] body.light-theme .ai-full-catalog .ai-section-heading{gap:16px;margin-bottom:22px}
 html[data-theme] body.light-theme .ai-full-catalog .ai-section-heading h2{font-size:clamp(26px,7.2vw,32px);line-height:1.12;letter-spacing:-.045em}
 html[data-theme] body.light-theme .ai-full-catalog .ai-section-heading>p{font-size:13px;line-height:1.7}
 html[data-theme] body.light-theme .ai-full-catalog .ai-catalog-toolbar{gap:10px;margin-bottom:18px}
}
/* AI's generic heading rule must not shrink the shared footer headings. */
body.light-theme .rp-footer h2{font-weight:600!important;line-height:1.6!important}

/* One secondary action below the directory reveals every tool category. */
html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all {
 display:flex!important;align-items:center;justify-content:center;gap:12px;width:max-content;min-height:46px;
 margin:clamp(24px,3vw,38px) auto 0;padding:6px 0;border:0;border-bottom:1px solid var(--theme-line-strong,#bac6d5);
 background:transparent;color:var(--theme-accent,#285cc4);font:650 12px/1.5 var(--editorial-font,Manrope,sans-serif);
 cursor:pointer
}
html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all::after {
 content:"\2193";display:inline-block;font-size:16px;line-height:1;transition:transform .22s ease
}
html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all[aria-expanded="true"]::after {transform:rotate(180deg)}
html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all:focus-visible {outline:2px solid var(--theme-accent,#285cc4);outline-offset:5px}
@media(prefers-reduced-motion:reduce){html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all::after{transition:none}}

/* The collapsed AI directory exposes one full row plus half of the next row.
   The height is measured by site-enhancements.js, so wrapped cards cannot make
   a later row leak through the fade. */
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped {
 position:relative;
}
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped:has(+ .rp-tools-expand-all[aria-expanded="false"]) {
 max-height:var(--rp-catalog-preview-height);
 overflow:hidden;
 -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--rp-catalog-fade-height,88px)),transparent 100%);
 mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--rp-catalog-fade-height,88px)),transparent 100%);
}
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped:has(+ .rp-tools-expand-all[aria-expanded="false"]) + .rp-tools-expand-all {
 position:relative;
 z-index:5;
 /* Keep the label in the lower part of the fade, after the card copy has
    disappeared, instead of placing it over the last visible descriptions. */
 margin-top:calc(-1 * var(--rp-catalog-fade-height,88px) + clamp(4.5rem,5.5vw,5.75rem));
 border-color:transparent;
 background:transparent;
 color:#293441;
 font-weight:550;
 box-shadow:none;
}
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped:has(+ .rp-tools-expand-all[aria-expanded="false"]) + .rp-tools-expand-all:hover,
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped:has(+ .rp-tools-expand-all[aria-expanded="false"]) + .rp-tools-expand-all:focus-visible {
 background:rgba(237,241,245,.76);
}
