/* Source: assets/mobile-vertical-line.css */
/* v03: isolated mobile-only vertical route; baseline layout retained. */
.gg-mobile-route { display: none; }
@media (max-width: 899px) {
  .gg-mobile-route {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
  }
  .gg-mobile-segment {
    position: absolute;
    width: 28px;
    overflow: clip;
    transform: translateX(-50%);
  }
  .gg-mobile-segment::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 50%;
    width: 1px;
    background: var(--yellow);
  }
  .gg-mobile-square {
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: var(--yellow);
    will-change: transform;
    /* No x transition: switching segments is instantaneous. */
  }
  #proces .global-line-mask { display: none; }
  .contact-heading, .contact-details { background: transparent; }
  html.gg-mobile-line-ready .contact-brief {
    position: relative;
    inset: auto;
    z-index: 1;
    transform-origin: center top;
    clip-path: inset(0 0 0 0);
    transition: clip-path .72s cubic-bezier(.22, 1, .36, 1);
  }
  html.gg-mobile-line-ready.scroll-animation-ready:not(.animations-off) .contact-brief:not(.is-revealed) {
    opacity: 1;
    clip-path: inset(0 0 100% 0);
    pointer-events: none;
  }
  html.gg-mobile-line-ready .contact-brief.is-revealed {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    pointer-events: auto;
  }
  @media (prefers-reduced-motion: reduce) {
    html.gg-mobile-line-ready .contact-brief { transition: none; }
  }
}


/* Source: assets/mobile-menu.css */
/* Mobile navigation, Figma 289:1293 / 360x800. Desktop untouched. */
@media (max-width:899px) {
  .site-menu {
    height:56px; min-height:56px; width:100%; padding:0 16px;
    grid-template-columns:1fr 24px; gap:0;
    background:#fff; z-index:100; border-bottom:0; box-shadow:0 4px 24px -12px rgba(0,0,0,.1);
  }
  .site-menu .brand { width:182px; }
  .brand .mobile-brand { display:block; width:182px; height:22.685px; }
  .brand .desktop-brand { display:none; }
  .site-menu .menu-toggle {
    display:block; width:24px; height:24px; padding:0; border:0;
    color:#000; background:transparent; font-size:0;
  }
  .menu-toggle::before { content:''; position:absolute; inset:-10px; }
  .menu-toggle svg { width:24px; height:24px; }
  .menu-open-icon__line {
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    transform-box:fill-box;
    transform-origin:center;
    transition:transform 320ms cubic-bezier(.22, 1, .36, 1);
  }
  .menu-toggle .menu-close-icon { display:none; }
  .menu-toggle[aria-expanded="true"] .menu-open-icon { display:none; }
  .menu-toggle[aria-expanded="true"] .menu-close-icon { display:block; }
  .site-menu .menu-links {
    position:fixed; inset:56px 0 0; width:100%; height:calc(100dvh - 56px);
    padding:32px 16px max(32px, env(safe-area-inset-bottom));
    border:0; background:#fff; overflow-y:auto; overscroll-behavior:contain;
    display:none; grid-template-columns:1fr auto; grid-template-rows:1fr 22px;
    column-gap:0; row-gap:32px; align-items:start;
    font-family:'Clash Display',sans-serif; font-size:18px; font-weight:400;
    line-height:22px; letter-spacing:0;
  }
  .site-menu .menu-links.is-open { display:grid; }
  .menu-primary { grid-column:1 / -1; width:100%; align-items:center; gap:32px; }
  .menu-primary a {
    display:block; padding:0; border:0; font-size:64px; font-weight:400;
    line-height:79px; height:79px; letter-spacing:0; text-align:center;
  }
  .menu-primary a::after {
    display:block;
    right:0;
    bottom:4px;
    left:0;
    height:2px;
  }
  .menu-primary a:hover::after,
  .menu-primary a:focus-visible::after { transform:scaleX(1); }
  .language-switch {
    grid-column:1; margin:0; padding:0; height:22px; align-self:end; gap:0;
  }
  .language-option, .language-option.is-active {
    min-width:22px; height:22px; padding:0; font-size:18px; line-height:22px;
    font-family:inherit; font-weight:400; text-transform:uppercase;
  }
  .language-option[aria-disabled="true"] { min-width:24px; }
  .language-divider { width:1px; height:12px; margin:0 5px 0 4px; background:#000; font-size:0; }
  .animation-setting {
    grid-column:2; display:flex; align-items:center; justify-content:flex-end;
    height:22px; margin:0; padding:0; border:0; gap:8px; align-self:end;
  }
  .animation-toggle { width:36px; height:20px; border-color:#000; }
  html.mobile-menu-open { overflow:hidden; }
  .menu-links a:focus-visible, .site-menu button:focus-visible { outline:2px solid #000; outline-offset:4px; }
}
@media (max-width:899px) and (hover:hover) and (pointer:fine) {
  html:not(.animations-off) .menu-toggle[aria-expanded="false"]:hover .menu-open-icon__line--top,
  html:not(.animations-off) .menu-toggle[aria-expanded="false"]:focus-visible .menu-open-icon__line--top { transform:scaleX(.667); }
  html:not(.animations-off) .menu-toggle[aria-expanded="false"]:hover .menu-open-icon__line--bottom,
  html:not(.animations-off) .menu-toggle[aria-expanded="false"]:focus-visible .menu-open-icon__line--bottom { transform:scaleX(1.5); }
}
html.animations-off .menu-open-icon__line { transition:none; }
@media (min-width:900px) { .brand .mobile-brand { display:none; } }


/* Source: assets/mobile-hero-v35.css */
@media (max-width:899px) {
  /* PNG export includes 12px shadow overhang on either side of a 360px frame. */
  #hero { overflow:visible; }
  #hero .module-inner {
    position:relative; display:grid; grid-template-columns:minmax(0,1fr);
    width:100%; height:auto; min-height:0;
    padding:40px 16px 39px; row-gap:32px;
  }
  #hero .hero-copy { display:contents; }
  #hero .hero-title {
    grid-row:1; position:static; width:100%; height:137.953px;
    margin:0; font-size:46px; line-height:1; letter-spacing:0;
  }
  #hero .hero-title__line { position:relative; inset:auto; white-space:nowrap; }
  #hero .hero-title__line--first { height:39.486px; font-size:46px; font-weight:400; line-height:39.486px; }
  #hero .hero-title__line--second { height:56px; font-size:56px; font-weight:600; line-height:56px; }
  #hero .hero-title__line--third { height:42.467px; font-size:46px; font-weight:400; line-height:42.467px; }
  #hero .hero-lead {
    grid-row:2; position:static; width:100%; height:auto; min-height:72px;
    margin:-16px 0 0; font-size:24px; line-height:24px; letter-spacing:0;
  }
  #hero .hero-lead strong { font-weight:600; }
  #hero .hero-media, #hero .hero-media.is-open {
    grid-row:3; position:relative; inset:auto; width:100%; height:auto;
    min-height:0; aspect-ratio:328 / 185; margin:0;
    box-shadow:0 20px 28px rgba(0,0,0,.18);
    transition:none;
  }
  #hero .hero-media__shade { background:rgba(0,0,0,.4); }
  #hero .hero-youtube {
    width:80px; height:58.224px; top:50%; left:50%;
    border-radius:15px; transform:translate(-50%,-50%);
  }
  #hero .hero-youtube svg { width:54px; height:54px; }
  #hero .hero-showreel-label {
    width:100px; height:34px; padding:8px 16px;
    font-family:"Clash Display",Arial,sans-serif; font-size:12px;
    font-weight:700; line-height:18px; letter-spacing:.02em; text-transform:uppercase;
  }
  #hero .hero-contact {
    grid-row:4; position:relative; inset:auto; width:min(323px,100%); height:48px;
    min-height:48px; margin:0; padding:12px 16px;
    justify-content:center; gap:4px; isolation:isolate;
    font-family:"Clash Display",Arial,sans-serif; font-size:16px;
    font-weight:700; line-height:24px; letter-spacing:.02em; text-transform:uppercase;
  }
  #hero .hero-contact__arrow { width:24px; height:24px; }
  /* Static geometry on touch; keyboard focus remains visible. */
  #hero .hero-contact:hover::before { transform:none; }
  #hero .hero-contact:hover .hero-contact__arrow { transform:none; }
  #hero .hero-youtube:hover { transform:translate(-50%,-50%); filter:none; }
  #hero .hero-video-close { top:8px; right:8px; width:36px; height:36px; }
  @media (hover:hover) and (pointer:fine) {
    html:not(.animations-off) #hero .hero-youtube:hover { transform:translate(-50%,-50%) scale(1.06); }
  }
}


/* Source: assets/mobile-services-v06.css */
/* Mobile services: PNG layout, Figma type, original desktop SVG artwork. */
.service-mobile-break { display:none; }
@media (max-width: 899px) {
  .service-mobile-break { display:block; }
  #uslugi .service-item { display:grid; grid-template-columns:minmax(0,1fr); height:auto; min-height:71px; }
  #uslugi .service-item:not(.is-open) { background:#fff; color:#000; }
  #uslugi .service-trigger { --service-number-width:45px; grid-row:1; grid-template-columns:45px minmax(0,1fr) 16px; column-gap:8px; padding:15px 16px; min-height:70px; height:auto; align-items:center; }
  #uslugi .service-item:first-child .service-trigger { min-height:91px; }
  #uslugi .service-number { width:45px; font-size:32px; line-height:39px; }
  #uslugi .service-name { display:block; font-size:16px; line-height:20px; padding-right:8px; }
  #uslugi .service-icon { width:16px; height:16px; transform:none; }
  #uslugi .service-icon::before, #uslugi .service-icon::after { width:16px; height:2.46px; top:6.56px; }
  #uslugi .service-panel { grid-row:3; width:auto; height:0; margin:0 16px; padding:0; }
  #uslugi .service-item.is-open .service-panel { height:auto; padding:0 0 31px; }
  #uslugi .service-description { font-size:16px; line-height:24px; }
  #uslugi .service-art { display:none !important; position:relative; grid-row:2; grid-column:1; top:auto; left:auto; width:229px; max-width:calc(100% - 32px); height:150.468px; object-fit:contain; object-position:left top; margin:8px 16px; transform:none; }
  #uslugi .service-item.is-open .service-art:not(.service-art--static) { display:block !important; }
  html.animations-off #uslugi .service-item.is-open .service-art--animated { display:none !important; }
  html.animations-off #uslugi .service-item.is-open .service-art--static { display:block !important; }
  #uslugi .services-cta { display:grid; grid-template-columns:minmax(0,1fr); gap:0; height:auto; min-height:232.067px; margin-top:10px; padding:32px 16px 32px 48px; }
  #uslugi .services-cta__left { display:contents; }
  #uslugi .services-cta__question { grid-row:1; font-size:32px; line-height:39px; width:100%; max-width:314px; height:auto; margin:0; }
  #uslugi .services-cta__answer { grid-row:2; position:static; width:auto; height:auto; margin:8px 0 0; font-size:clamp(40px, calc(15vw - 8px), 46px); font-weight:700; line-height:41.067px; white-space:nowrap; }
  #uslugi .services-cta__link { grid-row:3; margin:16px 0 0; width:max-content; height:25px; gap:8px; border-bottom:0; font-size:16px; line-height:24px; }
  #uslugi .services-cta__link > span { border-bottom:1px solid #979797; }
  #uslugi .services-cta__link > span::after { display:none; }
}
@media (max-width:899px) and (prefers-reduced-motion:reduce) {
  #uslugi .service-item.is-open .service-art--animated { display:none !important; }
  #uslugi .service-item.is-open .service-art--static { display:block !important; }
}


/* Source: assets/mobile-clients-v07.css */
/* Mobile-only client correction. All logo sources remain the desktop originals. */
@media (max-width:899px) {
  #klienci .featured-client__logo {
    aspect-ratio:1 / 1;
    width:100%;
    height:auto;
    object-fit:contain;
    background:#fff;
  }
  #klienci .partner-logo { padding:0; }
  #klienci .partner-logo img { width:100%; height:100%; object-fit:contain; }
}
@media (max-width:359px) {
  #klienci .featured-client__duration { font-size:12px; gap:4px; }
}


/* Source: assets/mobile-projects-v08.css */
/* Mobile project list; desktop retains its existing carousel. */
.mobile-projects { display:none; }
@media (max-width:899px) {
  #realizacje .module-inner { height:auto; padding:32px 16px; }
  #realizacje .projects-heading { margin:0; font-size:48px; font-weight:600; line-height:41.067px; letter-spacing:0; white-space:nowrap; }
  #realizacje .projects-stage { display:none; }
  #realizacje .mobile-projects { display:block; margin-top:24px; }
  .mobile-projects__list { display:grid; gap:20px; margin:0; padding:0; list-style:none; }
  .mobile-project { display:block; margin:0; color:#000; background:#fff; box-shadow:0 18px 40px -12px rgba(0,0,0,.22); }
  .mobile-project__image { display:block; width:100%; height:auto; aspect-ratio:328 / 210; object-fit:cover; }
  .mobile-project__info { position:relative; min-height:103px; padding:16px; }
  .mobile-project__toggle { position:absolute; right:12px; bottom:11px; width:34px; height:34px; padding:0; border:0; color:#000; background:transparent; cursor:pointer; }
  .mobile-project__toggle span { position:absolute; top:16px; left:50%; width:17px; height:2px; background:currentColor; transform:translateX(-50%); }
  .mobile-project__toggle span::after { content:''; position:absolute; top:50%; left:50%; width:2px; height:16px; background:currentColor; transform:translate(-50%,-50%) scaleY(1); transform-origin:center; transition:transform 220ms cubic-bezier(.22,1,.36,1); }
  .mobile-project.is-expanded .mobile-project__toggle span::after { display:none; }
  .mobile-project__toggle:focus-visible { outline:2px solid #ffbd21; outline-offset:2px; }
  .mobile-project__details { display:none; margin-top:14px; }
  .mobile-project.is-expanded .mobile-project__details { display:block; }
  .mobile-project__details ul { display:grid; gap:4px; margin:0; padding-left:16px; list-style:disc; font-size:16px; line-height:20px; }
  .mobile-project__details a { display:inline-flex; align-items:center; gap:6px; margin-top:32px; color:#000; font-size:16px; font-weight:700; line-height:20px; text-decoration:none; }
  .mobile-project__details a .project-more__arrow { display:inline-block; transition:transform .42s cubic-bezier(.22,1,.36,1); }
  .mobile-project__details a:hover span,
  .mobile-project__details a:focus-visible span { transform:translate(5px,-5px); }
  .mobile-project__details a:focus-visible { outline:2px solid #ffbd21; outline-offset:3px; }
  .mobile-project .project-tags { gap:12px; }
  .mobile-project .project-tags li { height:23px; min-width:36px; padding:3px 11px; line-height:15px; }
  .mobile-project .project-tags li:first-child { width:42px; }
  .mobile-project__title { margin:8px 16px 0 0; font-size:20px; line-height:20px; font-weight:400; }
  .mobile-project__title strong { font-weight:700; }
  .mobile-projects__more { display:flex; align-items:center; gap:4px; width:max-content; height:25px; margin-top:24px; border-bottom:1px solid #000; color:#000; font-size:16px; line-height:24px; font-weight:600; text-decoration:none; }
  .mobile-projects__more svg { width:24px; height:24px; }
  html.animations-off .mobile-project__toggle span::after,
  html.animations-off .mobile-project__details a .project-more__arrow { transition:none; }
  html.animations-off .mobile-project__details a:hover span,
  html.animations-off .mobile-project__details a:focus-visible span { transform:none; }
}
@media (max-width:350px) {
  #realizacje .projects-heading { font-size:43px; }
}


/* Source: assets/mobile-process-v09.css */
@media(max-width:899px) {
  #proces .module-inner { padding:64px 16px; height:auto; }
  #proces .process-heading { width:221px; height:91.54px; font-size:46px; line-height:46px; letter-spacing:0; }
  #proces .process-scene { margin-top:48px; }
  #proces .process-route { grid-template-columns:minmax(0,1fr); gap:32px; padding-left:32px; }
  #proces .process-copy { display:grid; grid-template-columns:55px minmax(0,1fr); column-gap:4px; row-gap:4px; }
  #proces .process-number { grid-row:1 / 3; height:24px; font-size:32px; line-height:24px; letter-spacing:0; font-weight:200; }
  #proces .process-copy.is-mobile-active .process-number { font-weight:700; }
  #proces .process-copy h3 { margin:0; font-size:20px; line-height:20px; height:auto; letter-spacing:0; white-space:normal; }
  #proces .process-copy p { margin:0; font-size:16px; line-height:16px; letter-spacing:0; }
  #proces .process-copy p br { display:none; }
  #proces .process-media { margin-top:42px; height:auto; aspect-ratio:776.5 / 380.5; }
  #proces .process-image,#proces .process-image--1.is-active { position:absolute; inset:0; margin:auto; display:none; width:100%; height:100%; aspect-ratio:auto; transition:none; }
  #proces .process-image.is-active { display:block; opacity:1; }
  #proces .process-image__asset { object-fit:contain; }
  #proces .process-image--2 { height:auto; aspect-ratio:615.5 / 281.5; }
  #proces .process-image--3 { width:80.757%; }
  #proces .process-image--4 { width:80.454%; }
}

/* Tor tylko dla Procesu; nie przycina treści sekcji. */
#proces .process-mobile-track { display:none; }
@media(max-width:899px) {
  #proces .process-mobile-track { display:block; position:absolute; left:22px; top:0; bottom:0; width:28px; transform:translateX(-50%); overflow:hidden; pointer-events:none; z-index:1; }
  #proces .process-mobile-track::before { content:''; position:absolute; top:0; bottom:0; left:50%; width:1px; background:var(--yellow); }
  #proces .process-mobile-square { position:absolute; top:0; left:0; width:28px; height:28px; background:var(--yellow); transform:translateY(-42px); transition:transform 550ms cubic-bezier(.4,0,.2,1); }
}


/* Source: assets/content-v15.css */
@media (max-width:899px) { #uslugi .service-item:nth-child(6) .service-name { max-width:260px; } }

/* Partner tiles stay unchanged. Only the artwork inside them scales per breakpoint. */
.partner-logo img { transform: scale(.886); }
.partner-logo:hover img, .partner-logo:focus-within img { transform: scale(.934); }
.featured-client__logo-frame { display:contents; }
html.animations-off .partner-logo img { transform:scale(.886) !important; }

@media (min-width:900px) {
  .project-more { bottom:20px; }
}

/* Shared content corrections based on the approved desktop and mobile references. */
.services-cta__question-line { white-space:nowrap; }
.impact-title-line { display:block; white-space:nowrap; }
@media (max-width:359px) {
  #efekty .impact-card:first-child h3 .impact-title-line { white-space:normal; }
}

@media (max-width:899px) {
  #klienci .partner-logo img {
    width:100%;
    height:100%;
    transform:scale(1) !important;
  }
  html.animations-off #klienci .partner-logo img { transform:scale(1) !important; }

  #klienci .featured-client__logo-frame {
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:#fff;
    box-shadow:0 16px 34px rgba(0,0,0,.11);
  }
  #klienci .featured-client__logo-frame .featured-client__logo {
    position:absolute;
    top:50%;
    left:0;
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:fill;
    clip-path:inset(0 0 1px 0);
    box-shadow:none;
    transform:translateY(-50%);
  }

  .services-cta__desktop-break { display:none; }

  #efekty .module-inner { padding:66px 16px 64px; }
  #efekty .impact-heading {
    width:min(100%, 300px);
    margin:0 auto;
    font-size:44px;
    line-height:1.03;
    text-align:center;
  }
  #efekty .impact-subheading {
    width:min(100%, 310px);
    margin:22px auto 0;
    color:#000;
    background:none;
    font-size:22px;
    font-weight:700;
    line-height:1.15;
    text-align:center;
    -webkit-text-stroke:0;
  }
  #efekty .impact-grid {
    justify-items:center;
    gap:16px;
    margin-top:22px;
  }
  #efekty .impact-card,
  #efekty .impact-card:nth-child(n) {
    align-items:center;
    width:190px;
    height:190px;
    min-height:190px;
    padding:20px 8px;
    overflow:visible;
  }
  #efekty .impact-card h3 {
    width:286px;
    font-size:32px;
    line-height:1;
  }
  #efekty .impact-card p {
    width:272px;
    margin-top:16px;
    font-size:16px;
    line-height:1.08;
  }
  .mobile-no-break { white-space:nowrap; }

  .why .module-inner { padding:66px 16px 42px; }
  .why-heading { font-size:48px; line-height:.96; }
  .why-grid { margin-top:48px; }
  .why-item {
    min-height:190px;
    padding:40px 0 30px;
    border-bottom:0;
    font-family:"Clash Display", Arial, sans-serif;
  }
  .why-item::before {
    top:0;
    left:0;
    width:22px;
    height:22px;
  }
  .why-item h3 {
    margin-top:0;
    font-size:30px;
    line-height:1.35;
  }
  .why-item p {
    margin-top:10px;
    font-size:16px;
    line-height:1.05;
  }

  .why-divider,
  .why-divider--2 {
    position:static;
    display:block;
    width:100%;
    height:1px;
    margin:24px 0 36px;
    background:#707070;
  }

  #kontakt .contact-layout {
    gap:28px;
    padding-top:64px;
    padding-bottom:64px;
  }
  #kontakt .contact-heading {
    width:100%;
    font-size:clamp(30px, 8.6vw, 42px);
    line-height:.92;
    letter-spacing:0;
    text-align:center;
    white-space:nowrap;
  }
  #kontakt .contact-visual {
    width:min(82vw, 360px);
  }
  #kontakt .contact-data {
    min-height:244px;
    padding:12px 0 0;
  }
  #kontakt .contact-name { font-size:clamp(28px, 8.8vw, 36px); }
  #kontakt .contact-role,
  #kontakt .contact-links a { font-size:clamp(16px, 4.8vw, 19px); }

  .footer-copyright { order:1; margin:0; }
  .footer-links { order:2; justify-content:flex-end; flex-wrap:wrap; }

  .footer-family {
    display:flex;
    width:100%;
    height:auto;
    aspect-ratio:auto;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    margin-top:32px;
    padding-left:16px;
    background:none;
  }
  .footer-family::before {
    content:'POZNAJ:';
    margin-bottom:4px;
    font-size:16px;
    font-weight:700;
    line-height:1;
  }
  .footer-family__link {
    position:relative;
    inset:auto;
    height:48px;
    flex:0 0 48px;
    background-image:url("images/footer/footer-family.png");
    background-repeat:no-repeat;
    background-size:845px 48px;
  }
  .footer-family__link--submarine { width:129px; background-position:-126px 0; }
  .footer-family__link--production { width:195px; background-position:-292px 0; }
  .footer-family__link--grid { width:145px; background-position:-535px 0; }
  .footer-family__link--deck { width:124px; background-position:-721px 0; }
}


/* Source: assets/accessibility-v16.css */
/* WCAG fixes. Normal geometry remains in the approved module styles. */
html#goldengrid body :focus-visible {
  outline:2px solid #111;
  outline-offset:3px;
  box-shadow:0 0 0 5px #fff;
}

@media (min-width:900px) {
  /* Figma 289:1393: Clash Display Variable Bold, 60px, line height 78px. */
  .impact-subheading {
    background:none;
    color:#000;
    -webkit-text-stroke:0;
    font-family:"Clash Display", Arial, sans-serif;
    font-weight:700;
    font-size:60px;
    white-space:normal;
    height:auto;
    min-height:78px;
  }
}

/* Only user-expanded typography activates this layout. Fixed art direction
   is retained at default spacing; enlarged text is allowed to grow in flow. */
html#goldengrid.gg-text-spacing .module .module-inner,
html#goldengrid.gg-text-spacing .hero .module-inner,
html#goldengrid.gg-text-spacing .contact-layout {
  display:block;
  height:auto;
  min-height:0;
  padding:48px 24px;
}
html#goldengrid.gg-text-spacing .module-inner > h2,
html#goldengrid.gg-text-spacing .hero-title,
html#goldengrid.gg-text-spacing .hero-title__line,
html#goldengrid.gg-text-spacing .hero-lead,
html#goldengrid.gg-text-spacing .services-cta__question,
html#goldengrid.gg-text-spacing .services-cta__answer,
html#goldengrid.gg-text-spacing .impact-subheading,
html#goldengrid.gg-text-spacing .impact-card h3,
html#goldengrid.gg-text-spacing .impact-card p,
html#goldengrid.gg-text-spacing .why-item h3,
html#goldengrid.gg-text-spacing .why-item p,
html#goldengrid.gg-text-spacing .contact-heading {
  position:static;
  width:auto;
  max-width:100%;
  height:auto;
  overflow:visible;
  white-space:normal;
  overflow-wrap:anywhere;
}
html#goldengrid.gg-text-spacing .hero-copy,
html#goldengrid.gg-text-spacing .clients-showcase,
html#goldengrid.gg-text-spacing .projects-stage,
html#goldengrid.gg-text-spacing .process-scene,
html#goldengrid.gg-text-spacing .impact-grid,
html#goldengrid.gg-text-spacing .why-grid,
html#goldengrid.gg-text-spacing .contact-data,
html#goldengrid.gg-text-spacing .contact-details,
html#goldengrid.gg-text-spacing .services-cta {
  position:relative;
  inset:auto;
  width:100%;
  height:auto;
  min-height:0;
  margin:32px 0 0;
}
html#goldengrid.gg-text-spacing .hero-title__line,
html#goldengrid.gg-text-spacing .impact-title-line,
html#goldengrid.gg-text-spacing .services-cta__question-line { white-space:normal; height:auto; }
html#goldengrid.gg-text-spacing .hero-contact { position:relative; inset:auto; margin-top:32px; }
html#goldengrid.gg-text-spacing .hero-media { position:relative; inset:auto; margin-top:32px; }
html#goldengrid.gg-text-spacing .service-trigger { height:auto; min-height:131px; }
html#goldengrid.gg-text-spacing .service-name { white-space:normal; }
html#goldengrid.gg-text-spacing .service-panel { height:auto; }
html#goldengrid.gg-text-spacing .service-description { height:auto; }
html#goldengrid.gg-text-spacing .services-cta__link { position:relative; inset:auto; margin-top:24px; height:auto; }
html#goldengrid.gg-text-spacing .impact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
html#goldengrid.gg-text-spacing .impact-card:nth-child(n) {
  position:relative; inset:auto; width:100%; height:auto; min-height:410px; padding:32px 16px;
}
html#goldengrid.gg-text-spacing .impact-card p { margin-top:24px; }
html#goldengrid.gg-text-spacing .why-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
html#goldengrid.gg-text-spacing .why-item { width:auto; height:auto; padding:100px 32px 32px; }
html#goldengrid.gg-text-spacing .why-item p { margin-top:24px; }
html#goldengrid.gg-text-spacing .why-divider { display:none; }
html#goldengrid.gg-text-spacing .contact-visual { position:relative; inset:auto; margin:40px auto; }
html#goldengrid.gg-text-spacing .contact-details { width:100%; }
html#goldengrid.gg-text-spacing .contact-data { padding:16px; }
html#goldengrid.gg-text-spacing .contact-brief { position:relative; inset:auto; margin-top:32px; }
html#goldengrid.gg-text-spacing .contact-name,
html#goldengrid.gg-text-spacing .contact-role,
html#goldengrid.gg-text-spacing .contact-links a { white-space:normal; overflow-wrap:anywhere; }
html#goldengrid.gg-text-spacing .project-card__info { height:auto; overflow:visible; }
html#goldengrid.gg-text-spacing .project-card__title { width:100%; height:auto; }
html#goldengrid.gg-text-spacing .project-card__info .project-tags li { height:auto; }
html#goldengrid.gg-text-spacing .project-more { position:static; margin-top:32px; height:auto; }
html#goldengrid.gg-text-spacing .projects-controls { position:relative; margin-top:48px; }
html#goldengrid.gg-text-spacing .process-route { position:relative; inset:auto; width:100%; height:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
html#goldengrid.gg-text-spacing .process-media { position:relative; inset:auto; height:420px; margin-top:32px; }
html#goldengrid.gg-text-spacing .process-image { inset:0; margin:auto; max-width:100%; max-height:100%; }
html#goldengrid.gg-text-spacing .logo-wall,
html#goldengrid.gg-text-spacing .logo-wall__heading,
html#goldengrid.gg-text-spacing .logo-wall__line,
html#goldengrid.gg-text-spacing .partner-logos { position:relative; inset:auto; height:auto; margin-top:32px; }
html#goldengrid.gg-text-spacing .logo-wall__heading { width:100%; white-space:normal; }
html#goldengrid.gg-text-spacing .logo-wall__line { height:1px; margin-inline:auto; }
html#goldengrid.gg-text-spacing .services-cta__left { height:auto; }
html#goldengrid.gg-text-spacing .services-cta::before { display:none; }
html#goldengrid.gg-text-spacing .process-copy { position:relative; inset:auto; width:auto; height:auto; }
html#goldengrid.gg-text-spacing .process-copy h3,
html#goldengrid.gg-text-spacing .process-copy p,
html#goldengrid.gg-text-spacing .process-number { height:auto; white-space:normal; }
html#goldengrid.gg-text-spacing .process-path,
html#goldengrid.gg-text-spacing .process-marker { visibility:hidden; }
html#goldengrid.gg-text-spacing .footer-grid,
html#goldengrid.gg-text-spacing .footer-meta { position:relative; inset:auto; height:auto; }
html#goldengrid.gg-text-spacing .footer-top { height:auto; padding:40px 24px; }
html#goldengrid.gg-text-spacing .footer-meta { margin-top:40px; flex-wrap:wrap; }
html#goldengrid.gg-text-spacing .footer-links { flex-wrap:wrap; }
html#goldengrid.gg-text-spacing .menu-primary a,
html#goldengrid.gg-text-spacing .language-option { height:auto; }
html#goldengrid.gg-text-spacing .menu-primary a { white-space:normal; overflow-wrap:anywhere; }
html#goldengrid.gg-text-spacing .site-menu { height:auto; min-height:120px; }
@media (max-width:899px) {
  html#goldengrid.gg-text-spacing .module .module-inner { padding:48px 16px; }
  html#goldengrid.gg-text-spacing .hero-copy { padding:0; }
  html#goldengrid.gg-text-spacing .hero .module-inner { display:grid; }
  html#goldengrid.gg-text-spacing .hero-contact { width:100%; height:auto; min-height:56px; padding:12px; }
  html#goldengrid.gg-text-spacing .impact-grid,
  html#goldengrid.gg-text-spacing .why-grid,
  html#goldengrid.gg-text-spacing .process-route { grid-template-columns:minmax(0,1fr); }
  html#goldengrid.gg-text-spacing .impact-card:nth-child(n) { min-height:190px; }
  html#goldengrid.gg-text-spacing .impact-card h3,
  html#goldengrid.gg-text-spacing .impact-card p { width:100%; }
  html#goldengrid.gg-text-spacing .mobile-project__title { padding-right:28px; }
  html#goldengrid.gg-text-spacing .mobile-project__details a { height:auto; }
  html#goldengrid.gg-text-spacing .project-tags li { height:auto; }
  html#goldengrid.gg-text-spacing .site-menu { min-height:56px; height:56px; }
  html#goldengrid.gg-text-spacing .menu-primary { gap:24px; }
  html#goldengrid.gg-text-spacing .menu-primary a { font-size:48px; }
  html#goldengrid.gg-text-spacing .contact-layout { padding:0; }
  html#goldengrid.gg-text-spacing .contact-visual { width:min(82vw,360px); }
}
@media (forced-colors:active) {
  html#goldengrid body :focus-visible { outline:3px solid Highlight; box-shadow:none; }
  .impact-subheading { color:CanvasText; -webkit-text-stroke:0; }
}


/* Source: assets/service-animations-v17.css */
/* Existing .service-art geometry is retained on both breakpoints. */
.service-art--frame { border:0; aspect-ratio:488 / 335; }
html#goldengrid #uslugi .service-item .service-art--animated { display:none !important; }
html#goldengrid #uslugi .service-item .service-art--static { display:block !important; }
html#goldengrid #uslugi .service-item.is-art-running .service-art--animated { display:block !important; }
html#goldengrid #uslugi .service-item.is-art-running .service-art--static { display:none !important; }
@media(max-width:899px) {
  html#goldengrid #uslugi .service-item:not(.is-open) .service-art { display:none !important; }
}
@media(prefers-reduced-motion:reduce) {
  html#goldengrid #uslugi .service-item.is-art-running .service-art--animated { display:none !important; }
  html#goldengrid #uslugi .service-item.is-art-running .service-art--static { display:block !important; }
}


/* Source: assets/navigation-v35.css */
/* Sticky navigation and shared CTA typography, approved September 2026. */
:root { --sticky-menu-height:var(--menu-height); }
html { scroll-padding-top:calc(var(--sticky-menu-height) + 24px); }
.site-menu { position:sticky; top:0; z-index:100; }
.animation-toggle {
  width:48px; height:24px;
  display:grid; grid-template-columns:1fr 1fr; padding:1px;
  border:1px solid #000; overflow:hidden;
}
.animation-toggle__state {
  display:grid; place-items:center; min-width:0;
  font-family:Arial,sans-serif; font-size:12px; font-weight:400; line-height:1;
  color:#999; background:#fff;
}
.animation-toggle[aria-pressed="false"] .animation-toggle__state:first-child,
.animation-toggle[aria-pressed="true"] .animation-toggle__state:last-child {
  color:#000; background:var(--yellow);
}
/* Shared CTA typography: official Clash Display Bold (700). */
#hero .hero-contact, #kontakt .contact-brief {
  font-family:"Clash Display",Arial,sans-serif; font-weight:700;
  font-size:16px; line-height:24px; letter-spacing:.02em; text-transform:uppercase;
}
@media (max-width:899px) {
  :root { --sticky-menu-height:56px; }
}


/* Source: assets/responsive-foundation.css */
/* Desktop foundation. Section geometry lives in responsive-sections.css. */
@media (min-width:900px) {
  html.gg-responsive {
    --k:1;
    --gutter-min:clamp(24px, calc(8vw - 48px), 48px);
    overflow-x:visible;
  }
  @supports (font-size:calc(1px * tan(atan2(1px, 1px)))) {
    html.gg-responsive {
      --k:min(1, tan(atan2(calc(100vw - 107px), 1813px)));
    }
  }
  html.gg-responsive body { min-width:0; overflow-x:visible; }
  html.gg-responsive .page-shell { width:100%; overflow-x:clip; }
  /* Debugging removes the GLOBAL safety net only; deliberate local crops
     (carousel, footer logo, animations) remain in place. */
  html.gg-debug-overflow,
  html.gg-debug-overflow body,
  html.gg-debug-overflow .page-shell { overflow:visible !important; }
}
html.gg-debug-overflow [data-gg-overflow] {
  outline:2px solid #e00000 !important;
  outline-offset:-2px;
}

@media (min-width:900px) and (max-width:1919px) {
  html.gg-responsive .module-inner,
  html.gg-responsive .site-menu { width:min(1813px, 100%); min-width:0; }
  html.gg-responsive .site-menu {
    grid-template-columns:auto minmax(0,1fr);
  }
  html.gg-responsive .brand { width:465px; max-width:none; }
  html.gg-responsive .menu-links { width:auto; min-width:0; }
}
@media (min-width:1100px) and (max-width:1919px) {
  html.gg-responsive .site-menu {
    padding-inline:clamp(24px, calc(13.333333vw - 122.666667px), 100px);
    gap:clamp(16px, calc(11.851852vw - 114.37037px), 48px);
  }
  html.gg-responsive .menu-primary {
    gap:clamp(16px, calc(5.555556vw - 45.111111px), 31px);
  }
  html.gg-responsive .language-switch {
    margin-left:clamp(0px, calc(10.37037vw - 114.074074px), 28px);
  }
  html.gg-responsive .animation-setting {
    margin-left:clamp(0px, calc(27.777778vw - 305.555556px), 75px);
  }
}
@media (min-width:900px) and (max-width:1099px) {
  html.gg-responsive .site-menu { padding-inline:24px; gap:20px; }
  html.gg-responsive .brand {
    /* The original 1979px raster: wordmark ends at x=1345,
       separator begins at x=1470. Crop the separator and endorsement. */
    width:326px;
    overflow:clip;
  }
  html.gg-responsive .desktop-brand { display:block; width:465px; max-width:none; }
  html.gg-responsive .menu-primary { gap:16px; }
  html.gg-responsive .language-switch { margin-left:16px; }
  html.gg-responsive .animation-setting { margin-left:16px; }
}
@media (min-width:900px) and (max-width:1023px) {
  html.gg-responsive .site-menu {
    padding-inline:clamp(12px, calc(18.75vw - 168px), 24px);
    gap:clamp(12px, calc(12.5vw - 108px), 20px);
  }
  html.gg-responsive .language-switch,
  html.gg-responsive .animation-setting { margin-left:clamp(8px, calc(12.5vw - 112px), 16px); }
}
@media (min-width:900px) and (max-width:959px) {
  html.gg-responsive .brand { width:clamp(277.1px, calc(81.5vw - 456.4px), 326px); }
  html.gg-responsive .desktop-brand { width:clamp(395.25px, calc(116.25vw - 651px), 465px); }
}


/* Source: assets/responsive-sections.css */
/* Desktop section geometry. The reference layout and mobile rules stay in index.html.
   Variables are measured from the available content width, excluding scrollbars. */
.process-scale-frame, .process-scale-plane { display:contents; }
@media (min-width:900px) {
  html.gg-responsive .module-inner,
  html.gg-responsive .site-menu { width:min(1813px,100%); min-width:0; }
  html.gg-fluid-sections .module { --section-min-height:0px; }
  html.gg-fluid-sections .module, html.gg-fluid-sections .module-inner { min-height:0; }
  html.gg-responsive .why-heading { width:calc(100% - 10px); }
  html.gg-fluid-sections .hero .module-inner { height:var(--hero-fluid-height); }
  html.gg-fluid-sections .hero-copy { top:var(--hero-top); width:100%; height:auto; }
  html.gg-fluid-sections .hero-title { width:calc(1000px * var(--k)); height:calc(523px * var(--k)); font-size:calc(168px * var(--k)); left:calc(16px * var(--k)); }
  html.gg-fluid-sections .hero-title__line:nth-child(2) { top:calc(159px * var(--k)); }
  html.gg-fluid-sections .hero-title__line:nth-child(3) { top:calc(318px * var(--k)); }
  html.gg-fluid-sections .hero-lead { top:calc(552px * var(--k)); left:16px; width:min(640px,calc(57.2532% - 32px)); height:auto; }
  html.gg-fluid-sections .hero-contact { top:var(--hero-button-top); }
  html.gg-fluid-sections .hero-media { top:var(--hero-top); left:57.253172%; width:42.746828%; height:calc(704px * var(--k)); }
  html.gg-fluid-sections .hero-media.is-open { left:30.967677%; width:69.032323%; }
  html.gg-fluid-sections .hero-youtube { left:calc(50% - 79.5px); top:calc(50% - 57.5px); }

  html.gg-fluid-sections .service-item { --service-number-width:var(--service-number-fluid); height:var(--service-header-height,131px); }
  html.gg-fluid-sections .service-item.is-open { height:var(--service-open-height,260px); }
  html.gg-fluid-sections .service-trigger,
  html.gg-fluid-sections .service-item.is-open .service-trigger { height:var(--service-header-height,131px); padding-inline:var(--service-inset); column-gap:var(--service-gap); }
  html.gg-fluid-sections .service-number { font-size:var(--service-number-font); }
  html.gg-fluid-sections .service-name { width:min(564px,var(--service-text-width)); font-size:var(--service-title-font); }
  html.gg-fluid-sections .service-panel { top:var(--service-header-height,131px); left:var(--service-text-left); width:var(--service-text-width); height:auto; }
  html.gg-fluid-sections .service-art { left:var(--service-art-left); width:var(--service-art-width); top:var(--service-art-top); }
  html.gg-fluid-sections .services-cta { padding:80px var(--service-inset) 0; display:block; height:var(--cta-height); }
  html.gg-fluid-sections .services-cta__left { width:var(--cta-question-width); height:auto; }
  html.gg-fluid-sections .services-cta__question { width:100%; height:var(--cta-question-height); font-size:var(--cta-question-font); line-height:1.24; }
  html.gg-fluid-sections .services-cta__answer { position:absolute; left:calc(50% + var(--cta-axis-gap)); top:var(--cta-answer-top); width:auto; height:auto; font-size:var(--cta-answer-font); }

  html.gg-fluid-sections .clients-heading,
  html.gg-fluid-sections .projects-heading,
  html.gg-fluid-sections .process-heading { left:calc(16px * var(--k)); width:calc(100% - 32px * var(--k)); height:calc(144px * var(--k)); font-size:calc(180.02px * var(--k)); }
  html.gg-fluid-sections #klienci .module-inner { height:auto; padding:var(--clients-content-top) 0 var(--section-tail); }
  html.gg-fluid-sections .clients-showcase { position:relative; top:auto; left:auto; width:min(1407px,calc(100% - 2 * var(--gutter-min))); height:auto; margin:auto; }
  html.gg-fluid-sections .featured-clients { width:100%; height:auto; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--featured-gap); }
  html.gg-fluid-sections .featured-client { width:100%; height:auto; min-width:0; }
  html.gg-fluid-sections .featured-client__logo { width:100%; height:auto; aspect-ratio:300 / 148; }
  html.gg-fluid-sections .featured-client__duration { height:auto; min-height:40px; white-space:normal; }
  html.gg-fluid-sections .logo-wall { position:relative; top:auto; width:100%; height:auto; margin-top:64px; padding-top:85.5px; }
  html.gg-fluid-sections .logo-wall__heading { left:calc(50% - 146.5px); }
  html.gg-fluid-sections .logo-wall__line { left:calc(50% - 199px); }
  html.gg-fluid-sections .partner-logos { position:relative; top:auto; width:100%; grid-template-columns:repeat(7,minmax(0,1fr)); grid-auto-rows:auto; column-gap:var(--partner-column-gap); row-gap:var(--partner-row-gap); }
  html.gg-fluid-sections .partner-logo { width:100%; height:auto; aspect-ratio:146.143 / 75; padding:var(--partner-padding); }

  html.gg-fluid-sections .projects .module-inner { height:var(--projects-section-height); }
  html.gg-fluid-sections .projects-stage { top:var(--projects-top); left:50%; margin-left:calc(var(--projects-width) / -2); width:var(--projects-width); height:calc(var(--project-height) + 60px); }
  html.gg-fluid-sections .projects-viewport { width:100%; height:calc(var(--project-height) + 96px); margin-top:-48px; padding-block:48px; overflow:clip; clip-path:none; }
  html.gg-fluid-sections .projects-track { height:var(--project-height); }
  html.gg-fluid-sections .project-card { width:var(--project-collapsed-width); flex-basis:var(--project-collapsed-width); height:var(--project-height); }
  html.gg-fluid-sections .project-card.is-active { width:var(--project-active-width); flex-basis:var(--project-active-width); }
  html.gg-fluid-sections .project-card.is-active .project-card__active-media { width:calc(var(--project-active-width) - 310px); height:var(--project-height); }
  html.gg-fluid-sections .project-card__info { height:var(--project-height); }
  html.gg-fluid-sections .project-card__compact-title { font-size:var(--project-compact-font); }
  html.gg-fluid-sections .projects-controls { width:100%; }
  html.gg-fluid-sections .projects-range { width:calc(100% - 125px); }

  html.gg-fluid-sections #proces .module-inner { height:var(--process-height); padding:32px 16px 0; }
  html.gg-fluid-sections .process-scale-frame { display:block; position:absolute; top:0; left:var(--process-left); width:var(--process-render-width); height:var(--process-height); overflow:clip; }
  html.gg-fluid-sections .process-scale-plane { display:block; position:relative; width:var(--process-width); height:831px; transform:scale(var(--process-scale)); transform-origin:top left; }
  html.gg-fluid-sections .process-scene { left:var(--process-shift); width:1813px; }
  html.gg-fluid-sections .process-image--1 { left:var(--process-photo-left); width:var(--process-photo-width); height:var(--process-photo-height); }
  html.gg-fluid-sections .process-copy h3 { font-size:max(20px,calc(13px / var(--process-scale))); height:auto; min-height:20px; }
  html.gg-fluid-sections .process-copy p { font-size:max(18px,calc(12px / var(--process-scale))); }

  html.gg-fluid-sections #efekty .module-inner { height:var(--impact-height); padding:0; }
  html.gg-fluid-sections .impact-heading { left:calc(16px * var(--k)); width:calc(100% - 32px * var(--k)); height:calc(92px * var(--k)); font-size:calc(126.02px * var(--k)); }
  html.gg-fluid-sections .impact-subheading { top:calc(32px + 100px * var(--k)); left:calc(16px * var(--k)); width:calc(100% - 32px * var(--k)); height:auto; min-height:0; font-size:calc(60px * var(--k)); }
  html.gg-fluid-sections .impact-grid { top:var(--impact-top); width:var(--impact-group-width); left:50%; margin-left:calc(var(--impact-group-width) / -2); height:var(--impact-content-height); }
  html.gg-fluid-sections .impact-card { width:var(--impact-side); height:var(--impact-side); }
  html.gg-fluid-sections .impact-card:nth-child(1) { left:0; }
  html.gg-fluid-sections .impact-card:nth-child(2) { left:calc(558px * var(--impact-scale)); }
  html.gg-fluid-sections .impact-card:nth-child(3) { left:calc(1116px * var(--impact-scale)); }
  html.gg-fluid-sections .impact-card h3 { left:calc(var(--impact-title-left) * var(--impact-scale)); top:calc(var(--impact-title-top) * var(--impact-scale)); width:calc(var(--impact-title-width) * var(--impact-scale)); height:auto; font-size:calc(52px * var(--impact-scale)); }
  html.gg-fluid-sections .impact-card p { left:calc(5px * var(--impact-scale)); top:var(--impact-description-y); width:calc(400px * var(--impact-scale)); height:auto; }

  html.gg-fluid-sections .why .module-inner { height:auto; padding:var(--why-grid-top) 0 var(--why-tail); }
  html.gg-fluid-sections .why-heading { top:var(--why-heading-top); left:calc(5.5px * var(--k)); width:calc(100% - 10px); height:calc(185px * var(--k)); font-size:calc(231px * var(--k)); }
  html.gg-fluid-sections .why-grid { position:relative; top:auto; left:auto; width:min(1312px,calc(100% - 2 * var(--gutter-min))); height:auto; grid-template-columns:minmax(calc(240px + 2 * var(--why-item-padding)),1fr) minmax(calc(228px + 2 * var(--why-item-padding)),1fr) minmax(0,1fr); gap:var(--why-gap); margin:auto; }
  html.gg-fluid-sections .why-item { width:100%; height:auto; min-height:290px; padding:84px var(--why-item-padding) 0; }
  html.gg-fluid-sections .why-item::before { left:var(--why-item-padding); }
  html.gg-fluid-sections .why-item h3 { position:relative; top:auto; left:auto; width:100%; min-height:87.424px; }
  html.gg-fluid-sections .why-item p { position:relative; top:auto; left:auto; width:100%; margin-top:28.576px; }
  html.gg-fluid-sections .why-divider { left:var(--why-divider-one); height:calc(100% - 132px); }
  html.gg-fluid-sections .why-divider--2 { left:var(--why-divider-two); }

  html.gg-fluid-sections .contact-layout { height:var(--contact-height); }
  html.gg-fluid-sections .contact-heading { left:calc(16px * var(--k)); width:calc(100% - 24px * var(--k)); height:calc(145px * var(--k)); font-size:calc(179.02px * var(--k)); }
  html.gg-fluid-sections .contact-visual { top:var(--contact-visual-top); left:calc(50% - 5.969px - var(--contact-photo-width)); width:var(--contact-photo-width); height:var(--contact-photo-height); }
  html.gg-fluid-sections .contact-portrait { width:99.7925%; height:auto; }
  html.gg-fluid-sections .contact-data { top:var(--contact-data-top); left:calc(50% + var(--contact-axis-gap)); width:var(--contact-data-width); height:var(--contact-data-height); }
  html.gg-fluid-sections .contact-details { width:calc(100% - 19px); height:auto; }
  html.gg-fluid-sections .contact-name { font-size:var(--contact-name-font); white-space:normal; }
  html.gg-fluid-sections .contact-role { white-space:normal; }
  html.gg-fluid-sections .contact-links a { width:fit-content; max-width:100%; white-space:normal; }
  html.gg-fluid-sections .contact-brief { top:var(--contact-button-top); }

  html.gg-fluid-sections .footer-grid,
  html.gg-fluid-sections .footer-meta { left:var(--footer-left); width:var(--footer-content-width); }
  html.gg-fluid-sections .footer-grid { grid-template-columns:repeat(2,258px); justify-content:space-between; gap:0; }
  html.gg-fluid-sections .footer-meta { gap:0; justify-content:space-between; }
  html.gg-fluid-sections .footer-links { gap:var(--footer-link-gap); }
  html.gg-fluid-sections .footer-identity { overflow:clip; margin-left:-107px; width:calc(100% + 107px); height:var(--footer-identity-height); }
  html.gg-fluid-sections .footer-brand { left:0; width:100%; height:auto; }
  html.gg-fluid-sections .footer-brand img { width:100%; height:auto; }
  html.gg-fluid-sections .footer-family { left:calc(107px + var(--footer-family-left)); width:var(--footer-family-width); background:none; }
  html.gg-fluid-sections .footer-family::before { content:''; position:absolute; top:0; left:0; width:85px; height:48px; background:url('images/footer/footer-family.png') 0 0 / 845px 48px no-repeat; }
  html.gg-fluid-sections .footer-family__link { background-image:url('images/footer/footer-family.png'); background-size:845px 48px; background-repeat:no-repeat; }
  html.gg-fluid-sections .footer-family__link--submarine { left:var(--family-sub-left); background-position:-126px 0; }
  html.gg-fluid-sections .footer-family__link--production { left:var(--family-prod-left); background-position:-292px 0; }
  html.gg-fluid-sections .footer-family__link--grid { left:var(--family-grid-left); background-position:-535px 0; }
  html.gg-fluid-sections .footer-family__link--deck { left:var(--family-deck-left); background-position:-721px 0; }
}
/* The existing accessible reflow mode must not inherit a scaled scene wrapper. */
html#goldengrid.gg-text-spacing .process-scale-frame,
html#goldengrid.gg-text-spacing .process-scale-plane { display:contents; transform:none; }
@media (min-width:900px) {
  html#goldengrid.gg-text-spacing .process-copy h3 { font-size:20px; }
  html#goldengrid.gg-text-spacing .process-copy p { font-size:18px; }
}


/* Source: assets/review-v21.css */
/* Approved review 22.09, points 2–7 and 9–17. Point 8 awaits its interaction specification. */
.animation-toggle__state svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1; }
.services-line-connector { position:absolute; z-index:1; height:1px; background:#979797; pointer-events:none; }
.scroll-indicator { z-index:2; }
/* WHY typography follows the approved Clash specification. */
@media (min-width:900px) {
  .why-item h3 { font-family:'Clash Display',Arial,sans-serif; font-size:32px; font-weight:400; line-height:1.3; }
  .why-item p { font-family:'Clash Display',Arial,sans-serif; font-size:18px; font-weight:400; line-height:1; letter-spacing:.02em; }
  .project-card__active-media { width:100%; opacity:1; }
  .project-card.is-active { overflow:hidden; }
  .project-card.is-active .project-card__active-media { width:592px; }
  .project-card__active-media img { transform:none; transition:none; }
}
.showreel-dialog { padding:0; border:0; width:min(1440px,92vw,calc((100dvh - 130px) * 16 / 9)); max-width:92vw; max-height:calc(100dvh - 24px); overflow:visible; margin:auto; background:#050505; color:#fff; box-shadow:0 24px 100px #0008; }
.showreel-dialog::backdrop { background:rgba(0,0,0,.72); }
.showreel-dialog__content { position:relative; padding-top:52px; }
.showreel-dialog__video { aspect-ratio:16 / 9; }
.showreel-dialog__video iframe { display:block; width:100%; height:100%; border:0; }
.showreel-dialog__close { position:absolute; right:4px; top:4px; width:44px; height:44px; display:grid; place-items:center; background:#fff; color:#000; border:0; font-family:Arial,sans-serif; font-size:32px; line-height:1; cursor:pointer; }
.showreel-dialog__external { display:block; width:fit-content; padding:12px 16px; color:#fff; font-size:14px; }
.showreel-dialog :focus-visible { outline:3px solid var(--yellow); outline-offset:2px; }
html.showreel-open, html.showreel-open body { overflow:hidden !important; }
@media (max-width:899px) {
  .services-line-connector { display:none; }
  #proces .process-media { display:none; }
  .why-item h3 { font-family:'Clash Display',Arial,sans-serif; font-size:32px; font-weight:400; line-height:1.3; }
  .why-item p { font-family:'Clash Display',Arial,sans-serif; font-size:16px; font-weight:400; line-height:1; letter-spacing:.02em; }
  .mobile-project__details,
  .mobile-project.is-expanded .mobile-project__details { display:grid; grid-template-rows:0fr; margin-top:0; opacity:0; transition:grid-template-rows 360ms cubic-bezier(.22,1,.36,1),opacity 240ms ease; }
  .mobile-project.is-expanded .mobile-project__details { grid-template-rows:1fr; opacity:1; }
  .mobile-project__details-inner { min-height:0; overflow:hidden; }
  .mobile-project__details-inner > ul { padding-top:14px; }
  .mobile-project__toggle { top:calc(var(--mobile-project-title-bottom, 87px) - 28px); bottom:auto; }
  .mobile-project.is-expanded .mobile-project__toggle span::after { display:block; transform:translate(-50%,-50%) scaleY(0); }
  .mobile-project__details a:hover .project-more__arrow,
  .mobile-project__details a:focus-visible .project-more__arrow { transform:translate(4px,-4px); }
}
html.animations-off .mobile-project__details { transition:none; }
html.animations-off .mobile-project__details a .project-more__arrow { transform:none; }
@media (prefers-reduced-motion:reduce) {
  .mobile-project__details { transition:none; }
  .mobile-project__details a .project-more__arrow { transform:none !important; }
}

html#goldengrid.gg-text-spacing .services-line-connector { display:none; }


/* Source: assets/review-v22.css */
/* The play asset supplies its own background and exact 100 × 100 geometry. */
html #hero .hero-youtube,
html #hero .hero-youtube:hover,
html #hero .hero-youtube:focus-visible {
  width:100px; height:100px; left:50%; top:50%; padding:0;
  border:0; border-radius:0; background:transparent;
  transform:translate(-50%,-50%);
}
#hero .hero-youtube img { display:block; width:100%; height:100%; }
@media (max-width:899px) {
  html #hero .hero-youtube { width:48px; height:48px; }
  html #hero .hero-youtube:hover,
  html #hero .hero-youtube:focus-visible { width:48px; height:48px; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html:not(.animations-off) #hero .hero-youtube:hover { transform:translate(-50%,-50%) scale(1.06); }
}
/* Fixed child uses the existing rail, without changing page-shell geometry. */
.section-submenu { display:none; }
@media (min-width:900px) {
  .section-submenu {
    position:fixed; inset:0 auto auto 0; width:var(--rail-width); height:100vh;
    display:flex; flex-direction:column; justify-content:space-around;
    background:var(--black); font-family:'Clash Display',Arial,sans-serif;
    transform:translateY(var(--submenu-offset,0px));
  }
  .section-submenu a {
    display:flex; flex-direction:column; justify-content:center; align-items:center;
    width:100%; flex:1; min-height:0; color:#7a7a7a; text-decoration:none;
    font-weight:400; text-align:center;
  }
  .section-submenu strong { font-size:clamp(22px,4.53vh,29px); line-height:1; font-weight:400; }
  .section-submenu span { font-size:clamp(10px,2.03vh,13px); line-height:1; font-weight:400; }
  .section-submenu [aria-current="true"] { color:#fff; }
  .section-submenu [aria-current="true"] strong { font-weight:700; }
  .section-submenu a:focus-visible { outline:2px solid var(--yellow); outline-offset:-4px; }
}

@media (min-width:900px) {
  .section-rail { background:transparent; pointer-events:none; }
  .section-submenu { pointer-events:auto; }
  .page-shell { background:linear-gradient(to right,var(--black) 0 var(--rail-width),transparent var(--rail-width)); }
}


/* Source: assets/accessibility-v26.css */
/* WCAG 2.2 AA: kontrast i pola klikalne potwierdzone audytem. */
#klienci .logo-wall__heading { color:#737373; }
.footer-links a { min-height:24px; display:inline-flex; align-items:center; }

.skip-link { position:fixed; top:8px; left:8px; z-index:10000; padding:12px 20px; background:#fff; color:#000; transform:translateY(-200%); }
.skip-link:focus { transform:none; }

/* Wyłącznie przy powiększonym tekście lub odstępach użytkownika. */
html#goldengrid.gg-text-spacing .module :is(h1,h2,h3,p,a,button,li,.process-number) { line-height:1.35; overflow-wrap:anywhere; white-space:normal; }
html#goldengrid.gg-text-spacing .featured-client__duration { height:auto; min-height:40px; align-items:flex-start; }
html#goldengrid.gg-text-spacing .featured-client__duration > span { min-width:0; }
html#goldengrid.gg-text-spacing .featured-client__years { flex:0 0 1.6em; width:1.6em; height:auto; min-height:1.6em; }
html#goldengrid.gg-text-spacing .process-copy { min-width:0; }
html#goldengrid.gg-text-spacing .process-copy :is(h3,p) { min-width:0; }
html#goldengrid.gg-text-spacing .mobile-projects__more { height:auto; }
html#goldengrid.gg-text-spacing .footer-meta { gap:16px; }
html#goldengrid.gg-text-spacing .hero-title__line { line-height:1.2; }
html#goldengrid.gg-text-spacing .services-cta__link { width:100%; max-width:100%; }
html#goldengrid.gg-text-spacing .services-cta__link > span { min-width:0; overflow-wrap:anywhere; }
html#goldengrid.gg-text-spacing .hero-contact { width:fit-content; max-width:100%; height:auto; min-height:56px; padding:16px 24px; gap:24px; }
html#goldengrid.gg-text-spacing :is(.rail-top-label,.rail-section-label) span { max-width:100%; white-space:normal; overflow-wrap:anywhere; line-height:1.2; }
@media (min-width:900px) {
  html#goldengrid.gg-text-spacing .site-menu { grid-template-columns:1fr; padding-block:16px; gap:20px; }
  html#goldengrid.gg-text-spacing .menu-links { width:100%; height:auto; flex-wrap:wrap; justify-content:flex-start; gap:24px; }
  html#goldengrid.gg-text-spacing .menu-primary { flex-wrap:wrap; }
  html#goldengrid.gg-text-spacing .menu-primary a { line-height:1.35; }
}
html#goldengrid.gg-text-spacing .section-submenu { overflow-y:auto; justify-content:flex-start; }
html#goldengrid.gg-text-spacing .section-submenu a { flex:0 0 auto; min-height:110px; padding:8px 4px; }
html#goldengrid.gg-text-spacing .section-submenu span { width:100%; overflow-wrap:anywhere; line-height:1.2; }


/* Source: assets/process-sticky-v30.css */
@media (min-width:900px) {
  .process-scroll-group { position:relative; }
  .process-scroll-group > .process-sticky-pin { position:sticky; top:var(--process-pin-top); z-index:3; background:#fff; }
  html#goldengrid #proces.process-sticky-enabled { height:var(--process-pin-height); min-height:0; box-sizing:content-box; }
  #proces.process-sticky-enabled > .module-inner { transform:scale(var(--process-pin-scale)); transform-origin:top center; }
  #proces.process-sticky-enabled .process-copy.is-sticky-active .process-number { font-weight:700; }
}
@media (min-width:900px) and (max-width:1100px) {
  #proces.process-sticky-enabled .process-image--3 { left:520px; }
}


/* Source: assets/accessibility-v32.css */
/* Agreed WCAG review corrections; scoped to the affected controls. */
.external-link-arrow { display:inline-block; width:.85em; height:.85em; vertical-align:baseline; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.language-option.is-active { box-shadow:inset 0 0 0 1px #111; text-decoration:underline; text-underline-offset:2px; }
html#goldengrid body .contact-brief:focus-visible { outline:3px solid #111; outline-offset:-6px; box-shadow:none; }
@media(min-width:900px) {
  .section-submenu:focus-within { transform:none; overflow-y:auto; }
  html#goldengrid body .section-submenu a:focus-visible { outline:2px solid var(--yellow); outline-offset:-4px; box-shadow:none; }
}
@media(forced-colors:active) {
  html#goldengrid body .contact-brief:focus-visible,
  html#goldengrid body .section-submenu a:focus-visible { outline-color:Highlight; }
}
@media(min-width:900px) {
  .section-rail:focus-within { z-index:101; }
  .menu-primary { flex-shrink:0; }
}


/* Source: assets/languages-v33.css */
.language-option { text-decoration:none; color:inherit; }
html#goldengrid[lang="en"] .footer-family::before { content:"MEET:"; background:none; font-size:16px; font-weight:700; display:flex; align-items:center; }
@media(min-width:900px) {
  html#goldengrid[lang="en"] .impact-heading { font-size:min(110px,calc((100vw - 107px) * .060673)); }
}
@media(min-width:900px) {
  html#goldengrid[lang="en"] .footer-family::before { position:absolute; top:0; left:0; width:85px; height:48px; background:#000; }
}


/* v38: EN hero CTA uses the PL desktop gap and centers text with its icon. */
@media(min-width:900px) {
  html#goldengrid[lang="en"] #hero .hero-contact { justify-content:center; padding-inline:24px; gap:0; }
  html#goldengrid[lang="en"].gg-text-spacing #hero .hero-contact { gap:24px; }
}
html#goldengrid[lang="en"] .why-item h3 { overflow-wrap:anywhere; }
