{"id":423,"date":"2026-09-23T14:41:36","date_gmt":"2026-09-23T14:41:36","guid":{"rendered":"http:\/\/alexrelaunch.local\/?page_id=423"},"modified":"2026-10-14T19:47:33","modified_gmt":"2026-10-14T19:47:33","slug":"finish","status":"publish","type":"page","link":"https:\/\/alexr.biz\/en\/finish\/","title":{"rendered":"Finish"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Kurz vor der Ver\u00f6ffentlichung entscheidet sich oft, ob ein Projekt wirklich fertig ist \u2013 oder nur fertiggestellt wurde.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich k\u00fcmmere mich um die letzten Schritte: Material pr\u00fcfen, Schnitt und Gestaltung zusammenf\u00fchren, Fehler finden, Kleinigkeiten korrigieren, Formate und Versionen vorbereiten und daf\u00fcr sorgen, dass am Ende alles zusammenpasst.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich checke, justiere und verfeinere, wo es n\u00f6tig ist. Und wenn f\u00fcr den letzten Schliff spezielles Know-how gefragt ist, hole ich die richtigen Spezialisten dazu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mein Anspruch: Nicht einfach etwas abliefern, sondern daf\u00fcr sorgen, dass es am Ende wirklich rund ist.<\/p>\n\n\n\n<div class=\"ar-finish-comparison\">\n\n  <div class=\"ar-finish-player\">\n  <video id=\"ar-finish-video\" controls=\"\" controlslist=\"nofullscreen\" playsinline=\"\" preload=\"metadata\" aria-label=\"The Last Shot \u2013 Vergleich der vier Bearbeitungsstadien\">\n      <source src=\"https:\/\/alexr.biz\/wp-content\/uploads\/2026\/10\/261007_TheLastShot_Final_01_RAW.mp4\" type=\"video\/mp4\">\n      Dein Browser unterst\u00fctzt die Videowiedergabe nicht.\n    <\/video>\n  <\/div>\n\n  <div class=\"ar-finish-stages\" role=\"group\" aria-label=\"Bearbeitungsstadium ausw\u00e4hlen\">\n\n    <button type=\"button\" class=\"ar-finish-stage is-active\" data-stage=\"0\" aria-pressed=\"true\">\n      <span class=\"ar-finish-number\">01<\/span>\n      <span class=\"ar-finish-label\">RAW<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"ar-finish-stage\" data-stage=\"1\" aria-pressed=\"false\">\n      <span class=\"ar-finish-number\">02<\/span>\n      <span class=\"ar-finish-label\">COLOR CORRECTION<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"ar-finish-stage\" data-stage=\"2\" aria-pressed=\"false\">\n      <span class=\"ar-finish-number\">03<\/span>\n      <span class=\"ar-finish-label\">SKY REPLACEMENT<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"ar-finish-stage\" data-stage=\"3\" aria-pressed=\"false\">\n      <span class=\"ar-finish-number\">04<\/span>\n      <span class=\"ar-finish-label\">RAIN, VFX &amp; TITLE<\/span>\n    <\/button>\n\n  <\/div>\n\n  <p class=\"ar-finish-status\" aria-live=\"polite\">01 \/ RAW<\/p>\n\n<\/div>\n\n\n<style>\n.ar-finish-comparison {\n  width: 100%;\n  max-width: 1100px;\n  margin: 0 auto;\n  font-family: Roboto, sans-serif;\n  color: #222;\n}\n\n.ar-finish-player {\n  width: 100%;\n  background: #111;\n  overflow: hidden;\n  border-radius: 12px;\n}\n\n.ar-finish-player video {\n  display: block;\n  width: 100%;\n  height: auto;\n  aspect-ratio: 16 \/ 9;\n  object-fit: contain;\n}\n\n.ar-finish-stages {\n  display: grid;\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n  gap: 10px;\n  margin-top: 18px;\n}\n\n.ar-finish-stage {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n  gap: 6px;\n  min-width: 0;\n  min-height: 68px;\n  padding: 12px 14px;\n  border: 1px solid #90BB81;\n  border-radius: 10px;\n  background: #90BB81;\n  color: #667D5E;\n  font: inherit;\n  text-align: left;\n  cursor: pointer;\n  transition:\n    background-color 180ms ease,\n    color 180ms ease,\n    border-color 180ms ease;\n}\n\n.ar-finish-number {\n  font-size: 12px;\n  font-weight: 700;\n  letter-spacing: 0.08em;\n  opacity: 0.7;\n}\n\n.ar-finish-label {\n  font-size: 13px;\n  font-weight: 700;\n  line-height: 1.35;\n  overflow-wrap: anywhere;\n}\n\n.ar-finish-stage.is-active {\n  background: #667D5E;\n  border-color: #667D5E;\n  color: #FFFFFF;\n}\n\n@media (hover: hover) and (pointer: fine) {\n\n  \/* Passive Buttons bei Hover *\/\n  .ar-finish-stage:not(.is-active):hover {\n    background: #90BB81;\n    color: #475044;\n    border-color: #667D5E;\n  }\n\n  \/* Aktiver Button bei Hover *\/\n  .ar-finish-stage.is-active:hover {\n    background: #667D5E;\n    color: #EDFBE2;\n    border-color: #667D5E;\n  }\n\n}\n}\n\n.ar-finish-stage:focus-visible {\n  outline: 3px solid #667d5e;\n  outline-offset: 3px;\n}\n\n.ar-finish-status {\n  margin: 12px 0 0;\n  font-size: 12px;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  opacity: 0.7;\n}\n\n@media (max-width: 700px) {\n  .ar-finish-stages {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 8px;\n    margin-top: 12px;\n  }\n\n  .ar-finish-stage {\n    min-height: 62px;\n    padding: 10px 12px;\n  }\n\n  .ar-finish-label {\n    font-size: 12px;\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .ar-finish-stage {\n    transition: none;\n  }\n}\n}<\/style>\n\n\n<script>\n(function () {\n  const root = document.querySelector('.ar-finish-comparison');\n\n  if (!root || root.dataset.initialized === 'true') {\n    return;\n  }\n\n  root.dataset.initialized = 'true';\n\n  const video = root.querySelector('#ar-finish-video');\n  const buttons = Array.from(\n    root.querySelectorAll('.ar-finish-stage')\n  );\n  const status = root.querySelector('.ar-finish-status');\n\n  const stages = [\n    {\n      label: 'RAW',\n      src: 'https:\/\/alexr.biz\/wp-content\/uploads\/2026\/10\/261007_TheLastShot_Final_01_RAW.mp4'\n    },\n    {\n      label: 'COLOR CORRECTION',\n      src: 'https:\/\/alexr.biz\/wp-content\/uploads\/2026\/10\/261007_TheLastShot_Final_02_CC.mp4'\n    },\n    {\n      label: 'SKY REPLACEMENT',\n      src: 'https:\/\/alexr.biz\/wp-content\/uploads\/2026\/10\/261007_TheLastShot_Final_03_SKY.mp4'\n    },\n    {\n      label: 'RAIN, VFX & TITLE',\n      src: 'https:\/\/alexr.biz\/wp-content\/uploads\/2026\/10\/261007_TheLastShot_Final_04.mp4'\n    }\n  ];\n\n  let currentStage = 0;\n  let switchRequest = 0;\n\n  function selectStage(index) {\n    if (\n      index < 0 ||\n      index >= stages.length ||\n      index === currentStage\n    ) {\n      return;\n    }\n\n    const request = ++switchRequest;\n    const wasPlaying = !video.paused && !video.ended;\n    const previousTime = video.currentTime || 0;\n    const target = stages[index];\n\n    currentStage = index;\n\n    buttons.forEach(function (button, buttonIndex) {\n      const active = buttonIndex === index;\n\n      button.classList.toggle('is-active', active);\n      button.setAttribute('aria-pressed', String(active));\n    });\n\n    status.textContent =\n      String(index + 1).padStart(2, '0') +\n      ' \/ ' + target.label;\n\n    video.pause();\n    video.src = target.src;\n    video.load();\n\n    function restorePlayback() {\n      if (request !== switchRequest) {\n        return;\n      }\n\n      video.removeEventListener('loadedmetadata', restorePlayback);\n\n      const duration = video.duration;\n\n      let seekTo = previousTime;\n\n      if (Number.isFinite(duration)) {\n        seekTo = Math.min(\n          previousTime,\n          Math.max(0, duration - 0.05)\n        );\n      }\n\n      function finishSeek() {\n        if (request !== switchRequest) {\n          return;\n        }\n\n        video.removeEventListener('seeked', finishSeek);\n\n        if (wasPlaying) {\n          const playPromise = video.play();\n\n          if (playPromise && typeof playPromise.catch === 'function') {\n            playPromise.catch(function () {\n              \/\/ Falls der Browser die automatische Fortsetzung\n              \/\/ verhindert, kann der Nutzer Play dr\u00fccken.\n            });\n          }\n        }\n      }\n\n      if (Math.abs(video.currentTime - seekTo) < 0.05) {\n        finishSeek();\n      } else {\n        video.addEventListener('seeked', finishSeek, { once: true });\n\n        try {\n          video.currentTime = seekTo;\n        } catch (error) {\n          video.removeEventListener('seeked', finishSeek);\n        }\n      }\n    }\n\n    video.addEventListener(\n      'loadedmetadata',\n      restorePlayback,\n      { once: true }\n    );\n  }\n\n  buttons.forEach(function (button) {\n    button.addEventListener('click', function () {\n      selectStage(Number(button.dataset.stage));\n    });\n  });\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kurz vor der Ver\u00f6ffentlichung entscheidet sich oft, ob ein Projekt wirklich fertig ist \u2013 oder nur fertiggestellt wurde. Ich k\u00fcmmere [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-423","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/alexr.biz\/en\/wp-json\/wp\/v2\/pages\/423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alexr.biz\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/alexr.biz\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/alexr.biz\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alexr.biz\/en\/wp-json\/wp\/v2\/comments?post=423"}],"version-history":[{"count":9,"href":"https:\/\/alexr.biz\/en\/wp-json\/wp\/v2\/pages\/423\/revisions"}],"predecessor-version":[{"id":522,"href":"https:\/\/alexr.biz\/en\/wp-json\/wp\/v2\/pages\/423\/revisions\/522"}],"wp:attachment":[{"href":"https:\/\/alexr.biz\/en\/wp-json\/wp\/v2\/media?parent=423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}