/*
Theme Name: 4K Film Studio
Theme URI: https://4k-film.de/
Author: 4K-Film.de
Description: Maßgeschneidertes, schnelles WordPress-Theme für Filmproduktionen mit Video-Hero, Projektportfolio, Leistungen, Kennzahlen, Sound-Button und umfangreichen Customizer-Einstellungen.
Version: 1.6.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: fourk-film
*/

:root{
  --bg:#071016;--surface:#0c1820;--surface-2:#101f29;--text:#f4f7f8;--muted:#9dafb9;
  --accent:#f3262d;--accent-2:#ff5960;--line:rgba(255,255,255,.11);--radius:18px;
  --container:1240px;--header-h:82px;--hero-overlay:.42;--hero-align:center;
  --font-display:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}body.admin-bar .site-header{top:32px}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:99999;background:#fff;color:#000;padding:10px;top:8px;left:8px}
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:var(--header-h);transition:.3s ease;background:linear-gradient(to bottom,rgba(3,8,12,.78),transparent)}.site-header.is-scrolled{height:68px;background:rgba(5,12,17,.84);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:clamp(1.2rem,2vw,2rem);letter-spacing:-.04em;white-space:nowrap}.brand-mark{color:var(--accent);font-size:1.12em}.brand img{max-height:42px;width:auto}.main-nav{margin-left:auto}.main-nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.main-nav a{font-size:.9rem;font-weight:650;color:rgba(255,255,255,.78);transition:.2s}.main-nav a:hover{color:#fff}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;padding:13px 20px;font-weight:760;line-height:1;border:1px solid transparent;cursor:pointer;transition:.25s ease}.btn-primary,.header-cta{background:var(--accent);color:#fff;box-shadow:0 10px 28px rgba(243,38,45,.2)}.btn-primary:hover,.header-cta:hover{transform:translateY(-2px);background:var(--accent-2)}.btn-secondary{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(10px)}.btn-secondary:hover{background:rgba(255,255,255,.14)}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:white;font-size:1.6rem}
.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:#03070a}.hero-media,.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,12,.82) 0%,rgba(2,8,12,.52) 42%,rgba(2,8,12,.2) 100%),linear-gradient(0deg,rgba(2,8,12,.58),transparent 45%);opacity:var(--hero-overlay)}.hero-content{position:relative;z-index:2;width:min(calc(100% - 40px),var(--container));padding-top:var(--header-h);text-align:var(--hero-align)}.hero-copy{max-width:860px;margin-inline:auto}.hero.hero-left .hero-copy{margin-left:0}.hero-kicker{display:inline-block;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;margin-bottom:18px}.hero h1{font-family:var(--font-display);font-size:clamp(3.1rem,7.2vw,7rem);line-height:.93;letter-spacing:-.065em;margin:0 0 23px;text-wrap:balance}.hero h1 .accent{color:var(--accent)}.hero p{font-size:clamp(1rem,1.5vw,1.22rem);max-width:760px;margin:0 auto 30px;color:rgba(255,255,255,.82)}.hero-left p{margin-left:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.hero-left .hero-actions{justify-content:flex-start}.sound-toggle{position:absolute;right:24px;bottom:24px;z-index:4;border:1px solid rgba(255,255,255,.3);background:rgba(3,8,12,.58);color:white;border-radius:999px;padding:11px 16px;display:flex;gap:9px;align-items:center;backdrop-filter:blur(12px);opacity:0;transform:translateY(8px);transition:.35s}.sound-toggle.is-visible{opacity:1;transform:none}.scroll-cue{position:absolute;z-index:3;bottom:22px;left:50%;transform:translateX(-50%);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.workflow{border-bottom:1px solid var(--line);background:rgba(7,16,22,.94)}.workflow-grid{display:grid;grid-template-columns:repeat(5,1fr);min-height:126px}.workflow-item{display:grid;place-items:center;text-align:center;padding:24px;border-right:1px solid var(--line);color:var(--muted);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.workflow-item:last-child{border:0}.workflow-icon{font-size:1.55rem;color:var(--accent);display:block;margin-bottom:8px}
.section{padding:104px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800}.section h2{font-family:var(--font-display);font-size:clamp(2.25rem,4.5vw,4.6rem);line-height:1;letter-spacing:-.055em;margin:8px 0 0}.section-intro{max-width:560px;color:var(--muted);margin:0}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{position:relative;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:var(--surface);isolation:isolate}.project-card img,.project-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .35s ease}.project-card:hover img,.project-card:hover video{transform:scale(1.055)}.project-poster{z-index:0}.project-hover-video{z-index:.5;opacity:0;background:transparent}.project-card.is-video-playing .project-hover-video{opacity:1}.project-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#1a313e,#0b151c)}.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,8,12,.9),transparent 60%);z-index:1}.project-meta{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}.project-meta span{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.65)}.project-meta h3{font-size:1.18rem;margin:3px 0 0}.project-arrow{position:absolute;z-index:2;right:18px;top:18px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(5,12,17,.55);backdrop-filter:blur(10px);opacity:0;transform:translate(-5px,5px);transition:.25s}.project-card:hover .project-arrow{opacity:1;transform:none}
.services{background:var(--surface)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.service{padding:38px 30px;background:var(--surface)}.service-icon{width:46px;height:46px;color:var(--accent);display:flex;align-items:center;justify-content:flex-start}.service-icon svg{width:42px;height:42px;display:block}.service-icon-image{width:46px;height:46px;object-fit:contain}.service-icon-text{font-size:2rem;line-height:1}.service h3{font-size:1.2rem;margin:18px 0 8px}.service p{color:var(--muted);font-size:.93rem;margin:0}.stats{padding:70px 0;border-block:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{text-align:center;padding:16px}.stat strong{display:block;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1;font-family:var(--font-display);letter-spacing:-.06em}.stat span{display:block;margin-top:10px;color:var(--muted);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.cta-section{padding:120px 0}.cta-panel{position:relative;min-height:480px;border-radius:calc(var(--radius) + 8px);overflow:hidden;display:grid;place-items:center;text-align:center;padding:40px;background:linear-gradient(135deg,#142630,#081117)}.cta-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(243,38,45,.24),transparent 46%)}.cta-panel-inner{position:relative;max-width:750px}.cta-panel h2{font-size:clamp(3rem,6vw,6rem);margin-bottom:25px}.site-footer{border-top:1px solid var(--line);padding:58px 0 28px;color:var(--muted);background:rgba(255,255,255,.012)}.footer-grid{display:grid;grid-template-columns:1.35fr 1.1fr .85fr .85fr;gap:54px;align-items:start}.footer-brand{min-height:60px}.footer-logo{display:block;width:min(var(--footer-logo-width,180px),100%);height:auto;max-height:none;object-fit:contain}.footer-title{color:#fff;font-weight:800;margin-bottom:13px}.footer-contact p{margin:0;line-height:1.85}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:7px 0}.footer-links a{transition:.2s ease}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:flex-start;gap:20px;border-top:1px solid var(--line);margin-top:42px;padding-top:22px;font-size:.78rem}.footer-bottom.no-line{border-top:0;padding-top:0}.reveal{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.hero-copy.fade-cycle{animation:heroCycle var(--hero-cycle,6s) both}.no-js .reveal{opacity:1;transform:none}
@keyframes heroCycle{0%{opacity:0;transform:translateY(15px)}12%{opacity:1;transform:none}72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-10px)}}
@media(max-width:980px){.main-nav,.header-cta{display:none}.menu-toggle{display:block}.site-header.menu-open{height:auto;background:rgba(5,12,17,.97)}.site-header.menu-open .header-inner{flex-wrap:wrap;padding-bottom:20px}.site-header.menu-open .main-nav{display:block;order:5;width:100%;margin:0}.site-header.menu-open .main-nav ul{display:grid;gap:0}.site-header.menu-open .main-nav a{display:block;padding:11px 0}.workflow-grid{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto}.projects-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body.admin-bar .site-header{top:46px}.container{width:min(calc(100% - 28px),var(--container))}.site-header{height:70px}.hero-content{width:calc(100% - 28px)}.hero h1{font-size:clamp(2.8rem,14vw,4.4rem)}.hero p{font-size:.98rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.sound-toggle{right:14px;bottom:15px;font-size:.8rem}.scroll-cue{display:none}.section{padding:74px 0}.section-head{display:block}.section-intro{margin-top:18px}.projects-grid,.services-grid{grid-template-columns:1fr}.project-card{aspect-ratio:4/3}.stats-grid{grid-template-columns:1fr 1fr}.stat strong{font-size:2.6rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Version 1.3: Glasmorphismus-Header und Hell-/Dunkelmodus */
html[data-theme="light"]{
  --bg:var(--light-bg,#f4f4f1);
  --surface:var(--light-surface,#fff);
  --surface-2:#e9ecec;
  --text:var(--light-text,#11161a);
  --muted:#5e6b72;
  --line:rgba(8,18,24,.12);
}
body{transition:background-color .35s ease,color .35s ease}
.site-header{height:calc(var(--header-h) + 20px);padding-top:10px;background:none;pointer-events:none}
.header-inner{height:var(--header-h);padding:0 18px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(5,12,17,var(--glass-opacity,.62));box-shadow:0 16px 44px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(var(--glass-blur,18px)) saturate(145%);-webkit-backdrop-filter:blur(var(--glass-blur,18px)) saturate(145%);pointer-events:auto;transition:height .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease}
.site-header.is-scrolled{height:88px;padding-top:8px;background:none;border:0;backdrop-filter:none}
.site-header.is-scrolled .header-inner{height:68px;background:rgba(5,12,17,.82);box-shadow:0 14px 38px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08)}
html[data-theme="light"] .site-header.is-scrolled .header-inner{background:rgba(255,255,255,.78);border-color:rgba(10,20,25,.12);box-shadow:0 14px 38px rgba(13,25,32,.14),inset 0 1px 0 rgba(255,255,255,.8)}
html[data-theme="light"] .site-header.is-scrolled .main-nav a{color:rgba(12,20,25,.72)}
html[data-theme="light"] .site-header.is-scrolled .main-nav a:hover{color:#05090c}
.theme-toggle{flex:0 0 auto;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.25s ease;padding:0}
.theme-toggle:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.theme-icon{grid-area:1/1;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:opacity .25s ease,transform .35s ease}
.theme-icon-sun{opacity:0;transform:rotate(-35deg) scale(.7)}
.theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}
html[data-theme="light"] .theme-icon-sun{opacity:1;transform:rotate(0) scale(1)}
html[data-theme="light"] .theme-icon-moon{opacity:0;transform:rotate(35deg) scale(.7)}
html[data-theme="light"] .site-header.is-scrolled .theme-toggle{color:#11161a;border-color:rgba(10,20,25,.14);background:rgba(10,20,25,.05)}
html[data-theme="light"] .workflow{background:rgba(255,255,255,.72)}
html[data-theme="light"] .btn-secondary{color:var(--text);border-color:rgba(10,20,25,.2);background:rgba(10,20,25,.05)}
html[data-theme="light"] .services{background:var(--surface)}
html[data-theme="light"] .cta-panel{background:linear-gradient(135deg,#e8ecec,#fff)}
html[data-theme="light"] .site-footer{background:rgba(0,0,0,.025)}
html[data-theme="light"] .footer-title{color:var(--text)}
html[data-theme="light"] .footer-links a:hover{color:var(--text)}
@media(max-width:980px){
  .theme-toggle{margin-left:auto}.menu-toggle{margin-left:0}
  .site-header.menu-open{background:none}
  .site-header.menu-open .header-inner{height:auto;background:rgba(5,12,17,.94);padding-bottom:18px}
  html[data-theme="light"] .site-header.menu-open.is-scrolled .header-inner{background:rgba(255,255,255,.94)}
  html[data-theme="light"] .site-header.menu-open.is-scrolled .menu-toggle{color:#11161a}
}
@media(max-width:640px){
  .site-header{height:82px;padding-top:6px}.site-header.is-scrolled{height:78px;padding-top:5px}
  .header-inner{height:70px;padding:0 12px;border-radius:16px;gap:12px}.site-header.is-scrolled .header-inner{height:66px}
  .brand img{max-height:46px}.theme-toggle{width:38px;height:38px}.header-cta{display:none}
}


/* Cinematic showreel mode */
.sound-toggle{right:50%;bottom:34px;transform:translate(50%,10px);min-height:50px;padding:14px 22px;border-color:rgba(255,255,255,.42);background:rgba(3,8,12,.72);box-shadow:0 12px 35px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.1);font-size:.9rem;font-weight:750;letter-spacing:.01em}
.sound-toggle.is-visible{opacity:1;transform:translate(50%,0)}
.sound-toggle:hover{background:rgba(243,38,45,.9);border-color:rgba(255,255,255,.7);transform:translate(50%,-2px)}
.sound-toggle-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:#090d10;font-size:.72rem;padding-left:2px}
.showreel-close{position:fixed;z-index:1300;top:24px;right:26px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.42);background:rgba(3,8,12,.66);color:#fff;display:grid;place-items:center;font-size:2rem;line-height:1;cursor:pointer;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transform:scale(.85);transition:opacity .28s ease,transform .28s ease,background .2s ease}
.showreel-close:hover{background:var(--accent);transform:scale(1.04)}
.showreel-hint{position:fixed;z-index:1290;right:89px;top:40px;color:rgba(255,255,255,.7);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;opacity:0;visibility:hidden;transition:opacity .35s ease}
body.showreel-mode{overflow:hidden}
body.showreel-mode .site-header{transform:translateY(calc(-100% - 30px));opacity:0;pointer-events:none}
body.showreel-mode .hero-copy,body.showreel-mode .scroll-cue,body.showreel-mode .sound-toggle{opacity:0!important;visibility:hidden;pointer-events:none;transform:translateY(15px)}
body.showreel-mode .hero-media::after{opacity:.08;transition:opacity .55s ease}
body.showreel-mode .showreel-close,body.showreel-mode .showreel-hint{opacity:1;visibility:visible}
body.showreel-mode .showreel-close{transform:scale(1)}
.site-header{transition:transform .55s cubic-bezier(.22,.8,.22,1),opacity .38s ease,height .3s ease,padding .3s ease}
.hero-copy,.scroll-cue,.sound-toggle{transition:opacity .4s ease,visibility .4s ease,transform .4s ease,background .2s ease}
.hero-media::after{transition:opacity .55s ease}
@media(max-width:640px){.sound-toggle{right:14px;bottom:16px;transform:translateY(8px);min-height:44px;padding:11px 15px}.sound-toggle.is-visible{transform:none}.sound-toggle:hover{transform:translateY(-1px)}.showreel-close{top:14px;right:14px;width:46px;height:46px}.showreel-hint{display:none}}
@media(prefers-reduced-motion:reduce){.site-header,.hero-copy,.sound-toggle,.showreel-close,.hero-media::after{transition:none!important}}

/* 1.5 – reduced hero and legal footer */
.hero-copy.fade-cycle{animation:heroCycle var(--hero-cycle,3s) both}
.sound-toggle-cinematic{width:min(520px,calc(100% - 40px));right:50%;bottom:34px;transform:translate(50%,10px);padding:8px 0;border:0;background:transparent;box-shadow:none;border-radius:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem}
.sound-toggle-cinematic.is-visible{transform:translate(50%,0)}
.sound-toggle-cinematic:hover{background:transparent;border:0;transform:translate(50%,-2px)}
.sound-toggle-line{display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72))}
.sound-toggle-line:last-child{background:linear-gradient(90deg,rgba(255,255,255,.72),transparent)}
.sound-toggle-label{white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.showreel-end-cta{position:fixed;z-index:1280;left:50%;top:50%;transform:translate(-50%,-44%);display:grid;justify-items:center;gap:18px;text-align:center;opacity:0;visibility:hidden;transition:opacity .35s ease,transform .35s ease}
.showreel-end-cta p{margin:0;color:#fff;font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,4vw,4rem);text-shadow:0 4px 25px rgba(0,0,0,.75)}
.showreel-end-cta.is-visible{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.footer-grid-reduced{grid-template-columns:1.25fr 1fr 1fr}
.footer-menu-help{font-size:.82rem;line-height:1.55;padding:12px;border:1px dashed var(--line);border-radius:10px}
@media(max-width:980px){.footer-grid-reduced{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:640px){.sound-toggle-cinematic{right:50%;bottom:18px;transform:translate(50%,8px);width:calc(100% - 28px);padding:8px 0}.sound-toggle-cinematic.is-visible{transform:translate(50%,0)}.sound-toggle-cinematic:hover{transform:translate(50%,-1px)}.footer-grid-reduced{grid-template-columns:1fr}.footer-brand{grid-column:auto}}

/* 1.6 – cleaner showreel control */
.sound-toggle.is-visible ~ .scroll-cue{opacity:0;visibility:hidden;transform:translate(-50%,8px)}
.scroll-cue{transition:opacity .3s ease,visibility .3s ease,transform .3s ease}
