@font-face{font-family:"Tablet Gothic";src:url("../fonts/TabletGothic-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Tablet Gothic";src:url("../fonts/TabletGothic-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Tablet Gothic";src:url("../fonts/TabletGothic-ExtraBold.ttf") format("truetype");font-weight:800;font-display:swap}
.ffp-no-scroll{overflow:hidden!important}.ffp-gallery{--ffp-columns:3;--ffp-columns-tablet:2;--ffp-columns-mobile:1;--ffp-gap:22px;--ffp-radius:16px;--ffp-accent:#1f80be;--ffp-accent-2:#57d4ef;--ffp-cta:#d7195f;--ffp-bg:#050a13;--ffp-surface:#1a2540;--ffp-text:#fff;--ffp-muted:#b8b8cc;--ffp-font-body:inherit;--ffp-font-heading:inherit;--ffp-heading-weight:800;container-type:inline-size;position:relative;width:100%;padding:clamp(28px,5vw,78px);overflow:hidden;border:1px solid #1e2c49;border-radius:clamp(12px,2vw,24px);background:radial-gradient(circle at 88% 5%,color-mix(in srgb,var(--ffp-cta) 16%,transparent),transparent 25%),radial-gradient(circle at 5% 30%,color-mix(in srgb,var(--ffp-accent-2) 11%,transparent),transparent 28%),var(--ffp-bg);color:var(--ffp-text);font-family:var(--ffp-font-body)}.ffp-gallery *{box-sizing:border-box}.ffp-gallery button,.ffp-gallery input,.ffp-gallery select{font-family:inherit}.ffp-heading-copy h2,.ffp-card-title strong,.ffp-dialog-meta h3{font-family:var(--ffp-font-heading);font-weight:var(--ffp-heading-weight)}.ffp-gallery .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ffp-widget-head{display:grid;grid-template-columns:minmax(130px,.36fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:end;margin-bottom:clamp(48px,7vw,100px)}.ffp-heading-mark{align-self:start;display:flex;align-items:center;gap:13px;color:var(--ffp-muted);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.ffp-heading-mark img{display:block;width:42px;height:auto}.ffp-heading-copy h2{margin:0;color:var(--ffp-text);font-size:clamp(40px,6.2vw,88px);font-weight:800;line-height:.94;letter-spacing:-.035em}.ffp-heading-copy h2 em{display:block;margin-top:.06em;background:linear-gradient(100deg,var(--ffp-accent-2),var(--ffp-accent));background-clip:text;-webkit-background-clip:text;color:transparent;font-style:normal}.ffp-heading-copy p{max-width:590px;margin:26px 0 0;color:var(--ffp-muted);font-size:clamp(14px,1.3vw,19px);line-height:1.68}
.ffp-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:0 0 clamp(26px,4vw,50px);padding-top:16px;border-top:1px solid #2b3b5e}.ffp-filters{display:flex;flex:1 1 auto;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.ffp-filters::-webkit-scrollbar{display:none}.ffp-filters button{position:relative;flex:0 0 auto;padding:11px 17px;border:1px solid #2b3b5e;border-radius:100px;background:transparent;color:var(--ffp-muted);font:700 11px/1 inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s}.ffp-filters button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--ffp-accent) 60%,#2b3b5e)}.ffp-filters button.is-active{border-color:var(--ffp-cta);background:var(--ffp-cta);color:#fff}.ffp-filters sup{margin-left:7px;font-size:7px;opacity:.68}.ffp-search{position:relative;flex:0 0 min(280px,32%)}.ffp-search svg{position:absolute;top:50%;left:15px;width:17px;fill:none;stroke:currentColor;stroke-width:1.7;transform:translateY(-50%);pointer-events:none}.ffp-search input{width:100%;min-height:40px;padding:8px 14px 8px 43px;border:1px solid #2b3b5e;border-radius:100px;background:color-mix(in srgb,var(--ffp-surface) 55%,transparent);color:var(--ffp-text);outline:none}.ffp-search input::placeholder{color:var(--ffp-muted)}.ffp-search input:focus{border-color:var(--ffp-accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--ffp-accent-2) 18%,transparent)}.ffp-results{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.ffp-grid{display:grid;grid-template-columns:repeat(var(--ffp-columns),minmax(0,1fr));gap:clamp(28px,calc(var(--ffp-gap)*2.2),66px) var(--ffp-gap);align-items:start}.ffp-grid::before{display:none}.ffp-gallery.has-no-results .ffp-grid::before{content:"Keine passenden Projekte gefunden.";display:block;grid-column:1/-1;padding:50px;border:1px dashed #44516b;border-radius:var(--ffp-radius);color:var(--ffp-muted);text-align:center}.ffp-card{min-width:0;overflow:hidden;border:1px solid #1e2c49;border-radius:calc(var(--ffp-radius) + 1px);background:color-mix(in srgb,var(--ffp-surface) 82%,#07101e);box-shadow:0 12px 36px rgba(2,6,16,.42);content-visibility:auto;contain-intrinsic-size:500px;transition:transform 240ms cubic-bezier(.22,1,.36,1),box-shadow 240ms,background 240ms,border-color 240ms}.ffp-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--ffp-accent-2) 50%,#1e2c49);box-shadow:0 0 0 1px rgba(87,212,239,.14),0 16px 42px rgba(31,128,190,.19)}.ffp-card[hidden]{display:none}.ffp-card-media{position:relative;display:block;width:100%;padding:0;overflow:hidden;aspect-ratio:16/9;border:0;border-radius:var(--ffp-radius) var(--ffp-radius) 0 0;background:var(--ffp-surface);color:#fff;text-align:left;cursor:pointer;isolation:isolate}.ffp-gallery .ffp-card.ffp-ratio-16x9 .ffp-card-media{aspect-ratio:16/9}.ffp-gallery .ffp-card.ffp-ratio-9x16 .ffp-card-media{aspect-ratio:9/16}.ffp-gallery .ffp-card.ffp-ratio-4x5 .ffp-card-media{aspect-ratio:4/5}.ffp-gallery .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:1}.ffp-poster,.ffp-poster-placeholder,.ffp-card-media picture{position:absolute;inset:0;display:block;width:100%;height:100%}.ffp-poster{object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .35s}.ffp-card-media picture .ffp-poster{position:relative}.ffp-poster-placeholder{background:radial-gradient(circle at 65% 30%,var(--ffp-accent-2),#252d43 47%,#0d1320)}.ffp-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(5,10,19,.03) 28%,rgba(5,10,19,.93))}.ffp-card-media:hover .ffp-poster{transform:scale(1.045);filter:saturate(.84) brightness(.72)}.ffp-play{position:absolute;z-index:3;inset:50% auto auto 50%;display:grid;place-items:center;width:clamp(50px,5vw,76px);aspect-ratio:1;border-radius:50%;background:var(--ffp-cta);box-shadow:0 12px 35px rgba(0,0,0,.24);color:#fff;opacity:0;transform:translate(-50%,-35%) scale(.72);transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1)}.ffp-play i{display:block;width:0;height:0;margin-left:4px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor}.ffp-play.is-details i{width:16px;height:16px;margin:0;border:0}.ffp-play.is-details i::before,.ffp-play.is-details i::after{content:"";position:absolute;top:50%;left:50%;background:#fff;transform:translate(-50%,-50%)}.ffp-play.is-details i::before{width:16px;height:2px}.ffp-play.is-details i::after{width:2px;height:16px}.ffp-card-media:hover .ffp-play,.ffp-card-media:focus-visible .ffp-play{opacity:1;transform:translate(-50%,-50%) scale(1)}.ffp-duration{position:absolute;z-index:2;top:14px;right:14px;padding:6px 8px;background:#0b0b0bbf;backdrop-filter:blur(5px);font-size:9px;font-weight:700;letter-spacing:.1em}.ffp-card-title{position:absolute;z-index:2;left:clamp(16px,2.2vw,30px);right:20px;bottom:clamp(16px,2.2vw,28px)}.ffp-card-title small{display:block;margin-bottom:7px;color:color-mix(in srgb,var(--ffp-accent-2) 72%,white);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.ffp-card-title strong{display:block;color:#fff;font-size:clamp(20px,2.25vw,38px);font-weight:800;line-height:.95;letter-spacing:-.045em;text-transform:uppercase}.ffp-title-hover .ffp-card-title{opacity:0;transform:translateY(10px);transition:opacity 220ms,transform 220ms}.ffp-title-hover .ffp-card-media:hover .ffp-card-title,.ffp-title-hover .ffp-card-media:focus-visible .ffp-card-title{opacity:1;transform:none}.ffp-card-body{padding:0 15px 15px}.ffp-card-meta{display:flex;justify-content:space-between;gap:16px;padding:13px 0 0;color:var(--ffp-muted);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.ffp-card-excerpt{margin:15px 0 0;color:color-mix(in srgb,var(--ffp-text) 80%,var(--ffp-muted));font-size:14px;line-height:1.5}.ffp-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.ffp-card-tags span,.ffp-project-taxonomies span{padding:5px 8px;border:1px solid #334361;border-radius:100px;color:var(--ffp-muted);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ffp-preset-cinematic .ffp-card.is-first{grid-column:1/-1;border-color:color-mix(in srgb,var(--ffp-accent-2) 35%,#1e2c49);background:linear-gradient(135deg,color-mix(in srgb,var(--ffp-cta) 35%,#1e2c49),color-mix(in srgb,var(--ffp-accent-2) 32%,#1e2c49))}.ffp-preset-cinematic .ffp-card.is-first .ffp-card-media{aspect-ratio:21/8;min-height:340px}.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title{max-width:72%}.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title strong{font-size:clamp(34px,5vw,72px)}.ffp-preset-cinematic .ffp-card.is-first .ffp-play{opacity:1;transform:translate(-50%,-50%) scale(1)}.ffp-preset-stream .ffp-card:nth-child(7n+1),.ffp-preset-stream .ffp-card:nth-child(7n+2){grid-column:span 2}.ffp-preset-stream .ffp-card:nth-child(7n+1) .ffp-card-media,.ffp-preset-stream .ffp-card:nth-child(7n+2) .ffp-card-media{aspect-ratio:16/8.7}.ffp-preset-minimal{border-color:transparent;background:var(--ffp-bg)}.ffp-preset-minimal .ffp-card{overflow:visible;border:0;background:transparent;box-shadow:none}.ffp-preset-minimal .ffp-card:hover{box-shadow:none}.ffp-preset-minimal .ffp-card-media{border-radius:var(--ffp-radius)}.ffp-preset-minimal .ffp-card-body{padding-inline:0}.ffp-preset-reels .ffp-grid{grid-template-columns:repeat(var(--ffp-columns),minmax(0,1fr))}.ffp-preset-reels .ffp-card-title strong{font-size:clamp(18px,2vw,30px)}.ffp-preset-case-study .ffp-card-media{aspect-ratio:16/10}.ffp-preset-case-study .ffp-card-body{padding:0 20px 22px}.ffp-preset-case-study .ffp-card-excerpt{font-size:15px}
.ffp-emily-toggle{display:flex;align-items:center;gap:9px;flex:0 0 auto;min-height:42px;padding:6px 15px 6px 7px;border:1px solid color-mix(in srgb,var(--ffp-accent-2) 50%,#2b3b5e);border-radius:100px;background:linear-gradient(135deg,color-mix(in srgb,var(--ffp-accent) 28%,transparent),color-mix(in srgb,var(--ffp-cta) 20%,transparent));color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;cursor:pointer}.ffp-emily-avatar{display:grid;place-items:center;flex:0 0 30px;width:30px;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,var(--ffp-accent-2),var(--ffp-accent));color:#fff;box-shadow:0 0 20px color-mix(in srgb,var(--ffp-accent-2) 35%,transparent)}.ffp-emily-avatar svg{display:block;width:82%;height:82%}.ffp-emily-panel[hidden],.ffp-finder-panel[hidden]{display:none}.ffp-emily-panel{position:relative;z-index:3;margin:-22px 0 34px;padding:clamp(16px,2.5vw,28px);overflow:hidden;border:1px solid color-mix(in srgb,var(--ffp-accent-2) 38%,#273757);border-radius:calc(var(--ffp-radius) + 4px);background:linear-gradient(145deg,rgba(17,31,56,.96),rgba(7,12,23,.98));box-shadow:0 24px 70px rgba(0,0,0,.34)}.ffp-emily-head{display:flex;align-items:center;gap:13px}.ffp-emily-head>div{display:grid;gap:3px;min-width:0}.ffp-emily-head strong{font-family:var(--ffp-font-heading);font-size:15px}.ffp-emily-head small{color:var(--ffp-muted);font-size:11px}.ffp-emily-head>button{margin-left:auto;border:0;background:transparent;color:var(--ffp-muted);font-size:25px;cursor:pointer}.ffp-emily-conversation{display:flex;flex-direction:column;gap:10px;max-height:230px;margin:19px 0;overflow:auto}.ffp-emily-message{display:flex;align-items:flex-end;gap:9px;max-width:min(680px,92%);animation:ffp-pop .28s cubic-bezier(.2,.8,.2,1)}.ffp-emily-message p{margin:0;padding:11px 14px;border:1px solid #2c4267;border-radius:16px 16px 16px 4px;background:#172642;color:#eaf3ff;font-size:13px;line-height:1.45}.ffp-emily-message.is-visitor{align-self:flex-end}.ffp-emily-message.is-visitor p{border-color:color-mix(in srgb,var(--ffp-cta) 45%,#2c4267);border-radius:16px 16px 4px 16px;background:color-mix(in srgb,var(--ffp-cta) 28%,#172642)}.ffp-emily-message .ffp-emily-avatar{flex-basis:25px;width:25px}.ffp-emily-message.is-thinking p{display:flex;gap:5px;padding:15px}.ffp-emily-message.is-thinking p span{width:6px;aspect-ratio:1;border-radius:50%;background:var(--ffp-accent-2);animation:ffp-dot .72s infinite alternate ease-in-out}.ffp-emily-message.is-thinking p span:nth-child(2){animation-delay:.16s}.ffp-emily-message.is-thinking p span:nth-child(3){animation-delay:.32s}.ffp-emily-form{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;padding:5px;border:1px solid #314666;border-radius:16px;background:#09111f;isolation:isolate}.ffp-emily-form input{position:relative;z-index:2;min-width:0;padding:12px;border:0;background:transparent;color:#fff;outline:0}.ffp-emily-form>button{position:relative;z-index:2;width:42px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--ffp-accent-2),var(--ffp-accent));color:#fff;font-size:20px;cursor:pointer}.ffp-emily-flash{position:absolute;z-index:0;inset:-2px;border-radius:17px;opacity:0;pointer-events:none}.ffp-emily-form.is-searching .ffp-emily-flash{opacity:1;background:conic-gradient(from 0deg,transparent 0 20%,var(--ffp-accent-2) 32%,var(--ffp-cta) 44%,transparent 58% 100%);animation:ffp-orbit 1.35s linear}.ffp-emily-form.is-searching::after{content:"";position:absolute;z-index:3;inset:0;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg) translateX(-180%);animation:ffp-shimmer 1.1s ease-out;pointer-events:none}.ffp-emily-examples{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ffp-emily-examples button{padding:7px 10px;border:1px solid #2e4261;border-radius:100px;background:transparent;color:var(--ffp-muted);font-size:10px;cursor:pointer}.ffp-emily-examples button:hover{border-color:var(--ffp-accent-2);color:#fff}
.ffp-finder{margin:-18px 0 34px;border:1px solid #273957;border-radius:var(--ffp-radius);background:color-mix(in srgb,var(--ffp-surface) 55%,transparent)}.ffp-finder-toggle{display:flex;align-items:center;width:100%;padding:14px 17px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}.ffp-finder-toggle span{font-weight:800;letter-spacing:.05em}.ffp-finder-toggle small{margin-left:9px;color:var(--ffp-accent-2)}.ffp-finder-toggle i{margin-left:auto;font-size:20px;font-style:normal;transition:transform .2s}.ffp-finder-toggle[aria-expanded=true] i{transform:rotate(45deg)}.ffp-finder-panel{padding:4px 17px 17px;border-top:1px solid #273957}.ffp-facet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:15px}.ffp-facet{display:grid;gap:7px}.ffp-facet span{color:var(--ffp-muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ffp-facet select{width:100%;min-width:0;padding:10px 30px 10px 11px;border:1px solid #344968;border-radius:9px;background:#101b2e;color:#fff;font-size:12px}.ffp-active-facets{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.ffp-active-facets:empty{display:none}.ffp-active-facets button{padding:7px 10px;border:0;border-radius:100px;background:var(--ffp-accent);color:#fff;font-size:10px;cursor:pointer}.ffp-finder-clear{margin-top:14px;padding:0;border:0;background:transparent;color:var(--ffp-muted);font-size:10px;text-decoration:underline;cursor:pointer}.ffp-card.is-emily-match{border-color:color-mix(in srgb,var(--ffp-accent-2) 70%,#1e2c49);box-shadow:0 0 0 1px color-mix(in srgb,var(--ffp-accent-2) 28%,transparent),0 15px 55px color-mix(in srgb,var(--ffp-accent) 25%,transparent)}
.ffp-preset-cinema .ffp-card.is-first{grid-column:1/-1}.ffp-preset-cinema .ffp-card.is-first .ffp-card-media{aspect-ratio:21/8;min-height:360px}.ffp-preset-cinema .ffp-card.is-first .ffp-card-title strong{font-size:clamp(36px,5.5vw,78px)}.ffp-preset-cinema .ffp-card:not(.is-first) .ffp-card-media{aspect-ratio:2.15/1}.ffp-preset-netflix .ffp-grid,.ffp-preset-screening .ffp-grid{display:flex;gap:var(--ffp-gap);margin-inline:calc(clamp(28px,5vw,78px)*-1);padding:10px clamp(28px,5vw,78px) 34px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--ffp-accent) transparent}.ffp-preset-netflix .ffp-card{flex:0 0 clamp(250px,34cqw,470px);scroll-snap-align:start}.ffp-preset-netflix .ffp-card .ffp-card-media{aspect-ratio:16/9}.ffp-preset-screening .ffp-card{flex:0 0 min(82cqw,1050px);scroll-snap-align:center}.ffp-preset-screening .ffp-card .ffp-card-media{aspect-ratio:2.05/1;min-height:340px}.ffp-preset-screening .ffp-card-title strong{font-size:clamp(34px,5vw,68px)}.ffp-presentation-nav{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px;color:var(--ffp-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.ffp-presentation-nav button{display:grid;place-items:center;width:40px;aspect-ratio:1;border:1px solid #354966;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.ffp-presentation-nav button:hover{border-color:var(--ffp-accent-2)}
@keyframes ffp-pop{from{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}@keyframes ffp-dot{to{transform:translateY(-5px);opacity:.5}}@keyframes ffp-orbit{to{transform:rotate(360deg)}}@keyframes ffp-shimmer{to{transform:skewX(-20deg) translateX(450%)}}
.ffp-load-wrap{display:flex;justify-content:center;padding-top:clamp(20px,3vw,32px)}.ffp-load-more{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 20px;border:1px solid #334361;border-radius:8px;background:transparent;color:var(--ffp-text);font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;cursor:pointer;transition:.2s}.ffp-load-more>span.ffp-load-icon{display:block;flex:0 0 18px;width:18px;height:18px;background:none}
.ffp-load-more>span:first-child{display:inline;width:auto;aspect-ratio:auto;border-radius:0;background:none;font-size:inherit}.ffp-load-more:hover{border-color:var(--ffp-accent-2);transform:translateY(-2px)}.ffp-load-more[hidden]{display:none}
.ffp-filters button:focus-visible,.ffp-card-media:focus-visible,.ffp-dialog-close:focus-visible,.ffp-load-more:focus-visible{outline:3px solid var(--ffp-accent-2);outline-offset:3px}.ffp-dialog[hidden]{display:none}.ffp-dialog{position:fixed;z-index:999999;inset:0;background:rgba(3,6,12,.975);color:#fff;backdrop-filter:blur(10px)}.ffp-dialog-scroll{position:absolute;inset:0;overflow-y:auto;padding:clamp(70px,7vw,105px) clamp(14px,6vw,90px)}.ffp-dialog-inner{width:min(1280px,100%);margin:auto}.ffp-player{width:100%;aspect-ratio:16/9;margin-inline:auto;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.45)}.ffp-player[hidden]{display:none}.ffp-player.is-9x16{width:min(430px,100%);aspect-ratio:9/16;max-height:76vh}.ffp-player.is-4x5{width:min(610px,100%);aspect-ratio:4/5;max-height:76vh}.ffp-player.is-1x1{width:min(760px,100%);aspect-ratio:1;max-height:76vh}.ffp-player video,.ffp-player iframe{display:block;width:100%;height:100%;border:0;object-fit:contain}.ffp-dialog-close{position:fixed;z-index:2;top:20px;right:24px;display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;color:#fff;font:700 9px/1 inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.ffp-dialog-close i{display:grid;place-items:center;width:40px;aspect-ratio:1;border:1px solid #ffffff66;border-radius:50%;font:300 26px/1 Arial;font-style:normal}.ffp-dialog-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-top:24px}.ffp-dialog-meta small{display:block;margin-bottom:6px;color:var(--ffp-accent-2);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.ffp-dialog-meta h3{margin:0;color:#fff;font-size:clamp(28px,4.5vw,60px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase}.ffp-dialog-meta>span{color:#aaa;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ffp-dialog-details:empty{display:none}.ffp-project-detail{padding-top:clamp(36px,6vw,80px)}.ffp-project-copy{max-width:800px;color:#dfe5f1;font-size:clamp(17px,1.7vw,23px);line-height:1.6}.ffp-project-copy p:first-child{margin-top:0}.ffp-project-taxonomies{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.ffp-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ffp-gap);margin-top:clamp(40px,7vw,90px)}.ffp-project-gallery figure{margin:0;overflow:hidden;border-radius:var(--ffp-radius);background:var(--ffp-surface)}.ffp-project-gallery img{display:block;width:100%;height:auto}.ffp-empty{padding:30px;border:1px dashed #bbb;text-align:center}
@container (max-width:900px){.ffp-grid,.ffp-preset-reels .ffp-grid{grid-template-columns:repeat(var(--ffp-columns-tablet),minmax(0,1fr))}.ffp-widget-head{grid-template-columns:1fr;gap:26px}.ffp-toolbar{align-items:stretch;flex-direction:column}.ffp-search{flex-basis:auto;width:min(100%,360px)}.ffp-preset-stream .ffp-card:nth-child(7n+1),.ffp-preset-stream .ffp-card:nth-child(7n+2){grid-column:span 2}.ffp-facet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:560px){.ffp-gallery{padding:22px;border-radius:12px}.ffp-grid,.ffp-preset-reels .ffp-grid{grid-template-columns:repeat(var(--ffp-columns-mobile),minmax(0,1fr));gap:38px var(--ffp-gap)}.ffp-preset-stream .ffp-card:nth-child(n),.ffp-preset-cinematic .ffp-card.is-first,.ffp-preset-cinema .ffp-card.is-first{grid-column:span 1}.ffp-preset-cinematic .ffp-card.is-first .ffp-card-media,.ffp-preset-cinema .ffp-card.is-first .ffp-card-media{min-height:0;aspect-ratio:4/3}.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title{max-width:90%}.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title strong{font-size:clamp(26px,9vw,42px)}.ffp-play{opacity:1;transform:translate(-50%,-50%) scale(.82)}.ffp-title-hover .ffp-card-title{opacity:1;transform:none}.ffp-dialog-scroll{padding:76px 12px 30px}.ffp-dialog-close{right:12px}.ffp-dialog-close span{display:none}.ffp-dialog-meta{align-items:flex-start;flex-direction:column;gap:10px}.ffp-project-gallery{grid-template-columns:1fr}.ffp-facet-grid{grid-template-columns:1fr}.ffp-emily-head small{display:none}.ffp-emily-message{max-width:97%}.ffp-preset-netflix .ffp-grid,.ffp-preset-screening .ffp-grid{margin-inline:-22px;padding-inline:22px}.ffp-preset-screening .ffp-card{flex-basis:88cqw}.ffp-preset-screening .ffp-card .ffp-card-media{min-height:0;aspect-ratio:4/3}.ffp-presentation-nav span{display:none}}
@media (prefers-reduced-motion:reduce){.ffp-gallery *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.ffp-finder-rule{margin:12px 0 0;color:var(--ffp-muted);font-size:10px;line-height:1.4}

/* 2.5 · Filigrane Portfolio-Karten, Hover-Preview und Case Studies */
.ffp-gallery{--ffp-gap:18px;--ffp-radius:10px;border-color:rgba(122,151,190,.2);border-radius:14px;background:radial-gradient(circle at 86% 4%,color-mix(in srgb,var(--ffp-accent) 8%,transparent),transparent 27%),var(--ffp-bg)}
.ffp-grid{row-gap:clamp(24px,calc(var(--ffp-gap)*1.65),42px);scroll-margin-top:24px}
.ffp-card{position:relative;isolation:isolate;border-color:rgba(124,151,188,.2);border-radius:var(--ffp-radius);background:color-mix(in srgb,var(--ffp-surface) 38%,var(--ffp-bg));box-shadow:0 8px 24px rgba(0,0,0,.2)}
.ffp-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ffp-accent-2) 38%,rgba(124,151,188,.2));box-shadow:0 14px 34px rgba(0,0,0,.28)}
.ffp-card-media{z-index:1;border-radius:calc(var(--ffp-radius) - 1px) calc(var(--ffp-radius) - 1px) 0 0;background:transparent}
.ffp-poster{transition:opacity .28s ease,transform .7s cubic-bezier(.2,.7,.2,1),filter .3s}
.ffp-shade{background:linear-gradient(180deg,rgba(3,7,14,0) 38%,rgba(3,7,14,.78) 100%)}
.ffp-play{width:44px;border:1px solid rgba(255,255,255,.55);background:rgba(5,10,19,.38);box-shadow:none;backdrop-filter:blur(9px)}
.ffp-play i{border-top-width:5px;border-bottom-width:5px;border-left-width:8px}
.ffp-duration{top:10px;right:10px;padding:5px 7px;border:1px solid rgba(255,255,255,.18);border-radius:4px;background:rgba(4,8,15,.48)}
.ffp-card-title{left:clamp(14px,1.7vw,23px);right:16px;bottom:clamp(14px,1.7vw,22px)}
.ffp-card-title small{margin-bottom:5px;color:rgba(255,255,255,.68);font-size:8px;font-weight:600;letter-spacing:.12em}
.ffp-card-title strong{font-size:clamp(18px,1.7vw,28px);font-weight:600;line-height:1.02;letter-spacing:-.025em;text-transform:none}
.ffp-card-body{padding:10px 12px 12px}
.ffp-card-tags{gap:5px;margin:0}
.ffp-card-tags span,.ffp-project-taxonomies span{padding:4px 7px;border-color:rgba(135,159,193,.28);font-size:7px;font-weight:600;letter-spacing:.075em}
.ffp-preset-cinematic .ffp-card.is-first{border-color:rgba(87,212,239,.3);background:color-mix(in srgb,var(--ffp-surface) 38%,var(--ffp-bg))}
.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title strong{font-size:clamp(31px,4.2vw,61px);font-weight:600}
.ffp-preset-cinematic .ffp-card.is-first .ffp-play{opacity:.86;transform:translate(-50%,-50%) scale(1)}
.ffp-hover-preview{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;overflow:hidden;background:#000;pointer-events:none}
.ffp-hover-preview iframe,.ffp-hover-preview video{display:block;width:100%;height:100%;border:0;object-fit:cover;pointer-events:none}
.ffp-card.is-previewing .ffp-poster{opacity:0}
.ffp-card.is-previewing .ffp-card-media:hover .ffp-poster{filter:none;transform:none}
.ffp-card.is-previewing .ffp-play{opacity:0}

.ffp-project-detail{padding-top:clamp(30px,5vw,64px)}
.ffp-case-lead{max-width:820px;margin:0;color:#eef3fa;font-size:clamp(18px,2vw,28px);font-weight:400;line-height:1.45;letter-spacing:-.015em}
.ffp-case-study{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,74px);margin-top:clamp(38px,5vw,68px);border-top:1px solid rgba(255,255,255,.16)}
.ffp-case-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:clamp(23px,3vw,36px) 0;border-bottom:1px solid rgba(255,255,255,.13)}
.ffp-case-step>span{padding-top:3px;color:var(--ffp-accent-2);font-size:8px;font-weight:700;letter-spacing:.14em}
.ffp-case-step h4{margin:0 0 9px;color:#fff;font-family:var(--ffp-font-heading);font-size:clamp(17px,1.65vw,23px);font-weight:600;letter-spacing:-.015em}
.ffp-case-step p{max-width:560px;margin:0;color:#b9c3d1;font-size:14px;line-height:1.58}
.ffp-project-taxonomies{margin-top:26px}
.ffp-project-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(8px,1.3vw,18px);margin-top:clamp(38px,6vw,76px)}
.ffp-project-gallery figure{grid-column:span 6;border:1px solid rgba(255,255,255,.12);border-radius:8px}
.ffp-project-gallery img{width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
.ffp-demo-stills figure:first-child{grid-column:span 7;grid-row:span 2}
.ffp-demo-stills figure:nth-child(n+2){grid-column:span 5}

@container (max-width:700px){.ffp-case-study{grid-template-columns:1fr}.ffp-case-step{grid-template-columns:27px minmax(0,1fr)}.ffp-project-gallery figure,.ffp-demo-stills figure:first-child,.ffp-demo-stills figure:nth-child(n+2){grid-column:1/-1;grid-row:auto}}
@media (hover:none),(pointer:coarse){.ffp-card-media{-webkit-touch-callout:none;user-select:none}.ffp-hover-preview{display:block!important}}

/* 2.6 · Integrierte Projektsuche und Screening-Reihen */
@property --ffp-glow-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.ffp-toolbar{align-items:center;justify-content:center;gap:10px;margin-bottom:18px;padding-top:14px}
.ffp-search-shell{position:relative;z-index:2;display:flex;align-items:center;flex:1 1 620px;max-width:820px;min-height:54px;overflow:visible;border:1px solid rgba(101,150,202,.38);border-radius:100px;background:color-mix(in srgb,var(--ffp-surface) 46%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:border-color .25s,box-shadow .25s,background .25s;isolation:isolate}
.ffp-search-shell:focus-within,.ffp-search-shell.is-emily-active{border-color:color-mix(in srgb,var(--ffp-accent-2) 72%,white);background:color-mix(in srgb,var(--ffp-surface) 66%,transparent);box-shadow:0 0 0 1px rgba(87,212,239,.08),0 0 30px rgba(31,128,190,.16)}
.ffp-search{position:relative;z-index:2;display:block;flex:1 1 auto;width:auto;min-width:0}
.ffp-search svg{left:19px;width:18px;color:var(--ffp-accent-2)}
.ffp-search input{min-height:52px;padding:10px 14px 10px 50px;border:0;background:transparent;box-shadow:none!important;font-size:14px}
.ffp-emily-toggle{position:relative;z-index:3;min-height:42px;margin-right:5px;padding:4px 12px 4px 5px;border:0;border-left:1px solid rgba(115,148,190,.22);border-radius:100px;background:transparent;box-shadow:none;color:var(--ffp-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ffp-emily-toggle:hover,.ffp-emily-toggle[aria-expanded=true]{border-color:rgba(87,212,239,.28);background:rgba(87,212,239,.07);color:#fff}
.ffp-emily-avatar{flex-basis:32px;width:32px;background:linear-gradient(145deg,var(--ffp-accent-2),var(--ffp-accent));box-shadow:0 0 18px rgba(87,212,239,.22)}
.ffp-emily-avatar img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}
.ffp-filter-toggle{position:relative;display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;padding:0;border:1px solid rgba(101,150,202,.38);border-radius:50%;background:color-mix(in srgb,var(--ffp-surface) 46%,transparent);color:var(--ffp-muted);cursor:pointer;transition:.24s}
.ffp-filter-toggle svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.ffp-filter-toggle:hover,.ffp-filter-toggle[aria-expanded=true]{border-color:var(--ffp-accent-2);background:rgba(87,212,239,.08);color:#fff;box-shadow:0 0 24px rgba(31,128,190,.18)}
.ffp-filter-toggle small:not(:empty){position:absolute;top:-2px;right:-2px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--ffp-cta);color:#fff;font-size:8px;font-weight:800}
.ffp-search-glow{position:absolute;z-index:0;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.ffp-search-shell.is-emily-glowing .ffp-search-glow::before{content:"";position:absolute;inset:-2px;padding:2px;border-radius:inherit;background:conic-gradient(from var(--ffp-glow-angle),transparent 0 235deg,rgba(87,212,239,.05) 252deg,rgba(87,212,239,.35) 300deg,rgba(87,212,239,.9) 348deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:ffp-search-orbit 1.35s linear forwards}
.ffp-search-shell.is-emily-glowing .ffp-search-glow::after{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(100deg,transparent 28%,rgba(31,128,190,.08) 40%,rgba(87,212,239,.3) 52%,transparent 72%);background-size:260% 100%;animation:ffp-search-shimmer 1.35s linear forwards}
.ffp-search-shell.is-emily-glowing .ffp-emily-avatar{animation:ffp-emily-pop .52s cubic-bezier(.34,1.56,.64,1)}
@keyframes ffp-search-orbit{0%{--ffp-glow-angle:0deg;opacity:0}15%{opacity:1}78%{opacity:1}100%{--ffp-glow-angle:360deg;opacity:0}}
@keyframes ffp-search-shimmer{0%{background-position:125% 0;opacity:0}14%{opacity:1}78%{opacity:1}100%{background-position:-25% 0;opacity:0}}
@keyframes ffp-emily-pop{0%{transform:scale(1)}42%{transform:scale(1.13) rotate(-4deg)}100%{transform:scale(1)}}
.ffp-emily-panel{width:min(820px,100%);margin:8px auto 24px}
.ffp-finder{margin:0 0 30px;border:0;background:transparent}
.ffp-finder-panel{padding:18px;border:1px solid rgba(101,150,202,.28);border-radius:12px;background:linear-gradient(145deg,rgba(18,31,54,.94),rgba(8,14,25,.98));box-shadow:0 20px 55px rgba(0,0,0,.22)}
.ffp-finder-panel .ffp-filters{padding-bottom:16px;border-bottom:1px solid rgba(116,148,190,.18)}
.ffp-finder-panel .ffp-facet-grid{padding-top:16px}
.ffp-card-title strong{font-size:clamp(23px,2.25vw,38px);font-weight:650}
.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title strong{font-size:clamp(40px,5vw,76px)}
.ffp-card-media::after{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 52% 62%,rgba(87,212,239,.19),transparent 39%),linear-gradient(120deg,rgba(31,128,190,.05),rgba(215,25,95,.08));opacity:0;mix-blend-mode:screen;transition:opacity .38s ease;pointer-events:none}
.ffp-card:hover .ffp-card-media::after{opacity:1}
.ffp-card:hover{box-shadow:0 0 0 1px rgba(87,212,239,.14),0 14px 38px rgba(31,128,190,.2),0 0 52px rgba(87,212,239,.08)}
.ffp-grid[hidden],.ffp-screening-rows[hidden],.ffp-presentation-nav[hidden],.ffp-load-wrap[hidden]{display:none!important}
.ffp-screening-rows{display:grid;gap:clamp(42px,6vw,78px);margin-inline:calc(clamp(28px,5vw,78px)*-1)}
.ffp-screening-row{min-width:0}
.ffp-screening-row-head{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:13px;padding:0 clamp(28px,5vw,78px) 15px}
.ffp-screening-row-head h3{margin:0;color:#fff;font-family:var(--ffp-font-heading);font-size:clamp(28px,3.4vw,48px);font-weight:650;line-height:.95;letter-spacing:-.035em}
.ffp-screening-row-head>span{padding-bottom:3px;color:var(--ffp-muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ffp-screening-row-controls{display:flex;gap:7px}
.ffp-screening-row-controls button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(118,151,193,.38);border-radius:50%;background:rgba(14,24,42,.65);color:#fff;cursor:pointer;transition:.2s}
.ffp-screening-row-controls button:hover{border-color:var(--ffp-accent-2);background:rgba(87,212,239,.1);box-shadow:0 0 20px rgba(87,212,239,.14)}
.ffp-screening-track{display:flex;gap:var(--ffp-gap);padding:6px clamp(28px,5vw,78px) 22px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(28px,5vw,78px);scrollbar-width:none}
.ffp-screening-track::-webkit-scrollbar{display:none}
.ffp-screening-track .ffp-card{flex:0 0 clamp(290px,36cqw,500px);scroll-snap-align:start}
.ffp-screening-track .ffp-card-media{aspect-ratio:16/9!important;min-height:0!important}
.ffp-screening-track .ffp-card-title strong{font-size:clamp(24px,2.6vw,42px)}

@container (max-width:700px){.ffp-toolbar{flex-direction:row;align-items:center}.ffp-search-shell{flex-basis:auto;min-width:0}.ffp-search input{font-size:13px}.ffp-emily-toggle{width:46px;min-width:46px;padding:0;border-left:1px solid rgba(115,148,190,.22)}.ffp-emily-toggle>span:last-child{display:none}.ffp-emily-avatar{flex-basis:30px;width:30px}.ffp-filter-toggle{flex-basis:50px;width:50px;height:50px}.ffp-screening-row-head{grid-template-columns:1fr auto;padding-inline:22px}.ffp-screening-row-head>span{grid-row:2;align-self:start}.ffp-screening-row-controls{grid-column:2;grid-row:1/3}.ffp-screening-track{padding-inline:22px;scroll-padding-inline:22px}.ffp-screening-track .ffp-card{flex-basis:min(78cqw,360px)}.ffp-screening-rows{margin-inline:-22px}}
@media(prefers-reduced-motion:reduce){.ffp-search-shell.is-emily-glowing .ffp-search-glow::before,.ffp-search-shell.is-emily-glowing .ffp-search-glow::after,.ffp-search-shell.is-emily-glowing .ffp-emily-avatar{animation:none}}

/* 2.6.2 · Stabiles Editorial-Grid für Safari und gemischte Videoformate */
.ffp-card{content-visibility:visible;contain-intrinsic-size:auto}
.ffp-preset-cinematic .ffp-card:not(.is-first) .ffp-card-media{aspect-ratio:16/10!important}
.ffp-preset-cinematic .ffp-card:not(.is-first) .ffp-poster{object-position:center}
.ffp-card:not(.is-first).ffp-ratio-16x9 .ffp-card-title strong{font-size:clamp(17px,1.55vw,25px);line-height:1.02}
.ffp-card:not(.is-first).ffp-ratio-4x5 .ffp-card-title strong,.ffp-card:not(.is-first).ffp-ratio-9x16 .ffp-card-title strong{font-size:clamp(18px,1.8vw,29px);line-height:1}
.ffp-preset-netflix .ffp-card.ffp-ratio-16x9 .ffp-card-title strong,.ffp-screening-track .ffp-card.ffp-ratio-16x9 .ffp-card-title strong{font-size:clamp(20px,2vw,32px)}
@container (max-width:560px){.ffp-preset-cinematic .ffp-card:not(.is-first) .ffp-card-media{aspect-ratio:4/3!important}}

/* 2.7 · Studio-Dunkel Bedienelemente */
.ffp-filter-toggle{display:flex;align-items:center;justify-content:center;line-height:1.4;outline:0}
.ffp-filter-toggle svg{display:block;width:20px;height:20px;margin:0;overflow:visible;transform:none;transform-origin:center}
.ffp-filter-toggle svg path,.ffp-filter-toggle svg circle{vector-effect:non-scaling-stroke}
.ffp-filter-toggle:focus-visible{border-color:#fff;box-shadow:0 0 0 3px rgba(87,212,239,.2),0 0 28px rgba(31,128,190,.24)}
.ffp-filter-toggle[aria-expanded=true] svg{transform:rotate(90deg);transition:transform .28s cubic-bezier(.22,1,.36,1)}
.ffp-finder-panel{position:relative;padding:22px;border-color:rgba(100,150,205,.32);border-radius:14px;background:radial-gradient(circle at 10% 0,rgba(31,128,190,.11),transparent 34%),linear-gradient(145deg,rgba(17,30,52,.98),rgba(7,14,27,.99));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 24px 62px rgba(0,0,0,.26);animation:ffp-filter-panel-in .24s cubic-bezier(.22,1,.36,1)}
@keyframes ffp-filter-panel-in{from{opacity:0;transform:translateY(-8px) scale(.992)}to{opacity:1;transform:none}}
.ffp-finder-panel .ffp-filters{gap:9px;padding:1px 0 19px;border-bottom-color:rgba(119,157,202,.2)}
.ffp-finder-panel .ffp-filters button{min-height:42px;padding:0 18px;border-color:rgba(103,145,196,.35);background:rgba(11,21,39,.56);color:#aebbd0;font-size:10px;font-weight:700;letter-spacing:.095em;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:color .2s,border-color .2s,background .2s,box-shadow .2s,transform .2s}
.ffp-finder-panel .ffp-filters button:hover{border-color:rgba(87,212,239,.7);background:rgba(31,128,190,.1);color:#fff;box-shadow:0 0 18px rgba(31,128,190,.11);transform:translateY(-1px)}
.ffp-finder-panel .ffp-filters button:focus-visible{outline:2px solid var(--ffp-accent-2);outline-offset:2px}
.ffp-finder-panel .ffp-filters button.is-active{border-color:transparent;background:linear-gradient(115deg,var(--ffp-cta),color-mix(in srgb,var(--ffp-cta) 76%,#7d144a));color:#fff;box-shadow:0 8px 25px color-mix(in srgb,var(--ffp-cta) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.18)}
.ffp-finder-panel .ffp-filters sup{position:relative;top:-.25em;margin-left:8px;color:currentColor;font-size:7px;opacity:.6}
.ffp-facet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px;padding-top:20px}
.ffp-facet{position:relative;display:grid;gap:8px;min-width:0}
.ffp-facet>span{color:#8999b3;font-size:9px;font-weight:700;line-height:1;letter-spacing:.13em;transition:color .2s}
.ffp-facet::after{content:"";position:absolute;z-index:2;right:17px;bottom:19px;width:7px;height:7px;border-right:1.5px solid #7e94b2;border-bottom:1.5px solid #7e94b2;transform:rotate(45deg);transform-origin:center;pointer-events:none;transition:border-color .2s,transform .2s}
.ffp-facet:focus-within>span{color:var(--ffp-accent-2)}
.ffp-facet:focus-within::after{border-color:var(--ffp-accent-2);transform:translateY(2px) rotate(225deg)}
.ffp-facet select{width:100%;min-height:48px;padding:0 45px 0 15px;border:1px solid rgba(102,145,198,.42);border-radius:10px;background:linear-gradient(180deg,rgba(19,34,58,.96),rgba(10,20,37,.96));color:#edf4ff;font-size:12px;font-weight:600;line-height:48px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 5px 16px rgba(0,0,0,.12);outline:0;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color .2s,background .2s,box-shadow .2s}
.ffp-facet select:hover{border-color:rgba(87,212,239,.62);background:linear-gradient(180deg,rgba(23,42,70,.98),rgba(11,23,42,.98))}
.ffp-facet select:focus{border-color:var(--ffp-accent-2);box-shadow:0 0 0 3px rgba(87,212,239,.12),0 9px 24px rgba(0,0,0,.17)}
.ffp-facet select option{background:#101b2e;color:#f4f8ff}

/* 2.8 · Projekt-Navigation, lokale Empfehlungen und reduzierter Schließen-Button */
.ffp-dialog-close{gap:10px;padding:8px 2px;border-radius:4px;color:rgba(255,255,255,.82);transition:color .2s,transform .2s}
.ffp-dialog-close:hover{color:#fff;transform:translateY(-1px)}
.ffp-dialog-close i{display:block;width:auto;aspect-ratio:auto;border:0;border-radius:0;font:300 29px/1 Arial;font-style:normal}
.ffp-dialog-close:focus-visible{outline:0;box-shadow:0 2px 0 var(--ffp-accent-2)}
.ffp-dialog-nav{position:fixed;z-index:4;top:50%;display:flex;align-items:center;gap:11px;width:68px;height:112px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;transform:translateY(-50%);transition:transform .28s cubic-bezier(.22,1,.36,1),filter .25s;isolation:isolate}
.ffp-dialog-nav[hidden]{display:none}
.ffp-dialog-nav.is-prev{left:0;justify-content:flex-start;flex-direction:row;padding-left:11px}
.ffp-dialog-nav.is-next{right:0;justify-content:flex-start;flex-direction:row-reverse;padding-right:11px}
.ffp-dialog-nav::before{content:"";position:fixed;z-index:-1;top:13vh;bottom:13vh;width:2px;background:linear-gradient(180deg,transparent 0%,rgba(87,212,239,.08) 18%,rgba(87,212,239,.7) 45%,rgba(215,25,95,.5) 58%,rgba(87,212,239,.08) 82%,transparent 100%);background-size:100% 190%;box-shadow:0 0 10px rgba(87,212,239,.28),0 0 34px rgba(31,128,190,.14);opacity:.62;animation:ffp-edge-current 5.8s ease-in-out infinite;pointer-events:none;transition:width .25s,opacity .25s,box-shadow .25s}
.ffp-dialog-nav.is-prev::before{left:0}
.ffp-dialog-nav.is-next::before{right:0;animation-delay:-2.9s}
.ffp-dialog-nav-icon{display:grid;place-items:center;flex:0 0 45px;width:45px;height:68px;color:rgba(142,227,247,.82);filter:drop-shadow(0 0 9px rgba(87,212,239,.2));transition:color .25s,filter .25s,transform .28s cubic-bezier(.22,1,.36,1)}
.ffp-dialog-nav-icon svg{display:block;width:34px;height:44px;overflow:visible}
.ffp-dialog-nav-icon path{fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ffp-dialog-nav:hover,.ffp-dialog-nav:focus-visible{outline:0;filter:drop-shadow(0 0 14px rgba(87,212,239,.22))}
.ffp-dialog-nav:hover::before,.ffp-dialog-nav:focus-visible::before{width:3px;opacity:1;box-shadow:0 0 15px rgba(87,212,239,.65),0 0 55px rgba(31,128,190,.3)}
.ffp-dialog-nav:hover .ffp-dialog-nav-icon,.ffp-dialog-nav:focus-visible .ffp-dialog-nav-icon{color:#e4fbff;filter:drop-shadow(0 0 13px rgba(87,212,239,.62))}
.ffp-dialog-nav.is-prev:hover .ffp-dialog-nav-icon,.ffp-dialog-nav.is-prev:focus-visible .ffp-dialog-nav-icon{transform:translateX(-3px)}
.ffp-dialog-nav.is-next:hover .ffp-dialog-nav-icon,.ffp-dialog-nav.is-next:focus-visible .ffp-dialog-nav-icon{transform:translateX(3px)}
.ffp-dialog-nav-preview{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:9px;min-width:0;text-align:left}
.ffp-dialog-nav-preview img{width:54px;height:42px;border-radius:7px;object-fit:cover}
.ffp-dialog-nav-preview>span{display:grid;gap:3px;min-width:0}
.ffp-dialog-nav-preview small{color:#8fa3bd;font-size:7px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ffp-dialog-nav-preview strong{overflow:hidden;color:#fff;font-size:10px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
@media (hover:hover) and (pointer:fine){
  .ffp-dialog-nav{overflow:visible}
  .ffp-dialog-nav-preview{position:absolute;top:50%;display:grid;width:224px;padding:8px;border:1px solid rgba(104,151,202,.36);border-radius:13px;background:rgba(8,16,29,.96);box-shadow:0 18px 50px rgba(0,0,0,.38);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .25s cubic-bezier(.22,1,.36,1),visibility .2s}
  .ffp-dialog-nav.is-prev .ffp-dialog-nav-preview{left:calc(100% + 4px);transform:translate(-8px,-50%)}
  .ffp-dialog-nav.is-next .ffp-dialog-nav-preview{right:calc(100% + 4px);transform:translate(8px,-50%)}
  .ffp-dialog-nav:hover .ffp-dialog-nav-preview,.ffp-dialog-nav:focus-visible .ffp-dialog-nav-preview{opacity:1;visibility:visible;transform:translate(0,-50%);pointer-events:auto}
}

/* Schema-driven banner composer ------------------------------------------------
   These rules are deliberately recipe-agnostic. Every visual decision is stored
   on a node and emitted by FFP_Banner_Composer; CSS only supplies safe behavior. */
.ffp-composer-header{position:relative;width:100%;container-type:inline-size;font-family:var(--ffp-header-font,var(--ffp-font-heading,inherit));isolation:isolate}
.ffp-composer-node{min-width:0;max-width:100%}
.ffp-composer-section,.ffp-composer-container{isolation:isolate}
.ffp-composer-background{display:block;overflow:hidden}
.ffp-composer-background>video,.ffp-composer-background-overlay{display:block;border-radius:inherit}
.ffp-composer-section{width:100%}
.ffp-gallery.ffp-full-bleed>.ffp-composer-header{width:calc(100% + (clamp(28px,5vw,78px) * 2));max-width:none;margin-right:calc(clamp(28px,5vw,78px) * -1);margin-left:calc(clamp(28px,5vw,78px) * -1)}
.ffp-live-preview>.ffp-gallery.ffp-full-bleed>.ffp-composer-header{width:100%;margin-right:0;margin-left:0}
@media(min-width:768px){.elementor-location-header+style[id$="-header-typography"]+.ffp-gallery.ffp-full-bleed{margin-top:-60px!important}}
.ffp-composer-heading,.ffp-composer-text,.ffp-composer-button,.ffp-composer-stat strong,.ffp-composer-stat small{margin:0;overflow-wrap:anywhere}
.ffp-composer-heading{overflow-wrap:normal;word-break:normal;hyphens:auto}
.ffp-composer-button{display:inline-flex!important;align-items:center;justify-content:center;gap:.7em;text-decoration:none;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.ffp-composer-button svg,.ffp-composer-icon svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.ffp-composer-custom-icon{display:block;width:1.35em;height:1.35em;object-fit:contain;flex:0 0 auto}
.ffp-composer-button svg path[d*="z"],.ffp-composer-icon svg path[d*="z"]{fill:currentColor;stroke:none}
.ffp-composer-logo{aspect-ratio:1;display:grid!important;place-items:center}
.ffp-composer-logo img,.ffp-composer-logo ls-logo-animation{display:block;width:100%;height:100%;object-fit:contain}
.ffp-composer-vector-animation{position:relative;aspect-ratio:1;display:grid!important;place-items:center;isolation:isolate}
.ffp-composer-vector-animation img,.ffp-composer-vector-animation ls-logo-animation{display:block;width:100%;height:100%;object-fit:contain}
.ffp-composer-vector-animation[data-vector-effect="edge-glow"] img,.ffp-composer-vector-animation[data-vector-effect="edge-glow-sheen"] img{filter:brightness(var(--ffpc-vector-intensity,100%)) drop-shadow(0 0 4px rgba(87,212,239,.95)) drop-shadow(0 0 16px rgba(87,212,239,.52))}
.ffp-composer-vector-animation[data-vector-effect="sheen"]:after,.ffp-composer-vector-animation[data-vector-effect="edge-glow-sheen"]:after{content:"";position:absolute;inset:-20%;z-index:2;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.08) 43%,rgba(161,233,255,.74) 50%,rgba(255,255,255,.08) 57%,transparent 70%);mix-blend-mode:screen;transform:translateX(-130%) rotate(4deg);animation:ffpc-vector-sheen var(--ffpc-duration,7000ms) cubic-bezier(.22,.65,.32,1) var(--ffpc-delay,0ms) var(--ffpc-iteration,infinite);pointer-events:none}
.ffp-composer-image{margin:0}
.ffp-composer-image img,.ffp-composer-video video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.ffp-composer-stats{display:flex!important}
.ffp-composer-stat{display:grid;gap:3px;min-width:0}
.ffp-composer-stat strong{color:var(--ffp-cta,#d7195f);font-size:clamp(32px,4.3cqw,66px);font-weight:800;line-height:.9}
.ffp-composer-stat small{color:inherit;font-size:clamp(9px,.9cqw,12px);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ffp-composer-animated-text{display:grid!important;min-height:1.2em;overflow:hidden}
.ffp-composer-animated-text>span{grid-area:1/1;opacity:0;pointer-events:none;transform:translateY(.7em);transition:opacity .42s ease,transform .56s cubic-bezier(.2,.75,.2,1),filter .45s ease}
.ffp-composer-animated-text>span.is-active{opacity:1;transform:none}
.ffp-composer-animated-text>span.is-leaving{opacity:0;transform:translateY(-.48em);filter:blur(3px)}
.ffp-composer-animated-text[data-effect="fade"]>span{transform:none}
.ffp-composer-animated-text[data-effect="slide"]>span{transform:translateX(1.2em)}
.ffp-composer-animated-text[data-effect="focus"]>span{transform:none;filter:blur(9px)}
.ffp-composer-animated-text[data-effect="focus"]>span.is-active{filter:blur(0)}
.ffp-composer-animated-text[data-effect="wipe"]>span{transform:none;clip-path:inset(0 100% 0 0)}
.ffp-composer-animated-text[data-effect="wipe"]>span.is-active{clip-path:inset(0)}
.ffp-composer-divider{width:100%;height:0;margin:0}
.ffp-composer-spacer{display:block}
.ffp-composer-atmosphere{right:-18%;top:-36%;pointer-events:none;filter:blur(64px)!important}
.ffp-composer-centered-main{position:relative!important;isolation:isolate}
.ffp-composer-centered-copy{position:relative!important;width:100%!important;text-align:center}
.ffp-composer-centered-copy>.ffp-composer-node{width:100%!important;align-self:stretch!important;text-align:center}
.ffp-composer-centered-copy>.ffp-composer-heading{text-wrap:balance}
.ffp-composer-centered-main>.ffp-composer-logo-background{position:absolute!important;z-index:0!important;top:50%!important;right:auto!important;bottom:auto!important;left:50%!important;pointer-events:none;transform:translate(calc(-50% + var(--ffpc-x,0px)),calc(-50% + var(--ffpc-y,0px)))!important}
.ffp-composer-centered-main>.ffp-composer-logo-optical-center{left:calc(50% - clamp(42px,4cqw,58px))!important}
.ffp-preview-is-inspecting .ffp-composer-centered-main>.ffp-composer-logo-background{pointer-events:auto}
.ffp-composer-centered-copy,.ffp-composer-centered-copy>.ffp-composer-node,.ffp-composer-centered-footer,.ffp-composer-centered-footer>.ffp-composer-node{z-index:4}
.ffp-composer-centered-footer{width:100%!important;text-align:center;border-right:0!important;border-bottom:0!important;border-left:0!important}
.ffp-composer-centered-footer>.ffp-composer-stats{width:100%!important;justify-content:center!important;text-align:center}
.ffp-composer-elegant-stats .ffp-composer-stat strong{font-size:clamp(42px,5.25cqw,78px);font-weight:600;letter-spacing:-.035em}
.ffp-composer-elegant-stats .ffp-composer-stat small{font-weight:600;letter-spacing:.09em}
.ffp-composer-centered-footer>.ffp-composer-button{display:inline-flex!important;align-self:center!important}
.ffp-composer-project-jump-elegant{position:relative!important;flex-direction:column;gap:5px!important;opacity:.86;letter-spacing:.14em!important}
.ffp-composer-project-jump-elegant::before{content:"";display:block;width:44px;height:1px;margin-bottom:3px;background:linear-gradient(90deg,transparent,var(--ffp-accent,#57d4ef),transparent);transition:width .25s ease,opacity .25s ease}
.ffp-composer-project-jump-elegant:hover::before{width:68px;opacity:1}
.ffp-composer-project-jump-elegant svg{width:18px!important;height:18px!important}
.ffp-composer-centered-copy .ffp-composer-animated-text>span{width:100%;text-align:inherit}
.ffp-composer-animate{animation-duration:var(--ffpc-duration,800ms);animation-delay:var(--ffpc-delay,0ms);animation-iteration-count:var(--ffpc-iteration,1);animation-fill-mode:both;animation-timing-function:var(--ffpc-easing,cubic-bezier(.2,.75,.2,1))}
.ffp-composer-animate-fade{animation-name:ffpc-fade}
.ffp-composer-animate-rise{animation-name:ffpc-rise}
.ffp-composer-animate-slide-left{animation-name:ffpc-left}
.ffp-composer-animate-slide-right{animation-name:ffpc-right}
.ffp-composer-animate-reveal{animation-name:ffpc-reveal}
.ffp-composer-animate-focus{animation-name:ffpc-focus}
.ffp-composer-animate-float{animation-name:ffpc-float;animation-direction:alternate}
.ffp-composer-animate-pulse{animation-name:ffpc-pulse;animation-direction:alternate}
.ffp-composer-animate-glow{animation-name:ffpc-glow;animation-direction:alternate}
.ffp-composer-animate-rotate{animation-name:ffpc-rotate;animation-timing-function:linear}
.ffp-composer-animate-orbit{animation-name:ffpc-orbit;animation-timing-function:ease-in-out}
.ffp-composer-animate-drift{animation-name:ffpc-drift;animation-direction:alternate}
.ffp-composer-animate-shimmer{animation-name:ffpc-shimmer;animation-direction:alternate}
@keyframes ffpc-fade{from{opacity:0;transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px))}to{opacity:1;transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px))}}
@keyframes ffpc-rise{from{opacity:0;transform:translate(var(--ffpc-x,0px),calc(var(--ffpc-y,0px) + 24px))}to{opacity:1;transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px))}}
@keyframes ffpc-left{from{opacity:0;transform:translate(calc(var(--ffpc-x,0px) - 34px),var(--ffpc-y,0px))}to{opacity:1;transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px))}}
@keyframes ffpc-right{from{opacity:0;transform:translate(calc(var(--ffpc-x,0px) + 34px),var(--ffpc-y,0px))}to{opacity:1;transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px))}}
@keyframes ffpc-reveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(var(--ffpc-x,0px),calc(var(--ffpc-y,0px) + 12px))}to{opacity:1;clip-path:inset(0);transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px))}}
@keyframes ffpc-focus{from{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur(0)}}
@keyframes ffpc-float{from{transform:translate(calc(var(--ffpc-x,0px) - 2%),calc(var(--ffpc-y,0px) - 1%)) scale(.96)}to{transform:translate(calc(var(--ffpc-x,0px) + 4%),calc(var(--ffpc-y,0px) + 5%)) scale(1.08)}}
@keyframes ffpc-pulse{from{opacity:.55;transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px)) scale(.98)}to{opacity:1;transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px)) scale(1.02)}}
@keyframes ffpc-glow{from{filter:drop-shadow(0 0 4px rgba(87,212,239,.25))}to{filter:drop-shadow(0 0 22px rgba(87,212,239,.86))}}
@keyframes ffpc-rotate{from{transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px)) rotate(0)}to{transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px)) rotate(360deg)}}
@keyframes ffpc-orbit{0%,100%{transform:translate(var(--ffpc-x,0px),var(--ffpc-y,0px))}33%{transform:translate(calc(var(--ffpc-x,0px) + 18px),calc(var(--ffpc-y,0px) - 12px))}66%{transform:translate(calc(var(--ffpc-x,0px) - 12px),calc(var(--ffpc-y,0px) + 16px))}}
@keyframes ffpc-drift{from{transform:translate(calc(var(--ffpc-x,0px) - 10px),calc(var(--ffpc-y,0px) - 5px)) scale(.985)}to{transform:translate(calc(var(--ffpc-x,0px) + 12px),calc(var(--ffpc-y,0px) + 8px)) scale(1.02)}}
@keyframes ffpc-shimmer{from{filter:brightness(.82) saturate(.9)}to{filter:brightness(1.25) saturate(1.12)}}
@keyframes ffpc-vector-sheen{0%,18%{transform:translateX(-130%) rotate(4deg);opacity:0}30%{opacity:1}52%,100%{transform:translateX(130%) rotate(4deg);opacity:0}}
@media(max-width:1024px){.ffp-composer-centered-main>.ffp-composer-logo-optical-center{left:calc(50% - 30px)!important}}
@media(max-width:767px){.ffp-composer-atmosphere{right:-35%;top:-8%}.ffp-composer-stats{justify-content:center!important}.ffp-composer-stat{flex:1;text-align:center}.ffp-composer-stat strong{font-size:clamp(30px,12vw,54px)}.ffp-composer-centered-copy .ffp-composer-heading{font-size:min(var(--ffpc-mobile-heading,42px),9.4cqw)!important}.ffp-composer-centered-main>.ffp-composer-logo-optical-center{left:calc(50% - 20px)!important}.ffp-composer-centered-footer>.ffp-composer-stats{gap:clamp(8px,3vw,16px)!important}.ffp-composer-centered-footer>.ffp-composer-elegant-stats .ffp-composer-stat strong{font-size:clamp(38px,12vw,50px)}.ffp-composer-elegant-stats .ffp-composer-stat small{font-size:clamp(7.5px,2.25vw,9px);letter-spacing:.06em}.ffp-composer-centered-footer>.ffp-composer-button{margin-top:2px}}
@container (max-width:560px){.ffp-gallery.ffp-full-bleed>.ffp-composer-header{width:calc(100% + 44px);margin-right:-22px;margin-left:-22px}.ffp-live-preview>.ffp-gallery.ffp-full-bleed>.ffp-composer-header{width:100%;margin-right:0;margin-left:0}}
@media(prefers-reduced-motion:reduce){.ffp-composer-animate{animation:none!important}.ffp-composer-animated-text>span{transition:none}.ffp-composer-animated-text>span:not(.is-active){display:none}}
@keyframes ffp-edge-current{0%,100%{background-position:50% 0%;opacity:.45}50%{background-position:50% 100%;opacity:.78}}
@media (hover:none),(pointer:coarse){.ffp-dialog-nav-preview{display:none}}
.ffp-related{margin-top:clamp(52px,7vw,92px);padding-top:clamp(26px,4vw,48px);border-top:1px solid rgba(109,148,195,.24)}
.ffp-related header{display:grid;gap:8px;max-width:680px;margin-bottom:22px}
.ffp-related header small{color:var(--ffp-accent-2);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ffp-related h4{margin:0;color:#fff;font-family:var(--ffp-font-heading);font-size:clamp(28px,3vw,46px);line-height:.95;letter-spacing:-.035em}
.ffp-related header p{margin:0;color:var(--ffp-muted);font-size:12px;line-height:1.5}
.ffp-related-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ffp-related-card,.ffp-end-recommend-card{position:relative;display:block;min-width:0;padding:0;overflow:hidden;border:1px solid rgba(103,145,196,.3);border-radius:12px;background:#101a2c;color:#fff;text-align:left;cursor:pointer;transition:border-color .2s,transform .24s,box-shadow .24s}
.ffp-related-card:hover,.ffp-end-recommend-card:hover{border-color:var(--ffp-accent-2);transform:translateY(-3px);box-shadow:0 14px 36px rgba(31,128,190,.16)}
.ffp-related-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.ffp-related-preview{position:absolute;z-index:3;top:0;left:0;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#050a13;opacity:0;transition:opacity .22s;pointer-events:none}.ffp-related-card.is-previewing .ffp-related-preview{opacity:1}.ffp-related-preview video,.ffp-related-preview iframe{display:block;width:100%;height:100%;border:0;object-fit:cover}
.ffp-related-card>span,.ffp-end-recommend-card>span{display:grid;gap:4px;padding:13px}
.ffp-related-card small,.ffp-end-recommend-card small{color:var(--ffp-accent-2);font-size:8px;font-style:normal;letter-spacing:.1em;text-transform:uppercase}
.ffp-related-card strong,.ffp-end-recommend-card strong{font-size:14px;line-height:1.15}
.ffp-related-card em,.ffp-end-recommend-card em{color:var(--ffp-muted);font-size:8px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.ffp-project-cta{display:flex;align-items:center;gap:24px;margin-top:24px;padding:20px 22px;border:1px solid rgba(87,212,239,.25);border-radius:14px;background:linear-gradient(120deg,rgba(31,128,190,.11),rgba(215,25,95,.07));color:#fff}.ffp-project-cta strong{font-family:var(--ffp-font-heading);font-size:clamp(17px,2vw,28px);line-height:1.05}.ffp-project-cta a{margin-left:auto;padding:11px 15px;border:1px solid rgba(87,212,239,.48);border-radius:99px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.ffp-project-cta a:hover{border-color:var(--ffp-accent-2);background:rgba(87,212,239,.08)}
.ffp-player{position:relative}
.ffp-player{container-type:inline-size;container-name:ffp-player}
.ffp-end-recommend{position:absolute;z-index:5;inset:0;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr);align-items:center;gap:clamp(18px,4vw,54px);padding:clamp(24px,6vw,76px);background:radial-gradient(circle at 78% 35%,rgba(31,128,190,.25),transparent 38%),rgba(3,7,13,.94);animation:ffp-end-in .45s cubic-bezier(.22,1,.36,1)}
.ffp-end-recommend>div{display:grid;gap:8px}
.ffp-end-recommend>div small{color:var(--ffp-accent-2);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ffp-end-recommend>div strong{font-family:var(--ffp-font-heading);font-size:clamp(25px,3vw,47px);line-height:.92;letter-spacing:-.035em}
.ffp-end-recommend-card{display:grid;grid-template-columns:minmax(110px,45%) 1fr;align-items:center}
.ffp-end-recommend-card img{display:block;width:100%;height:100%;min-height:120px;object-fit:cover}
.ffp-end-recommend-dismiss{position:absolute;top:14px;right:14px;padding:5px;border:0;background:transparent;color:#fff;font-size:26px;cursor:pointer}
@keyframes ffp-end-in{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:none}}
@container (max-width:980px){.ffp-dialog-nav-preview{display:none}.ffp-dialog-scroll{padding-inline:60px}}
@container (max-width:650px){.ffp-dialog-close span{display:none}.ffp-dialog-close{top:13px;right:18px}.ffp-dialog-scroll{padding:64px 14px 82px}.ffp-dialog-nav{top:auto;bottom:13px;width:60px;height:58px;transform:none}.ffp-dialog-nav:hover{transform:none!important}.ffp-dialog-nav.is-prev{left:8px;padding-left:0}.ffp-dialog-nav.is-next{right:8px;padding-right:0}.ffp-dialog-nav::before{display:none}.ffp-dialog-nav-icon{height:54px}.ffp-related-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.ffp-related-card{flex:0 0 min(78cqw,320px);scroll-snap-align:start}.ffp-end-recommend{grid-template-columns:1fr;padding:22px}.ffp-end-recommend-card{grid-template-columns:120px 1fr}}
@container (max-width:650px){.ffp-project-cta{align-items:flex-start;flex-direction:column}.ffp-project-cta a{margin-left:0}}

/* 2.8 · Live-Suche und kompakte Referenzberatung */
.ffp-search-shell{position:relative}
.ffp-search-suggestions{position:absolute;z-index:20;top:calc(100% + 9px);left:0;right:0;max-height:min(560px,68vh);padding:9px;overflow:auto;border:1px solid rgba(98,147,200,.38);border-radius:15px;background:rgba(8,15,27,.98);box-shadow:0 26px 80px rgba(0,0,0,.5),0 0 36px rgba(31,128,190,.1);backdrop-filter:blur(18px)}
.ffp-gallery .ffp-search-suggestions[hidden],.ffp-gallery [data-ffp-finder-panel][hidden]{display:none!important}
.ffp-search-suggestions-head{padding:7px 9px 10px;color:#8495ad;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ffp-search-suggestion{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;width:100%;padding:7px;border:0;border-radius:10px;background:transparent;color:#fff;text-align:left;cursor:pointer;transition:background .18s,transform .18s}
.ffp-search-suggestion:hover,.ffp-search-suggestion:focus-visible{background:rgba(87,212,239,.08);outline:0;transform:translateX(2px)}
.ffp-search-suggestion img{display:block;width:84px;aspect-ratio:16/10;border-radius:7px;object-fit:cover}
.ffp-search-suggestion>span{display:grid;min-width:0;gap:3px;padding:7px 11px}
.ffp-gallery .ffp-search-suggestion>span:only-child{grid-column:1/-1!important;width:auto!important;min-width:0!important}
.ffp-gallery .ffp-search-suggestion strong,.ffp-gallery .ffp-search-suggestion small,.ffp-gallery .ffp-search-suggestion em{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
.ffp-search-suggestion small{color:var(--ffp-accent-2);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.ffp-search-suggestion strong{font-size:13px;line-height:1.1}
.ffp-search-suggestion em{color:var(--ffp-muted);font-size:8px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.ffp-advisor-toggle{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:54px;padding:0 15px;border:1px solid rgba(101,150,202,.38);border-radius:99px;background:rgba(13,24,42,.64);color:#aebbd0;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.22s}
.ffp-advisor-toggle svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round}
.ffp-advisor-toggle:hover,.ffp-advisor-toggle[aria-expanded=true]{border-color:var(--ffp-accent-2);background:rgba(87,212,239,.08);color:#fff;box-shadow:0 0 26px rgba(31,128,190,.14)}
.ffp-advisor{position:relative;margin:-8px 0 32px;padding:clamp(20px,3.5vw,42px);overflow:hidden;border:1px solid rgba(97,148,202,.34);border-radius:18px;background:radial-gradient(circle at 85% 0,rgba(215,25,95,.11),transparent 30%),radial-gradient(circle at 10% 35%,rgba(31,128,190,.14),transparent 36%),linear-gradient(145deg,#111d31,#070d18);box-shadow:0 28px 80px rgba(0,0,0,.28);animation:ffp-filter-panel-in .3s cubic-bezier(.22,1,.36,1)}
.ffp-advisor[hidden]{display:none}
.ffp-advisor>header{display:flex;align-items:flex-start;gap:25px;margin-bottom:28px}
.ffp-advisor>header>div{display:grid;gap:6px}.ffp-advisor>header small{color:var(--ffp-accent-2);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ffp-advisor>header h3{margin:0;font-family:var(--ffp-font-heading);font-size:clamp(28px,3.6vw,52px);font-weight:var(--ffp-heading-weight);line-height:.95;letter-spacing:-.04em}.ffp-advisor>header p{max-width:650px;margin:2px 0 0;color:var(--ffp-muted);font-size:12px;line-height:1.5}.ffp-advisor>header>button{margin-left:auto;padding:0;border:0;background:transparent;color:#9cacc0;font-size:29px;cursor:pointer}
.ffp-advisor-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ffp-advisor fieldset{min-width:0;margin:0;padding:16px;border:1px solid rgba(105,146,196,.25);border-radius:12px;background:rgba(8,16,29,.48)}
.ffp-advisor legend{display:flex;align-items:center;gap:8px;padding:0 4px;color:#fff;font-size:11px;font-weight:750}.ffp-advisor legend span{color:var(--ffp-cta);font-size:8px;letter-spacing:.12em}
.ffp-advisor-choices{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ffp-advisor-choices button{padding:7px 9px;border:1px solid rgba(105,146,196,.3);border-radius:99px;background:transparent;color:#aebbd0;font-size:9px;cursor:pointer;transition:.18s}.ffp-advisor-choices button:hover{border-color:var(--ffp-accent-2);color:#fff}.ffp-advisor-choices button.is-active{border-color:transparent;background:var(--ffp-cta);color:#fff;box-shadow:0 7px 22px rgba(215,25,95,.22)}
.ffp-advisor-results{margin-top:22px}.ffp-advisor-results>p{margin:0;padding:20px;border:1px dashed rgba(110,150,199,.28);border-radius:12px;color:var(--ffp-muted);font-size:12px;text-align:center}.ffp-advisor-match-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.ffp-advisor-match-head small{color:var(--ffp-accent-2);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.ffp-advisor-match-head strong{font-family:var(--ffp-font-heading);font-size:20px}.ffp-advisor-match-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ffp-advisor-match{position:relative;display:block;min-width:0;padding:0;overflow:hidden;border:1px solid rgba(103,145,196,.3);border-radius:11px;background:#101a2c;color:#fff;text-align:left;cursor:pointer}.ffp-advisor-match img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.ffp-advisor-match>span{display:grid;gap:3px;padding:11px}.ffp-advisor-match small{color:var(--ffp-accent-2);font-size:7px;letter-spacing:.08em;text-transform:uppercase}.ffp-advisor-match strong{font-size:12px}.ffp-advisor-match em{color:var(--ffp-muted);font-size:7px;font-style:normal;text-transform:uppercase}.ffp-advisor-match b{position:absolute;top:8px;right:8px;padding:5px 7px;border-radius:99px;background:rgba(4,10,18,.84);color:#fff;font-size:8px;letter-spacing:.05em}.ffp-advisor-cta{display:inline-flex;margin-top:16px;padding:11px 15px;border:1px solid rgba(87,212,239,.45);border-radius:99px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;text-decoration:none}.ffp-advisor>footer{display:flex;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(105,146,196,.2)}.ffp-advisor>footer span{max-width:520px;color:#7f90a8;font-size:9px;line-height:1.45}.ffp-advisor>footer button{margin-left:auto;padding:11px 15px;border:0;border-radius:99px;background:linear-gradient(110deg,var(--ffp-cta),#9f174e);color:#fff;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
@container (max-width:900px){.ffp-advisor-toggle span{display:none}.ffp-advisor-toggle{width:54px;padding:0;border-radius:50%}.ffp-advisor-questions{grid-template-columns:1fr}.ffp-advisor-match-track{display:flex;overflow-x:auto}.ffp-advisor-match{flex:0 0 min(65cqw,260px)}}
@container (max-width:560px){.ffp-advisor{padding:18px}.ffp-advisor>footer{align-items:flex-start;flex-direction:column}.ffp-advisor>footer button{width:100%;margin:0}.ffp-advisor-toggle{width:50px;height:50px;min-height:50px}}

/* 2.9 · Fullscreen-Referenzberatung nach dem geführten Analyseprinzip */
.ffp-advisor{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:#060b14;color:#fff;font-family:var(--ffp-font-body);box-shadow:none;animation:ffp-advisor-in .36s cubic-bezier(.22,1,.36,1)}
.ffp-advisor:not([open]){display:none}.ffp-advisor::backdrop{background:rgba(2,5,10,.72);backdrop-filter:blur(9px)}
.ffp-advisor-shell{display:grid;grid-template-rows:74px minmax(0,1fr);width:100%;height:100%;background:radial-gradient(900px 600px at 5% 0,rgba(31,128,190,.18),transparent 64%),radial-gradient(760px 520px at 100% 100%,rgba(215,25,95,.12),transparent 62%),#060b14}
.ffp-advisor-top{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,430px) auto auto;align-items:center;gap:24px;padding:0 clamp(18px,3vw,48px);border-bottom:1px solid rgba(107,151,201,.22);background:rgba(6,11,20,.82);backdrop-filter:blur(16px)}
.ffp-advisor-brand{display:grid;gap:2px}.ffp-advisor-brand small{color:var(--ffp-cta);font-size:8px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.ffp-advisor-brand strong{font-family:var(--ffp-font-heading);font-size:14px;letter-spacing:.02em}
.ffp-advisor-progress{display:grid;gap:7px}.ffp-advisor-progress>span{position:relative;display:block;height:4px;overflow:hidden;border-radius:99px;background:rgba(116,151,194,.17)}.ffp-advisor-progress i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--ffp-accent),var(--ffp-accent-2) 62%,var(--ffp-cta));box-shadow:0 0 14px rgba(87,212,239,.42);transition:width .45s cubic-bezier(.22,1,.36,1)}.ffp-advisor-progress small{color:#7f90a8;font-size:8px;letter-spacing:.08em;text-align:right}
.ffp-advisor-quick-apply{min-height:38px;padding:0 15px;border:1px solid rgba(87,212,239,.42);border-radius:99px;background:rgba(31,128,190,.08);color:#eefcff;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s}.ffp-advisor-quick-apply:hover{border-color:var(--ffp-accent-2);background:rgba(87,212,239,.14);box-shadow:0 0 26px rgba(31,128,190,.18)}
.ffp-advisor-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;background:transparent;color:#aebbd0;font:300 29px/1 Arial;cursor:pointer;transition:color .2s,transform .2s}.ffp-advisor-close:hover{color:#fff;transform:rotate(4deg)}
.ffp-advisor-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);min-height:0}
.ffp-advisor-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:clamp(28px,5vw,76px) clamp(22px,6vw,96px) 0}
.ffp-advisor-question{align-self:center;width:min(760px,100%);animation:ffp-advisor-question-in .32s cubic-bezier(.22,1,.36,1)}.ffp-advisor-question>small{display:block;margin-bottom:13px;color:var(--ffp-accent-2);font-size:9px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.ffp-advisor-question h3{max-width:720px;margin:0;color:#fff;font-family:var(--ffp-font-heading);font-size:clamp(38px,4.7vw,74px);font-weight:var(--ffp-heading-weight);line-height:.92;letter-spacing:-.048em}.ffp-advisor-question>p{max-width:660px;margin:20px 0 0;color:#9dabc0;font-size:clamp(12px,1.15vw,16px);line-height:1.6}
.ffp-advisor-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}.ffp-advisor-choices button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:62px;padding:10px 14px;border:1px solid rgba(105,146,196,.28);border-radius:11px;background:rgba(11,20,35,.6);color:#d5deea;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}.ffp-advisor-choices button:hover{border-color:rgba(87,212,239,.64);background:rgba(31,128,190,.09);color:#fff;transform:translateY(-1px)}.ffp-advisor-choices button small{color:#687b96;font-size:8px;letter-spacing:.1em}.ffp-advisor-choices button strong{font-size:12px;line-height:1.18}.ffp-advisor-choices button i{width:15px;height:15px;border:1px solid #60738e;border-radius:50%;box-shadow:inset 0 0 0 4px transparent}.ffp-advisor-choices button.is-active{border-color:rgba(87,212,239,.8);background:linear-gradient(120deg,rgba(31,128,190,.18),rgba(215,25,95,.08));color:#fff;box-shadow:0 0 32px rgba(31,128,190,.11)}.ffp-advisor-choices button.is-active i{border-color:var(--ffp-accent-2);background:var(--ffp-accent-2);box-shadow:inset 0 0 0 4px #0d1a2d,0 0 12px rgba(87,212,239,.4)}
.ffp-advisor-choices.is-intro{display:block;margin-top:32px}.ffp-advisor-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ffp-advisor-intro article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;padding:16px;border:1px solid rgba(105,146,196,.25);border-radius:12px;background:linear-gradient(145deg,rgba(15,28,48,.78),rgba(8,15,27,.72))}.ffp-advisor-intro article>small{padding-top:2px;color:var(--ffp-accent-2);font-size:8px;font-weight:850;letter-spacing:.12em}.ffp-advisor-intro article>div{display:grid;align-content:start;gap:7px}.ffp-advisor-intro article strong{font-size:12px;line-height:1.2}.ffp-advisor-intro article p{margin:0;color:#8292a9;font-size:9px;line-height:1.5}.ffp-advisor-intro-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.ffp-advisor-intro-meta span{padding:6px 9px;border:1px solid rgba(87,212,239,.22);border-radius:99px;background:rgba(31,128,190,.06);color:#9fb0c5;font-size:7px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.ffp-advisor-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:78px;border-top:1px solid rgba(105,146,196,.18)}.ffp-advisor-navigation button{min-height:40px;padding:0 17px;border:1px solid rgba(105,146,196,.3);border-radius:99px;background:transparent;color:#d6dfeb;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.ffp-advisor-navigation button:last-child{border-color:transparent;background:linear-gradient(110deg,var(--ffp-cta),#9f174e);color:#fff;box-shadow:0 10px 30px rgba(215,25,95,.18)}.ffp-advisor-navigation button:disabled{opacity:.3;cursor:default}.ffp-advisor-navigation span{color:#6f8098;font-size:8px;line-height:1.4;text-align:center}
.ffp-advisor-results{min-height:0;margin:0;padding:clamp(26px,3vw,48px);overflow-y:auto;border-left:1px solid rgba(105,146,196,.2);background:linear-gradient(145deg,rgba(15,27,46,.92),rgba(7,13,23,.98))}.ffp-advisor-match-head{display:grid;gap:7px;margin-bottom:18px}.ffp-advisor-match-head small{color:var(--ffp-accent-2);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.ffp-advisor-match-head strong{max-width:520px;font-family:var(--ffp-font-heading);font-size:clamp(22px,2.1vw,34px);line-height:1.03;letter-spacing:-.025em}
.ffp-advisor-match-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ffp-advisor-match{position:relative;display:block;min-width:0;padding:0;overflow:hidden;border:1px solid rgba(103,145,196,.28);border-radius:11px;background:#101a2c;color:#fff;text-align:left;cursor:pointer;transition:border-color .2s,transform .22s,box-shadow .22s}.ffp-advisor-match:hover{border-color:var(--ffp-accent-2);transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.24)}.ffp-advisor-match img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.ffp-advisor-match>span{display:grid;gap:4px;padding:12px}.ffp-advisor-match small{color:var(--ffp-accent-2);font-size:7px;letter-spacing:.09em;text-transform:uppercase}.ffp-advisor-match strong{overflow:hidden;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.ffp-advisor-match em{overflow:hidden;color:#8494aa;font-size:7px;font-style:normal;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.ffp-advisor-match b{position:absolute;top:8px;right:8px;padding:5px 7px;border:1px solid rgba(255,255,255,.1);border-radius:99px;background:rgba(4,10,18,.82);color:#fff;font-size:8px;letter-spacing:.05em;backdrop-filter:blur(8px)}.ffp-advisor-result-note{margin:18px 0 0!important;padding:0!important;border:0!important;color:#73849c!important;font-size:9px!important;line-height:1.55!important;text-align:left!important}
@keyframes ffp-advisor-in{from{opacity:0;transform:scale(1.008)}to{opacity:1;transform:none}}@keyframes ffp-advisor-question-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:980px){.ffp-advisor-top{grid-template-columns:minmax(150px,1fr) minmax(160px,300px) auto}.ffp-advisor-quick-apply{display:none}.ffp-advisor-layout{grid-template-columns:minmax(0,1fr) 330px}.ffp-advisor-stage{padding-inline:32px}.ffp-advisor-results{padding:28px 20px}.ffp-advisor-match-track{grid-template-columns:1fr}}
@media (max-width:720px){.ffp-advisor{overflow-y:auto}.ffp-advisor-shell{display:block;height:auto;min-height:100dvh}.ffp-advisor-top{position:sticky;z-index:5;top:0;grid-template-columns:minmax(0,1fr) 124px auto;height:66px;padding:0 14px;gap:12px}.ffp-advisor-brand small{display:none}.ffp-advisor-brand strong{font-size:11px}.ffp-advisor-progress small{font-size:6px}.ffp-advisor-layout{display:block}.ffp-advisor-stage{display:block;padding:42px 16px 0}.ffp-advisor-question{min-height:auto}.ffp-advisor-question h3{font-size:clamp(34px,11vw,54px)}.ffp-advisor-choices{grid-template-columns:1fr;margin-top:24px}.ffp-advisor-intro{grid-template-columns:1fr}.ffp-advisor-intro article{padding:14px}.ffp-advisor-navigation{position:sticky;z-index:4;bottom:0;margin-top:30px;padding:10px 0;background:rgba(6,11,20,.94);backdrop-filter:blur(16px)}.ffp-advisor-navigation span{display:none}.ffp-advisor-results{padding:34px 16px 60px;border-top:1px solid rgba(105,146,196,.2);border-left:0}.ffp-advisor-match-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.ffp-advisor-match{flex:0 0 min(76vw,280px);scroll-snap-align:start}}
.ffp-active-facets{gap:8px;margin-top:18px}
.ffp-active-facets button{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 11px;border:1px solid rgba(87,212,239,.3);background:rgba(31,128,190,.13);color:#dff8ff;font-size:9px;font-weight:700;letter-spacing:.045em;transition:.2s}
.ffp-active-facets button:hover{border-color:var(--ffp-accent-2);background:rgba(87,212,239,.17);transform:translateY(-1px)}
.ffp-finder-rule{margin:16px 0 0;color:#71819a;font-size:9px;letter-spacing:.02em}
.ffp-finder-clear{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-top:17px;padding:0 12px;border:1px solid rgba(121,151,190,.26);border-radius:99px;background:rgba(7,14,27,.42);color:#96a5bb;font-size:9px;font-weight:700;letter-spacing:.065em;text-decoration:none;text-transform:uppercase;transition:.2s}
.ffp-finder-clear::before{content:"↺";margin-right:7px;color:var(--ffp-accent-2);font-size:12px}
.ffp-finder-clear:hover{border-color:rgba(87,212,239,.65);background:rgba(31,128,190,.1);color:#fff;transform:translateY(-1px)}
.ffp-finder-clear:focus-visible{outline:2px solid var(--ffp-accent-2);outline-offset:2px}
/* 2.7b · Umschalter zwischen einfachem und erweitertem Filter */
.ffp-finder-advanced[hidden]{display:none}
.ffp-advanced-toggle{display:inline-flex;align-items:center;gap:9px;min-height:40px;margin-top:16px;padding:0 16px;border:1px solid rgba(121,151,190,.3);border-radius:99px;background:rgba(7,14,27,.42);color:#c3cfe0;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s}
.ffp-advanced-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.ffp-advanced-toggle:hover{border-color:rgba(87,212,239,.65);background:rgba(31,128,190,.1);color:#fff;transform:translateY(-1px)}
.ffp-advanced-toggle:focus-visible{outline:2px solid var(--ffp-accent-2);outline-offset:2px}
.ffp-advanced-toggle.is-open{border-color:rgba(87,212,239,.55);background:rgba(31,128,190,.14);color:#fff}
.ffp-advanced-toggle small{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--ffp-cta);color:#fff;font-size:9px;font-weight:800}
.ffp-advanced-toggle small[hidden],.ffp-advanced-toggle small:empty{display:none}
.ffp-finder-advanced{animation:ffp-pop .22s cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion:reduce){.ffp-finder-advanced{animation:none}.ffp-advanced-toggle{transition:none}}
.ffp-preset-editorial-collage .ffp-advanced-toggle{border-color:rgba(30,26,20,.22);background:transparent;color:#4b4742}
@container (max-width:560px){.ffp-advanced-toggle{width:100%;justify-content:center}}
@container (max-width:900px){.ffp-facet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:560px){.ffp-finder-panel{padding:16px}.ffp-facet-grid{grid-template-columns:1fr;gap:14px}.ffp-finder-panel .ffp-filters{margin-inline:-2px;padding-bottom:16px}.ffp-finder-panel .ffp-filters button{min-height:39px;padding-inline:14px}.ffp-facet select{min-height:46px}.ffp-facet::after{bottom:18px}}

/* 2.7c · Querverweise auf verwandte Filmprojekte */
.ffp-project-related{margin-top:clamp(40px,6vw,80px);padding-top:clamp(26px,3.5vw,38px);border-top:1px solid rgba(121,151,190,.22)}
.ffp-project-related header{display:grid;gap:4px;margin-bottom:18px}
.ffp-project-related header small{color:var(--ffp-accent-2);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ffp-project-related header h4{margin:0;font-family:var(--ffp-font-heading);font-size:clamp(19px,2.2vw,26px);line-height:1.15}
.ffp-project-related ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--ffp-gap,18px);margin:0;padding:0;list-style:none}
.ffp-project-related a{display:grid;gap:10px;color:inherit;text-decoration:none}
.ffp-project-related img,.ffp-related-placeholder{display:block;width:100%;aspect-ratio:16/9;max-width:100%;object-fit:cover;border-radius:calc(var(--ffp-radius,14px) - 4px);background:var(--ffp-surface,#101b2e);transition:transform .25s,box-shadow .25s}
.ffp-project-related a:hover img,.ffp-project-related a:hover .ffp-related-placeholder{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.3)}
.ffp-project-related span{display:grid;gap:3px;min-width:0}
.ffp-project-related strong{font-size:14px;line-height:1.3;hyphens:auto}
.ffp-project-related small{color:var(--ffp-muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.ffp-project-related a:hover strong{color:var(--ffp-accent-2)}
.ffp-project-related a:focus-visible{outline:3px solid var(--ffp-accent-2);outline-offset:4px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.ffp-project-related img,.ffp-related-placeholder{transition:none}}

/* 2.8 · Projektbezogene Kundenstimmen */
.ffp-card-rating{position:absolute;z-index:4;top:13px;left:13px;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(255,255,255,.15);border-radius:99px;background:rgba(5,10,19,.7);color:#ffd36a;box-shadow:0 7px 20px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.ffp-card-rating b{font-size:8px;line-height:1;letter-spacing:.08em}.ffp-card-rating small{color:#fff;font-size:7px;font-weight:800;letter-spacing:.05em}
.ffp-testimonial{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(18px,3vw,38px);margin:clamp(52px,8vw,100px) 0 0;padding:clamp(24px,4vw,46px);overflow:hidden;border:1px solid rgba(95,145,197,.28);border-radius:18px;background:radial-gradient(circle at 7% 40%,rgba(87,212,239,.15),transparent 28%),linear-gradient(135deg,rgba(17,30,51,.97),rgba(7,13,23,.99));box-shadow:0 26px 68px rgba(0,0,0,.25)}
.ffp-testimonial::before{content:'“';position:absolute;top:-26px;right:28px;color:rgba(87,212,239,.09);font-family:Georgia,serif;font-size:180px;line-height:1}
.ffp-testimonial-person{position:relative;display:grid;place-items:center;flex:0 0 auto;width:clamp(76px,9vw,112px);aspect-ratio:1;border:1px solid rgba(87,212,239,.52);border-radius:50%;background:linear-gradient(145deg,var(--ffp-accent-2),var(--ffp-accent));box-shadow:0 0 0 7px rgba(87,212,239,.055),0 0 38px rgba(31,128,190,.18);color:#fff;font-family:var(--ffp-font-heading);font-size:36px;font-weight:800}
.ffp-testimonial-person img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.ffp-testimonial blockquote{position:relative;z-index:1;margin:0}.ffp-testimonial-stars{margin-bottom:10px;color:#ffd36a;font-size:10px;letter-spacing:.14em}.ffp-testimonial blockquote p{max-width:760px;margin:0;color:#f7fbff;font-family:var(--ffp-font-heading);font-size:clamp(19px,2.25vw,34px);font-weight:600;line-height:1.15;letter-spacing:-.025em}.ffp-testimonial figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-top:15px}.ffp-testimonial figcaption strong{color:#fff;font-size:11px}.ffp-testimonial figcaption small{color:var(--ffp-muted);font-size:9px}.ffp-testimonial-more{position:relative;z-index:1;align-self:end;padding:10px 12px;border:1px solid rgba(87,212,239,.35);border-radius:99px;color:#fff;font-size:8px;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.ffp-testimonial-more:hover{border-color:var(--ffp-accent-2);background:rgba(87,212,239,.07)}
.ffp-testimonial-minimal{grid-template-columns:1fr}.ffp-testimonial-minimal .ffp-testimonial-person{display:none}.ffp-testimonial-minimal .ffp-testimonial-more{justify-self:start}
@container (max-width:700px){.ffp-testimonial{grid-template-columns:auto 1fr}.ffp-testimonial-more{grid-column:1/-1;justify-self:start}.ffp-testimonial blockquote p{font-size:clamp(18px,5cqw,26px)}}
@container (max-width:480px){.ffp-testimonial{grid-template-columns:1fr}.ffp-testimonial-person{width:72px}.ffp-testimonial-more{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.ffp-dialog-nav,.ffp-dialog-nav::before,.ffp-dialog-nav-icon,.ffp-dialog-nav-preview,.ffp-related-card,.ffp-search-suggestion,.ffp-advisor,.ffp-end-recommend,.ffp-related-preview{animation:none!important;transition:none!important}.ffp-dialog-nav:hover{transform:translateY(-50%)!important}}

/* 2.9 · Vollbreite, Portfolio-Kopf und Ergebnisberatung */
.ffp-gallery.ffp-full-bleed{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);border:0;border-radius:0}
.ffp-gallery.ffp-full-bleed::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ffp-bg)}
.ffp-widget-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.ffp-heading-mark{display:block;margin-bottom:13px;color:var(--ffp-accent-2)}
.ffp-heading-copy h2 em:empty{display:none}
.ffp-portfolio-stats{display:flex;align-items:flex-end;justify-content:flex-end;gap:clamp(18px,3vw,45px);padding-bottom:5px}
.ffp-portfolio-stat{display:grid;gap:5px;min-width:84px;text-align:right}
.ffp-portfolio-stat strong{color:#fff;font-family:var(--ffp-font-heading);font-size:clamp(29px,3.3vw,54px);font-weight:650;line-height:.8;letter-spacing:-.045em}
.ffp-portfolio-stat span{color:var(--ffp-muted);font-size:8px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.ffp-portfolio-stat.is-counting strong{color:var(--ffp-accent-2);text-shadow:0 0 20px rgba(87,212,239,.22)}
.ffp-widget-head-hero{position:relative;isolation:isolate;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;min-height:clamp(510px,61vw,760px);margin:calc(clamp(28px,5vw,78px)*-1) calc(clamp(28px,5vw,78px)*-1) clamp(48px,7vw,100px);padding:clamp(82px,11vw,150px) clamp(28px,7vw,120px) clamp(42px,6vw,78px);overflow:hidden;background:radial-gradient(circle at 80% 18%,rgba(31,128,190,.2),transparent 28%),linear-gradient(135deg,#101c2d,#050a13 68%)}
.ffp-widget-head-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 91% 10%,rgba(215,25,95,.16),transparent 30%),radial-gradient(circle at 18% 42%,rgba(87,212,239,.1),transparent 38%),radial-gradient(ellipse at 18% 44%,rgba(2,7,15,.46),transparent 52%),linear-gradient(90deg,rgba(3,8,16,.34),transparent 68%),linear-gradient(180deg,rgb(5 10 19 / var(--ffp-hero-overlay,.72)),rgb(5 10 19 / var(--ffp-hero-overlay,.72)) 60%,#050a13 100%)}
.ffp-head-media{position:absolute;z-index:-2;inset:0;background-position:center;background-size:cover;filter:grayscale(var(--ffp-header-grayscale,0)) brightness(var(--ffp-header-brightness,1))!important;transform:scale(1.015)}
.ffp-head-media video{display:block;width:100%;height:100%;object-fit:cover;filter:none!important}
.ffp-head-media-overlay{position:absolute;z-index:4;inset:0;display:block;background:var(--ffp-header-overlay-color,#050a13);opacity:var(--ffp-hero-overlay,.45);pointer-events:none}
.ffp-widget-head-hero .ffp-heading-copy{align-self:center;max-width:860px}
.ffp-widget-head-hero .ffp-heading-mark{color:#8fe9fa}
.ffp-widget-head-hero .ffp-heading-copy h2{max-width:850px;background:none;color:#fff;font-size:clamp(45px,6.8vw,104px);line-height:.94;text-wrap:balance;filter:drop-shadow(0 8px 26px rgba(0,0,0,.42))}
.ffp-widget-head-hero .ffp-heading-copy p{max-width:640px;color:rgba(244,248,252,.88);line-height:1.7;text-shadow:0 2px 14px rgba(0,0,0,.72)}
.ffp-hero-promises{position:relative;height:1.45em;margin-top:clamp(16px,2vw,24px);overflow:hidden;color:var(--ffp-accent-2);font-size:clamp(16px,1.55vw,23px);font-weight:760;line-height:1.35;letter-spacing:.015em;text-shadow:0 0 24px rgba(87,212,239,.24)}.ffp-hero-promises::after{content:"";position:absolute;left:0;bottom:0;width:min(210px,48%);height:1px;background:linear-gradient(90deg,var(--ffp-accent-2),var(--ffp-cta),transparent);opacity:.72}
.ffp-hero-promises span{position:absolute;inset:0 auto auto 0;opacity:0;transform:translateY(70%) rotateX(-22deg);transition:opacity .45s ease,transform .58s cubic-bezier(.22,1,.36,1)}.ffp-hero-promises span.is-active{opacity:1;transform:none}
.ffp-hero-promises span[data-ffp-promise-effect]{transition-duration:var(--ffp-promise-enter,520ms)}
.ffp-hero-promises span[data-ffp-promise-effect].is-leaving{transition-duration:var(--ffp-promise-exit,420ms)}
.ffp-hero-promises span[data-ffp-promise-effect="fade"]{filter:none!important;clip-path:none!important;transform:none!important}
.ffp-hero-promises span[data-ffp-promise-effect="slide"]{filter:none!important;clip-path:none!important;transform:translateX(34px)!important}
.ffp-hero-promises span[data-ffp-promise-effect="slide"].is-active{transform:none!important}
.ffp-hero-promises span[data-ffp-promise-effect="slide"].is-leaving{transform:translateX(-34px)!important}
.ffp-hero-promises span[data-ffp-promise-effect="focus"]{clip-path:none!important;filter:blur(10px)!important;transform:scale(.97)!important}
.ffp-hero-promises span[data-ffp-promise-effect="focus"].is-active{filter:none!important;transform:none!important}
.ffp-hero-promises span[data-ffp-promise-effect="wipe"]{filter:none!important;clip-path:inset(0 100% 0 0)!important;transform:none!important}
.ffp-hero-promises span[data-ffp-promise-effect="wipe"].is-active{clip-path:inset(0)!important}
.ffp-hero-promises span[data-ffp-promise-effect="wipe"].is-leaving{clip-path:inset(0 0 0 100%)!important}
.ffp-widget-head-hero .ffp-portfolio-stats{align-self:center;display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:clamp(18px,3vw,54px);padding:0}
.ffp-widget-head-hero .ffp-portfolio-stat{min-width:0;text-align:left}
.ffp-widget-head-hero .ffp-portfolio-stat strong{color:var(--ffp-cta);background-image:linear-gradient(112deg,#ffb0cb 0%,var(--ffp-cta) 52%,#921044 100%);background-size:165% 100%;background-position:18% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:clamp(43px,5.4vw,83px);font-weight:700;text-shadow:0 0 34px color-mix(in srgb,var(--ffp-cta) 18%,transparent)}
.ffp-widget-head-hero .ffp-portfolio-stat:nth-child(2) strong{background-position:50% 50%}.ffp-widget-head-hero .ffp-portfolio-stat:nth-child(3) strong{background-position:82% 50%}
.ffp-widget-head-hero .ffp-portfolio-stat.is-counting strong{animation:ffp-stat-gradient 1.15s cubic-bezier(.22,1,.36,1)}
.ffp-widget-head-hero .ffp-portfolio-stat span{color:#fff;font-size:clamp(9px,1vw,13px);letter-spacing:.04em;text-transform:none}
.ffp-head-logos{position:relative;z-index:1;grid-column:1/-1;width:100%;margin-top:clamp(44px,7vw,82px);padding-top:24px;overflow:hidden;border-top:1px solid rgba(255,255,255,.17);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ffp-head-logo-track{display:flex;width:max-content;will-change:transform;animation:ffp-logo-marquee 28s linear infinite}.ffp-head-logos:hover .ffp-head-logo-track,.ffp-head-logos:focus-within .ffp-head-logo-track{animation-play-state:paused}.ffp-head-logo-set{display:flex;align-items:center;gap:clamp(36px,5vw,82px);padding-right:clamp(36px,5vw,82px)}
.ffp-head-logos img{display:block;width:auto;max-width:clamp(80px,9vw,145px);height:clamp(23px,3vw,42px);object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.78;transition:opacity .25s,transform .25s}.ffp-head-logo-set>span{color:rgba(255,255,255,.8);font-size:clamp(11px,1.25vw,17px);font-weight:750;letter-spacing:.05em;white-space:nowrap;text-transform:uppercase;transition:.25s}
.ffp-head-logos img:hover,.ffp-head-logo-set>span:hover{opacity:1;color:#fff;transform:translateY(-2px)}
@keyframes ffp-logo-marquee{to{transform:translateX(-50%)}}
.ffp-head-scroll{position:absolute;z-index:2;right:50%;bottom:15px;display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.86);font-size:8px;font-weight:820;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;transform:translateX(50%)}.ffp-head-scroll i{position:relative;width:18px;height:24px}.ffp-head-scroll i::before,.ffp-head-scroll i::after{content:"";position:absolute;bottom:7px;width:10px;height:1px;background:var(--ffp-accent-2);animation:ffp-scroll-cue 1.5s ease-in-out infinite}.ffp-head-scroll i::before{left:0;transform:rotate(38deg)}.ffp-head-scroll i::after{right:0;transform:rotate(-38deg);animation-name:ffp-scroll-cue-right}.ffp-head-scroll:hover{color:#fff}.ffp-head-scroll:hover i{filter:drop-shadow(0 0 8px var(--ffp-accent-2))}
@keyframes ffp-scroll-cue{50%{opacity:.45;transform:translateY(6px) rotate(38deg)}}@keyframes ffp-scroll-cue-right{50%{opacity:.45;transform:translateY(6px) rotate(-38deg)}}
.ffp-hero-emily{position:absolute;z-index:4;right:clamp(24px,5vw,82px);bottom:clamp(70px,8vw,104px);display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;animation:ffp-emily-arrive .8s .8s cubic-bezier(.22,1,.36,1) both}.ffp-hero-emily-copy{display:grid;gap:4px;max-width:250px;padding:12px 15px;border:1px solid rgba(87,212,239,.36);border-radius:14px 14px 4px 14px;background:linear-gradient(135deg,rgba(13,26,45,.92),rgba(6,12,22,.92));box-shadow:0 15px 42px rgba(0,0,0,.3),0 0 30px rgba(31,128,190,.11);backdrop-filter:blur(12px);transition:transform .25s,border-color .25s}.ffp-hero-emily-copy strong{font-size:11px;font-weight:800;letter-spacing:.02em}.ffp-hero-emily-copy small{color:#b8c8dc;font-size:9px;line-height:1.45}.ffp-hero-emily .ffp-emily-avatar{position:relative;flex-basis:56px;width:56px;border:1px solid rgba(255,255,255,.48);box-shadow:0 0 0 8px rgba(87,212,239,.08),0 0 38px rgba(87,212,239,.34)}.ffp-hero-emily .ffp-emily-avatar::before{content:"";position:absolute;z-index:-1;inset:-9px;border:1px solid rgba(87,212,239,.46);border-radius:50%;animation:ffp-emily-pulse 2.2s ease-out infinite}.ffp-hero-emily:hover .ffp-hero-emily-copy{border-color:var(--ffp-accent-2);transform:translateY(-3px)}.ffp-hero-emily:hover .ffp-emily-avatar{box-shadow:0 0 0 10px rgba(87,212,239,.1),0 0 44px rgba(87,212,239,.46)}
@keyframes ffp-emily-arrive{from{opacity:0;transform:translate(55px,18px) rotate(4deg)}to{opacity:1;transform:none}}@keyframes ffp-emily-pulse{0%{opacity:.8;transform:scale(.82)}75%,100%{opacity:0;transform:scale(1.35)}}
.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-4x5 .ffp-card-media,.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:16/9}
.ffp-gallery.has-selection .ffp-card.is-first{grid-column:auto}.ffp-gallery.has-selection .ffp-card.is-first .ffp-card-media{min-height:0;aspect-ratio:16/9}.ffp-gallery.has-selection .ffp-card.is-first .ffp-card-title{max-width:none}.ffp-gallery.has-selection .ffp-card.is-first .ffp-card-title strong{font-size:clamp(23px,2.25vw,38px)}
.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-9x16 .ffp-poster,.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-4x5 .ffp-poster,.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-1x1 .ffp-poster{object-position:center}
.ffp-gallery .ffp-card .ffp-poster{z-index:1;object-position:var(--ffp-focus-x,50%) var(--ffp-focus-y,50%)}
.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-9x16 .ffp-card-media::before,.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-4x5 .ffp-card-media::before{content:"";position:absolute;z-index:0;inset:-9%;background-image:linear-gradient(rgba(5,10,19,.28),rgba(5,10,19,.28)),var(--ffp-poster-bg);background-position:var(--ffp-focus-x,50%) var(--ffp-focus-y,38%);background-size:cover;filter:blur(18px) saturate(.72);transform:scale(1.06)}
.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-9x16 .ffp-poster,.ffp-gallery:not(.ffp-preset-reels) .ffp-card.ffp-ratio-4x5 .ffp-poster{object-fit:contain}
.ffp-project-edit{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;padding:9px 12px;border:1px solid rgba(87,212,239,.38);border-radius:7px;background:rgba(31,128,190,.1);color:#d9f8ff;font-size:8px;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.ffp-project-edit:hover{border-color:var(--ffp-accent-2);background:rgba(87,212,239,.14);color:#fff}
.ffp-advisor-close,.ffp-emily-head>button,.ffp-dialog-close,.ffp-dialog-close i,.ffp-end-recommend-dismiss{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}
.ffp-dialog-close i{width:auto!important;min-width:28px}.ffp-advisor-close:focus,.ffp-advisor-close:focus-visible,.ffp-emily-head>button:focus,.ffp-emily-head>button:focus-visible,.ffp-dialog-close:focus,.ffp-dialog-close:focus-visible,.ffp-end-recommend-dismiss:focus,.ffp-end-recommend-dismiss:focus-visible{outline:0!important;box-shadow:none!important;color:#fff;filter:drop-shadow(0 0 9px rgba(87,212,239,.7))}

/* 2.9 · Poster Wall, Hochformat-Highlights und Consent-geschützte Medien */
.ffp-preset-poster .ffp-grid{grid-template-columns:repeat(var(--ffp-columns),minmax(0,1fr));gap:clamp(9px,var(--ffp-gap),26px)}
.ffp-preset-poster .ffp-card,.ffp-preset-poster .ffp-card:hover{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.ffp-preset-poster .ffp-card-media{aspect-ratio:16/10!important;overflow:hidden;border:1px solid rgba(122,151,190,.16);border-radius:max(2px,calc(var(--ffp-radius)*.55));background:#09111d;box-shadow:0 12px 34px rgba(0,0,0,.22);transition:border-color .3s,box-shadow .3s,transform .45s cubic-bezier(.2,.75,.2,1)}
.ffp-preset-poster .ffp-card:hover .ffp-card-media,.ffp-preset-poster .ffp-card-media:focus-visible{border-color:rgba(87,212,239,.5);box-shadow:0 16px 48px rgba(0,0,0,.32),0 0 40px rgba(31,128,190,.13);transform:translateY(-3px)}
.ffp-preset-poster .ffp-card-body{display:none}
.ffp-preset-poster .ffp-shade{opacity:0;background:linear-gradient(180deg,transparent 32%,rgba(3,7,14,.88) 100%);transition:opacity .35s}
.ffp-preset-poster .ffp-play{opacity:0;transform:translate(-50%,-42%) scale(.75);transition:opacity .3s,transform .4s}
.ffp-preset-poster .ffp-card-title{overflow:hidden;opacity:0;transform:translateY(15px);transition:opacity .32s ease,transform .48s cubic-bezier(.2,.78,.2,1)}
.ffp-preset-poster .ffp-card-title small{transform:translateY(7px);transition:transform .42s .03s}
.ffp-preset-poster .ffp-card-title strong{font-size:clamp(19px,1.8vw,30px);font-weight:650;transform:translateY(16px);transition:transform .48s .06s cubic-bezier(.2,.78,.2,1)}
.ffp-preset-poster .ffp-card:hover .ffp-shade,.ffp-preset-poster .ffp-card-media:focus-visible .ffp-shade,.ffp-preset-poster .ffp-card:hover .ffp-play,.ffp-preset-poster .ffp-card-media:focus-visible .ffp-play,.ffp-preset-poster .ffp-card:hover .ffp-card-title,.ffp-preset-poster .ffp-card-media:focus-visible .ffp-card-title{opacity:1}
.ffp-preset-poster .ffp-card:hover .ffp-play,.ffp-preset-poster .ffp-card-media:focus-visible .ffp-play{transform:translate(-50%,-50%) scale(.88)}
.ffp-preset-poster .ffp-card:hover .ffp-card-title,.ffp-preset-poster .ffp-card-media:focus-visible .ffp-card-title,.ffp-preset-poster .ffp-card:hover .ffp-card-title small,.ffp-preset-poster .ffp-card:hover .ffp-card-title strong,.ffp-preset-poster .ffp-card-media:focus-visible .ffp-card-title small,.ffp-preset-poster .ffp-card-media:focus-visible .ffp-card-title strong{transform:none}
.ffp-preset-cinematic .ffp-card.is-first.ffp-ratio-9x16,.ffp-preset-cinematic .ffp-card.is-first.ffp-ratio-4x5,.ffp-preset-cinema .ffp-card.is-first.ffp-ratio-9x16,.ffp-preset-cinema .ffp-card.is-first.ffp-ratio-4x5{grid-column:span 1!important;width:min(100%,440px);justify-self:center}
.ffp-preset-cinematic .ffp-card.is-first.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-cinematic .ffp-card.is-first.ffp-ratio-4x5 .ffp-card-media,.ffp-preset-cinema .ffp-card.is-first.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-cinema .ffp-card.is-first.ffp-ratio-4x5 .ffp-card-media{min-height:0!important;aspect-ratio:4/5!important}
.ffp-preset-cinematic .ffp-card.is-first.ffp-ratio-9x16 .ffp-card-title strong,.ffp-preset-cinematic .ffp-card.is-first.ffp-ratio-4x5 .ffp-card-title strong,.ffp-preset-cinema .ffp-card.is-first.ffp-ratio-9x16 .ffp-card-title strong,.ffp-preset-cinema .ffp-card.is-first.ffp-ratio-4x5 .ffp-card-title strong{font-size:clamp(25px,3vw,43px)}
.ffp-poster-placeholder[data-ffp-external-poster]{display:block;width:100%;height:100%;background:radial-gradient(circle at 68% 28%,rgba(87,212,239,.14),transparent 24%),linear-gradient(135deg,#101c2d,#070d17 64%,#111528)}
.ffp-poster-placeholder[data-ffp-external-poster]::after{content:"";position:absolute;inset:42% 47%;border:1px solid rgba(87,212,239,.45);transform:rotate(45deg);box-shadow:0 0 22px rgba(87,212,239,.18)}
.ffp-consent-gate{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:clamp(300px,55vw,680px);padding:clamp(28px,6vw,72px);background:radial-gradient(circle at 50% 32%,rgba(31,128,190,.14),transparent 32%),#050a13;color:#fff;text-align:center}
.ffp-consent-gate>span{position:relative;width:42px;height:42px;margin-bottom:22px;border:1px solid rgba(87,212,239,.5);transform:rotate(45deg);box-shadow:0 0 28px rgba(87,212,239,.12)}
.ffp-consent-gate>span i{position:absolute;inset:10px;border:1px solid rgba(215,25,95,.65)}
.ffp-consent-gate small{color:var(--ffp-accent-2);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ffp-consent-gate strong{max-width:690px;margin-top:10px;font-family:var(--ffp-font-heading);font-size:clamp(26px,4vw,58px);line-height:.95;letter-spacing:-.035em}
.ffp-consent-gate p{max-width:560px;margin:16px auto 24px;color:#aebbd0;font-size:14px;line-height:1.55}
.ffp-consent-gate button{padding:13px 18px;border:1px solid rgba(87,212,239,.62);border-radius:100px;background:rgba(31,128,190,.08);color:#fff;font:700 10px/1 var(--ffp-font-body);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.22s}
.ffp-consent-gate button:hover{border-color:#57d4ef;background:rgba(87,212,239,.12);box-shadow:0 0 28px rgba(31,128,190,.16)}
.ffp-personal-filter-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 24px;padding:12px 14px;border:1px solid rgba(87,212,239,.3);border-radius:9px;background:linear-gradient(110deg,rgba(31,128,190,.14),rgba(11,20,35,.68));box-shadow:0 12px 34px rgba(0,0,0,.12)}.ffp-personal-filter-bar[hidden]{display:none}.ffp-personal-filter-bar>span{color:var(--ffp-accent-2);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ffp-personal-filter-bar>strong{font-size:11px;font-weight:650}.ffp-personal-filter-bar button{padding:7px 9px;border:0;background:transparent;color:#9aa9bd;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.ffp-personal-filter-bar button:hover{color:#fff}
@container (max-width:900px){.ffp-preset-poster .ffp-grid{grid-template-columns:repeat(var(--ffp-columns-tablet),minmax(0,1fr))}}
@container (max-width:900px){.ffp-widget-head-hero{grid-template-columns:1fr;min-height:660px;padding-top:100px}.ffp-widget-head-hero .ffp-portfolio-stats{align-self:auto;justify-self:start;width:min(100%,620px)}.ffp-head-logos{margin-top:34px}}
@container (max-width:560px){.ffp-preset-poster .ffp-grid{grid-template-columns:repeat(var(--ffp-columns-mobile),minmax(0,1fr));gap:12px}.ffp-preset-poster .ffp-card-title,.ffp-preset-poster .ffp-shade{opacity:1;transform:none}.ffp-preset-poster .ffp-card-title small,.ffp-preset-poster .ffp-card-title strong{transform:none}.ffp-preset-cinematic .ffp-card.is-first.ffp-ratio-9x16,.ffp-preset-cinematic .ffp-card.is-first.ffp-ratio-4x5,.ffp-preset-cinema .ffp-card.is-first.ffp-ratio-9x16,.ffp-preset-cinema .ffp-card.is-first.ffp-ratio-4x5{grid-column:span 1!important;width:min(82vw,410px)}}
@container (max-width:560px){.ffp-widget-head-hero{min-height:690px;padding:78px 22px 58px}.ffp-widget-head-hero .ffp-heading-copy h2{font-size:clamp(40px,12.4vw,58px);line-height:.98;letter-spacing:-.03em}.ffp-widget-head-hero .ffp-heading-copy p{margin-top:20px;font-size:14px;line-height:1.72}.ffp-hero-promises{height:1.55em;margin-top:15px;font-size:15px}.ffp-widget-head-hero .ffp-portfolio-stats{grid-template-columns:repeat(3,1fr);gap:10px}.ffp-widget-head-hero .ffp-portfolio-stat strong{font-size:clamp(32px,10vw,46px)}.ffp-widget-head-hero .ffp-portfolio-stat span{font-size:7.5px;line-height:1.35}.ffp-head-logos{margin-top:22px;padding-top:18px}.ffp-head-logo-set{gap:34px;padding-right:34px}.ffp-head-logos img{max-width:88px;height:24px}.ffp-head-scroll{bottom:12px}.ffp-head-scroll span{font-size:7px}}
@container (max-width:560px){.ffp-hero-emily{right:18px;bottom:70px;gap:8px}.ffp-hero-emily-copy{position:absolute;right:0;bottom:67px;width:218px;padding:10px 12px}.ffp-hero-emily-copy strong{font-size:10px}.ffp-hero-emily-copy small{font-size:8px}.ffp-hero-emily .ffp-emily-avatar{flex-basis:50px;width:50px}}
@container (max-width:560px){.ffp-personal-filter-bar{grid-template-columns:1fr auto}.ffp-personal-filter-bar>span{grid-column:1/-1}.ffp-personal-filter-bar>strong{font-size:10px}}
.ffp-advisor-choices button>span{display:grid;gap:4px;min-width:0}.ffp-advisor-choices button>span em{color:#74859c;font-size:8px;font-style:normal;font-weight:400;line-height:1.35}
.ffp-advisor-choices.is-summary{display:block}.ffp-advisor-summary{display:grid;gap:22px}.ffp-advisor-summary-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ffp-advisor-summary-rows>div{display:grid;gap:5px;padding:13px;border:1px solid rgba(105,146,196,.25);border-radius:10px;background:rgba(11,20,35,.58)}.ffp-advisor-summary-rows small{color:#71839c;font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ffp-advisor-summary-rows strong{font-size:11px;line-height:1.25}.ffp-advisor-summary-actions{display:flex;flex-wrap:wrap;gap:9px}.ffp-advisor-summary-actions a,.ffp-advisor-summary-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid rgba(87,212,239,.5);border-radius:99px;background:rgba(31,128,190,.08);color:#fff;font-size:8px;font-weight:850;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.ffp-advisor-summary-actions a{border-color:transparent;background:linear-gradient(110deg,var(--ffp-cta),#9f174e);box-shadow:0 10px 30px rgba(215,25,95,.2)}
@media(max-width:720px){.ffp-widget-head{grid-template-columns:1fr}.ffp-portfolio-stats{justify-content:flex-start}.ffp-portfolio-stat{text-align:left}.ffp-advisor-summary-rows{grid-template-columns:1fr}.ffp-advisor-summary-actions a,.ffp-advisor-summary-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.ffp-advisor-progress i,.ffp-advisor-question,.ffp-advisor-choices button,.ffp-portfolio-stat strong,.ffp-head-logo-track,.ffp-head-scroll i::before,.ffp-head-scroll i::after{animation:none!important;transition:none!important}.ffp-head-logo-set[aria-hidden="true"]{display:none}}
@keyframes ffp-stat-gradient{0%{background-position:0 50%;filter:brightness(.92)}65%{background-position:100% 50%;filter:brightness(1.14)}100%{filter:none}}
@media(prefers-reduced-motion:reduce){.ffp-hero-emily,.ffp-hero-emily .ffp-emily-avatar::before{animation:none!important}}
.ffp-head-scroll{top:min(calc(100svh - 120px),calc(100% - 44px));bottom:auto}
@container (max-width:560px){.ffp-head-scroll{top:min(calc(100svh - 250px),calc(100% - 40px));bottom:auto}}
.ffp-emily-message{animation:none}.ffp-emily-message.is-answer-arriving{animation:ffp-emily-answer-pop .32s cubic-bezier(.22,1,.36,1)}
.ffp-emily-form[hidden]{display:none!important}.ffp-emily-flash{display:none!important}.ffp-emily-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.ffp-emily-choices button{display:grid;gap:5px;min-height:72px;padding:13px 14px;border-radius:12px;background:rgba(10,20,36,.72);color:#fff;text-align:left;transition:border-color .18s,background .18s,transform .18s}.ffp-emily-choices button:hover{background:rgba(31,128,190,.11);transform:translateY(-1px)}.ffp-emily-choices button.is-selected{border-color:color-mix(in srgb,var(--ffp-cta) 72%,#fff);background:color-mix(in srgb,var(--ffp-cta) 14%,#0a1424);box-shadow:0 0 22px color-mix(in srgb,var(--ffp-cta) 15%,transparent)}.ffp-emily-choices button strong{font-size:11px;line-height:1.2;hyphens:none;overflow-wrap:normal}.ffp-emily-choices button small{color:var(--ffp-muted);font-size:8px;line-height:1.4}
.ffp-hero-promises{height:1.5em;margin-top:clamp(18px,2.2vw,28px);font-size:clamp(20px,2.05vw,32px);font-weight:720;line-height:1.36;perspective:500px}.ffp-hero-promises span{opacity:0;filter:blur(9px);clip-path:inset(0 0 100% 0);transform:translateY(92%) rotateX(-18deg) scale(.97);transform-origin:50% 100%;transition:opacity .38s ease,filter .56s ease,clip-path .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1)}.ffp-hero-promises span.is-active{opacity:1;filter:none;clip-path:inset(0);transform:none}.ffp-hero-promises span.is-leaving{opacity:0;filter:blur(7px);clip-path:inset(100% 0 0 0);transform:translateY(-72%) rotateX(16deg) scale(.985)}
.ffp-emily-open{overflow:hidden}.ffp-emily-scrim{position:fixed;z-index:99998;inset:0;margin:0;padding:0;border:0;background:rgba(2,7,14,.62);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);cursor:default;animation:ffp-emily-scrim-in .25s ease both}.ffp-emily-scrim[hidden]{display:none}.ffp-emily-panel{position:fixed;z-index:99999;top:clamp(16px,4vh,42px);right:clamp(16px,2.5vw,38px);bottom:clamp(16px,4vh,42px);display:grid;grid-template-rows:auto minmax(84px,1fr) auto auto;width:min(460px,calc(100vw - 32px));max-height:none;margin:0;padding:clamp(18px,2.1vw,26px);overflow:hidden;border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(215,25,95,.13),transparent 34%),linear-gradient(150deg,rgba(17,30,50,.99),rgba(5,10,19,.995));box-shadow:-30px 0 90px rgba(0,0,0,.42),0 0 0 1px rgba(87,212,239,.11);animation:ffp-emily-drawer-in .4s cubic-bezier(.22,1,.36,1) both}.ffp-emily-panel[hidden]{display:none}.ffp-emily-panel .ffp-emily-conversation{max-height:none;min-height:84px;margin:20px 0 14px;overscroll-behavior:contain}.ffp-emily-panel .ffp-emily-choices{grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto;overscroll-behavior:contain}.ffp-emily-disclosure{display:grid;grid-template-columns:auto 1fr;gap:9px;margin:15px 0 0;padding-top:14px;border-top:1px solid rgba(105,146,196,.18);color:#8091a8;font-size:8px;line-height:1.55}.ffp-emily-disclosure>span{display:grid;place-items:center;width:17px;height:17px;border:1px solid rgba(87,212,239,.45);border-radius:50%;color:var(--ffp-accent-2);font-size:9px;font-weight:800}.ffp-emily-disclosure a{grid-column:2;color:#b7c7db;text-underline-offset:2px}.ffp-emily-head>button{padding:4px 0 4px 12px;border:0;border-radius:0;background:transparent;line-height:1}
.ffp-emily-panel.is-local{bottom:auto;grid-template-rows:auto auto auto auto;max-height:calc(100svh - clamp(32px,8vh,84px))}.ffp-emily-panel.is-local .ffp-emily-conversation{max-height:180px}
@keyframes ffp-emily-drawer-in{from{opacity:.2;transform:translateX(36px) scale(.985)}to{opacity:1;transform:none}}@keyframes ffp-emily-scrim-in{from{opacity:0}to{opacity:1}}
@keyframes ffp-emily-answer-pop{from{opacity:.25;transform:translateY(7px) scale(.975)}to{opacity:1;transform:none}}
@media(max-width:760px){.ffp-hero-promises{font-size:clamp(18px,5.7vw,23px)}.ffp-emily-panel,.ffp-emily-panel.is-local{top:auto;right:0;bottom:0;left:0;width:100%;max-height:min(88svh,760px);padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;grid-template-rows:auto minmax(76px,auto) auto auto;animation-name:ffp-emily-sheet-in}.ffp-emily-panel .ffp-emily-choices{grid-template-columns:1fr}.ffp-emily-choices button{min-height:62px}.ffp-emily-head small{font-size:9px;line-height:1.4}.ffp-emily-disclosure{font-size:7.5px}}
.ffp-hero-emily{bottom:170px}
@container (max-width:560px){.ffp-hero-emily{right:18px;bottom:115px}.ffp-hero-emily-copy{right:62px;bottom:-4px}.ffp-head-scroll{top:auto!important;bottom:8px!important}}
@container (min-width:561px) and (max-width:900px){.ffp-hero-emily{bottom:120px}}
@keyframes ffp-emily-sheet-in{from{opacity:.3;transform:translateY(44px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ffp-emily-message.is-answer-arriving,.ffp-emily-panel,.ffp-emily-scrim,.ffp-hero-promises span{animation:none!important;transition:none!important}.ffp-hero-promises span{filter:none!important}}
.ffp-load-more{gap:15px;padding-right:17px}.ffp-load-more .ffp-load-icon{position:relative;display:block;width:31px;height:18px;border-radius:0;background:transparent}.ffp-load-icon i{position:absolute;top:50%;width:15px;height:1px;background:var(--ffp-accent-2);transition:transform .22s}.ffp-load-icon i:first-child{left:1px;transform:translateY(-50%)}.ffp-load-icon i:last-child{right:1px;transform:translateY(-50%)}.ffp-load-more:hover .ffp-load-icon i:first-child{transform:translate(3px,-50%)}.ffp-load-more:hover .ffp-load-icon i:last-child{transform:translate(-3px,-50%)}.ffp-load-wrap.is-infinite{min-height:54px;padding-top:30px}.ffp-load-wrap.is-infinite .ffp-load-more{width:44px;height:44px;padding:0;overflow:hidden;border:0;font-size:0;pointer-events:none}.ffp-load-wrap.is-infinite .ffp-load-icon{margin:auto}.ffp-load-wrap.is-infinite .ffp-load-icon i{animation:ffp-load-pulse 1.1s infinite alternate ease-in-out}@keyframes ffp-load-pulse{to{opacity:.3;transform:translateY(-50%) scaleX(.55)}}

/* Emily: persistenter Referenzfinder mit Live-Ergebnissen */
.ffp-hero-emily{display:none}.ffp-toolbar .ffp-emily-toggle{position:fixed;z-index:9997;right:24px;bottom:24px;min-height:52px;padding:7px 18px 7px 8px;border-color:rgba(87,212,239,.62);background:linear-gradient(135deg,rgba(13,28,49,.98),rgba(8,15,27,.98));box-shadow:0 18px 55px rgba(0,0,0,.38),0 0 32px rgba(31,128,190,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ffp-toolbar .ffp-emily-toggle .ffp-emily-avatar{width:36px;flex-basis:36px}.ffp-toolbar .ffp-emily-toggle::after{content:"Referenzen finden";font-size:8px;font-weight:650;color:#93a6be;letter-spacing:.02em}.ffp-emily-open .ffp-toolbar .ffp-emily-toggle{opacity:0;pointer-events:none}.ffp-emily-scrim{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.ffp-emily-panel,.ffp-emily-panel.is-local{top:24px;right:24px;bottom:24px;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(940px,calc(100vw - 48px));max-height:none}.ffp-emily-body{display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);gap:22px;min-height:0;margin-top:18px}.ffp-emily-chat{display:flex;flex-direction:column;min-width:0;min-height:0;padding-right:20px;border-right:1px solid rgba(105,146,196,.18);overflow:auto}.ffp-emily-panel .ffp-emily-conversation,.ffp-emily-panel.is-local .ffp-emily-conversation{flex:0 1 auto;min-height:0;max-height:230px;margin:0 0 12px}.ffp-emily-progress{margin:0 0 10px;color:var(--ffp-accent-2);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ffp-emily-panel .ffp-emily-choices{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;overflow:visible}.ffp-emily-panel .ffp-emily-choices button{min-height:58px}.ffp-emily-results{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0}.ffp-emily-results>div:first-child{display:grid;gap:4px}.ffp-emily-results>div:first-child small{color:var(--ffp-accent-2);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.ffp-emily-results>div:first-child strong{font-family:var(--ffp-font-heading);font-size:clamp(22px,2.2vw,32px)}.ffp-emily-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;margin-top:16px;overflow:auto}.ffp-emily-result-list>p{grid-column:1/-1;color:var(--ffp-muted);font-size:11px}.ffp-emily-result-card{display:grid;min-width:0;padding:0;overflow:hidden;border:1px solid rgba(105,146,196,.28);border-radius:12px;background:#0b1526;color:#fff;text-align:left;cursor:pointer}.ffp-emily-result-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.ffp-emily-result-card>span{display:grid;gap:3px;padding:10px}.ffp-emily-result-card small{color:var(--ffp-accent-2);font-size:7px;letter-spacing:.07em;text-transform:uppercase}.ffp-emily-result-card strong{font-size:11px;line-height:1.2}.ffp-emily-result-card em{color:#8192aa;font-size:7px;font-style:normal;text-transform:uppercase}.ffp-emily-result-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:14px}.ffp-emily-result-actions button{min-height:40px;padding:0 14px;border:1px solid rgba(105,146,196,.32);border-radius:99px;background:transparent;color:#cbd7e6;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.ffp-emily-result-actions button:last-child{border-color:transparent;background:linear-gradient(110deg,var(--ffp-cta),#9f174e);color:#fff}.ffp-emily-result-actions button:disabled{opacity:.35;cursor:default}.ffp-emily-disclosure{margin-top:auto}.ffp-emily-form{margin:0 0 10px}
@media(max-width:760px){.ffp-toolbar .ffp-emily-toggle{right:14px;bottom:14px;width:54px;height:54px;min-height:54px;padding:8px;border-radius:50%}.ffp-toolbar .ffp-emily-toggle>span:last-of-type,.ffp-toolbar .ffp-emily-toggle::after{display:none}.ffp-toolbar .ffp-emily-toggle .ffp-emily-avatar{width:38px;flex-basis:38px}.ffp-emily-panel,.ffp-emily-panel.is-local{top:auto;right:0;bottom:0;left:0;width:100%;max-height:92svh;padding:18px 16px calc(16px + env(safe-area-inset-bottom));overflow:auto}.ffp-emily-panel:not([hidden]){display:block}.ffp-emily-body{display:block;margin-top:16px;overflow:visible}.ffp-emily-chat{padding:0 0 18px;border-right:0;border-bottom:1px solid rgba(105,146,196,.18);overflow:visible}.ffp-emily-panel .ffp-emily-conversation,.ffp-emily-panel.is-local .ffp-emily-conversation{flex:0 0 auto;min-height:78px;max-height:190px}.ffp-emily-panel .ffp-emily-choices{grid-template-columns:1fr}.ffp-emily-results{margin-top:18px}.ffp-emily-result-list{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.ffp-emily-result-actions{position:static;padding:14px 0 0;background:none}.ffp-emily-result-actions button{flex:1}.ffp-emily-results>div:first-child strong{font-size:22px}}
.ffp-emily-panel[hidden],.ffp-emily-scrim[hidden]{display:none!important}

/* 2.19 · Größenhierarchie folgt Vorlage, Auswahl und Seitenverhältnis */
.ffp-preset-stream .ffp-card:nth-child(n){grid-column:auto}
.ffp-preset-stream .ffp-card:nth-child(n) .ffp-card-media{aspect-ratio:16/9!important}
.ffp-screening-track{align-items:flex-start}

@container (min-width:901px){
  .ffp-preset-cinematic:not(.has-selection) .ffp-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(14px,1.45vw,24px)}
  .ffp-preset-cinematic:not(.has-selection) .ffp-card{grid-column:span 4}
  .ffp-preset-cinematic:not(.has-selection) .ffp-card.is-layout-featured{grid-column:span 8;grid-row:span 2}
  .ffp-preset-cinematic:not(.has-selection) .ffp-card.is-layout-featured .ffp-card-media{height:100%;min-height:500px;aspect-ratio:auto!important}

  .ffp-preset-poster:not(.has-selection) .ffp-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;align-items:start;gap:clamp(12px,1.4vw,22px)}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-16x9{grid-column:span 4}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-1x1{grid-column:span 3}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-9x16,.ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-4x5{grid-column:span 2}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-16x9 .ffp-card-media{aspect-ratio:16/10!important}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:1!important}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-4x5 .ffp-card-media{aspect-ratio:4/5!important}

  .ffp-preset-cinema:not(.has-selection) .ffp-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(16px,1.7vw,28px)}
  .ffp-preset-cinema:not(.has-selection) .ffp-card{grid-column:span 4}
  .ffp-preset-cinema:not(.has-selection) .ffp-card:not(.is-layout-featured) .ffp-card-media{aspect-ratio:16/9!important}
  .ffp-preset-cinema:not(.has-selection) .ffp-card.is-layout-featured{grid-column:1/-1}
  .ffp-preset-cinema:not(.has-selection) .ffp-card.is-layout-featured .ffp-card-media{min-height:460px;aspect-ratio:24/8!important}

  .ffp-preset-netflix .ffp-card:nth-child(n){flex-basis:clamp(280px,31cqw,430px)}
  .ffp-preset-screening.has-selection .ffp-card{flex-basis:clamp(280px,34cqw,440px)}
  .ffp-preset-screening.has-selection .ffp-card .ffp-card-media{min-height:0;aspect-ratio:16/9!important}
  .ffp-screening-track .ffp-card:nth-child(n){flex-basis:clamp(300px,32cqw,440px)}
  .ffp-screening-track .ffp-card:nth-child(n) .ffp-card-title strong{font-size:clamp(21px,2.1vw,32px)}
}

@container (min-width:561px) and (max-width:900px){
  .ffp-preset-cinematic:not(.has-selection) .ffp-card.is-layout-featured,.ffp-preset-cinema:not(.has-selection) .ffp-card.is-layout-featured{grid-column:1/-1}
  .ffp-preset-poster:not(.has-selection) .ffp-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-16x9{grid-column:span 4}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-1x1{grid-column:span 3}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-9x16,.ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-4x5{grid-column:span 2}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-16x9 .ffp-card-media{aspect-ratio:16/10!important}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:1!important}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-4x5 .ffp-card-media{aspect-ratio:4/5!important}
  .ffp-preset-netflix .ffp-card:nth-child(n){flex-basis:min(42cqw,380px)}
  .ffp-screening-track .ffp-card:nth-child(n){flex-basis:min(46cqw,420px)}
}

@container (max-width:560px){
  .ffp-preset-cinematic:not(.has-selection) .ffp-card.is-layout-featured,.ffp-preset-cinema:not(.has-selection) .ffp-card.is-layout-featured{grid-column:auto;width:100%}
  .ffp-preset-cinematic:not(.has-selection) .ffp-card.is-layout-featured .ffp-card-media,.ffp-preset-cinema:not(.has-selection) .ffp-card.is-layout-featured .ffp-card-media{min-height:0;aspect-ratio:16/9!important}
  .ffp-preset-cinematic:not(.has-selection) .ffp-card.is-layout-featured .ffp-card-title strong,.ffp-preset-cinema:not(.has-selection) .ffp-card.is-layout-featured .ffp-card-title strong{font-size:clamp(21px,6.4vw,29px)}
  .ffp-preset-cinematic:not(.has-selection) .ffp-card:nth-child(n) .ffp-card-media,.ffp-preset-cinema:not(.has-selection) .ffp-card:nth-child(n) .ffp-card-media{aspect-ratio:16/9!important}
  .ffp-preset-poster:not(.has-selection) .ffp-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:12px}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-16x9{grid-column:1/-1}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-1x1,.ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-9x16,.ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-4x5{grid-column:span 1}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-16x9 .ffp-card-media{aspect-ratio:16/10!important}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:1!important}
  .ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-poster:not(.has-selection) .ffp-card.ffp-ratio-4x5 .ffp-card-media{aspect-ratio:4/5!important}
  .ffp-preset-poster .ffp-card-title strong{font-size:clamp(15px,4.5vw,20px)}
  .ffp-preset-netflix .ffp-card:nth-child(n),.ffp-preset-screening.has-selection .ffp-card,.ffp-screening-track .ffp-card:nth-child(n){flex-basis:72cqw}
}

/* 2.17 · Mobile Hero mit vertikaler Statistikspur und Trefferfluss */
@container (max-width:560px){
  .ffp-widget-head-hero{align-content:start;grid-template-rows:auto auto;row-gap:18px;min-height:560px;padding:54px 22px 52px}
  .ffp-widget-head-hero .ffp-heading-copy{align-self:start}
  .ffp-widget-head-hero .ffp-heading-copy h2{font-size:clamp(38px,11.8cqw,54px);line-height:.95;letter-spacing:-.035em;text-align:center}
  .ffp-hero-promises{margin-top:13px;text-align:center}
  .ffp-hero-promises span{right:0}
  .ffp-hero-promises::after{left:50%;width:min(190px,58%);transform:translateX(-50%)}
  .ffp-widget-head-hero .ffp-portfolio-stats{justify-self:center;grid-template-columns:1fr;width:min(100%,310px);gap:0;margin:0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
  .ffp-widget-head-hero .ffp-portfolio-stat{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:15px;min-width:0;padding:9px 7px;text-align:left}
  .ffp-widget-head-hero .ffp-portfolio-stat + .ffp-portfolio-stat{border-top:1px solid rgba(255,255,255,.1)}
  .ffp-widget-head-hero .ffp-portfolio-stat strong{font-size:clamp(36px,10.8cqw,46px);line-height:.82;text-align:right}
  .ffp-widget-head-hero .ffp-portfolio-stat span{font-size:8px;font-weight:760;line-height:1.25;letter-spacing:.075em;text-align:left;text-transform:uppercase}
  .ffp-head-logos{position:absolute;right:22px;bottom:48px;left:22px;width:auto;margin:0;padding-top:14px}
  .ffp-head-scroll{top:auto!important;bottom:3px!important}
  .ffp-toolbar{flex-wrap:wrap}
  .ffp-search-shell{order:1}
  .ffp-filter-toggle{order:2}
  .ffp-search-suggestions.is-mobile-flow{position:static;order:3;flex:1 0 100%;max-height:none;margin-top:2px;padding:10px;border-radius:16px;background:linear-gradient(145deg,rgba(10,19,34,.99),rgba(6,12,22,.99));box-shadow:0 18px 46px rgba(0,0,0,.3);backdrop-filter:none;-webkit-backdrop-filter:none;transform-origin:top;animation:ffp-suggestions-down .24s cubic-bezier(.22,1,.36,1)}
  .ffp-search-suggestions.is-mobile-flow .ffp-search-suggestion{grid-template-columns:76px minmax(0,1fr);padding:6px}
  .ffp-search-suggestions.is-mobile-flow .ffp-search-suggestion img{width:76px}
  .ffp-search-suggestions.is-mobile-flow .ffp-search-suggestion:hover,.ffp-search-suggestions.is-mobile-flow .ffp-search-suggestion:focus-visible{transform:none}
}
@container (max-width:380px){
  .ffp-toolbar .ffp-search-shell{order:1;flex:1 0 100%;max-width:none}
  .ffp-toolbar .ffp-advisor-toggle,.ffp-toolbar .ffp-filter-toggle{order:2}
  .ffp-toolbar .ffp-search-suggestions.is-mobile-flow{order:3}
}
@keyframes ffp-suggestions-down{from{opacity:0;transform:translateY(-8px) scaleY(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ffp-search-suggestions.is-mobile-flow{animation:none}}

/* 3.0 · Projektdetails, Kapitel und persönliche Auswahl */
.ffp-dialog-meta h3{max-width:min(100%,980px);line-height:1.02;letter-spacing:-.038em;text-wrap:balance;overflow-wrap:break-word}
.ffp-dialog-meta small{line-height:1.4}.ffp-dialog-meta>span{line-height:1.45}
.ffp-case-lead{line-height:1.58;text-wrap:pretty}.ffp-case-step h4{line-height:1.18;text-wrap:balance}.ffp-case-step p{line-height:1.68;text-wrap:pretty}
.ffp-project-chapters{display:grid;gap:18px;margin-top:clamp(34px,5vw,64px);padding:clamp(20px,3vw,30px);border:1px solid rgba(103,145,196,.25);border-radius:14px;background:linear-gradient(145deg,rgba(15,27,47,.86),rgba(7,13,24,.9))}
.ffp-project-chapters header{display:grid;gap:5px}.ffp-project-chapters header small{color:var(--ffp-accent-2);font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ffp-project-chapters h4{margin:0;font-family:var(--ffp-font-heading);font-size:clamp(20px,2.2vw,30px);line-height:1.12}
.ffp-project-chapters>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ffp-project-chapters button{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;min-height:48px;padding:8px 12px;border:1px solid rgba(103,145,196,.22);border-radius:8px;background:rgba(6,12,22,.68);color:#eaf3ff;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.ffp-project-chapters button:hover{border-color:rgba(87,212,239,.62);background:rgba(31,128,190,.1);transform:translateY(-1px)}.ffp-project-chapters time{color:var(--ffp-accent-2);font-size:9px;font-weight:800;letter-spacing:.08em}.ffp-project-chapters button span{font-size:11px;line-height:1.35}
.ffp-detail-loading,.ffp-detail-error{display:flex;align-items:center;gap:14px;min-height:92px;margin-top:32px;padding:20px;border:1px solid rgba(103,145,196,.24);border-radius:12px;background:rgba(12,22,38,.72);color:#c8d4e5}.ffp-detail-loading i{width:24px;height:24px;border:2px solid rgba(87,212,239,.18);border-top-color:var(--ffp-accent-2);border-radius:50%;animation:ffp-detail-spin .8s linear infinite}.ffp-detail-error{display:grid;gap:5px}.ffp-detail-error p{margin:0;color:#94a2b7;font-size:12px;line-height:1.55}@keyframes ffp-detail-spin{to{transform:rotate(1turn)}}
.ffp-shortlist-toggle{position:absolute;z-index:6;top:12px;left:12px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(5,10,19,.72);color:#fff;cursor:pointer;backdrop-filter:blur(10px);transition:background .2s,border-color .2s,color .2s,transform .2s}.ffp-shortlist-toggle:hover{border-color:var(--ffp-accent-2);color:var(--ffp-accent-2);transform:translateY(-1px)}.ffp-shortlist-toggle.is-active{border-color:transparent;background:var(--ffp-cta);color:#fff}.ffp-shortlist-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}
.ffp-shortlist-bar{position:fixed;z-index:99990;right:50%;bottom:18px;display:grid;grid-template-columns:auto auto auto;align-items:center;gap:16px;width:min(720px,calc(100vw - 28px));padding:10px 12px 10px 16px;border:1px solid rgba(87,212,239,.42);border-radius:16px;background:rgba(7,14,25,.94);box-shadow:0 18px 60px rgba(0,0,0,.46),0 0 34px rgba(31,128,190,.11);color:#fff;backdrop-filter:blur(18px);transform:translateX(50%)}.ffp-shortlist-bar[hidden]{display:none}.ffp-shortlist-copy{display:grid;gap:2px}.ffp-shortlist-copy small{color:var(--ffp-accent-2);font-size:7px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.ffp-shortlist-copy strong{font-size:10px;line-height:1.25}.ffp-shortlist-previews{display:flex}.ffp-shortlist-previews span{display:grid;place-items:center;width:32px;height:32px;margin-left:-7px;overflow:hidden;border:2px solid #0a1322;border-radius:50%;background:#16243a;font-size:9px}.ffp-shortlist-previews span:first-child{margin-left:0}.ffp-shortlist-previews img{width:100%;height:100%;object-fit:cover}.ffp-shortlist-actions{display:flex;justify-self:end;gap:7px}.ffp-shortlist-actions button,.ffp-shortlist-panel footer button,.ffp-shortlist-panel footer a{min-height:36px;padding:0 13px;border:1px solid rgba(87,212,239,.34);border-radius:99px;background:rgba(31,128,190,.08);color:#fff;font-size:7px;font-weight:850;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;cursor:pointer}.ffp-shortlist-actions button:first-child,.ffp-shortlist-panel footer a{border-color:transparent;background:linear-gradient(110deg,var(--ffp-cta),#9f174e)}
.ffp-shortlist-panel{position:fixed;inset:50% auto auto 50%;width:min(820px,calc(100vw - 28px));max-height:min(780px,calc(100dvh - 34px));margin:0;padding:clamp(20px,4vw,38px);overflow:auto;border:1px solid rgba(87,212,239,.38);border-radius:18px;background:#07101d;color:#fff;box-shadow:0 32px 100px rgba(0,0,0,.65);transform:translate(-50%,-50%)}.ffp-shortlist-panel::backdrop{background:rgba(2,5,10,.8);backdrop-filter:blur(10px)}.ffp-shortlist-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ffp-shortlist-panel>header small{color:var(--ffp-accent-2);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.ffp-shortlist-panel h3{margin:7px 0 0;font-family:var(--ffp-font-heading);font-size:clamp(30px,5vw,54px);line-height:1}.ffp-shortlist-panel>header>button{padding:4px;border:0;background:transparent;color:#fff;font-size:30px;line-height:1;cursor:pointer}.ffp-shortlist-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}.ffp-shortlist-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px}.ffp-shortlist-item{display:grid;grid-template-columns:110px minmax(0,1fr);min-width:0;padding:0;overflow:hidden;border:1px solid rgba(103,145,196,.25);border-radius:10px;background:#0e1a2c;color:#fff;text-align:left;cursor:pointer}.ffp-shortlist-item img{width:110px;height:100%;min-height:82px;object-fit:cover}.ffp-shortlist-item>span{display:grid;align-content:center;gap:3px;padding:10px}.ffp-shortlist-item small,.ffp-shortlist-item em{color:#7f91aa;font-size:7px;font-style:normal;text-transform:uppercase}.ffp-shortlist-item strong{font-size:11px;line-height:1.22}.ffp-shortlist-row>button{padding:0 8px;border:0;background:transparent;color:#8391a6;font-size:7px;cursor:pointer}.ffp-shortlist-panel>footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px}

@media (max-width:640px){
  .ffp-dialog-scroll{padding:62px 16px 78px}.ffp-dialog-inner{width:100%}.ffp-dialog-meta{gap:9px;padding-top:20px}.ffp-dialog-meta h3{font-size:clamp(31px,9.3vw,45px);line-height:1.04;letter-spacing:-.034em;text-transform:uppercase;text-wrap:balance}.ffp-dialog-meta small{margin-bottom:7px;font-size:8px}.ffp-dialog-meta>span{font-size:8px}.ffp-project-detail{padding-top:32px}.ffp-case-lead,.ffp-project-copy{font-size:clamp(17px,4.7vw,20px);line-height:1.62}.ffp-case-step{grid-template-columns:24px minmax(0,1fr);gap:10px;padding:24px 0}.ffp-case-step h4{margin-bottom:9px;font-size:19px;line-height:1.18}.ffp-case-step p{font-size:14px;line-height:1.68}.ffp-project-chapters>div{grid-template-columns:1fr}.ffp-project-gallery{gap:12px;margin-top:44px}
  .ffp-shortlist-bar{bottom:10px;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:10px 11px}.ffp-shortlist-previews{display:none}.ffp-shortlist-copy strong{font-size:9px}.ffp-shortlist-actions button{padding-inline:10px}.ffp-shortlist-actions button:last-child{display:none}.ffp-shortlist-list{grid-template-columns:1fr}.ffp-shortlist-item{grid-template-columns:88px minmax(0,1fr)}.ffp-shortlist-item img{width:88px}.ffp-shortlist-panel>footer>*{flex:1 0 100%}
}
/* Symbolische Schließen-Aktionen bleiben rahmenlos; Fokus wird als ruhiger Lichtakzent gezeigt. */
.ffp-shortlist-panel>header>button:focus,.ffp-shortlist-panel>header>button:focus-visible{outline:0!important;box-shadow:none!important;color:#fff;filter:drop-shadow(0 0 9px rgba(87,212,239,.7))}
@media(prefers-reduced-motion:reduce){.ffp-detail-loading i{animation:none}}

/* Builder-gesteuerte, vorlagenunabhängige Header- und Filteranimationen. */
.ffp-gallery .ffp-widget-head[data-ffp-text-animation] .ffp-heading-copy{animation-duration:var(--ffp-header-text-duration,850ms);animation-delay:var(--ffp-header-text-delay,100ms);animation-fill-mode:both;animation-timing-function:cubic-bezier(.22,1,.36,1)}
.ffp-gallery .ffp-widget-head[data-ffp-text-animation="fade-up"] .ffp-heading-copy{animation-name:ffp-builder-text-rise}
.ffp-gallery .ffp-widget-head[data-ffp-text-animation="line-reveal"] .ffp-heading-copy{animation-name:ffp-builder-line-reveal;clip-path:inset(0 0 100% 0)}
.ffp-gallery .ffp-widget-head[data-ffp-text-animation="tracking"] .ffp-heading-copy{animation-name:ffp-builder-tracking}
.ffp-gallery .ffp-widget-head[data-ffp-text-animation="soft-focus"] .ffp-heading-copy{animation-name:ffp-builder-focus}
.ffp-gallery .ffp-widget-head[data-ffp-text-animation="wipe"] .ffp-heading-copy{animation-name:ffp-builder-wipe}
.ffp-gallery .ffp-widget-head[data-ffp-text-animation="none"] .ffp-heading-copy{animation:none}
.ffp-gallery .ffp-widget-head .ffp-heading-copy{position:relative;translate:var(--ffp-header-copy-x-desktop,0) var(--ffp-header-copy-y-desktop,0);overflow-wrap:anywhere}
.ffp-gallery .ffp-widget-head .ffp-hero-promises{translate:var(--ffp-header-promise-x-desktop,0) var(--ffp-header-promise-y-desktop,0)}
.ffp-gallery .ffp-widget-head .ffp-portfolio-stats{translate:var(--ffp-header-stats-x-desktop,0) var(--ffp-header-stats-y-desktop,0)}
.ffp-gallery .ffp-widget-head .ffp-head-scroll{translate:var(--ffp-header-scroll-x-desktop,0) var(--ffp-header-scroll-y-desktop,0)}
.ffp-gallery .ffp-widget-head .ffp-heading-copy h2{text-wrap:balance;overflow-wrap:anywhere}
@container (max-width:760px){.ffp-gallery .ffp-widget-head .ffp-heading-copy{translate:var(--ffp-header-copy-x-mobile,0) var(--ffp-header-copy-y-mobile,0)}.ffp-gallery .ffp-widget-head .ffp-hero-promises{translate:var(--ffp-header-promise-x-mobile,0) var(--ffp-header-promise-y-mobile,0)}.ffp-gallery .ffp-widget-head .ffp-portfolio-stats{translate:var(--ffp-header-stats-x-mobile,0) var(--ffp-header-stats-y-mobile,0)}.ffp-gallery .ffp-widget-head .ffp-head-scroll{translate:var(--ffp-header-scroll-x-mobile,0) var(--ffp-header-scroll-y-mobile,0)}}
.ffp-gallery .ffp-widget-head[data-ffp-motion="cinematic-pan"] .ffp-head-media video{animation:ffp-builder-pan var(--ffp-header-motion-speed,16s) ease-in-out infinite alternate;transform-origin:center}
.ffp-gallery .ffp-widget-head[data-ffp-motion="slow-zoom"] .ffp-head-media video{animation:ffp-builder-zoom var(--ffp-header-motion-speed,16s) ease-in-out infinite alternate;transform-origin:center}
.ffp-gallery .ffp-widget-head[data-ffp-motion="float"] .ffp-head-media video{animation:ffp-builder-float var(--ffp-header-motion-speed,16s) ease-in-out infinite;transform-origin:center}
.ffp-gallery .ffp-widget-head[data-ffp-motion="light-sweep"] .ffp-head-media-overlay::after{content:"";position:absolute;z-index:1;inset:-25%;background:linear-gradient(110deg,transparent 35%,rgba(87,212,239,var(--ffp-header-motion-glow,.072)) 48%,rgba(255,255,255,var(--ffp-header-motion-glow-white,.099)) 51%,transparent 64%);pointer-events:none;animation:ffp-builder-light-sweep var(--ffp-header-motion-speed,16s) ease-in-out infinite}
.ffp-gallery .ffp-portfolio-stats{--ffp-stat-count:3}
.ffp-gallery .ffp-widget-head-hero .ffp-portfolio-stats,
.ffp-gallery .ffp-widget-head-split .ffp-portfolio-stats,
.ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stats{grid-template-columns:repeat(var(--ffp-stat-count),minmax(0,1fr))!important}
@keyframes ffp-builder-text-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ffp-builder-line-reveal{from{opacity:.25;clip-path:inset(0 0 100% 0);transform:translateY(12px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes ffp-builder-tracking{from{opacity:0;letter-spacing:.08em;transform:translateY(6px)}to{opacity:1;letter-spacing:normal;transform:none}}
@keyframes ffp-builder-focus{from{opacity:0;filter:blur(14px);transform:scale(.985)}to{opacity:1;filter:none;transform:none}}
@keyframes ffp-builder-wipe{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes ffp-builder-pan{from{transform:scale(var(--ffp-header-motion-scale-soft,1.0315)) translate3d(var(--ffp-header-motion-shift-negative,-.81%),0,0)}to{transform:scale(var(--ffp-header-motion-scale,1.0495)) translate3d(var(--ffp-header-motion-shift,.81%),var(--ffp-header-motion-shift-y,-.36%),0)}}
@keyframes ffp-builder-zoom{from{transform:scale(1)}to{transform:scale(var(--ffp-header-motion-scale,1.0495))}}
@keyframes ffp-builder-float{0%,100%{transform:scale(var(--ffp-header-motion-scale-soft,1.0315)) translate3d(0,0,0)}50%{transform:scale(var(--ffp-header-motion-scale,1.0495)) translate3d(var(--ffp-header-motion-shift,.81%),var(--ffp-header-motion-shift-y,-.36%),0)}}
@keyframes ffp-builder-light-sweep{0%,28%{transform:translate3d(-70%,0,0);opacity:0}38%,55%{opacity:1}72%,100%{transform:translate3d(70%,0,0);opacity:0}}
@media(prefers-reduced-motion:reduce){.ffp-gallery .ffp-widget-head .ffp-heading-copy,.ffp-gallery .ffp-widget-head .ffp-head-media video,.ffp-gallery .ffp-widget-head .ffp-head-media-overlay::after{animation:none!important}}

/* 3.2 · Neue art-direktierte Vorlagen */
.ffp-card-sequence,.ffp-editorial-caption{display:none}

/* Cinematic Contact Sheet */
.ffp-preset-contact-sheet .ffp-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(10px,1.15vw,20px)}
.ffp-preset-contact-sheet .ffp-card{grid-column:span 4;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.ffp-preset-contact-sheet .ffp-card:hover{box-shadow:none;transform:none}
.ffp-preset-contact-sheet .ffp-card.ffp-ratio-9x16,.ffp-preset-contact-sheet .ffp-card.ffp-ratio-4x5{grid-column:span 2}
.ffp-preset-contact-sheet .ffp-card.ffp-ratio-1x1{grid-column:span 3}
.ffp-preset-contact-sheet .ffp-card-media{overflow:hidden;aspect-ratio:16/10!important;border:1px solid rgba(114,151,197,.24);border-radius:max(2px,calc(var(--ffp-radius)*.58));background:#080e18;box-shadow:0 11px 31px rgba(0,0,0,.24);transition:border-color .28s,box-shadow .35s,transform .42s cubic-bezier(.22,1,.36,1)}
.ffp-preset-contact-sheet .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-contact-sheet .ffp-card.ffp-ratio-4x5 .ffp-card-media{aspect-ratio:4/5!important}
.ffp-preset-contact-sheet .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:1!important}
.ffp-preset-contact-sheet .ffp-card:hover .ffp-card-media,.ffp-preset-contact-sheet .ffp-card-media:focus-visible{border-color:rgba(87,212,239,.58);box-shadow:0 15px 42px rgba(0,0,0,.34),0 0 38px rgba(31,128,190,.13);transform:translateY(-3px)}
.ffp-preset-contact-sheet .ffp-card-sequence{position:absolute;z-index:4;top:14px;left:15px;display:block;color:var(--ffp-cta);font:800 clamp(14px,1.35vw,22px)/1 var(--ffp-font-heading);letter-spacing:-.03em}
.ffp-preset-contact-sheet .ffp-shortlist-toggle{top:10px;right:10px;left:auto}
.ffp-preset-contact-sheet .ffp-duration{top:50px;right:12px}
.ffp-preset-contact-sheet .ffp-card-title{left:16px;right:14px;bottom:16px}
.ffp-preset-contact-sheet .ffp-card-title strong{font-size:clamp(17px,1.65vw,27px);font-weight:700;line-height:1;text-transform:uppercase}
.ffp-preset-contact-sheet .ffp-card-body{padding:8px 1px 0;background:transparent}
.ffp-preset-contact-sheet .ffp-card-tags{margin:0}.ffp-preset-contact-sheet .ffp-card-tags span{border:0;padding:2px 0;color:#8996aa}.ffp-preset-contact-sheet .ffp-card-tags span+span::before{content:"·";padding:0 7px;color:#526078}

/* Infinite Director Reel */
.ffp-preset-director-reel{background:radial-gradient(circle at 50% 42%,rgba(31,128,190,.09),transparent 33%),radial-gradient(circle at 68% 36%,rgba(215,25,95,.07),transparent 28%),#03070d}
.ffp-preset-director-reel .ffp-grid{display:flex;align-items:center;gap:clamp(14px,1.5vw,26px);margin-inline:calc(clamp(28px,5vw,78px)*-1);padding:clamp(20px,3vw,44px) max(clamp(28px,5vw,78px),calc((100cqw - min(58cqw,900px))/2));overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:max(clamp(28px,5vw,78px),calc((100cqw - min(58cqw,900px))/2));scroll-snap-type:x mandatory;scrollbar-width:none}
.ffp-preset-director-reel .ffp-grid::-webkit-scrollbar{display:none}
.ffp-preset-director-reel .ffp-card{flex:0 0 min(58cqw,900px);overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;scroll-snap-align:center;transform:scale(.92);opacity:.68;transition:opacity .42s,transform .52s cubic-bezier(.22,1,.36,1)}
.ffp-preset-director-reel .ffp-card.ffp-ratio-9x16,.ffp-preset-director-reel .ffp-card.ffp-ratio-4x5{flex-basis:min(25cqw,380px)}
.ffp-preset-director-reel .ffp-card:hover,.ffp-preset-director-reel .ffp-card.is-reel-active{opacity:1;transform:scale(1);box-shadow:none}
.ffp-preset-director-reel .ffp-card-media{aspect-ratio:16/10!important;border:1px solid rgba(113,144,186,.3);border-radius:4px;background:#050a12;box-shadow:0 24px 70px rgba(0,0,0,.42);transition:border-color .35s,box-shadow .35s}
.ffp-preset-director-reel .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-director-reel .ffp-card.ffp-ratio-4x5 .ffp-card-media{aspect-ratio:4/5!important}
.ffp-preset-director-reel .ffp-card.is-reel-active .ffp-card-media{border-color:rgba(87,212,239,.72);box-shadow:-1px 0 0 rgba(215,25,95,.9),1px 0 0 rgba(87,212,239,.9),0 28px 82px rgba(0,0,0,.56),0 0 42px rgba(31,128,190,.13)}
.ffp-preset-director-reel .ffp-card-body{display:none}.ffp-preset-director-reel .ffp-card-sequence{position:absolute;z-index:4;top:20px;left:21px;display:block;color:#fff;font:700 clamp(18px,1.7vw,28px)/1 var(--ffp-font-heading)}
.ffp-preset-director-reel .ffp-shortlist-toggle{top:18px;right:18px;left:auto}.ffp-preset-director-reel .ffp-duration{top:60px;right:20px}
.ffp-preset-director-reel .ffp-card-title{left:clamp(20px,2.8vw,44px);right:clamp(20px,2.8vw,44px);bottom:clamp(22px,3vw,46px);text-align:center}
.ffp-preset-director-reel .ffp-card-title small{color:var(--ffp-cta);font-size:clamp(8px,.75vw,11px)}
.ffp-preset-director-reel .ffp-card-title strong{font-size:clamp(31px,4vw,67px);font-weight:800;line-height:.92;text-transform:uppercase}
.ffp-reel-nav[hidden]{display:none!important}
.ffp-reel-nav{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:28px;margin-top:8px}
.ffp-reel-nav>button{position:relative;width:64px;height:82px;border:0;border-radius:0;background:transparent}
.ffp-reel-nav>button i{display:block;width:30px;height:30px;border-top:2px solid #fff;border-left:2px solid #fff;filter:drop-shadow(0 0 9px rgba(87,212,239,.32));transform:rotate(-45deg);transition:border-color .2s,filter .2s,transform .25s}
.ffp-reel-nav>button:last-child i{transform:rotate(135deg)}.ffp-reel-nav>button:hover i{border-color:var(--ffp-accent-2);filter:drop-shadow(0 0 13px rgba(87,212,239,.7))}.ffp-reel-nav>button:first-child:hover i{transform:translateX(-4px) rotate(-45deg)}.ffp-reel-nav>button:last-child:hover i{transform:translateX(4px) rotate(135deg)}
.ffp-reel-status{display:grid;grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:20px}.ffp-reel-track{height:2px;overflow:hidden;background:rgba(255,255,255,.22)}.ffp-reel-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--ffp-cta),var(--ffp-accent-2));transition:width .25s ease}.ffp-reel-status b{color:#fff;font-size:16px;font-weight:500}.ffp-reel-status b em{color:var(--ffp-cta);font-size:22px;font-style:normal}.ffp-reel-status small{color:#8e9bb0;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}

/* Editorial Cinema Collage */
.ffp-preset-editorial-collage{--ffp-editorial-paper:#f2eee5;--ffp-editorial-ink:#161616;--ffp-editorial-muted:#625e59;background:linear-gradient(105deg,rgba(255,255,255,.34),transparent 24%),repeating-linear-gradient(90deg,rgba(30,26,20,.018) 0 1px,transparent 1px 5px),var(--ffp-editorial-paper);color:var(--ffp-editorial-ink)}
.ffp-preset-editorial-collage .ffp-toolbar{border-top-color:rgba(30,26,20,.2)}.ffp-preset-editorial-collage .ffp-search-shell,.ffp-preset-editorial-collage .ffp-filter-toggle{border-color:rgba(30,26,20,.25);background:rgba(255,255,255,.36);color:var(--ffp-editorial-ink);box-shadow:none}.ffp-preset-editorial-collage .ffp-search input{color:var(--ffp-editorial-ink)}.ffp-preset-editorial-collage .ffp-search input::placeholder{color:#746e66}.ffp-preset-editorial-collage .ffp-emily-toggle{color:#49443e}
.ffp-preset-editorial-collage .ffp-finder-panel{border-color:rgba(30,26,20,.18);background:rgba(250,247,240,.98);box-shadow:0 20px 50px rgba(70,55,35,.12)}.ffp-preset-editorial-collage .ffp-finder-panel .ffp-filters{border-color:rgba(30,26,20,.14)}.ffp-preset-editorial-collage .ffp-finder-panel .ffp-filters button{border-color:rgba(30,26,20,.2);background:transparent;color:#4b4742}.ffp-preset-editorial-collage .ffp-finder-panel .ffp-filters button.is-active{border-color:transparent;background:var(--ffp-cta);color:#fff}.ffp-preset-editorial-collage .ffp-facet>span{color:#625d57}.ffp-preset-editorial-collage .ffp-facet select{border-color:rgba(30,26,20,.22);background:#fff;color:#1a1917;box-shadow:none}.ffp-preset-editorial-collage .ffp-finder-clear{color:#514c46}
.ffp-preset-editorial-collage .ffp-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;align-items:start;gap:clamp(22px,3vw,52px) clamp(12px,1.8vw,30px)}
.ffp-preset-editorial-collage .ffp-card{grid-column:span 6;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}.ffp-preset-editorial-collage .ffp-card:hover{box-shadow:none;transform:none}.ffp-preset-editorial-collage .ffp-card:nth-child(5n+1){grid-column:span 7}.ffp-preset-editorial-collage .ffp-card:nth-child(5n+2){grid-column:span 5}.ffp-preset-editorial-collage .ffp-card.ffp-ratio-9x16,.ffp-preset-editorial-collage .ffp-card.ffp-ratio-4x5{grid-column:span 3}.ffp-preset-editorial-collage .ffp-card.ffp-ratio-1x1{grid-column:span 4}
.ffp-preset-editorial-collage .ffp-card-media{aspect-ratio:16/9!important;border:0;border-radius:0;background:#d7d2c9;box-shadow:none}.ffp-preset-editorial-collage .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-editorial-collage .ffp-card.ffp-ratio-4x5 .ffp-card-media{aspect-ratio:4/5!important}.ffp-preset-editorial-collage .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:1!important}.ffp-preset-editorial-collage .ffp-card-media::after{background:linear-gradient(120deg,transparent 55%,rgba(215,25,95,.12));mix-blend-mode:multiply}.ffp-preset-editorial-collage .ffp-card-title,.ffp-preset-editorial-collage .ffp-card-body,.ffp-preset-editorial-collage .ffp-card-sequence{display:none}.ffp-preset-editorial-collage .ffp-shade{opacity:0}.ffp-preset-editorial-collage .ffp-play{border-color:rgba(255,255,255,.8);background:rgba(19,19,19,.28)}
.ffp-preset-editorial-collage .ffp-editorial-caption{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:10px 0 0;border-left:1px solid rgba(30,26,20,.24);color:var(--ffp-editorial-ink)}.ffp-preset-editorial-collage .ffp-editorial-caption>span{padding-left:8px;color:#168aa7;font-size:10px;font-weight:800}.ffp-preset-editorial-collage .ffp-editorial-caption>div{display:grid;gap:3px}.ffp-preset-editorial-collage .ffp-editorial-caption strong{font-size:clamp(14px,1.3vw,20px);font-weight:600;line-height:1.1;text-transform:uppercase}.ffp-preset-editorial-collage .ffp-editorial-caption small{color:var(--ffp-editorial-muted);font-family:Georgia,serif;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.ffp-preset-editorial-collage .ffp-shortlist-toggle{border-color:rgba(20,20,20,.18);background:rgba(246,242,234,.82);color:#111}

@container (min-width:561px) and (max-width:900px){
  .ffp-preset-contact-sheet .ffp-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.ffp-preset-contact-sheet .ffp-card{grid-column:span 3}.ffp-preset-contact-sheet .ffp-card.ffp-ratio-9x16,.ffp-preset-contact-sheet .ffp-card.ffp-ratio-4x5{grid-column:span 2}
  .ffp-preset-director-reel .ffp-card{flex-basis:72cqw}.ffp-preset-director-reel .ffp-card.ffp-ratio-9x16,.ffp-preset-director-reel .ffp-card.ffp-ratio-4x5{flex-basis:36cqw}
  .ffp-preset-editorial-collage .ffp-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.ffp-preset-editorial-collage .ffp-card,.ffp-preset-editorial-collage .ffp-card:nth-child(n){grid-column:span 3}.ffp-preset-editorial-collage .ffp-card.ffp-ratio-9x16,.ffp-preset-editorial-collage .ffp-card.ffp-ratio-4x5{grid-column:span 2}
}
@container (max-width:560px){
  .ffp-preset-contact-sheet .ffp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ffp-preset-contact-sheet .ffp-card,.ffp-preset-contact-sheet .ffp-card.ffp-ratio-16x9{grid-column:1/-1}.ffp-preset-contact-sheet .ffp-card.ffp-ratio-9x16,.ffp-preset-contact-sheet .ffp-card.ffp-ratio-4x5,.ffp-preset-contact-sheet .ffp-card.ffp-ratio-1x1{grid-column:span 1}.ffp-preset-contact-sheet .ffp-card.ffp-ratio-16x9 .ffp-card-media{aspect-ratio:16/9!important}.ffp-preset-contact-sheet .ffp-card-title strong{font-size:clamp(16px,4.8cqw,22px)}.ffp-preset-contact-sheet .ffp-card-sequence{font-size:16px}.ffp-preset-contact-sheet .ffp-card-tags{display:none}
  .ffp-preset-director-reel .ffp-grid{margin-inline:calc(clamp(28px,5vw,78px)*-1);padding:20px 17cqw;scroll-padding-inline:17cqw}.ffp-preset-director-reel .ffp-card{flex-basis:66cqw}.ffp-preset-director-reel .ffp-card.ffp-ratio-9x16,.ffp-preset-director-reel .ffp-card.ffp-ratio-4x5{flex-basis:48cqw}.ffp-preset-director-reel .ffp-card .ffp-card-media{aspect-ratio:4/5!important}.ffp-preset-director-reel .ffp-card-title{bottom:25px}.ffp-preset-director-reel .ffp-card-title strong{font-size:clamp(27px,8.8cqw,40px)}.ffp-preset-director-reel .ffp-card-title small{font-size:8px}.ffp-preset-director-reel .ffp-card-sequence{top:15px;left:16px;font-size:18px}.ffp-reel-nav{grid-template-columns:1fr;margin-top:4px}.ffp-reel-nav>button{display:none}.ffp-reel-status{grid-template-columns:minmax(80px,1fr) auto auto;gap:12px}.ffp-reel-status small::before{content:"↔ ";color:var(--ffp-cta)}
  .ffp-preset-editorial-collage .ffp-toolbar{margin-top:0}.ffp-preset-editorial-collage .ffp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}.ffp-preset-editorial-collage .ffp-card,.ffp-preset-editorial-collage .ffp-card:nth-child(n),.ffp-preset-editorial-collage .ffp-card.ffp-ratio-16x9{grid-column:1/-1}.ffp-preset-editorial-collage .ffp-card.ffp-ratio-9x16,.ffp-preset-editorial-collage .ffp-card.ffp-ratio-4x5,.ffp-preset-editorial-collage .ffp-card.ffp-ratio-1x1{grid-column:span 1}.ffp-preset-editorial-collage .ffp-card.ffp-ratio-16x9 .ffp-card-media{aspect-ratio:16/9!important}.ffp-preset-editorial-collage .ffp-editorial-caption{grid-template-columns:24px minmax(0,1fr);padding-top:8px}.ffp-preset-editorial-collage .ffp-editorial-caption strong{font-size:12px}.ffp-preset-editorial-collage .ffp-editorial-caption small{font-size:8px}
}

/* 3.3 · Seamless Minimal — closed, borderless film wall */
.ffp-preset-seamless-minimal .ffp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-inline:calc(clamp(28px,5vw,78px)*-1);background:#02060b}
.ffp-preset-seamless-minimal .ffp-card,.ffp-preset-seamless-minimal .ffp-card:hover{min-width:0;margin:0;overflow:hidden;border:0;border-radius:0;background:#05080d;box-shadow:none;transform:none}
.ffp-preset-seamless-minimal .ffp-card-media,.ffp-preset-seamless-minimal .ffp-card.ffp-ratio-16x9 .ffp-card-media,.ffp-preset-seamless-minimal .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-seamless-minimal .ffp-card.ffp-ratio-4x5 .ffp-card-media,.ffp-preset-seamless-minimal .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:16/10!important;overflow:hidden;border:0;border-radius:0;background:#05080d}
.ffp-preset-seamless-minimal .ffp-card-media::after{content:"";position:absolute;z-index:3;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);opacity:.45;pointer-events:none;transition:opacity .35s,box-shadow .35s}
.ffp-preset-seamless-minimal .ffp-poster{transition:transform .85s cubic-bezier(.2,.75,.2,1),filter .45s}
.ffp-preset-seamless-minimal .ffp-shade{z-index:2;opacity:0;background:linear-gradient(180deg,rgba(2,5,10,.02) 30%,rgba(2,5,10,.88) 100%);transition:opacity .42s}
.ffp-preset-seamless-minimal .ffp-card-title{z-index:4;left:clamp(14px,1.7vw,26px);right:clamp(14px,1.7vw,26px);bottom:clamp(14px,1.7vw,24px);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .48s cubic-bezier(.22,1,.36,1)}
.ffp-preset-seamless-minimal .ffp-card-title small{display:none}.ffp-preset-seamless-minimal .ffp-card-title strong{max-width:24ch;color:#fff;font-size:clamp(17px,1.55vw,27px);font-weight:650;line-height:1.02;letter-spacing:-.025em;text-transform:none;text-shadow:0 3px 18px rgba(0,0,0,.55)}
.ffp-preset-seamless-minimal .ffp-play{z-index:5;width:44px;border:1px solid rgba(255,255,255,.62);background:rgba(3,7,13,.28);box-shadow:none;opacity:0;transform:translate(-50%,-44%) scale(.82);backdrop-filter:blur(8px)}
.ffp-preset-seamless-minimal .ffp-duration,.ffp-preset-seamless-minimal .ffp-card-sequence,.ffp-preset-seamless-minimal .ffp-editorial-caption{display:none}
.ffp-preset-seamless-minimal .ffp-card-rating{top:10px;left:10px;padding:5px 7px;border-color:rgba(255,255,255,.12);background:rgba(2,6,12,.58);box-shadow:none}
.ffp-preset-seamless-minimal .ffp-shortlist-toggle{z-index:6;opacity:0;transition:opacity .28s,background .28s}.ffp-preset-seamless-minimal .ffp-card-body{display:none}
.ffp-preset-seamless-minimal .ffp-card:hover .ffp-poster,.ffp-preset-seamless-minimal .ffp-card-media:focus-visible .ffp-poster{transform:scale(1.035);filter:saturate(.88) brightness(.76)}
.ffp-preset-seamless-minimal .ffp-card:hover .ffp-shade,.ffp-preset-seamless-minimal .ffp-card:hover .ffp-card-title,.ffp-preset-seamless-minimal .ffp-card:hover .ffp-play,.ffp-preset-seamless-minimal .ffp-card:hover .ffp-shortlist-toggle,.ffp-preset-seamless-minimal .ffp-card-media:focus-visible .ffp-shade,.ffp-preset-seamless-minimal .ffp-card-media:focus-visible .ffp-card-title,.ffp-preset-seamless-minimal .ffp-card-media:focus-visible .ffp-play{opacity:1}
.ffp-preset-seamless-minimal .ffp-card:hover .ffp-card-title,.ffp-preset-seamless-minimal .ffp-card-media:focus-visible .ffp-card-title{transform:none}.ffp-preset-seamless-minimal .ffp-card:hover .ffp-play,.ffp-preset-seamless-minimal .ffp-card-media:focus-visible .ffp-play{transform:translate(-50%,-50%) scale(1)}
.ffp-preset-seamless-minimal .ffp-card:hover .ffp-card-media::after,.ffp-preset-seamless-minimal .ffp-card-media:focus-visible::after{opacity:1;box-shadow:inset 0 0 0 1px rgba(87,212,239,.28),inset 0 -60px 90px rgba(1,5,10,.08)}
@container (max-width:980px){.ffp-preset-seamless-minimal .ffp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:560px){.ffp-preset-seamless-minimal .ffp-grid{grid-template-columns:1fr}.ffp-preset-seamless-minimal .ffp-card-media,.ffp-preset-seamless-minimal .ffp-card.ffp-ratio-16x9 .ffp-card-media,.ffp-preset-seamless-minimal .ffp-card.ffp-ratio-9x16 .ffp-card-media,.ffp-preset-seamless-minimal .ffp-card.ffp-ratio-4x5 .ffp-card-media,.ffp-preset-seamless-minimal .ffp-card.ffp-ratio-1x1 .ffp-card-media{aspect-ratio:16/9!important}.ffp-preset-seamless-minimal .ffp-card-title strong{font-size:clamp(20px,6.5cqw,28px)}}
@media(hover:none){.ffp-preset-seamless-minimal .ffp-shade,.ffp-preset-seamless-minimal .ffp-card-title,.ffp-preset-seamless-minimal .ffp-shortlist-toggle{opacity:1;transform:none}.ffp-preset-seamless-minimal .ffp-play{display:none}}
@media(prefers-reduced-motion:reduce){.ffp-preset-seamless-minimal .ffp-poster,.ffp-preset-seamless-minimal .ffp-shade,.ffp-preset-seamless-minimal .ffp-card-title,.ffp-preset-seamless-minimal .ffp-play{transition:none!important}}

/* 3.3 · Compact mobile finder: one calm control row and a two-column filter sheet. */
@container (max-width:560px){
  .ffp-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:8px;margin-bottom:14px;padding-top:10px}
  .ffp-toolbar .ffp-search-shell{grid-column:auto;order:1;flex:initial;min-width:0;width:100%;max-width:none;min-height:44px}
  .ffp-search input{min-height:42px;padding:7px 10px 7px 40px;font-size:12px}.ffp-search svg{left:14px;width:16px}
  .ffp-toolbar .ffp-filter-toggle,.ffp-toolbar .ffp-advisor-toggle{order:2;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%}
  .ffp-toolbar .ffp-advisor-toggle span{display:none}.ffp-toolbar .ffp-filter-toggle svg,.ffp-toolbar .ffp-advisor-toggle svg{width:18px;height:18px}
  .ffp-toolbar .ffp-search-suggestions.is-mobile-flow{grid-column:1/-1;order:3;width:100%;margin-top:0}
  .ffp-finder{margin-bottom:18px}.ffp-finder-panel{padding:12px;border-radius:12px}.ffp-finder-panel .ffp-filters{gap:6px;padding-bottom:11px}
  .ffp-finder-panel .ffp-filters button{min-height:34px;padding:8px 11px;font-size:8px}.ffp-facet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:11px}
  .ffp-facet{gap:5px}.ffp-facet>span{font-size:7px;letter-spacing:.09em}.ffp-facet select{min-height:40px;padding:0 30px 0 10px;border-radius:8px;font-size:10px;line-height:40px}.ffp-facet::after{right:12px;bottom:16px;width:6px;height:6px}
  .ffp-active-facets{gap:5px}.ffp-active-facets button{min-height:28px;padding:0 9px;font-size:7px}.ffp-finder-clear{margin-top:11px;font-size:8px}
}
@container (max-width:340px){.ffp-facet-grid{grid-template-columns:1fr}.ffp-toolbar{grid-template-columns:minmax(0,1fr) 42px 42px;gap:6px}.ffp-toolbar .ffp-filter-toggle,.ffp-toolbar .ffp-advisor-toggle{width:42px;height:42px;min-height:42px}}

/* 3.4.1 · Schutz vor globalen Elementor-/Theme-Buttonstilen. */
.ffp-gallery button.ffp-shortlist-toggle{
  display:grid!important;place-items:center!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0!important;
  border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;background:rgba(5,10,19,.72)!important;color:#fff!important;box-shadow:none!important;
  font:inherit!important;line-height:1!important;text-decoration:none!important;text-transform:none!important;appearance:none!important;-webkit-appearance:none!important
}
.ffp-gallery button.ffp-shortlist-toggle:hover{border-color:var(--ffp-accent-2)!important;background:rgba(5,10,19,.86)!important;color:var(--ffp-accent-2)!important}
.ffp-gallery button.ffp-shortlist-toggle.is-active{border-color:transparent!important;background:var(--ffp-cta)!important;color:#fff!important}
.ffp-gallery.ffp-preset-editorial-collage button.ffp-shortlist-toggle{border-color:rgba(20,20,20,.18)!important;background:rgba(246,242,234,.88)!important;color:#111!important}
.ffp-gallery.ffp-preset-editorial-collage button.ffp-shortlist-toggle.is-active{border-color:transparent!important;background:var(--ffp-cta)!important;color:#fff!important}
.ffp-gallery button.ffp-dialog-nav{
  width:68px!important;min-width:68px!important;max-width:68px!important;height:112px!important;min-height:112px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;appearance:none!important;-webkit-appearance:none!important
}
.ffp-gallery button.ffp-dialog-close,.ffp-gallery button.ffp-emily-toggle,.ffp-gallery button.ffp-filter-toggle,.ffp-gallery button.ffp-advisor-toggle,.ffp-gallery .ffp-presentation-nav button,.ffp-gallery button.ffp-load-more{
  font-family:var(--ffp-font-body)!important;text-decoration:none!important;appearance:none!important;-webkit-appearance:none!important
}
.ffp-gallery button.ffp-dialog-close{border:0!important;background:transparent!important;box-shadow:none!important;color:rgba(255,255,255,.82)!important}
.ffp-gallery button.ffp-filter-toggle,.ffp-gallery button.ffp-advisor-toggle{box-shadow:none!important}
.ffp-gallery button.ffp-filter-toggle:hover,.ffp-gallery button.ffp-filter-toggle[aria-expanded=true],.ffp-gallery button.ffp-advisor-toggle:hover,.ffp-gallery button.ffp-advisor-toggle[aria-expanded=true]{box-shadow:0 0 26px rgba(31,128,190,.16)!important}
.ffp-search-suggestions-head.is-loading::after{content:"";display:inline-block;width:5px;height:5px;margin-left:8px;border-radius:50%;background:var(--ffp-accent-2);box-shadow:10px 0 0 rgba(87,212,239,.46),20px 0 0 rgba(87,212,239,.2);animation:ffp-search-loading .8s ease-in-out infinite alternate}
@keyframes ffp-search-loading{to{opacity:.35;transform:translateX(2px)}}
@container (max-width:650px){.ffp-gallery button.ffp-dialog-nav{width:60px!important;min-width:60px!important;max-width:60px!important;height:58px!important;min-height:58px!important}}

/* 3.4.2 · Vollständige Theme-Isolation für Frontend-Bedienelemente. */
.ffp-gallery{color-scheme:dark;isolation:isolate}
.ffp-gallery.ffp-design-inherit{
  --ffp-accent:var(--e-global-color-primary,var(--wp--preset--color--accent-1,#1f80be))!important;
  --ffp-accent-2:var(--e-global-color-secondary,var(--wp--preset--color--accent-2,#57d4ef))!important;
  --ffp-cta:var(--e-global-color-accent,var(--wp--preset--color--accent-3,#d7195f))!important;
  --ffp-bg:var(--wp--preset--color--base,#050a13)!important;
  --ffp-text:var(--e-global-color-text,var(--wp--preset--color--contrast,#fff))!important;
  --ffp-surface:color-mix(in srgb,var(--ffp-bg) 88%,var(--ffp-text))!important;
  --ffp-muted:color-mix(in srgb,var(--ffp-text) 68%,var(--ffp-bg))!important
}
.ffp-gallery button,.ffp-gallery input,.ffp-gallery select,.ffp-gallery textarea{
  box-sizing:border-box!important;font-family:var(--ffp-font-body)!important;text-shadow:none!important
}
.ffp-gallery button{
  margin:0;-webkit-appearance:none!important;appearance:none!important;text-decoration:none!important;filter:none
}
.ffp-gallery button svg{display:block!important;visibility:visible!important;opacity:1!important}
.ffp-gallery .ffp-icon{display:block;width:20px;height:20px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ffp-gallery .ffp-icon-close{width:22px;height:22px}.ffp-gallery .ffp-icon-send{width:19px;height:19px}.ffp-gallery .ffp-icon-arrow{width:18px;height:18px}
.ffp-gallery .ffp-search input{min-height:40px!important;padding:8px 14px 8px 43px!important;border:1px solid #2b3b5e!important;border-radius:100px!important;background:color-mix(in srgb,var(--ffp-surface) 55%,transparent)!important;color:var(--ffp-text)!important;box-shadow:none!important}
.ffp-gallery .ffp-facet select{min-height:48px!important;padding:0 45px 0 15px!important;border:1px solid rgba(102,145,198,.42)!important;border-radius:10px!important;background:linear-gradient(180deg,rgba(19,34,58,.96),rgba(10,20,37,.96))!important;color:#edf4ff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 5px 16px rgba(0,0,0,.12)!important}
.ffp-gallery button.ffp-card-media{width:100%!important;margin:0!important;padding:0!important;border-color:transparent!important;border-radius:var(--ffp-radius) var(--ffp-radius) 0 0!important;background:var(--ffp-surface)!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery .ffp-finder-panel .ffp-filters button{min-height:42px!important;padding:0 18px!important;border-color:rgba(103,145,196,.35)!important;border-radius:100px!important;background:rgba(11,21,39,.56)!important;color:#aebbd0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
.ffp-gallery .ffp-finder-panel .ffp-filters button:hover{border-color:rgba(87,212,239,.7)!important;background:rgba(31,128,190,.1)!important;color:#fff!important;box-shadow:0 0 18px rgba(31,128,190,.11)!important}
.ffp-gallery .ffp-finder-panel .ffp-filters button.is-active{border-color:transparent!important;background:linear-gradient(115deg,var(--ffp-cta),color-mix(in srgb,var(--ffp-cta) 76%,#7d144a))!important;color:#fff!important;box-shadow:0 8px 25px color-mix(in srgb,var(--ffp-cta) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.18)!important}
.ffp-gallery button.ffp-filter-toggle{width:54px!important;min-width:54px!important;max-width:54px!important;height:54px!important;min-height:54px!important;padding:0!important;border-color:rgba(101,150,202,.38)!important;border-radius:50%!important;background:color-mix(in srgb,var(--ffp-surface) 46%,transparent)!important;color:var(--ffp-muted)!important}
.ffp-gallery button.ffp-filter-toggle:hover,.ffp-gallery button.ffp-filter-toggle[aria-expanded=true]{border-color:var(--ffp-accent-2)!important;background:rgba(87,212,239,.08)!important;color:#fff!important;box-shadow:0 0 24px rgba(31,128,190,.18)!important}
.ffp-gallery button.ffp-advisor-toggle{min-height:54px!important;padding:0 15px!important;border-color:rgba(101,150,202,.38)!important;border-radius:99px!important;background:rgba(13,24,42,.64)!important;color:#aebbd0!important;box-shadow:none!important}
.ffp-gallery button.ffp-advisor-toggle:hover,.ffp-gallery button.ffp-advisor-toggle[aria-expanded=true]{border-color:var(--ffp-accent-2)!important;background:rgba(87,212,239,.08)!important;color:#fff!important;box-shadow:0 0 26px rgba(31,128,190,.14)!important}
.ffp-gallery button.ffp-emily-toggle,.ffp-gallery button.ffp-hero-emily{min-height:52px!important;padding:7px 18px 7px 8px!important;border-color:rgba(87,212,239,.62)!important;border-radius:100px!important;background:linear-gradient(135deg,rgba(13,28,49,.98),rgba(8,15,27,.98))!important;color:#fff!important;box-shadow:0 18px 55px rgba(0,0,0,.38),0 0 32px rgba(31,128,190,.2)!important}
.ffp-gallery button.ffp-hero-emily{min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ffp-gallery button.ffp-emily-scrim{position:fixed!important;inset:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;opacity:1!important}
.ffp-gallery .ffp-emily-head>button,.ffp-gallery button.ffp-advisor-close,.ffp-gallery button.ffp-dialog-close,.ffp-gallery button.ffp-end-recommend-dismiss,.ffp-gallery .ffp-shortlist-panel>header>button{
  border:0!important;border-radius:0!important;background:transparent!important;color:#aebbd0!important;box-shadow:none!important
}
.ffp-gallery .ffp-emily-head>button,.ffp-gallery button.ffp-advisor-close{display:grid!important;place-items:center!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important}
.ffp-gallery button.ffp-dialog-close{padding:8px 2px!important}.ffp-gallery button.ffp-dialog-close i{display:grid!important;place-items:center!important;min-width:28px!important}
.ffp-gallery .ffp-emily-head>button:hover,.ffp-gallery button.ffp-advisor-close:hover,.ffp-gallery button.ffp-dialog-close:hover,.ffp-gallery button.ffp-end-recommend-dismiss:hover,.ffp-gallery .ffp-shortlist-panel>header>button:hover{color:#fff!important}
.ffp-gallery .ffp-emily-form>button{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--ffp-accent-2),var(--ffp-accent))!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery .ffp-emily-choices button{min-height:58px!important;padding:13px 14px!important;border-color:#2e4261!important;border-radius:12px!important;background:rgba(10,20,36,.72)!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery .ffp-emily-choices button:hover{border-color:var(--ffp-accent-2)!important;background:rgba(31,128,190,.11)!important;color:#fff!important}
.ffp-gallery .ffp-emily-choices button.is-selected{border-color:color-mix(in srgb,var(--ffp-cta) 72%,#fff)!important;background:color-mix(in srgb,var(--ffp-cta) 14%,#0a1424)!important;box-shadow:0 0 22px color-mix(in srgb,var(--ffp-cta) 15%,transparent)!important}
.ffp-gallery button.ffp-emily-result-card{padding:0!important;border-color:rgba(105,146,196,.28)!important;border-radius:12px!important;background:#0b1526!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery button.ffp-emily-result-card:hover{border-color:var(--ffp-accent-2)!important;background:#0e1b30!important;box-shadow:0 14px 34px rgba(0,0,0,.24)!important}
.ffp-gallery .ffp-emily-result-actions button{min-height:40px!important;padding:0 14px!important;border-color:rgba(105,146,196,.32)!important;border-radius:99px!important;background:transparent!important;color:#cbd7e6!important;box-shadow:none!important}
.ffp-gallery .ffp-emily-result-actions button:last-child{border-color:transparent!important;background:linear-gradient(110deg,var(--ffp-cta),#9f174e)!important;color:#fff!important}
.ffp-gallery button.ffp-advisor-quick-apply{min-height:38px!important;padding:0 15px!important;border-color:rgba(87,212,239,.42)!important;border-radius:99px!important;background:rgba(31,128,190,.08)!important;color:#eefcff!important;box-shadow:none!important}
.ffp-gallery button.ffp-advisor-quick-apply:hover{border-color:var(--ffp-accent-2)!important;background:rgba(87,212,239,.14)!important;box-shadow:0 0 26px rgba(31,128,190,.18)!important}
.ffp-gallery .ffp-advisor-navigation button{min-height:40px!important;padding:0 17px!important;border-color:rgba(105,146,196,.3)!important;border-radius:99px!important;background:transparent!important;color:#d6dfeb!important;box-shadow:none!important}
.ffp-gallery .ffp-advisor-navigation button:last-child{border-color:transparent!important;background:linear-gradient(110deg,var(--ffp-cta),#9f174e)!important;color:#fff!important;box-shadow:0 10px 30px rgba(215,25,95,.18)!important}
.ffp-gallery .ffp-advisor-choices button{min-height:62px!important;padding:10px 14px!important;border-color:rgba(105,146,196,.28)!important;border-radius:11px!important;background:rgba(11,20,35,.6)!important;color:#d5deea!important;box-shadow:none!important}
.ffp-gallery .ffp-advisor-choices button:hover{border-color:rgba(87,212,239,.64)!important;background:rgba(31,128,190,.09)!important;color:#fff!important}
.ffp-gallery .ffp-advisor-choices button.is-active{border-color:rgba(87,212,239,.8)!important;background:linear-gradient(120deg,rgba(31,128,190,.18),rgba(215,25,95,.08))!important;color:#fff!important;box-shadow:0 0 32px rgba(31,128,190,.11)!important}
.ffp-gallery button.ffp-advisor-match{padding:0!important;border-color:rgba(103,145,196,.28)!important;border-radius:11px!important;background:#101a2c!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery button.ffp-advisor-match:hover{border-color:var(--ffp-accent-2)!important;background:#101a2c!important;box-shadow:0 14px 34px rgba(0,0,0,.24)!important}
.ffp-gallery .ffp-advisor-summary-actions button{min-height:44px!important;padding:0 16px!important;border-color:rgba(87,212,239,.5)!important;border-radius:99px!important;background:rgba(31,128,190,.08)!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery .ffp-active-facets button{min-height:32px!important;padding:0 11px!important;border-color:rgba(87,212,239,.3)!important;border-radius:100px!important;background:rgba(31,128,190,.13)!important;color:#dff8ff!important;box-shadow:none!important}
.ffp-gallery button.ffp-finder-clear,.ffp-gallery .ffp-personal-filter-bar button{background:transparent!important;color:#96a5bb!important;box-shadow:none!important}
.ffp-gallery button.ffp-finder-clear{min-height:34px!important;padding:0 12px!important;border-color:rgba(121,151,190,.26)!important;border-radius:99px!important;background:rgba(7,14,27,.42)!important}
.ffp-gallery .ffp-presentation-nav button,.ffp-gallery .ffp-screening-row-controls button,.ffp-gallery .ffp-reel-nav>button,.ffp-gallery button.ffp-dialog-nav{background:transparent!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery button.ffp-load-more{padding:15px 18px 15px 24px!important;border-color:#334361!important;border-radius:100px!important;background:transparent!important;color:var(--ffp-text)!important;box-shadow:none!important}
.ffp-gallery .ffp-consent-gate button{padding:13px 18px!important;border-color:rgba(87,212,239,.62)!important;border-radius:100px!important;background:rgba(31,128,190,.08)!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery .ffp-project-chapters button,.ffp-gallery .ffp-shortlist-actions button,.ffp-gallery .ffp-shortlist-row>button{background:#101a2c!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery .ffp-search-suggestion,.ffp-gallery .ffp-related-card{background:#101a2c!important;color:#fff!important;box-shadow:none!important}
.ffp-gallery button:focus-visible{outline:2px solid var(--ffp-accent-2)!important;outline-offset:2px!important}
.ffp-gallery button.ffp-dialog-close:focus-visible,.ffp-gallery button.ffp-advisor-close:focus-visible,.ffp-gallery .ffp-emily-head>button:focus-visible{outline:0!important;filter:drop-shadow(0 0 9px rgba(87,212,239,.7))!important}

/* Der Projektdialog liegt auch in Elementor- und Theme-Containern sicher über allen Inhalten. */
.ffp-gallery .ffp-dialog{z-index:2147483000!important;overflow:visible!important;visibility:visible!important;opacity:1!important}
.ffp-gallery button.ffp-dialog-close{
  position:fixed!important;z-index:2147483646!important;top:max(14px,env(safe-area-inset-top))!important;right:max(16px,env(safe-area-inset-right))!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:auto!important;min-width:42px!important;max-width:none!important;height:42px!important;min-height:42px!important;
  margin:0!important;padding:8px 4px 8px 10px!important;border:0!important;border-radius:0!important;background:rgba(3,7,14,.72)!important;color:#fff!important;
  box-shadow:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;overflow:visible!important;transform:none!important;backdrop-filter:blur(10px)!important
}
.ffp-gallery button.ffp-dialog-close span{display:block!important;color:#fff!important;font-size:9px!important;font-weight:800!important;line-height:1!important;letter-spacing:.14em!important;text-transform:uppercase!important;white-space:nowrap!important}
.ffp-gallery button.ffp-dialog-close i,.ffp-gallery button.ffp-dialog-close svg{display:block!important;visibility:visible!important;opacity:1!important;color:#fff!important;stroke:#fff!important}
.ffp-gallery button.ffp-dialog-close:hover{color:#fff!important;transform:translateY(-1px)!important;filter:drop-shadow(0 0 10px rgba(87,212,239,.4))!important}
.admin-bar .ffp-gallery button.ffp-dialog-close{top:max(46px,calc(env(safe-area-inset-top) + 40px))!important}
@container (max-width:650px){.ffp-gallery button.ffp-dialog-close{top:max(10px,env(safe-area-inset-top))!important;right:max(12px,env(safe-area-inset-right))!important;width:42px!important;padding:8px!important;background:rgba(3,7,14,.78)!important}.ffp-gallery button.ffp-dialog-close span{display:none!important}}
@media(max-width:782px){.admin-bar .ffp-gallery button.ffp-dialog-close{top:max(58px,calc(env(safe-area-inset-top) + 52px))!important}}

/* 3.4.4 · Vollbildebenen respektieren den real sichtbaren Website-Header. */
.ffp-gallery .ffp-dialog{
  top:var(--ffp-overlay-top,0px)!important;right:0!important;bottom:0!important;left:0!important;height:auto!important
}
.ffp-gallery button.ffp-dialog-close.is-portaled{display:none!important}
body>button.ffp-dialog-close-portal{
  position:fixed!important;z-index:2147483647!important;
  top:calc(var(--ffp-overlay-top,0px) + max(10px,env(safe-area-inset-top)))!important;
  right:max(16px,env(safe-area-inset-right))!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  width:auto!important;min-width:42px!important;max-width:none!important;height:42px!important;min-height:42px!important;
  margin:0!important;padding:8px 4px 8px 10px!important;border:0!important;border-radius:0!important;
  background:rgba(3,7,14,.82)!important;color:#fff!important;box-shadow:none!important;
  font:800 9px/1 sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  visibility:visible!important;opacity:1!important;pointer-events:auto!important;cursor:pointer!important;
  backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important
}
body>button.ffp-dialog-close-portal[hidden]{display:none!important}
body>button.ffp-dialog-close-portal span{display:block!important;color:#fff!important;white-space:nowrap!important}
body>button.ffp-dialog-close-portal i{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border:0!important;border-radius:0!important;font-style:normal!important}
body>button.ffp-dialog-close-portal svg{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:#fff!important;stroke-width:2.2!important}
body>button.ffp-dialog-close-portal:hover,body>button.ffp-dialog-close-portal:focus-visible{outline:0!important;filter:drop-shadow(0 0 10px rgba(87,212,239,.55))!important}
.ffp-gallery .ffp-emily-scrim{top:var(--ffp-overlay-top,0px)!important}
.ffp-gallery .ffp-emily-panel,.ffp-gallery .ffp-emily-panel.is-local{
  top:calc(var(--ffp-overlay-top,0px) + 16px)!important;bottom:16px!important;
  max-height:calc(100svh - var(--ffp-overlay-top,0px) - 32px)!important
}
.ffp-gallery .ffp-advisor[open]{
  top:var(--ffp-overlay-top,0px)!important;right:0!important;bottom:0!important;left:0!important;
  height:calc(100dvh - var(--ffp-overlay-top,0px))!important
}
@media(max-width:760px){
  body>button.ffp-dialog-close-portal{right:max(12px,env(safe-area-inset-right))!important;width:42px!important;padding:8px!important}
  body>button.ffp-dialog-close-portal span{display:none!important}
  .ffp-gallery .ffp-emily-panel,.ffp-gallery .ffp-emily-panel.is-local{
    top:auto!important;right:0!important;bottom:0!important;left:0!important;
    max-height:calc(100svh - var(--ffp-overlay-top,0px) - 10px)!important
  }
}

/* 3.4.18 · Zusatzformate bleiben als Kampagnenbausteine Teil des Projekts. */
.ffp-gallery .ffp-project-additional{
  margin:clamp(28px,5vw,58px) 0 0!important;
  padding:clamp(24px,4vw,42px) 0 0!important;
  border-top:1px solid color-mix(in srgb,var(--ffp-text,#fff) 18%,transparent)!important
}
.ffp-gallery .ffp-project-additional>header{display:grid!important;gap:6px!important;max-width:720px!important;margin:0 0 20px!important}
.ffp-gallery .ffp-project-additional>header small{color:var(--ffp-accent,#57d4ef)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.ffp-gallery .ffp-project-additional>header h4{margin:0!important;color:var(--ffp-text,#fff)!important;font-size:clamp(24px,4vw,38px)!important;line-height:1!important;letter-spacing:-.035em!important}
.ffp-gallery .ffp-project-additional>header p{margin:2px 0 0!important;color:var(--ffp-muted,#a6b2c4)!important;font-size:14px!important;line-height:1.5!important}
.ffp-gallery .ffp-additional-track{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;align-items:start!important;gap:15px!important}
.ffp-gallery .ffp-additional-card{min-width:0!important;margin:0!important;padding:0!important;border:1px solid color-mix(in srgb,var(--ffp-text,#fff) 17%,transparent)!important;border-radius:12px!important;background:color-mix(in srgb,var(--ffp-surface,#101a2c) 92%,transparent)!important;overflow:hidden!important}
.ffp-gallery .ffp-additional-card.ffp-ratio-9x16,.ffp-gallery .ffp-additional-card.ffp-ratio-4x5{max-width:270px!important}
.ffp-gallery .ffp-additional-card>button{position:relative!important;display:block!important;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#050a12!important;color:#fff!important;box-shadow:none!important;overflow:hidden!important;cursor:pointer!important}
.ffp-gallery .ffp-additional-card>button::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,transparent 58%,rgba(3,8,15,.72))!important;pointer-events:none!important}
.ffp-gallery .ffp-additional-card.ffp-ratio-16x9>button{aspect-ratio:16/9!important}
.ffp-gallery .ffp-additional-card.ffp-ratio-9x16>button{aspect-ratio:9/16!important;max-height:360px!important}
.ffp-gallery .ffp-additional-card.ffp-ratio-4x5>button{aspect-ratio:4/5!important;max-height:330px!important}
.ffp-gallery .ffp-additional-card.ffp-ratio-1x1>button{aspect-ratio:1!important}
.ffp-gallery .ffp-additional-card>button img,.ffp-gallery .ffp-additional-placeholder{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.ffp-gallery .ffp-additional-placeholder{background:radial-gradient(circle at 70% 15%,rgba(215,25,95,.34),transparent 34%),linear-gradient(145deg,#17263a,#07101c)!important}
.ffp-gallery .ffp-additional-placeholder i{position:absolute!important;inset:35%!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:50%!important}
.ffp-gallery .ffp-additional-play{position:absolute!important;z-index:2!important;top:50%!important;left:50%!important;width:48px!important;height:48px!important;border:1px solid rgba(255,255,255,.62)!important;border-radius:50%!important;background:rgba(5,10,18,.62)!important;transform:translate(-50%,-50%)!important;transition:transform .18s ease,background .18s ease!important}
.ffp-gallery .ffp-additional-play i{position:absolute!important;top:50%!important;left:52%!important;width:0!important;height:0!important;border-top:6px solid transparent!important;border-bottom:6px solid transparent!important;border-left:9px solid #fff!important;transform:translate(-50%,-50%)!important}
.ffp-gallery .ffp-additional-card>button:hover .ffp-additional-play,.ffp-gallery .ffp-additional-card>button:focus-visible .ffp-additional-play{background:var(--ffp-accent,#d7195f)!important;transform:translate(-50%,-50%) scale(1.07)!important}
.ffp-gallery .ffp-additional-label{position:absolute!important;z-index:2!important;right:11px!important;bottom:10px!important;padding:5px 7px!important;border-radius:999px!important;background:rgba(4,9,16,.72)!important;color:#fff!important;font-size:9px!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important}
.ffp-gallery .ffp-additional-card>div{display:grid!important;gap:5px!important;padding:14px 15px 16px!important}
.ffp-gallery .ffp-additional-card>div strong{color:var(--ffp-text,#fff)!important;font-size:15px!important;line-height:1.18!important;letter-spacing:-.015em!important}
.ffp-gallery .ffp-additional-card>div p{margin:0!important;color:var(--ffp-muted,#a6b2c4)!important;font-size:12px!important;line-height:1.45!important}
@container (max-width:620px){
  .ffp-gallery .ffp-additional-track{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:11px!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x proximity!important;padding:0 0 8px!important}
  .ffp-gallery .ffp-additional-card{flex:0 0 min(78cqw,340px)!important;width:auto!important;max-width:none!important;scroll-snap-align:start!important}
  .ffp-gallery .ffp-additional-card.ffp-ratio-9x16,.ffp-gallery .ffp-additional-card.ffp-ratio-4x5{flex-basis:min(60cqw,245px)!important}
}

/* Preset geometry stays intentional even though the button surface is isolated. */
.ffp-gallery.ffp-preset-minimal button.ffp-card-media{border-radius:var(--ffp-radius)!important}
.ffp-gallery.ffp-preset-poster button.ffp-card-media{border-radius:max(2px,calc(var(--ffp-radius)*.55))!important}
.ffp-gallery.ffp-preset-contact-sheet button.ffp-card-media{border-radius:max(2px,calc(var(--ffp-radius)*.58))!important}
.ffp-gallery.ffp-preset-director-reel button.ffp-card-media{border-radius:4px!important}
.ffp-gallery.ffp-preset-editorial-collage button.ffp-card-media,.ffp-gallery.ffp-preset-seamless-minimal button.ffp-card-media{border-radius:0!important}
.ffp-gallery.ffp-preset-editorial-collage button.ffp-filter-toggle,.ffp-gallery.ffp-preset-editorial-collage button.ffp-advisor-toggle,.ffp-gallery.ffp-preset-editorial-collage button.ffp-emily-toggle{border-color:rgba(30,26,20,.25)!important;background:rgba(255,255,255,.48)!important;color:#49443e!important;box-shadow:none!important}

/* 3.4.5 · Kompaktere Bühne und robuste Emily-Typografie im echten Theme-Kontext. */
.ffp-gallery .ffp-widget-head-hero{
  min-height:clamp(420px,44vw,570px)!important;
  margin-bottom:clamp(34px,5vw,68px)!important;
  padding:clamp(56px,6.8vw,90px) clamp(28px,6vw,96px) clamp(32px,4vw,52px)!important
}
.ffp-gallery .ffp-widget-head-hero .ffp-heading-copy{max-width:720px!important}
.ffp-gallery .ffp-widget-head-hero .ffp-heading-copy h2{
  max-width:720px!important;font-size:clamp(36px,4.7vw,68px)!important;line-height:.98!important;letter-spacing:-.033em!important
}
.ffp-gallery .ffp-widget-head-hero .ffp-portfolio-stat strong{font-size:clamp(38px,4.35vw,66px)!important}
.ffp-gallery .ffp-hero-promises{font-size:clamp(17px,1.65vw,25px)!important}

@media(min-width:761px){
  .ffp-gallery .ffp-emily-panel,.ffp-gallery .ffp-emily-panel.is-local{
    top:calc(var(--ffp-overlay-top,0px) + 16px)!important;right:16px!important;bottom:16px!important;
    width:min(820px,calc(100vw - 32px))!important;padding:18px!important;border-radius:18px!important
  }
  .ffp-gallery .ffp-emily-body{grid-template-columns:minmax(0,.92fr) minmax(300px,1.08fr)!important;gap:16px!important;margin-top:14px!important}
  .ffp-gallery .ffp-emily-chat{padding-right:16px!important}
  .ffp-gallery .ffp-emily-panel .ffp-emily-conversation,.ffp-gallery .ffp-emily-panel.is-local .ffp-emily-conversation{max-height:190px!important;margin-bottom:10px!important}
  .ffp-gallery .ffp-emily-panel .ffp-emily-choices{gap:8px!important}
  .ffp-gallery .ffp-emily-choices button{
    min-width:0!important;min-height:50px!important;height:auto!important;padding:10px 11px!important;
    overflow:hidden!important;white-space:normal!important
  }
  .ffp-gallery .ffp-emily-choices button strong{
    display:block!important;min-width:0!important;font-size:10px!important;font-weight:750!important;line-height:1.28!important;
    letter-spacing:.01em!important;text-transform:none!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto!important
  }
  .ffp-gallery .ffp-emily-results>div:first-child strong{font-size:clamp(19px,1.5vw,24px)!important;line-height:1.08!important}
  .ffp-gallery .ffp-emily-result-list{gap:8px!important;margin-top:12px!important}
  .ffp-gallery .ffp-emily-result-card>span{padding:8px!important}
  .ffp-gallery .ffp-emily-result-card strong{font-size:10px!important;line-height:1.25!important}
}

@container (max-width:900px){
  .ffp-gallery .ffp-widget-head-hero{min-height:515px!important;padding-top:62px!important}
}
@container (max-width:560px){
  .ffp-gallery .ffp-widget-head-hero{min-height:500px!important;padding:42px 20px 38px!important;row-gap:14px!important}
  .ffp-gallery .ffp-widget-head-hero .ffp-heading-copy h2{font-size:clamp(34px,10.2cqw,45px)!important;line-height:.99!important}
  .ffp-gallery .ffp-hero-promises{font-size:clamp(16px,5cqw,20px)!important}
  .ffp-gallery .ffp-widget-head-hero .ffp-portfolio-stat strong{font-size:clamp(32px,9.8cqw,42px)!important}
}

/* 3.4.6 · Kontrast, feine Suchkonturen und ruhige Empfehlungs-Typografie. */
.ffp-gallery .ffp-search-suggestion{
  margin:0 0 6px!important;padding:8px!important;
  border:1px solid rgba(111,151,203,.28)!important;border-radius:10px!important;
  background:rgba(16,26,44,.72)!important;color:#fff!important;
  font-family:var(--ffp-font-body)!important;letter-spacing:normal!important;text-transform:none!important;
  transition:border-color .18s,background .18s,transform .18s,box-shadow .18s!important
}
.ffp-gallery .ffp-search-suggestion:last-child{margin-bottom:0!important}
.ffp-gallery .ffp-search-suggestion:hover,.ffp-gallery .ffp-search-suggestion:focus-visible{
  border-color:rgba(238,51,120,.78)!important;background:rgba(215,25,95,.1)!important;
  color:#fff!important;outline:0!important;box-shadow:0 0 0 1px rgba(215,25,95,.12),0 10px 28px rgba(0,0,0,.18)!important
}
.ffp-gallery .ffp-search-suggestion small,.ffp-gallery .ffp-related-card small,.ffp-gallery .ffp-end-recommend-card small{
  color:#64d8f2!important;letter-spacing:.045em!important;text-transform:uppercase!important
}
.ffp-gallery .ffp-search-suggestion:hover small,.ffp-gallery .ffp-search-suggestion:focus-visible small,
.ffp-gallery .ffp-related-card:hover small,.ffp-gallery .ffp-related-card:focus-visible small,
.ffp-gallery .ffp-end-recommend-card:hover small,.ffp-gallery .ffp-end-recommend-card:focus-visible small{color:#f15b92!important}
.ffp-gallery .ffp-search-suggestion strong{
  color:#fff!important;font-size:clamp(13px,1vw,16px)!important;font-weight:750!important;line-height:1.16!important;
  letter-spacing:-.01em!important;text-transform:none!important
}
.ffp-gallery .ffp-search-suggestion em{letter-spacing:.035em!important;text-transform:uppercase!important}

.ffp-gallery button.ffp-related-card,.ffp-gallery button.ffp-end-recommend-card{
  font-family:var(--ffp-font-body)!important;letter-spacing:normal!important;text-transform:none!important
}
.ffp-gallery button.ffp-related-card:hover,.ffp-gallery button.ffp-related-card:focus-visible,
.ffp-gallery button.ffp-end-recommend-card:hover,.ffp-gallery button.ffp-end-recommend-card:focus-visible{
  border-color:rgba(238,51,120,.78)!important;box-shadow:0 14px 36px rgba(215,25,95,.14)!important
}
.ffp-gallery .ffp-related-card strong,.ffp-gallery .ffp-end-recommend-card strong{
  color:#fff!important;font-size:clamp(14px,1.05vw,18px)!important;font-weight:750!important;line-height:1.16!important;
  letter-spacing:-.012em!important;text-transform:none!important
}
.ffp-gallery .ffp-related-card em,.ffp-gallery .ffp-end-recommend-card em{letter-spacing:.035em!important;text-transform:uppercase!important}

.ffp-gallery a.ffp-testimonial-more{
  color:#fff!important;border-color:rgba(238,51,120,.58)!important;background:rgba(10,20,36,.82)!important;
  font-family:var(--ffp-font-body)!important;letter-spacing:.045em!important;text-decoration:none!important
}
.ffp-gallery a.ffp-testimonial-more:hover,
.ffp-gallery a.ffp-testimonial-more:focus-visible{
  color:#ff6ca2!important;border-color:#ee3378!important;background:rgba(215,25,95,.12)!important;
  outline:0!important;box-shadow:0 0 24px rgba(215,25,95,.2)!important
}
.ffp-gallery a.ffp-head-scroll,.ffp-gallery a.ffp-head-scroll:visited{
  color:rgba(255,255,255,.92)!important;text-shadow:0 1px 10px rgba(0,0,0,.8)!important
}
.ffp-gallery a.ffp-head-scroll:hover,.ffp-gallery a.ffp-head-scroll:focus-visible{
  color:#ff6ca2!important;outline:0!important;filter:drop-shadow(0 0 8px rgba(215,25,95,.45))!important
}
.ffp-gallery .ffp-head-scroll i::before,.ffp-gallery .ffp-head-scroll i::after{background:#64d8f2!important}
.ffp-gallery .ffp-head-scroll:hover i::before,.ffp-gallery .ffp-head-scroll:hover i::after,
.ffp-gallery .ffp-head-scroll:focus-visible i::before,.ffp-gallery .ffp-head-scroll:focus-visible i::after{background:#ee3378!important}

.ffp-gallery .ffp-project-gallery figure{position:relative;background:linear-gradient(145deg,#111d31,#080f1c)!important}
.ffp-gallery .ffp-project-gallery img{display:block!important;width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important}
.ffp-gallery .ffp-project-gallery img.ffp-project-still:not([src]){min-height:clamp(180px,28vw,430px)!important}
.ffp-gallery .ffp-project-gallery figcaption{
  position:absolute;right:8px;bottom:8px;max-width:calc(100% - 16px);padding:5px 7px;border-radius:4px;
  background:rgba(2,7,14,.72);color:rgba(255,255,255,.78);font-size:7px;line-height:1.25;letter-spacing:.035em;
  opacity:0;transform:translateY(3px);transition:opacity .18s,transform .18s;pointer-events:none
}
.ffp-gallery .ffp-project-gallery figure:hover figcaption{opacity:1;transform:none}
@container (max-width:560px){
  .ffp-gallery .ffp-search-suggestion{margin-bottom:7px!important;padding:7px!important}
  .ffp-gallery .ffp-search-suggestion strong{font-size:14px!important;line-height:1.18!important}
  .ffp-gallery .ffp-head-scroll{bottom:12px!important;font-size:8px!important;letter-spacing:.1em!important}
}

.ffp-gallery .ffp-advisor-brand{align-content:center!important;gap:5px!important;min-width:0!important}
.ffp-gallery .ffp-advisor-brand img{display:block!important;width:auto!important;max-width:128px!important;height:24px!important;object-fit:contain!important;object-position:left center!important}
.ffp-gallery .ffp-advisor-brand strong{color:#fff!important;font-size:13px!important;font-weight:720!important;line-height:1.15!important;letter-spacing:-.005em!important;text-transform:none!important}
.ffp-gallery .ffp-advisor-question h3{line-height:.98!important;letter-spacing:-.038em!important;text-wrap:balance!important}
.ffp-gallery .ffp-advisor-question>p{letter-spacing:normal!important;text-transform:none!important}
.ffp-gallery .ffp-advisor-choices button{font-family:var(--ffp-font-body)!important;letter-spacing:normal!important;text-transform:none!important}
.ffp-gallery .ffp-advisor-choices button small{letter-spacing:.045em!important;text-transform:none!important}
.ffp-gallery .ffp-advisor-choices button strong{font-size:12px!important;font-weight:760!important;line-height:1.24!important;letter-spacing:.015em!important;text-transform:none!important;white-space:normal!important}
.ffp-gallery .ffp-advisor-choices button>span em{font-size:8px!important;line-height:1.42!important;letter-spacing:.025em!important;text-transform:none!important;white-space:normal!important}
.ffp-gallery button.ffp-advisor-match{font-family:var(--ffp-font-body)!important;letter-spacing:normal!important;text-transform:none!important}
.ffp-gallery .ffp-advisor-match small{letter-spacing:.04em!important}
.ffp-gallery .ffp-advisor-match strong{font-size:12px!important;line-height:1.18!important;letter-spacing:-.005em!important;text-transform:none!important}
.ffp-gallery .ffp-advisor-match em{letter-spacing:.025em!important}
@media(max-width:720px){
  .ffp-gallery .ffp-advisor-brand img{max-width:104px!important;height:20px!important}
  .ffp-gallery .ffp-advisor-brand strong{font-size:10px!important}
  .ffp-gallery .ffp-advisor-question h3{font-size:clamp(34px,10.2vw,48px)!important;line-height:1!important}
}

.ffp-gallery .ffp-emily-head strong{color:#fff!important;font-size:clamp(16px,1.45vw,21px)!important;line-height:1.12!important;letter-spacing:-.015em!important;text-transform:none!important}
.ffp-gallery .ffp-emily-head small{font-size:11px!important;line-height:1.4!important;letter-spacing:normal!important;text-transform:none!important}
.ffp-gallery .ffp-emily-message p{letter-spacing:normal!important;text-transform:none!important}
.ffp-gallery .ffp-emily-choices button{font-family:var(--ffp-font-body)!important;letter-spacing:normal!important;text-transform:none!important}
.ffp-gallery .ffp-emily-choices button strong{
  font-size:10.5px!important;font-weight:740!important;line-height:1.25!important;letter-spacing:0!important;text-transform:none!important;
  overflow-wrap:break-word!important;word-break:normal!important;hyphens:auto!important
}
.ffp-gallery .ffp-emily-choices button small{font-size:8px!important;line-height:1.4!important;letter-spacing:normal!important;text-transform:none!important}
.ffp-gallery button.ffp-emily-result-card{
  align-content:start!important;grid-template-rows:auto auto!important;height:auto!important;
  font-family:var(--ffp-font-body)!important;letter-spacing:normal!important;text-transform:none!important
}
.ffp-gallery .ffp-emily-result-card img{aspect-ratio:16/9!important;object-fit:cover!important}
.ffp-gallery .ffp-emily-result-card small{font-size:7px!important;line-height:1.25!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.ffp-gallery .ffp-emily-result-card strong{
  display:-webkit-box!important;overflow:hidden!important;font-size:11px!important;font-weight:750!important;line-height:1.2!important;
  letter-spacing:-.005em!important;text-transform:none!important;white-space:normal!important;-webkit-box-orient:vertical;-webkit-line-clamp:2
}
.ffp-gallery .ffp-emily-result-card em{font-size:7px!important;line-height:1.25!important;letter-spacing:.025em!important;text-transform:uppercase!important}
.ffp-gallery .ffp-emily-result-actions button{font-family:var(--ffp-font-body)!important;font-size:8px!important;letter-spacing:.045em!important}
.ffp-gallery .ffp-emily-result-actions button:disabled{color:rgba(255,255,255,.62)!important;opacity:.55!important}
.ffp-gallery .ffp-emily-disclosure,.ffp-gallery .ffp-emily-disclosure p{color:#9aabc0!important;letter-spacing:normal!important;text-transform:none!important}
.ffp-gallery .ffp-emily-disclosure a,.ffp-gallery .ffp-emily-disclosure a:visited{
  color:#dce8f6!important;font-size:8px!important;line-height:1.4!important;letter-spacing:normal!important;text-transform:none!important;text-decoration-color:rgba(238,51,120,.7)!important
}
.ffp-gallery .ffp-emily-disclosure a:hover,.ffp-gallery .ffp-emily-disclosure a:focus-visible{color:#ff6ca2!important;outline:0!important}
@media(min-width:761px){
  .ffp-gallery .ffp-emily-result-list{grid-auto-rows:max-content!important;align-content:start!important;gap:9px!important}
  .ffp-gallery .ffp-emily-results{grid-template-rows:auto minmax(0,1fr) auto!important}
}

/* 3.4.16 · Vier echte Showreel-Bühnen plus Minimal-Header. */
.ffp-gallery .ffp-widget-head-portal,.ffp-gallery .ffp-widget-head-split,.ffp-gallery .ffp-widget-head-credits{
  position:relative;isolation:isolate;min-height:clamp(540px,53vw,720px);
  margin:calc(clamp(28px,5vw,78px)*-1) calc(clamp(28px,5vw,78px)*-1) clamp(42px,6vw,88px)!important;
  padding:clamp(34px,4vw,58px) clamp(28px,6vw,96px) clamp(34px,4vw,58px)!important;
  overflow:hidden;background:#040914;color:#fff
}
.ffp-gallery .ffp-widget-head-portal::before,.ffp-gallery .ffp-widget-head-split::before,.ffp-gallery .ffp-widget-head-credits::before{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:radial-gradient(circle at 82% 10%,rgba(215,25,95,.18),transparent 30%),linear-gradient(180deg,rgba(4,9,20,.18),rgba(4,9,20,.86))
}
.ffp-gallery .ffp-head-tagline{position:relative;z-index:4;grid-column:1/-1;align-self:start;justify-self:end;color:rgba(255,255,255,.74);font-size:8px;font-weight:800;letter-spacing:.18em;text-align:right;text-transform:uppercase}
.ffp-gallery .ffp-widget-head-portal .ffp-heading-copy h2,.ffp-gallery .ffp-widget-head-split .ffp-heading-copy h2,.ffp-gallery .ffp-widget-head-credits .ffp-heading-copy h2{
  color:#fff;text-wrap:balance;overflow-wrap:normal!important;word-break:normal!important;hyphens:none;text-shadow:0 8px 28px rgba(0,0,0,.5)
}
.ffp-gallery .ffp-widget-head-portal .ffp-heading-mark,.ffp-gallery .ffp-widget-head-split .ffp-heading-mark,.ffp-gallery .ffp-widget-head-credits .ffp-heading-mark{color:#7de3f5}
.ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stat strong,.ffp-gallery .ffp-widget-head-split .ffp-portfolio-stat strong,.ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stat strong{
  color:var(--ffp-cta);background:linear-gradient(112deg,#ffb0cb,var(--ffp-cta) 56%,#8f0c40);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent
}
.ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stat span,.ffp-gallery .ffp-widget-head-split .ffp-portfolio-stat span,.ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stat span{color:rgba(255,255,255,.86)}

/* Filmportal: das Showreel liegt als bewegte Linse in einem ruhigen Orbit. */
.ffp-gallery .ffp-widget-head-portal{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(210px,.55fr);grid-template-rows:auto 1fr auto;gap:22px;align-items:center}
.ffp-gallery .ffp-widget-head-portal .ffp-head-media{
  z-index:-2;top:50%;right:auto;bottom:auto;left:56%;width:min(58vw,710px);height:auto;aspect-ratio:1;
  border-radius:50%;clip-path:circle(49%);background-position:center;transform:translate(-50%,-48%)!important;box-shadow:0 0 90px rgba(31,128,190,.22)
}
.ffp-gallery .ffp-widget-head-portal::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#040914 0,rgba(4,9,20,.84) 28%,rgba(4,9,20,.1) 62%,#040914 100%);pointer-events:none}
.ffp-gallery .ffp-portal-rings{position:absolute;z-index:-1;top:50%;left:56%;width:min(64vw,780px);aspect-ratio:1;transform:translate(-50%,-48%);pointer-events:none}
.ffp-gallery .ffp-portal-rings i{position:absolute;inset:0;border:1px solid rgba(87,212,239,.28);border-radius:50%}
.ffp-gallery .ffp-portal-rings i:last-child{inset:-5%;border-style:dashed;border-color:rgba(215,25,95,.34);animation:ffp-portal-orbit 34s linear infinite}
@keyframes ffp-portal-orbit{to{transform:rotate(360deg)}}
.ffp-gallery .ffp-widget-head-portal .ffp-heading-copy{z-index:2;grid-column:1;grid-row:2;align-self:center;max-width:min(620px,52vw)}
.ffp-gallery .ffp-widget-head-portal .ffp-heading-copy h2{font-size:clamp(42px,5.2vw,70px)!important;line-height:.9!important;letter-spacing:-.05em!important;text-transform:uppercase}
.ffp-gallery .ffp-widget-head-portal .ffp-heading-copy p{max-width:500px;color:rgba(255,255,255,.78)}
.ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stats{z-index:2;grid-column:2;grid-row:2;align-self:center;display:grid;gap:18px;padding:0}
.ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stat{grid-template-columns:88px minmax(0,1fr);align-items:end;gap:13px;text-align:left}
.ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stat strong{font-size:clamp(44px,5vw,72px);line-height:.78;text-align:right}
.ffp-gallery .ffp-widget-head-portal .ffp-head-logos{position:relative!important;right:auto!important;bottom:auto!important;left:auto!important;grid-column:1/-1;grid-row:3;width:100%!important;margin:0!important;padding-top:17px!important}

/* Split Focus: redaktioneller Text links, klar abgegrenzte Filmfläche rechts. */
.ffp-gallery .ffp-widget-head-split{display:grid;grid-template-columns:minmax(310px,42%) minmax(0,58%);grid-template-rows:auto 1fr auto auto;gap:18px 46px;padding-right:0!important}
.ffp-gallery .ffp-widget-head-split::before{background:radial-gradient(circle at 20% 35%,rgba(31,128,190,.14),transparent 38%),linear-gradient(90deg,#07111f 0,#07111f 42%,rgba(5,10,19,.15) 70%,rgba(5,10,19,.62))}
.ffp-gallery .ffp-widget-head-split .ffp-head-tagline{margin-right:clamp(28px,6vw,96px)}
.ffp-gallery .ffp-widget-head-split .ffp-head-media{z-index:-2;top:0;right:0;bottom:0;left:42%;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%);transform:none!important;background-position:center}
.ffp-gallery .ffp-widget-head-split .ffp-heading-copy{z-index:2;grid-column:1;grid-row:2;align-self:center;max-width:540px;padding:16px 0}
.ffp-gallery .ffp-widget-head-split .ffp-heading-copy h2{font-size:clamp(40px,4.8vw,70px)!important;line-height:.96!important;letter-spacing:-.04em!important}
.ffp-gallery .ffp-widget-head-split .ffp-heading-copy p{max-width:470px;color:rgba(225,235,246,.76);font-size:14px;line-height:1.55}
.ffp-gallery .ffp-widget-head-split .ffp-portfolio-stats{z-index:2;grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:0;padding:15px clamp(28px,6vw,96px) 15px 0;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.12)}
.ffp-gallery .ffp-widget-head-split .ffp-portfolio-stat{display:grid;grid-template-columns:auto 1fr;align-items:end;justify-content:start;gap:11px;text-align:left}
.ffp-gallery .ffp-widget-head-split .ffp-portfolio-stat strong{font-size:clamp(36px,4vw,56px);line-height:.78}
.ffp-gallery .ffp-widget-head-split .ffp-split-caption{position:absolute;z-index:3;right:clamp(28px,5vw,78px);bottom:132px;display:flex;align-items:center;gap:10px;color:#fff;font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ffp-gallery .ffp-widget-head-split .ffp-split-caption i{display:block;width:34px;height:34px;border:1px solid rgba(255,255,255,.72);border-radius:50%}
.ffp-gallery .ffp-widget-head-split .ffp-split-caption i::after{content:"";display:block;margin:11px 0 0 13px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #fff}
.ffp-gallery button.ffp-header-showreel{margin:0;padding:0;border:0;background:transparent;color:#fff;box-shadow:none;cursor:pointer}
.ffp-gallery button.ffp-header-showreel:hover,.ffp-gallery button.ffp-header-showreel:focus-visible{border:0;background:transparent;color:#ff6ca2;box-shadow:none;outline:0}
.ffp-gallery button.ffp-header-showreel:hover i,.ffp-gallery button.ffp-header-showreel:focus-visible i{border-color:#ff6ca2;transform:scale(1.06)}
.ffp-gallery button.ffp-header-showreel i{transition:border-color .2s,transform .24s}
.ffp-gallery .ffp-widget-head-split .ffp-head-logos{position:relative!important;right:auto!important;bottom:auto!important;left:auto!important;grid-column:1/-1;grid-row:4;width:calc(100% - clamp(28px,6vw,96px))!important;margin:0!important;padding-top:14px!important}

/* Kinocredits: Typografie, Filmstreifen und Kennzahlen bilden eine Plakatkomposition. */
.ffp-gallery .ffp-widget-head-credits{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto auto;gap:18px 32px;padding-left:clamp(58px,8vw,132px)!important}
.ffp-gallery .ffp-widget-head-credits::before{background:linear-gradient(90deg,rgba(3,7,14,.93) 0,rgba(3,7,14,.65) 53%,rgba(3,7,14,.28)),linear-gradient(180deg,rgba(3,7,14,.2),#03070e 100%)}
.ffp-gallery .ffp-widget-head-credits .ffp-head-media{transform:none!important;filter:saturate(.72)}
.ffp-gallery .ffp-credits-rail{position:absolute;z-index:3;top:50%;left:clamp(18px,2.5vw,38px);display:flex;gap:21px;transform:translate(-43%,-50%) rotate(-90deg);transform-origin:center;color:rgba(255,255,255,.58);font-size:7px;font-weight:800;letter-spacing:.2em}
.ffp-gallery .ffp-widget-head-credits .ffp-heading-copy{z-index:3;grid-column:1;grid-row:2;align-self:end;max-width:840px}
.ffp-gallery .ffp-widget-head-credits .ffp-heading-copy h2{font-size:clamp(46px,5.6vw,76px)!important;line-height:.86!important;letter-spacing:-.055em!important;text-transform:uppercase}
.ffp-gallery .ffp-widget-head-credits .ffp-heading-copy p{max-width:540px;color:rgba(255,255,255,.78);line-height:1.55}
.ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stats{z-index:3;grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:0;padding:13px 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.12)}
.ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stat{display:flex;align-items:baseline;gap:10px;text-align:left}
.ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stat strong{font-size:clamp(35px,4vw,58px)}
.ffp-gallery .ffp-widget-head-credits .ffp-head-logos{position:relative!important;right:auto!important;bottom:auto!important;left:auto!important;grid-column:1/-1;grid-row:4;width:100%!important;margin:0!important;padding-top:14px!important}

@container (max-width:760px){
  .ffp-gallery .ffp-widget-head-portal,.ffp-gallery .ffp-widget-head-split,.ffp-gallery .ffp-widget-head-credits{
    grid-template-columns:1fr;grid-template-rows:auto auto auto auto;align-content:start;min-height:720px;padding:27px 20px 42px!important;gap:16px
  }
  .ffp-gallery .ffp-head-tagline{max-width:150px;font-size:6.5px;line-height:1.35;text-align:right}
  .ffp-gallery .ffp-widget-head-portal .ffp-head-media{top:34%;left:50%;width:min(92cqw,450px);transform:translate(-50%,-50%)!important}
  .ffp-gallery .ffp-portal-rings{top:34%;left:50%;width:min(103cqw,500px);transform:translate(-50%,-50%)}
  .ffp-gallery .ffp-widget-head-portal::after{background:linear-gradient(180deg,rgba(4,9,20,.08),rgba(4,9,20,.22) 35%,#040914 67%)}
  .ffp-gallery .ffp-widget-head-portal .ffp-heading-copy{grid-column:1;grid-row:2;align-self:end;max-width:none;margin-top:235px;text-align:center}
  .ffp-gallery .ffp-widget-head-portal .ffp-heading-copy h2{font-size:clamp(36px,10.6cqw,46px)!important;line-height:.95!important;text-transform:none}
  .ffp-gallery .ffp-widget-head-portal .ffp-heading-copy p{margin-inline:auto}
  .ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stats{grid-column:1;grid-row:3;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}
  .ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stat{display:grid;grid-template-columns:1fr;gap:4px;text-align:center}
  .ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stat strong{font-size:38px;text-align:center}.ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stat span{font-size:7px}
  .ffp-gallery .ffp-widget-head-portal .ffp-head-logos{grid-row:4!important}

  .ffp-gallery .ffp-widget-head-split{min-height:690px;padding:0 20px 42px!important;grid-template-rows:300px auto auto auto}
  .ffp-gallery .ffp-widget-head-split::before{background:linear-gradient(180deg,rgba(4,9,20,.08) 0,rgba(4,9,20,.08) 38%,#07111f 49%,#07111f 100%)}
  .ffp-gallery .ffp-widget-head-split .ffp-head-tagline{position:absolute;top:22px;right:20px;margin:0}
  .ffp-gallery .ffp-widget-head-split .ffp-head-media{top:0;right:0;bottom:auto;left:0;height:320px;clip-path:none}
  .ffp-gallery .ffp-widget-head-split .ffp-heading-copy{grid-column:1;grid-row:2;padding:0;text-align:left}
  .ffp-gallery .ffp-widget-head-split .ffp-heading-copy h2{font-size:clamp(37px,10.8cqw,48px)!important;line-height:.98!important}
  .ffp-gallery .ffp-widget-head-split .ffp-portfolio-stats{grid-column:1;grid-row:3;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0}
  .ffp-gallery .ffp-widget-head-split .ffp-portfolio-stat{display:grid;grid-template-columns:1fr;gap:4px;text-align:left}.ffp-gallery .ffp-widget-head-split .ffp-portfolio-stat strong{font-size:34px}
  .ffp-gallery .ffp-widget-head-split .ffp-split-caption{top:240px;right:20px;bottom:auto}
  .ffp-gallery .ffp-widget-head-split .ffp-head-logos{grid-row:4!important;width:100%!important}

  .ffp-gallery .ffp-widget-head-credits{min-height:650px;padding:25px 20px 44px!important;grid-template-rows:auto auto auto auto}
  .ffp-gallery .ffp-widget-head-credits .ffp-credits-rail{display:none}
  .ffp-gallery .ffp-widget-head-credits .ffp-heading-copy{grid-column:1;grid-row:2;align-self:center;margin-top:clamp(90px,24cqw,150px);text-align:left}
  .ffp-gallery .ffp-widget-head-credits .ffp-heading-copy h2{font-size:clamp(36px,10.6cqw,46px)!important;line-height:.94!important;text-transform:none}
  .ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stats{grid-column:1;grid-row:3;grid-template-columns:repeat(3,1fr);gap:8px;padding:11px 0}
  .ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stat{display:grid;gap:2px}.ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stat strong{font-size:34px}.ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stat span{font-size:7px}
  .ffp-gallery .ffp-widget-head-credits .ffp-head-logos{grid-row:4!important}

  .ffp-gallery .ffp-widget-head-portal .ffp-head-logos,.ffp-gallery .ffp-widget-head-split .ffp-head-logos,.ffp-gallery .ffp-widget-head-credits .ffp-head-logos{position:relative!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;margin:0!important;padding-top:12px!important}
  .ffp-gallery .ffp-widget-head-portal .ffp-head-scroll,.ffp-gallery .ffp-widget-head-split .ffp-head-scroll,.ffp-gallery .ffp-widget-head-credits .ffp-head-scroll{bottom:7px!important}
}
@container (max-width:420px){
  .ffp-gallery .ffp-widget-head-portal{min-height:700px}.ffp-gallery .ffp-widget-head-portal .ffp-heading-copy{margin-top:210px}
  .ffp-gallery .ffp-widget-head-split{grid-template-rows:270px auto auto auto}.ffp-gallery .ffp-widget-head-split .ffp-head-media{height:290px}.ffp-gallery .ffp-widget-head-split .ffp-split-caption{top:212px}
  .ffp-gallery .ffp-widget-head-credits{min-height:620px;grid-template-rows:auto auto auto auto}
}
@media(prefers-reduced-motion:reduce){.ffp-gallery .ffp-portal-rings i:last-child{animation:none}}
@media(max-width:760px){
  .ffp-gallery .ffp-emily-head strong{font-size:16px!important}
  .ffp-gallery .ffp-emily-head small{font-size:9px!important}
  .ffp-gallery .ffp-emily-result-list{grid-template-columns:1fr!important}
  .ffp-gallery .ffp-emily-result-card{grid-template-columns:112px minmax(0,1fr)!important;grid-template-rows:auto!important}
  .ffp-gallery .ffp-emily-result-card img{width:112px!important;height:100%!important;min-height:84px!important;aspect-ratio:auto!important}
}

.ffp-gallery .ffp-search-shell{
  border:1px solid rgba(101,150,202,.42)!important;outline:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important
}
.ffp-gallery{box-sizing:border-box!important}
.ffp-gallery.ffp-full-bleed{
  left:50%!important;width:var(--ffp-viewport-width,100vw)!important;max-width:var(--ffp-viewport-width,100vw)!important;
  margin-right:calc(var(--ffp-viewport-width,100vw) / -2)!important;margin-left:calc(var(--ffp-viewport-width,100vw) / -2)!important
}
body.ffp-has-full-bleed{overflow-x:hidden!important}
@supports (overflow:clip){body.ffp-has-full-bleed{overflow-x:clip!important}}
.ffp-gallery.ffp-full-bleed .ffp-widget-head-hero,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-portal,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-split,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-credits,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-horizon,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-frames,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-light-fields,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-lgs-signet,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-focus-pull,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-kinetic,
.ffp-gallery.ffp-full-bleed .ffp-widget-head-prism{
  margin-top:0!important;margin-right:0!important;margin-left:0!important
}

.ffp-gallery.ffp-preset-editorial-collage{
  --ffp-editorial-paper:var(--ffp-bg);--ffp-editorial-ink:var(--ffp-text);--ffp-editorial-muted:var(--ffp-muted);
  background:linear-gradient(105deg,rgba(255,255,255,.38),transparent 24%),repeating-linear-gradient(90deg,rgba(30,26,20,.018) 0 1px,transparent 1px 5px),var(--ffp-editorial-paper)!important;
  color:var(--ffp-editorial-ink)!important
}
.ffp-gallery.ffp-preset-editorial-collage .ffp-editorial-caption{
  border-left-color:rgba(30,26,20,.28)!important;color:var(--ffp-editorial-ink)!important
}
.ffp-gallery.ffp-preset-editorial-collage .ffp-editorial-caption strong{
  color:var(--ffp-editorial-ink)!important;letter-spacing:.005em!important;text-shadow:none!important
}
.ffp-gallery.ffp-preset-editorial-collage .ffp-editorial-caption small{color:var(--ffp-editorial-muted)!important;letter-spacing:.035em!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-editorial-caption>span{color:#168aa7!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-toolbar{border-top-color:rgba(30,26,20,.2)!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-search-shell{
  border-color:rgba(30,26,20,.28)!important;background:rgba(255,255,255,.5)!important;box-shadow:none!important
}
.ffp-gallery.ffp-preset-editorial-collage .ffp-search input{color:var(--ffp-editorial-ink)!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-search input::placeholder{color:color-mix(in srgb,var(--ffp-editorial-ink) 62%,transparent)!important}

body>button.ffp-dialog-close-portal{
  width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;
  padding:8px!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important
}
body>button.ffp-dialog-close-portal span{display:none!important}
body>button.ffp-dialog-close-portal i{width:36px!important;height:36px!important}
body>button.ffp-dialog-close-portal svg{width:29px!important;height:29px!important;stroke-width:2.15!important}
body>button.ffp-dialog-close-portal:hover{filter:none!important;background:transparent!important}
body>button.ffp-dialog-close-portal:focus-visible{filter:none!important;outline:2px solid #ee3378!important;outline-offset:2px!important}

/* 3.4.7 · Ruhige Bedientypografie und kontextuelle WordPress-Bearbeitung. */
.ffp-gallery button.ffp-finder-clear{
  display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:34px!important;padding:0 13px!important;
  font-family:var(--ffp-font-body)!important;font-size:9px!important;font-weight:720!important;line-height:1!important;
  letter-spacing:.025em!important;text-transform:none!important;text-decoration:none!important
}
.ffp-gallery button.ffp-finder-clear::before{display:none!important;content:none!important}
.ffp-gallery .ffp-control-icon{display:block;width:18px;height:18px;flex:0 0 18px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ffp-gallery button.ffp-finder-clear .ffp-control-icon{width:14px;height:14px;flex-basis:14px;color:var(--ffp-accent-2)}
.ffp-gallery .ffp-project-edit{
  gap:8px!important;margin-bottom:24px!important;padding:10px 13px!important;
  border:1px solid color-mix(in srgb,var(--ffp-accent-2) 42%,transparent)!important;border-radius:8px!important;
  background:color-mix(in srgb,var(--ffp-accent) 10%,transparent)!important;color:#e5f9ff!important;
  font-family:var(--ffp-font-body)!important;font-size:9px!important;font-weight:760!important;line-height:1!important;
  letter-spacing:.025em!important;text-transform:none!important;text-decoration:none!important
}
.ffp-gallery .ffp-project-edit:hover,.ffp-gallery .ffp-project-edit:focus-visible{
  border-color:var(--ffp-cta)!important;background:color-mix(in srgb,var(--ffp-cta) 13%,transparent)!important;color:#fff!important
}
#wpadminbar #wp-admin-bar-ffp-edit-current-project{display:none!important}
#wpadminbar #wp-admin-bar-ffp-edit-current-project.is-visible{display:block!important}
#wpadminbar #wp-admin-bar-ffp-edit-current-project>a{color:#fff!important}
#wpadminbar #wp-admin-bar-ffp-edit-current-project>a::before{content:"\f464";top:2px;color:#ff4f91!important}
#wpadminbar #wp-admin-bar-ffp-edit-current-project:hover>a{background:#8f103f!important;color:#fff!important}

/* Bewertung und Vormerker erhalten getrennte, berührungssichere Bereiche. */
.ffp-gallery .ffp-card .ffp-card-rating{left:58px!important}
.ffp-gallery .ffp-card:not(:has(.ffp-shortlist-toggle)) .ffp-card-rating{left:12px!important}
.ffp-gallery.ffp-preset-contact-sheet .ffp-card-rating,.ffp-gallery.ffp-preset-director-reel .ffp-card-rating{left:12px!important}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-card-rating{left:56px!important}

/* Jede Layoutfamilie besitzt eine eigene, aber konsistente Filterdramaturgie. */
.ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar{margin-bottom:11px;padding-top:8px}
.ffp-gallery.ffp-preset-contact-sheet .ffp-search-shell{min-height:46px;border-radius:8px!important}
.ffp-gallery.ffp-preset-contact-sheet .ffp-filter-toggle,.ffp-gallery.ffp-preset-contact-sheet .ffp-advisor-toggle{width:46px!important;height:46px!important;min-height:46px!important;border-radius:8px!important}
.ffp-gallery.ffp-preset-contact-sheet .ffp-finder{margin-bottom:20px}
.ffp-gallery.ffp-preset-contact-sheet .ffp-finder-panel{padding:10px 12px 12px!important;border-radius:8px!important}
.ffp-gallery.ffp-preset-contact-sheet .ffp-filters{gap:5px!important;padding-bottom:9px!important}
.ffp-gallery.ffp-preset-contact-sheet .ffp-filters button{min-height:29px!important;padding:5px 9px!important;border-radius:5px!important;font-size:7px!important;letter-spacing:.055em!important}
.ffp-gallery.ffp-preset-contact-sheet .ffp-facet-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;gap:7px!important;padding-top:9px!important}

.ffp-gallery.ffp-preset-director-reel .ffp-finder{margin-bottom:24px!important}
.ffp-gallery.ffp-preset-director-reel .ffp-finder-panel{padding:8px 0 13px!important;border-width:1px 0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ffp-gallery.ffp-preset-director-reel .ffp-filters{flex-wrap:nowrap!important;gap:18px!important;overflow-x:auto!important;padding:7px 0 13px!important;scrollbar-width:none}
.ffp-gallery.ffp-preset-director-reel .ffp-filters::-webkit-scrollbar{display:none}
.ffp-gallery.ffp-preset-director-reel .ffp-filters button{flex:0 0 auto!important;min-height:30px!important;padding:0 1px!important;border:0!important;border-bottom:1px solid transparent!important;border-radius:0!important;background:transparent!important;font-size:8px!important}
.ffp-gallery.ffp-preset-director-reel .ffp-filters button.is-active{border-bottom-color:var(--ffp-cta)!important;background:transparent!important;color:#fff!important}
.ffp-gallery.ffp-preset-director-reel .ffp-facet-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:8px!important}

.ffp-gallery.ffp-preset-screening .ffp-finder-panel{padding:9px 12px 13px!important;border-radius:14px!important;background:color-mix(in srgb,var(--ffp-surface) 72%,transparent)!important}
.ffp-gallery.ffp-preset-screening .ffp-filters{flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto!important;padding:4px 0 10px!important;scrollbar-width:none}
.ffp-gallery.ffp-preset-screening .ffp-filters::-webkit-scrollbar{display:none}
.ffp-gallery.ffp-preset-screening .ffp-filters button{flex:0 0 auto!important;min-height:32px!important;padding:6px 11px!important;font-size:7.5px!important}
.ffp-gallery.ffp-preset-screening .ffp-facet-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:8px!important}

.ffp-gallery.ffp-preset-editorial-collage .ffp-finder-panel{padding:12px 14px 14px!important;border-radius:0!important;background:color-mix(in srgb,var(--ffp-surface) 94%,transparent)!important;box-shadow:0 18px 44px rgba(70,55,35,.1)!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-filters{gap:12px!important;padding:2px 0 12px!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-filters button{min-height:28px!important;padding:3px 0!important;border-width:0 0 1px!important;border-radius:0!important;background:transparent!important;color:var(--ffp-editorial-muted)!important;font-family:Georgia,serif!important;font-size:8px!important;letter-spacing:.035em!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-filters button.is-active{border-bottom-color:var(--ffp-cta)!important;background:transparent!important;color:var(--ffp-editorial-ink)!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-facet-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:9px!important}
.ffp-gallery.ffp-preset-editorial-collage .ffp-facet select{background:var(--ffp-surface)!important;color:var(--ffp-text)!important}
.ffp-gallery.ffp-preset-editorial-collage button.ffp-finder-clear{border-color:color-mix(in srgb,var(--ffp-text) 22%,transparent)!important;background:color-mix(in srgb,var(--ffp-surface) 78%,transparent)!important;color:var(--ffp-muted)!important}
.ffp-gallery.ffp-preset-editorial-collage button.ffp-finder-clear:hover{border-color:var(--ffp-cta)!important;background:color-mix(in srgb,var(--ffp-cta) 8%,var(--ffp-surface))!important;color:var(--ffp-text)!important}

.ffp-gallery.ffp-preset-seamless-minimal .ffp-toolbar{margin-bottom:8px!important;padding-top:6px!important}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-search-shell{min-height:42px!important;border-radius:0!important;background:transparent!important}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-filter-toggle,.ffp-gallery.ffp-preset-seamless-minimal .ffp-advisor-toggle{width:42px!important;height:42px!important;min-height:42px!important;border-radius:0!important;background:transparent!important}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-finder{margin-bottom:8px!important}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-finder-panel{padding:8px 0 11px!important;border-width:1px 0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-filters{gap:4px!important;padding-bottom:8px!important}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-filters button{min-height:27px!important;padding:4px 8px!important;border-radius:3px!important;font-size:7px!important}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-facet-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))!important;gap:6px!important;padding-top:7px!important}

@container (max-width:560px){
  .ffp-gallery .ffp-card .ffp-card-rating{left:54px!important}
  .ffp-gallery .ffp-card:not(:has(.ffp-shortlist-toggle)) .ffp-card-rating{left:10px!important}
  .ffp-gallery.ffp-preset-contact-sheet .ffp-filters,.ffp-gallery.ffp-preset-director-reel .ffp-filters,.ffp-gallery.ffp-preset-screening .ffp-filters,.ffp-gallery.ffp-preset-editorial-collage .ffp-filters{flex-wrap:nowrap!important;overflow-x:auto!important}
  .ffp-gallery.ffp-preset-editorial-collage .ffp-finder-panel{padding:10px!important}
  .ffp-gallery.ffp-preset-editorial-collage .ffp-facet-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
.ffp-gallery .ffp-search-shell:focus-within{
  border-color:rgba(238,51,120,.78)!important;outline:0!important;
  box-shadow:0 0 24px rgba(215,25,95,.16)!important
}
.ffp-gallery .ffp-search,.ffp-gallery .ffp-search:focus-within{border:0!important;outline:0!important;box-shadow:none!important}
.ffp-gallery .ffp-search input,.ffp-gallery .ffp-search input:hover,.ffp-gallery .ffp-search input:focus,
.ffp-gallery .ffp-search input:focus-visible,.ffp-gallery .ffp-search input:active{
  min-height:52px!important;margin:0!important;padding:10px 14px 10px 50px!important;
  border:0!important;border-radius:0!important;background:transparent!important;color:var(--ffp-text)!important;
  outline:0!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important
}
@container (max-width:560px){
  .ffp-gallery .ffp-search input,.ffp-gallery .ffp-search input:focus{min-height:42px!important;padding:7px 10px 7px 40px!important}
}

/* Lange Projekttitel bleiben in jeder Stilfamilie vollständig lesbar. */
.ffp-gallery .ffp-card-title{
  min-width:0!important;
  max-width:calc(100% - clamp(36px,4vw,58px))!important
}
.ffp-gallery .ffp-card-title strong{
  display:block!important;
  max-width:100%!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-wrap:balance
}
.ffp-gallery.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title,
.ffp-gallery.ffp-preset-cinema .ffp-card.is-first .ffp-card-title{
  width:auto!important;
  max-width:92%!important
}
.ffp-gallery.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title strong,
.ffp-gallery.ffp-preset-cinema .ffp-card.is-first .ffp-card-title strong{
  max-width:34ch!important;
  font-size:clamp(28px,4.1cqw,58px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important
}
.ffp-gallery.ffp-preset-screening .ffp-card-title strong{
  max-width:32ch!important;
  font-size:clamp(18px,2cqw,26px)!important;
  line-height:1!important
}
.ffp-gallery.ffp-preset-director-reel .ffp-card-title strong{
  max-width:32ch!important;
  font-size:clamp(20px,2.2cqw,30px)!important;
  line-height:1!important
}
.ffp-gallery.ffp-preset-contact-sheet .ffp-card.ffp-ratio-9x16 .ffp-card-title strong,
.ffp-gallery.ffp-preset-contact-sheet .ffp-card.ffp-ratio-4x5 .ffp-card-title strong,
.ffp-gallery.ffp-preset-contact-sheet .ffp-card.ffp-ratio-1x1 .ffp-card-title strong{
  font-size:clamp(10.5px,1cqw,13px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important
}
.ffp-gallery.ffp-preset-director-reel .ffp-card.ffp-ratio-9x16 .ffp-card-title strong,
.ffp-gallery.ffp-preset-director-reel .ffp-card.ffp-ratio-4x5 .ffp-card-title strong{
  font-size:clamp(13px,1.25cqw,17px)!important;
  line-height:1.05!important
}
@container (min-width:561px){
  .ffp-gallery.ffp-preset-contact-sheet .ffp-card.ffp-ratio-9x16,
  .ffp-gallery.ffp-preset-contact-sheet .ffp-card.ffp-ratio-4x5{
    grid-column:span 3!important
  }
}
@container (max-width:560px){
  .ffp-gallery .ffp-card-title{
    left:15px!important;
    right:15px!important;
    max-width:calc(100% - 30px)!important
  }
  .ffp-gallery.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title,
  .ffp-gallery.ffp-preset-cinema .ffp-card.is-first .ffp-card-title{
    max-width:calc(100% - 30px)!important
  }
  .ffp-gallery.ffp-preset-cinematic .ffp-card.is-first .ffp-card-title strong,
  .ffp-gallery.ffp-preset-cinema .ffp-card.is-first .ffp-card-title strong,
  .ffp-gallery.ffp-preset-screening .ffp-card-title strong{
    max-width:100%!important;
    font-size:clamp(20px,5.6cqw,27px)!important;
    line-height:1.03!important
  }
  .ffp-gallery.ffp-preset-director-reel .ffp-card{
    flex-basis:92cqw!important
  }
  .ffp-gallery.ffp-preset-director-reel .ffp-card.ffp-ratio-9x16,
  .ffp-gallery.ffp-preset-director-reel .ffp-card.ffp-ratio-4x5{
    flex-basis:72cqw!important
  }
  .ffp-gallery.ffp-preset-director-reel .ffp-card-title strong{
    max-width:100%!important;
    font-size:clamp(15px,4.6cqw,18px)!important;
    line-height:1.04!important
  }
  .ffp-gallery.ffp-preset-screening .ffp-card{
    flex-basis:min(96cqw,370px)!important
  }
  .ffp-gallery.ffp-preset-screening .ffp-card-title strong{
    font-size:clamp(16px,4.8cqw,19px)!important
  }
  .ffp-gallery.ffp-preset-contact-sheet .ffp-card.ffp-ratio-9x16 .ffp-card-title strong,
  .ffp-gallery.ffp-preset-contact-sheet .ffp-card.ffp-ratio-4x5 .ffp-card-title strong,
  .ffp-gallery.ffp-preset-contact-sheet .ffp-card.ffp-ratio-1x1 .ffp-card-title strong,
  .ffp-gallery.ffp-preset-editorial-collage .ffp-card.ffp-ratio-9x16 .ffp-editorial-caption strong,
  .ffp-gallery.ffp-preset-editorial-collage .ffp-card.ffp-ratio-4x5 .ffp-editorial-caption strong,
  .ffp-gallery.ffp-preset-editorial-collage .ffp-card.ffp-ratio-1x1 .ffp-editorial-caption strong{
    font-size:clamp(10.5px,3cqw,12px)!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important
  }
  .ffp-gallery .ffp-toolbar button.ffp-filter-toggle,
  .ffp-gallery .ffp-toolbar button.ffp-advisor-toggle{
    box-sizing:border-box!important;
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important
  }
}

/* Im Minimal-Stil bleiben Suche, Filter und Beratung strikt getrennt. */
.ffp-gallery.ffp-preset-seamless-minimal .ffp-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px 42px!important;
  align-items:center!important;
  gap:8px!important
}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-toolbar .ffp-search-shell{
  grid-column:auto!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important
}
.ffp-gallery.ffp-preset-seamless-minimal .ffp-toolbar .ffp-search input{
  min-height:40px!important;
  padding-top:6px!important;
  padding-bottom:6px!important
}
.ffp-gallery.ffp-preset-seamless-minimal button.ffp-filter-toggle,
.ffp-gallery.ffp-preset-seamless-minimal button.ffp-advisor-toggle{
  box-sizing:border-box!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  overflow:hidden!important
}
.ffp-gallery.ffp-preset-seamless-minimal button.ffp-advisor-toggle span{
  display:none!important
}
@container (max-width:420px){
  .ffp-gallery.ffp-preset-seamless-minimal .ffp-toolbar{
    grid-template-columns:minmax(0,1fr) 40px 40px!important;
    gap:6px!important
  }
  .ffp-gallery.ffp-preset-seamless-minimal button.ffp-filter-toggle,
  .ffp-gallery.ffp-preset-seamless-minimal button.ffp-advisor-toggle{
    flex-basis:40px!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important
  }
}

/* Laufnummer und Bewertung erhalten in nummerierten Layouts eigene Plätze. */
.ffp-gallery.ffp-preset-contact-sheet .ffp-card .ffp-card-rating{
  top:12px!important;
  left:52px!important
}
.ffp-gallery.ffp-preset-director-reel .ffp-card .ffp-card-rating{
  top:18px!important;
  left:64px!important
}
@container (max-width:560px){
  .ffp-gallery.ffp-preset-contact-sheet .ffp-card .ffp-card-rating{
    top:11px!important;
    left:48px!important
  }
  .ffp-gallery.ffp-preset-director-reel .ffp-card .ffp-card-rating{
    top:14px!important;
    left:52px!important
  }
}

/* 3.4.13 · Contact Sheet: Suche und Aktionen dürfen sich nie überlagern. */
.ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:8px!important
}
.ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar .ffp-search-shell{
  min-width:0!important;
  width:100%!important;
  max-width:none!important
}
.ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar button.ffp-filter-toggle{
  box-sizing:border-box!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important
}
.ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar button.ffp-advisor-toggle{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:46px!important;
  max-width:none!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 13px!important;
  overflow:hidden!important;
  white-space:nowrap!important
}
.ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar button.ffp-advisor-toggle span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important
}
@container (max-width:900px){
  .ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar{
    grid-template-columns:minmax(0,1fr) 46px 46px!important
  }
  .ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar button.ffp-advisor-toggle{
    flex-basis:46px!important;
    width:46px!important;
    max-width:46px!important;
    padding:0!important
  }
  .ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar button.ffp-advisor-toggle span{
    display:none!important
  }
}
@container (max-width:560px){
  .ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar{
    grid-template-columns:minmax(0,1fr) 44px 44px!important;
    gap:6px!important
  }
  .ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar button.ffp-filter-toggle,
  .ffp-gallery.ffp-preset-contact-sheet .ffp-toolbar button.ffp-advisor-toggle{
    flex-basis:44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important
  }
}

/* 3.4.20 · Verdichtete Header-Bühnen und ein klarer, mittiger Projekteinstieg. */
.ffp-gallery .ffp-widget-head-hero{
  min-height:clamp(390px,37vw,480px)!important;
  margin-bottom:clamp(22px,3vw,42px)!important;
  padding-bottom:clamp(38px,4vw,52px)!important
}
.ffp-gallery .ffp-widget-head-portal,.ffp-gallery .ffp-widget-head-split,.ffp-gallery .ffp-widget-head-credits{
  min-height:clamp(450px,43vw,560px)!important;
  margin-bottom:clamp(22px,3vw,44px)!important
}
.ffp-gallery a.ffp-head-scroll,.ffp-gallery a.ffp-head-scroll:visited{
  top:auto!important;right:50%!important;bottom:7px!important;left:auto!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;
  min-width:180px!important;font-size:10px!important;line-height:1.1!important;letter-spacing:.105em!important;text-align:center!important;
  transform:translateX(50%)!important
}
.ffp-gallery .ffp-head-scroll i{width:34px!important;height:20px!important}
.ffp-gallery .ffp-head-scroll i::before,.ffp-gallery .ffp-head-scroll i::after{bottom:7px!important;width:18px!important}

@container (max-width:760px){
  .ffp-gallery .ffp-widget-head-hero{
    min-height:420px!important;padding:30px 20px 50px!important;row-gap:9px!important
  }
  .ffp-gallery .ffp-widget-head-hero .ffp-heading-copy{align-self:end!important;text-align:left!important}
  .ffp-gallery .ffp-widget-head-hero .ffp-heading-copy h2{
    max-width:100%!important;font-size:clamp(36px,10.8cqw,48px)!important;line-height:.98!important;text-align:left!important
  }
  .ffp-gallery .ffp-widget-head-hero .ffp-hero-promises{
    width:100%!important;height:1.55em!important;margin:12px auto 0!important;text-align:center!important
  }
  .ffp-gallery .ffp-widget-head-hero .ffp-hero-promises span{right:0!important;left:0!important;text-align:center!important}
  .ffp-gallery .ffp-widget-head-hero .ffp-hero-promises::after{left:50%!important;width:min(210px,62%)!important;transform:translateX(-50%)!important}
  .ffp-gallery .ffp-widget-head-hero .ffp-portfolio-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;padding:12px 0!important;
    border-top:1px solid rgba(255,255,255,.17)!important;border-bottom:1px solid rgba(255,255,255,.12)!important
  }
  .ffp-gallery .ffp-widget-head-hero .ffp-portfolio-stat{text-align:left!important}
  .ffp-gallery .ffp-widget-head-hero .ffp-portfolio-stat strong{font-size:clamp(34px,10cqw,44px)!important}
  .ffp-gallery .ffp-widget-head-hero .ffp-portfolio-stat span{font-size:7.5px!important;line-height:1.25!important}

  .ffp-gallery .ffp-widget-head-portal,.ffp-gallery .ffp-widget-head-split,.ffp-gallery .ffp-widget-head-credits{
    gap:10px!important;margin-bottom:26px!important
  }
  .ffp-gallery .ffp-widget-head-portal{min-height:490px!important;padding:18px 20px 50px!important}
  .ffp-gallery .ffp-widget-head-portal .ffp-head-media{top:27%!important;width:min(76cqw,360px)!important}
  .ffp-gallery .ffp-portal-rings{top:27%!important;width:min(86cqw,405px)!important}
  .ffp-gallery .ffp-widget-head-portal .ffp-heading-copy{margin-top:160px!important;text-align:center!important}
  .ffp-gallery .ffp-widget-head-portal .ffp-heading-copy h2{text-align:center!important}
  .ffp-gallery .ffp-widget-head-portal .ffp-portfolio-stats{padding:10px 0!important}

  .ffp-gallery .ffp-widget-head-split{
    min-height:500px!important;padding:0 20px 50px!important;grid-template-rows:205px auto auto auto!important
  }
  .ffp-gallery .ffp-widget-head-split .ffp-head-media{height:222px!important}
  .ffp-gallery .ffp-widget-head-split .ffp-split-caption{top:154px!important}
  .ffp-gallery .ffp-widget-head-split .ffp-heading-copy{text-align:left!important}
  .ffp-gallery .ffp-widget-head-split .ffp-portfolio-stats{padding:10px 0!important}

  .ffp-gallery .ffp-widget-head-credits{min-height:410px!important;padding:18px 20px 50px!important}
  .ffp-gallery .ffp-widget-head-credits .ffp-heading-copy{margin-top:58px!important;text-align:left!important}
  .ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stats{padding:10px 0!important}
  .ffp-gallery .ffp-widget-head-credits .ffp-portfolio-stat{text-align:left!important}

  .ffp-gallery .ffp-head-logos{margin-top:12px!important;padding-top:12px!important}
  .ffp-gallery a.ffp-head-scroll,.ffp-gallery a.ffp-head-scroll:visited{
    bottom:5px!important;min-width:200px!important;font-size:11px!important;letter-spacing:.075em!important
  }
}

@container (max-width:420px){
  .ffp-gallery .ffp-widget-head-hero{min-height:400px!important}
  .ffp-gallery .ffp-widget-head-portal{min-height:460px!important}
  .ffp-gallery .ffp-widget-head-portal .ffp-heading-copy{margin-top:148px!important}
  .ffp-gallery .ffp-widget-head-split{min-height:470px!important;grid-template-rows:190px auto auto auto!important}
  .ffp-gallery .ffp-widget-head-split .ffp-head-media{height:207px!important}
  .ffp-gallery .ffp-widget-head-split .ffp-split-caption{top:141px!important}
  .ffp-gallery .ffp-widget-head-credits{min-height:390px!important}
}

/* 3.4.23 · Alle Header-Bühnen erhalten mobil eine gemeinsame, ruhige Mittelachse. */
@container (max-width:760px){
  .ffp-gallery .ffp-widget-head .ffp-heading-copy{
    justify-self:center!important;width:100%!important;max-width:min(100%,680px)!important;
    margin-right:auto!important;margin-left:auto!important;text-align:center!important
  }
  .ffp-gallery .ffp-widget-head .ffp-heading-mark,
  .ffp-gallery .ffp-widget-head .ffp-heading-copy h2,
  .ffp-gallery .ffp-widget-head .ffp-heading-copy p{
    margin-right:auto!important;margin-left:auto!important;text-align:center!important
  }
  .ffp-gallery .ffp-widget-head .ffp-heading-mark{justify-content:center!important}
  .ffp-gallery .ffp-widget-head .ffp-heading-copy h2{max-width:680px!important;text-wrap:balance!important}
  .ffp-gallery .ffp-widget-head .ffp-hero-promises{
    width:100%!important;max-width:560px!important;margin-right:auto!important;margin-left:auto!important;text-align:center!important
  }
  .ffp-gallery .ffp-widget-head .ffp-hero-promises span{right:0!important;left:0!important;text-align:center!important}
  .ffp-gallery .ffp-widget-head .ffp-hero-promises::after{left:50%!important;transform:translateX(-50%)!important}

  .ffp-gallery .ffp-widget-head .ffp-portfolio-stats{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    justify-self:center!important;width:min(100%,520px)!important;max-width:520px!important;
    margin-right:auto!important;margin-left:auto!important;column-gap:clamp(12px,4.8cqw,28px)!important
  }
  .ffp-gallery .ffp-widget-head .ffp-portfolio-stat{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:end!important;justify-items:center!important;
    min-width:0!important;gap:5px!important;padding-inline:2px!important;text-align:center!important
  }
  .ffp-gallery .ffp-widget-head .ffp-portfolio-stat strong,
  .ffp-gallery .ffp-widget-head .ffp-portfolio-stat span{
    width:100%!important;margin:0!important;text-align:center!important
  }
  .ffp-gallery .ffp-widget-head .ffp-portfolio-stat span{line-height:1.25!important}

  .ffp-gallery .ffp-widget-head-portal .ffp-head-tagline,
  .ffp-gallery .ffp-widget-head-credits .ffp-head-tagline{
    justify-self:center!important;max-width:none!important;text-align:center!important
  }
  .ffp-gallery .ffp-widget-head-split .ffp-head-tagline{
    right:auto!important;left:50%!important;max-width:none!important;text-align:center!important;
    white-space:nowrap!important;transform:translateX(-50%)!important
  }
}

@container (max-width:420px){
  .ffp-gallery .ffp-widget-head .ffp-heading-copy h2{font-size:clamp(32px,9.8cqw,42px)!important;line-height:.98!important}
  .ffp-gallery .ffp-widget-head .ffp-portfolio-stats{
    width:min(100%,360px)!important;column-gap:8px!important
  }
  .ffp-gallery .ffp-widget-head .ffp-portfolio-stat strong{font-size:clamp(31px,9.6cqw,39px)!important}
  .ffp-gallery .ffp-widget-head .ffp-portfolio-stat span{font-size:7px!important;letter-spacing:.065em!important}
}

/* 3.4.24 · Horizont/Lichtschnitt und Filmsequenz: zwei ruhige, bewegte Showreel-Bühnen. */
.ffp-gallery .ffp-widget-head-horizon,
.ffp-gallery .ffp-widget-head-frames{
  position:relative;isolation:isolate;display:grid;min-height:clamp(460px,45vw,610px);
  margin:calc(clamp(28px,5vw,78px)*-1) calc(clamp(28px,5vw,78px)*-1) clamp(22px,3vw,44px)!important;
  padding:clamp(30px,4vw,58px) clamp(28px,6vw,96px) clamp(52px,5vw,72px)!important;
  overflow:hidden;background:#030913;color:#fff
}
.ffp-gallery .ffp-widget-head-horizon::before,
.ffp-gallery .ffp-widget-head-frames::before{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none
}
.ffp-gallery .ffp-widget-head-horizon .ffp-head-tagline,
.ffp-gallery .ffp-widget-head-frames .ffp-head-tagline{z-index:4;grid-column:1/-1;grid-row:1;align-self:start;justify-self:end}
.ffp-gallery .ffp-widget-head-horizon .ffp-heading-copy h2,
.ffp-gallery .ffp-widget-head-frames .ffp-heading-copy h2{
  color:#fff;text-wrap:balance;overflow-wrap:normal!important;word-break:normal!important;hyphens:none;text-shadow:0 10px 35px rgba(0,0,0,.58)
}
.ffp-gallery .ffp-widget-head-horizon .ffp-heading-mark,
.ffp-gallery .ffp-widget-head-frames .ffp-heading-mark{color:#7de3f5}
.ffp-gallery .ffp-widget-head-horizon .ffp-portfolio-stats,
.ffp-gallery .ffp-widget-head-frames .ffp-portfolio-stats{
  z-index:4;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:0;
  width:100%;padding:13px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.11)
}
.ffp-gallery .ffp-widget-head-horizon .ffp-portfolio-stat,
.ffp-gallery .ffp-widget-head-frames .ffp-portfolio-stat{display:flex;align-items:baseline;justify-content:center;gap:10px;text-align:center}
.ffp-gallery .ffp-widget-head-horizon .ffp-portfolio-stat strong,
.ffp-gallery .ffp-widget-head-frames .ffp-portfolio-stat strong{
  color:var(--ffp-cta);font-size:clamp(35px,4vw,58px);background:linear-gradient(112deg,#ffb0cb,var(--ffp-cta) 56%,#8f0c40);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent
}
.ffp-gallery .ffp-widget-head-horizon .ffp-portfolio-stat span,
.ffp-gallery .ffp-widget-head-frames .ffp-portfolio-stat span{color:rgba(255,255,255,.86)}

/* Horizont: Vollbild-Showreel, dessen Lichtkante die Blickführung übernimmt. */
.ffp-gallery .ffp-widget-head-horizon{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;gap:20px;align-items:center}
.ffp-gallery .ffp-widget-head-horizon::before{
  background:radial-gradient(ellipse at 50% 55%,rgba(19,95,133,.16),transparent 42%),linear-gradient(180deg,rgba(2,7,14,.2),rgba(3,9,19,.66) 58%,#030913 100%)
}
.ffp-gallery .ffp-widget-head-horizon .ffp-head-media{transform:scale(1.045);animation:ffp-horizon-drift 18s ease-in-out infinite alternate}
.ffp-gallery .ffp-widget-head-horizon .ffp-head-media video{filter:saturate(.72) contrast(1.08) brightness(.78)}
.ffp-gallery .ffp-widget-head-horizon .ffp-heading-copy{
  z-index:4;grid-column:1;grid-row:2;align-self:center;justify-self:center;width:min(100%,1080px);text-align:center
}
.ffp-gallery .ffp-widget-head-horizon .ffp-heading-copy h2{
  max-width:1040px;margin-inline:auto;font-size:clamp(48px,6.4vw,92px)!important;line-height:.91!important;letter-spacing:-.052em!important
}
.ffp-gallery .ffp-widget-head-horizon .ffp-heading-copy p{max-width:620px;margin-inline:auto;color:rgba(238,246,253,.8)}
.ffp-gallery .ffp-widget-head-horizon .ffp-hero-promises{margin-inline:auto;text-align:center}
.ffp-gallery .ffp-widget-head-horizon .ffp-hero-promises span{right:0;left:0;text-align:center}
.ffp-gallery .ffp-widget-head-horizon .ffp-hero-promises::after{left:50%;transform:translateX(-50%)}
.ffp-gallery .ffp-widget-head-horizon .ffp-portfolio-stats{grid-row:3}
.ffp-gallery .ffp-horizon-beam{
  position:absolute;z-index:2;top:54%;right:8%;left:8%;height:1px;overflow:visible;pointer-events:none;
  background:linear-gradient(90deg,transparent 0,rgba(87,212,239,.75) 32%,rgba(215,25,95,.72) 68%,transparent 100%);
  box-shadow:0 0 22px rgba(87,212,239,.22)
}
.ffp-gallery .ffp-horizon-beam::after{
  content:"";position:absolute;top:-1px;left:0;width:22%;height:3px;
  background:linear-gradient(90deg,transparent,#dffbff 48%,transparent);filter:blur(.3px);animation:ffp-horizon-scan 7.5s ease-in-out infinite
}
.ffp-gallery .ffp-horizon-beam i:first-child{position:absolute;top:-34px;left:19%;width:1px;height:68px;background:linear-gradient(transparent,rgba(87,212,239,.48),transparent)}
.ffp-gallery .ffp-horizon-beam i:last-child{position:absolute;top:-24px;right:23%;width:1px;height:48px;background:linear-gradient(transparent,rgba(215,25,95,.5),transparent)}
@keyframes ffp-horizon-drift{from{transform:scale(1.045) translate3d(-.6%,0,0)}to{transform:scale(1.085) translate3d(.7%,-.4%,0)}}
@keyframes ffp-horizon-scan{0%,12%{opacity:0;transform:translateX(-20%)}30%,72%{opacity:.9}88%,100%{opacity:0;transform:translateX(370%)}}

/* Filmsequenz: drei schwebende Ausschnitte geben dem Showreel dezente räumliche Tiefe. */
.ffp-gallery .ffp-widget-head-frames{grid-template-columns:minmax(290px,.88fr) minmax(360px,1.12fr);grid-template-rows:auto minmax(0,1fr) auto;gap:20px 42px;align-items:center}
.ffp-gallery .ffp-widget-head-frames::before{
  background:linear-gradient(90deg,rgba(3,9,19,.96) 0,rgba(3,9,19,.84) 38%,rgba(3,9,19,.34) 73%,rgba(3,9,19,.72)),linear-gradient(180deg,rgba(3,9,19,.12),#030913 100%)
}
.ffp-gallery .ffp-widget-head-frames .ffp-head-media{transform:scale(1.035);filter:saturate(.72)}
.ffp-gallery .ffp-widget-head-frames .ffp-heading-copy{z-index:4;grid-column:1;grid-row:2;align-self:center;max-width:650px}
.ffp-gallery .ffp-widget-head-frames .ffp-heading-copy h2{font-size:clamp(43px,5.2vw,76px)!important;line-height:.92!important;letter-spacing:-.05em!important}
.ffp-gallery .ffp-widget-head-frames .ffp-heading-copy p{max-width:520px;color:rgba(238,246,253,.78)}
.ffp-gallery .ffp-widget-head-frames .ffp-portfolio-stats{grid-row:3}
.ffp-gallery .ffp-moving-frames{
  position:absolute;z-index:2;top:18%;right:4%;width:min(52%,760px);height:52%;pointer-events:none;perspective:1000px
}
.ffp-gallery .ffp-moving-frames i{
  position:absolute;top:5%;width:34%;height:88%;overflow:hidden;border:1px solid rgba(194,231,244,.34);
  background-color:rgba(19,35,56,.35);background-position:center;background-size:cover;
  box-shadow:0 22px 56px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.035);backdrop-filter:blur(2px) brightness(.72);
  transform:rotateY(-5deg);animation:ffp-frame-float 10s ease-in-out infinite alternate
}
.ffp-gallery .ffp-moving-frames i::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,rgba(87,212,239,.1),transparent 42%,rgba(215,25,95,.08))}
.ffp-gallery .ffp-moving-frames i:nth-child(1){left:0;transform:translateY(8%) rotate(-2deg) rotateY(-5deg)}
.ffp-gallery .ffp-moving-frames i:nth-child(2){left:33%;z-index:2;transform:translateY(-3%) rotate(1.2deg);animation-delay:-3.1s}
.ffp-gallery .ffp-moving-frames i:nth-child(3){left:66%;transform:translateY(5%) rotate(-1deg) rotateY(5deg);animation-delay:-6.4s}
@keyframes ffp-frame-float{from{margin-top:-5px;background-position:47% 50%}to{margin-top:8px;background-position:53% 50%}}

@container (max-width:760px){
  .ffp-gallery .ffp-widget-head-horizon,
  .ffp-gallery .ffp-widget-head-frames{
    grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:500px!important;
    padding:20px 20px 50px!important;margin-bottom:26px!important
  }
  .ffp-gallery .ffp-widget-head-horizon .ffp-head-tagline,
  .ffp-gallery .ffp-widget-head-frames .ffp-head-tagline{justify-self:center!important;max-width:none!important;text-align:center!important}
  .ffp-gallery .ffp-widget-head-horizon .ffp-heading-copy,
  .ffp-gallery .ffp-widget-head-frames .ffp-heading-copy{grid-column:1;grid-row:2;align-self:center;margin:0!important}
  .ffp-gallery .ffp-widget-head-horizon .ffp-heading-copy h2,
  .ffp-gallery .ffp-widget-head-frames .ffp-heading-copy h2{font-size:clamp(34px,10.2cqw,45px)!important;line-height:.96!important}
  .ffp-gallery .ffp-widget-head-horizon .ffp-portfolio-stats,
  .ffp-gallery .ffp-widget-head-frames .ffp-portfolio-stats{grid-column:1;grid-row:3;padding:10px 0!important}
  .ffp-gallery .ffp-horizon-beam{top:52%;right:5%;left:5%}
  .ffp-gallery .ffp-widget-head-frames::before{background:linear-gradient(180deg,rgba(3,9,19,.38),rgba(3,9,19,.78) 42%,#030913 100%)}
  .ffp-gallery .ffp-moving-frames{top:58px;right:7%;width:86%;height:150px;opacity:.66}
  .ffp-gallery .ffp-widget-head-frames .ffp-heading-copy{padding-top:142px}
  .ffp-gallery .ffp-moving-frames i{height:92%}
}
@container (max-width:420px){
  .ffp-gallery .ffp-widget-head-horizon,
  .ffp-gallery .ffp-widget-head-frames{min-height:470px!important}
  .ffp-gallery .ffp-moving-frames{top:52px;height:132px}
  .ffp-gallery .ffp-widget-head-frames .ffp-heading-copy{padding-top:126px}
}
@media(prefers-reduced-motion:reduce){
  .ffp-gallery .ffp-widget-head-horizon .ffp-head-media,
  .ffp-gallery .ffp-horizon-beam::after,
  .ffp-gallery .ffp-moving-frames i{animation:none!important}
}

/* 3.4.27 · Lichtflächen und Langesicht-Signet. Beide Bühnen teilen das exakte Markensymbol. */
.ffp-gallery .ffp-widget-head-light-fields,
.ffp-gallery .ffp-widget-head-lgs-signet{
  position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;
  align-items:center;gap:16px;min-height:clamp(520px,49vw,660px);
  margin:calc(clamp(28px,5vw,78px)*-1) calc(clamp(28px,5vw,78px)*-1) clamp(22px,3vw,44px)!important;
  padding:clamp(30px,4vw,58px) clamp(28px,6vw,96px) clamp(58px,5vw,76px)!important;
  overflow:hidden;background:#030913;color:#fff
}
.ffp-gallery .ffp-widget-head-light-fields::before,
.ffp-gallery .ffp-widget-head-lgs-signet::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none}
.ffp-gallery .ffp-widget-head-light-fields::before{
  background:linear-gradient(90deg,rgba(2,9,16,.94) 0,rgba(2,9,16,.76) 42%,rgba(2,9,16,.23) 80%),linear-gradient(0deg,rgba(2,9,16,.82),transparent 52%)
}
.ffp-gallery .ffp-widget-head-lgs-signet::before{
  background:linear-gradient(90deg,rgba(2,9,16,.88),rgba(2,9,16,.43) 57%,rgba(2,9,16,.35)),linear-gradient(0deg,rgba(2,9,16,.8),transparent 56%)
}
.ffp-gallery .ffp-widget-head-light-fields .ffp-head-media,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-head-media{transform:scale(1.025)}
.ffp-gallery .ffp-widget-head-light-fields .ffp-head-media video,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-head-media video{filter:saturate(.8) contrast(1.05) brightness(.88)}
.ffp-gallery .ffp-widget-head-light-fields .ffp-head-tagline,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-head-tagline{z-index:5;grid-column:1;grid-row:1;align-self:start;justify-self:end;color:rgba(255,255,255,.8)}
.ffp-gallery .ffp-widget-head-light-fields .ffp-heading-copy,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-heading-copy{
  z-index:5;grid-column:1;grid-row:2;align-self:end;width:min(68%,760px);max-width:760px;padding-bottom:clamp(8px,1.4vw,18px)
}
.ffp-gallery .ffp-widget-head-light-fields .ffp-heading-copy h2,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-heading-copy h2{
  max-width:750px;color:#fff;font-size:clamp(46px,6.1vw,88px)!important;line-height:.92!important;letter-spacing:-.052em!important;
  text-wrap:balance;overflow-wrap:normal!important;word-break:normal!important;hyphens:none;text-shadow:0 10px 35px rgba(0,0,0,.62)
}
.ffp-gallery .ffp-widget-head-light-fields .ffp-heading-mark,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-heading-mark{color:#74dcef}
.ffp-gallery .ffp-widget-head-light-fields .ffp-heading-copy p,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-heading-copy p{max-width:610px;color:rgba(238,246,253,.82)}
.ffp-gallery .ffp-widget-head-light-fields .ffp-hero-promises,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-hero-promises{height:1.55em;color:var(--ffp-cta)!important;text-shadow:0 0 18px color-mix(in srgb,var(--ffp-cta) 24%,transparent)}
.ffp-gallery .ffp-widget-head-light-fields .ffp-hero-promises::after,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-hero-promises::after{display:none}
.ffp-gallery .ffp-widget-head-light-fields .ffp-portfolio-stats,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-portfolio-stats{
  z-index:5;grid-column:1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;
  padding:13px 0 8px;border-top:1px solid rgba(255,255,255,.28);border-bottom:0
}
.ffp-gallery .ffp-widget-head-light-fields .ffp-portfolio-stat,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-portfolio-stat{display:flex;align-items:baseline;justify-content:center;gap:10px;min-width:0;text-align:center}
.ffp-gallery .ffp-widget-head-light-fields .ffp-portfolio-stat strong,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-portfolio-stat strong{
  color:#f8fbff!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;
  -webkit-text-fill-color:currentColor!important;font-size:clamp(28px,3.4vw,46px);font-weight:700;text-shadow:none
}
.ffp-gallery .ffp-widget-head-light-fields .ffp-portfolio-stat span,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-portfolio-stat span{color:rgba(255,255,255,.7);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ffp-gallery .ffp-widget-head-light-fields .ffp-head-logos,
.ffp-gallery .ffp-widget-head-lgs-signet .ffp-head-logos{z-index:5;grid-column:1;grid-row:4;margin-top:0}
.ffp-gallery .ffp-widget-head-light-fields a.ffp-head-scroll,
.ffp-gallery .ffp-widget-head-lgs-signet a.ffp-head-scroll{z-index:7;bottom:8px!important}

/* Langsam wandernde, große Markenflächen lassen das lokale Showreel sichtbar. */
.ffp-gallery .ffp-light-fields{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.ffp-gallery .ffp-light-fields i{position:absolute;border-radius:50%;filter:blur(28px);mix-blend-mode:screen}
.ffp-gallery .ffp-light-fields i:first-child{
  top:-35%;right:-5%;width:70%;aspect-ratio:1;background:radial-gradient(circle,rgba(87,212,239,.7) 0 6%,rgba(87,212,239,.24) 31%,transparent 68%);
  animation:ffp-light-field-cyan 13s ease-in-out infinite alternate
}
.ffp-gallery .ffp-light-fields i:nth-child(2){
  right:17%;bottom:-58%;width:64%;aspect-ratio:1;background:radial-gradient(circle,rgba(215,25,95,.54) 0 5%,rgba(215,25,95,.18) 34%,transparent 70%);
  animation:ffp-light-field-magenta 15s ease-in-out infinite alternate
}
.ffp-gallery .ffp-light-fields b{
  position:absolute;top:-24%;right:-21%;width:76%;height:126%;border-radius:48%;background:linear-gradient(120deg,transparent 13%,rgba(87,212,239,.18) 43%,rgba(215,25,95,.13) 66%,transparent 86%);
  filter:blur(24px);mix-blend-mode:screen;transform:rotate(15deg);animation:ffp-light-field-sheet 12s cubic-bezier(.42,0,.25,1) infinite alternate
}
.ffp-gallery .ffp-light-fields span{
  position:absolute;top:8%;right:5%;width:37%;aspect-ratio:1.25;border-radius:45% 55% 62% 38%;background:radial-gradient(ellipse,rgba(255,255,255,.2),rgba(87,212,239,.1) 36%,transparent 70%);
  filter:blur(18px);mix-blend-mode:screen;animation:ffp-light-field-glow 10s ease-in-out infinite alternate
}

/* 3.4.28 · Freigegebene Logoanimation als gekapseltes Web Component. */
.ffp-gallery .ffp-animated-signet{
  position:absolute;z-index:3;top:8%;right:5%;display:grid;place-items:center;width:42%;aspect-ratio:1;pointer-events:none;
  opacity:.94;animation:ffp-signet-float 11s ease-in-out infinite alternate
}
.ffp-gallery .ffp-animated-signet-light-fields{top:9%;right:7%;width:34%;opacity:.82}
.ffp-gallery .ffp-animated-signet ls-logo-animation{position:relative;z-index:1;display:block;width:100%;height:100%}
.ffp-gallery .ffp-animated-signet::before{content:"";position:absolute;inset:8%;background:radial-gradient(circle,rgba(87,212,239,.14),rgba(255,255,255,.035) 41%,transparent 70%);filter:blur(28px);animation:ffp-signet-halo 9s ease-in-out infinite alternate}
.ffp-gallery .ffp-animated-signet::after{content:"";position:absolute;top:18%;right:-10%;bottom:18%;left:-10%;background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.08) 49%,rgba(87,212,239,.1) 53%,transparent 76%);filter:blur(14px);transform:rotate(-8deg);animation:ffp-signet-light 10s ease-in-out infinite alternate}
.ffp-gallery .ffp-animated-signet svg{position:relative;z-index:1;width:63%;height:auto;overflow:visible;filter:drop-shadow(0 0 2px rgba(255,255,255,.58)) drop-shadow(0 0 12px rgba(87,212,239,.26));animation:ffp-signet-edges 7s ease-in-out infinite alternate}
.ffp-gallery .ffp-symbol-outer{opacity:.54;stroke:none;filter:none;animation:ffp-symbol-fade 18s ease-in-out infinite}
.ffp-gallery .ffp-symbol-inner{opacity:.76;stroke:none;filter:none}
.ffp-gallery .ffp-logo-wipe-out{animation:ffp-logo-wipe-out 18s cubic-bezier(.65,0,.25,1) infinite}
.ffp-gallery .ffp-logo-wipe-in{animation:ffp-logo-wipe-in 18s cubic-bezier(.65,0,.25,1) infinite}
.ffp-gallery .ffp-logo-edge-soft,.ffp-gallery .ffp-logo-edge-mid,.ffp-gallery .ffp-logo-edge-core{fill:none!important;stroke-linecap:round;stroke-linejoin:round}
.ffp-gallery .ffp-logo-edge-soft{stroke:rgba(87,212,239,1);stroke-width:10;stroke-dasharray:160 99999;filter:blur(4px) brightness(1.3) drop-shadow(0 0 7px rgba(45,161,226,1));animation:ffp-logo-trace-soft 18s linear infinite}
.ffp-gallery .ffp-logo-edge-mid{stroke-width:4;stroke-dasharray:90 99999;filter:blur(.7px) brightness(1.4) drop-shadow(0 0 5px rgba(87,212,239,1));animation:ffp-logo-trace-mid 18s linear infinite}
.ffp-gallery .ffp-logo-edge-core{stroke:#fff;stroke-width:1.75;stroke-dasharray:38 99999;filter:brightness(1.45) drop-shadow(0 0 1px #fff) drop-shadow(0 0 5px rgba(45,161,226,1));animation:ffp-logo-trace-core 18s linear infinite}

@keyframes ffp-light-field-cyan{to{transform:translate3d(-18%,13%,0) scale(1.18) rotate(8deg)}}
@keyframes ffp-light-field-magenta{to{transform:translate3d(17%,-12%,0) scale(1.14) rotate(-7deg)}}
@keyframes ffp-light-field-sheet{to{transform:translate3d(-23%,9%,0) rotate(8deg) scaleX(1.18)}}
@keyframes ffp-light-field-glow{to{transform:translate3d(-22%,18%,0) rotate(18deg) scale(1.2);opacity:.62}}
@keyframes ffp-signet-float{to{transform:translate3d(-8px,7px,0) scale(1.025);opacity:1}}
@keyframes ffp-signet-halo{to{transform:scale(1.14);opacity:.68}}
@keyframes ffp-signet-light{to{transform:translateX(-24%) rotate(-8deg);opacity:.55}}
@keyframes ffp-signet-edges{0%{filter:drop-shadow(0 0 2px rgba(255,255,255,.48)) drop-shadow(0 0 9px rgba(87,212,239,.2))}55%{filter:drop-shadow(0 0 3px rgba(255,255,255,.7)) drop-shadow(0 0 15px rgba(87,212,239,.3))}100%{filter:drop-shadow(0 0 2px rgba(255,255,255,.54)) drop-shadow(0 0 11px rgba(87,212,239,.24))}}
@keyframes ffp-logo-wipe-out{0%,12%{transform:translateX(0)}40%,100%{transform:translateX(1600px)}}
@keyframes ffp-logo-wipe-in{0%,54%{transform:translateX(0)}82%,100%{transform:translateX(1600px)}}
@keyframes ffp-logo-trace-soft{0%,7%{stroke-dashoffset:0;opacity:0}15%,72%{opacity:.68}88%,100%{stroke-dashoffset:-12000;opacity:0}}
@keyframes ffp-logo-trace-mid{0%,7%{stroke-dashoffset:-35;opacity:0}15%,72%{opacity:.88}88%,100%{stroke-dashoffset:-12035;opacity:0}}
@keyframes ffp-logo-trace-core{0%,7%{stroke-dashoffset:-70;opacity:0}15%,72%{opacity:1}88%,100%{stroke-dashoffset:-12070;opacity:0}}
@keyframes ffp-symbol-fade{0%,12%,88%,100%{opacity:.54}38%{opacity:.43}60%{opacity:.48}76%{opacity:.54}}

@container (max-width:760px){
  .ffp-gallery .ffp-widget-head-light-fields,
  .ffp-gallery .ffp-widget-head-lgs-signet{
    grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px;min-height:600px!important;
    padding:20px 20px 52px!important;margin-bottom:26px!important
  }
  .ffp-gallery .ffp-widget-head-light-fields::before,
  .ffp-gallery .ffp-widget-head-lgs-signet::before{background:linear-gradient(0deg,rgba(2,9,16,.95) 0,rgba(2,9,16,.62) 60%,rgba(2,9,16,.16))}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-head-tagline,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-head-tagline{justify-self:center!important;text-align:center!important}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-heading-copy,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-heading-copy{
    grid-column:1;grid-row:2;align-self:end!important;width:100%!important;max-width:100%!important;padding:210px 0 10px!important;text-align:center!important
  }
  .ffp-gallery .ffp-widget-head-light-fields .ffp-heading-copy h2,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-heading-copy h2{max-width:100%!important;font-size:clamp(34px,10.4cqw,46px)!important;line-height:.95!important;letter-spacing:-.045em!important}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-hero-promises,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-hero-promises{height:2.8em!important;font-size:clamp(16px,5cqw,20px)!important}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-hero-promises span,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-hero-promises span{right:0!important;left:0!important;white-space:normal!important;text-align:center!important}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-portfolio-stats,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-portfolio-stats{grid-column:1;grid-row:3;width:min(100%,520px)!important;padding:11px 0 6px!important}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-portfolio-stat,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-portfolio-stat{display:grid!important;gap:4px!important;justify-items:center!important;text-align:center!important}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-portfolio-stat strong,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-portfolio-stat strong{font-size:clamp(28px,8.5cqw,38px)!important}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-portfolio-stat span,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-portfolio-stat span{font-size:7px!important;letter-spacing:.07em!important}
  .ffp-gallery .ffp-animated-signet,.ffp-gallery .ffp-animated-signet-light-fields{top:5%;right:14%;width:72%;opacity:.82}
  .ffp-gallery .ffp-light-fields i:first-child{top:-6%;right:-35%;width:132%}
  .ffp-gallery .ffp-light-fields i:nth-child(2){right:-24%;bottom:8%;width:112%}
  .ffp-gallery .ffp-light-fields b{top:-12%;right:-74%;width:174%;height:87%}
  .ffp-gallery .ffp-light-fields span{top:13%;right:2%;width:74%}
}
@container (max-width:420px){
  .ffp-gallery .ffp-widget-head-light-fields,
  .ffp-gallery .ffp-widget-head-lgs-signet{min-height:570px!important}
  .ffp-gallery .ffp-widget-head-light-fields .ffp-heading-copy,
  .ffp-gallery .ffp-widget-head-lgs-signet .ffp-heading-copy{padding-top:190px!important}
}
@media(prefers-reduced-motion:reduce){
  .ffp-gallery .ffp-light-fields i,.ffp-gallery .ffp-light-fields b,.ffp-gallery .ffp-light-fields span,
  .ffp-gallery .ffp-animated-signet,.ffp-gallery .ffp-animated-signet::before,.ffp-gallery .ffp-animated-signet::after,
  .ffp-gallery .ffp-animated-signet svg,.ffp-gallery .ffp-symbol-outer,.ffp-gallery .ffp-logo-wipe-out,.ffp-gallery .ffp-logo-wipe-in{animation:none!important}
  .ffp-gallery .ffp-logo-edge-soft,.ffp-gallery .ffp-logo-edge-mid,.ffp-gallery .ffp-logo-edge-core{display:none!important;animation:none!important}
}

/* 3.4.29 · Mobile Projektnavigation mit Wischgeste und cookie-sicherer Pfeilposition. */
.ffp-gallery .ffp-dialog-scroll{touch-action:pan-y;overscroll-behavior-x:contain}
.ffp-gallery .ffp-dialog-scroll.is-swipe-locked{-webkit-user-select:none;user-select:none}
.ffp-gallery .ffp-dialog-scroll img,
.ffp-gallery .ffp-dialog-scroll video{-webkit-user-drag:none}
@container (max-width:650px){
  .ffp-gallery button.ffp-dialog-nav{
    top:50vh!important;top:50svh!important;bottom:auto!important;
    width:56px!important;min-width:56px!important;max-width:56px!important;
    height:72px!important;min-height:72px!important;
    transform:translateY(-50%)!important
  }
  .ffp-gallery button.ffp-dialog-nav:hover,
  .ffp-gallery button.ffp-dialog-nav:focus-visible{transform:translateY(-50%)!important}
  .ffp-gallery button.ffp-dialog-nav.is-prev{left:max(6px,env(safe-area-inset-left))!important}
  .ffp-gallery button.ffp-dialog-nav.is-next{right:max(6px,env(safe-area-inset-right))!important}
}

/* 3.4.30 · Ruhende Projektansicht: Navigation erscheint nur bei Interaktion. */
.ffp-gallery .ffp-dialog-swipe-hint{display:none}
@container (max-width:650px){
  .ffp-gallery .ffp-dialog button.ffp-dialog-nav{
    opacity:0!important;visibility:hidden;pointer-events:none!important;
    transition:opacity .24s ease,visibility 0s linear .24s,transform .28s cubic-bezier(.22,1,.36,1)!important
  }
  .ffp-gallery .ffp-dialog.is-nav-visible button.ffp-dialog-nav,
  .ffp-gallery .ffp-dialog button.ffp-dialog-nav:focus-visible{
    opacity:1!important;visibility:visible;pointer-events:auto!important;
    transition-delay:0s!important
  }
  .ffp-gallery .ffp-dialog-swipe-hint{
    position:fixed;z-index:4;top:calc(50svh + 62px);left:50%;display:block;
    padding:7px 12px;border:1px solid rgba(132,220,241,.35);border-radius:999px;
    background:rgba(4,12,23,.78);color:rgba(235,248,255,.9);box-shadow:0 9px 28px rgba(0,0,0,.24);
    font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
    opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,6px);
    transition:opacity .24s ease,transform .24s ease,visibility 0s linear .24s
  }
  .ffp-gallery .ffp-dialog.is-swipe-hint-visible .ffp-dialog-swipe-hint{
    opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s
  }
}
@media(prefers-reduced-motion:reduce){
  .ffp-gallery .ffp-dialog button.ffp-dialog-nav,
  .ffp-gallery .ffp-dialog-swipe-hint{transition:none!important}
}

/* 3.4.31 · Drei eigenständige Header-Bühnen aus der Redaktionsübergabe. */
.ffp-gallery .ffp-widget-head-focus-pull,
.ffp-gallery .ffp-widget-head-kinetic,
.ffp-gallery .ffp-widget-head-prism{
  --ffp-stage-muted:#9faec2;position:relative;isolation:isolate;display:grid;color:#fff;
  min-height:clamp(540px,58vw,760px);margin:calc(clamp(28px,5vw,78px)*-1) calc(clamp(28px,5vw,78px)*-1) clamp(24px,4vw,52px)!important;
  padding:clamp(34px,5vw,78px) clamp(28px,6vw,104px) clamp(62px,7vw,92px)!important;
  overflow:hidden;border:0!important;border-radius:0!important;background:#05070a!important
}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-head-tagline,
.ffp-gallery .ffp-widget-head-kinetic .ffp-head-tagline,
.ffp-gallery .ffp-widget-head-prism .ffp-head-tagline{
  position:relative;z-index:6;grid-column:1/-1;grid-row:1;align-self:start;justify-self:end;
  color:rgba(255,255,255,.72);font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase
}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-copy,
.ffp-gallery .ffp-widget-head-kinetic .ffp-heading-copy,
.ffp-gallery .ffp-widget-head-prism .ffp-heading-copy{position:relative;z-index:6;min-width:0}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-copy h2,
.ffp-gallery .ffp-widget-head-kinetic .ffp-heading-copy h2,
.ffp-gallery .ffp-widget-head-prism .ffp-heading-copy h2{
  margin:0 0 15px;color:var(--ffp-stage-muted)!important;background:none!important;-webkit-text-fill-color:currentColor!important;
  font-size:clamp(13px,1.25vw,19px)!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.12em!important;text-transform:uppercase
}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-mark,
.ffp-gallery .ffp-widget-head-kinetic .ffp-heading-mark,
.ffp-gallery .ffp-widget-head-prism .ffp-heading-mark{margin-bottom:10px;color:var(--ffp-accent-2);font-size:8px;letter-spacing:.2em}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-copy>p,
.ffp-gallery .ffp-widget-head-kinetic .ffp-heading-copy>p,
.ffp-gallery .ffp-widget-head-prism .ffp-heading-copy>p{max-width:610px;margin:20px 0 0;color:rgba(225,233,243,.74);font-size:clamp(13px,1.15vw,17px);line-height:1.65}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-hero-promises,
.ffp-gallery .ffp-widget-head-kinetic .ffp-hero-promises,
.ffp-gallery .ffp-widget-head-prism .ffp-hero-promises{
  position:relative;height:1.2em;margin:0;padding:0;overflow:hidden;color:var(--ffp-cta)!important;
  font-family:var(--ffp-font-heading);font-size:clamp(36px,4.4vw,64px)!important;font-weight:800;line-height:1.02;letter-spacing:-.055em;text-shadow:0 8px 34px rgba(0,0,0,.42)
}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-hero-promises::before,
.ffp-gallery .ffp-widget-head-kinetic .ffp-hero-promises::before,
.ffp-gallery .ffp-widget-head-prism .ffp-hero-promises::before{display:none!important;content:none!important}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-hero-promises::after,
.ffp-gallery .ffp-widget-head-kinetic .ffp-hero-promises::after,
.ffp-gallery .ffp-widget-head-prism .ffp-hero-promises::after{display:none!important}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-hero-promises span,
.ffp-gallery .ffp-widget-head-kinetic .ffp-hero-promises span,
.ffp-gallery .ffp-widget-head-prism .ffp-hero-promises span{right:0;left:0;color:var(--ffp-cta);white-space:normal;text-wrap:balance}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stats,
.ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stats,
.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stats{
  position:relative;z-index:6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:0;width:100%;padding:15px 0 0;
  border-top:1px solid rgba(255,255,255,.2)
}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stat,
.ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stat,
.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat{display:flex;align-items:baseline;justify-content:flex-start;gap:10px;min-width:0;text-align:left}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stat strong,
.ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stat strong,
.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat strong{
  color:#fff!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-fill-color:currentColor!important;
  font-size:clamp(30px,3.5vw,52px);font-weight:650;text-shadow:none
}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stat span,
.ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stat span,
.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat span{color:var(--ffp-stage-muted);font-size:8px;letter-spacing:.11em;text-transform:uppercase}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-head-logos,
.ffp-gallery .ffp-widget-head-kinetic .ffp-head-logos,
.ffp-gallery .ffp-widget-head-prism .ffp-head-logos{display:none!important}
.ffp-gallery .ffp-widget-head-focus-pull a.ffp-head-scroll,
.ffp-gallery .ffp-widget-head-kinetic a.ffp-head-scroll,
.ffp-gallery .ffp-widget-head-prism a.ffp-head-scroll{z-index:8;top:auto!important;right:clamp(28px,6vw,104px);bottom:20px!important;transform:none}

/* Fokuszug: vollflächiges Showreel, beim Einstieg kontrolliert scharf gezogen. */
.ffp-gallery .ffp-widget-head-focus-pull{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;align-items:end}
.ffp-gallery .ffp-widget-head-focus-pull::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.92) 0,rgba(5,7,10,.72) 48%,rgba(5,7,10,.18) 82%),linear-gradient(0deg,#05070a 0,rgba(5,7,10,.18) 58%,rgba(5,7,10,.42));pointer-events:none}
.ffp-gallery .ffp-widget-head-focus-pull::after{content:"";position:absolute;z-index:7;top:clamp(34px,5vw,78px);left:clamp(28px,6vw,104px);width:9px;aspect-ratio:1;border-radius:50%;background:var(--ffp-cta);box-shadow:0 0 0 5px rgba(215,25,95,.12),0 0 22px rgba(215,25,95,.6);animation:ffp-focus-record 2.5s ease-in-out infinite}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-head-media{z-index:-3;transform:scale(1.05);animation:ffp-focus-media 2.2s cubic-bezier(.22,1,.36,1) both}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-head-media video{filter:grayscale(.65) saturate(.72) contrast(1.13) brightness(.68)}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-animated-signet{z-index:2;top:6%;right:-7%;width:min(52%,710px);opacity:.72;animation:ffp-focus-signet 2.2s cubic-bezier(.22,1,.36,1) both}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-copy{grid-row:2;align-self:end;width:min(100%,1240px);padding-bottom:clamp(30px,5vw,64px)}
.ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stats{grid-row:3}

/* Kinetik: das Reel öffnet als präzises horizontales Filmband. */
.ffp-gallery .ffp-widget-head-kinetic{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 300px auto auto;align-items:end;gap:0;padding-top:28px!important}
.ffp-gallery .ffp-widget-head-kinetic::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 84% 68%,rgba(31,128,190,.14),transparent 31%),#05070a;pointer-events:none}
.ffp-gallery .ffp-widget-head-kinetic .ffp-head-media{z-index:1;top:66px;right:0;bottom:auto;left:0;height:clamp(238px,25vw,328px);transform:none;clip-path:inset(0 100% 0 0);animation:ffp-kinetic-reveal 1.5s .12s cubic-bezier(.22,1,.36,1) forwards}
.ffp-gallery .ffp-widget-head-kinetic .ffp-head-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.74),transparent 35%,transparent 72%,rgba(5,7,10,.5)),linear-gradient(0deg,rgba(5,7,10,.58),transparent 45%)}
.ffp-gallery .ffp-widget-head-kinetic .ffp-head-media video{filter:saturate(.76) contrast(1.12) brightness(.72)}
.ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band{position:absolute;z-index:5;top:66px;right:0;left:0;height:clamp(238px,25vw,328px);pointer-events:none}
.ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band::before,.ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band::after{content:"";position:absolute;right:0;left:0;height:1px;background:rgba(255,255,255,.24)}
.ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band::before{top:0}.ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band::after{bottom:0}
.ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band i{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--ffp-cta);box-shadow:0 0 20px rgba(215,25,95,.62);animation:ffp-kinetic-playhead 8s linear infinite}
.ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band span{position:absolute;right:16px;bottom:12px;color:rgba(255,255,255,.62);font:700 8px/1 ui-monospace,monospace;letter-spacing:.12em}
.ffp-gallery .ffp-widget-head-kinetic .ffp-animated-signet{z-index:2;top:auto;right:3%;bottom:6%;width:min(30%,390px);opacity:.26}
.ffp-gallery .ffp-widget-head-kinetic .ffp-heading-copy{grid-row:3;width:min(100%,1260px);padding:clamp(34px,4vw,52px) 0 clamp(26px,3vw,42px)}
.ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stats{grid-row:4}

/* Prisma: schwarze Textfläche und duotoniertes Reel als ruhige Zweiteilung. */
.ffp-gallery .ffp-widget-head-prism{grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);grid-template-rows:auto 1fr auto;column-gap:clamp(34px,5vw,88px);padding-right:0!important}
.ffp-gallery .ffp-widget-head-prism::before{content:"";position:absolute;z-index:-1;inset:0 51% 0 0;background:radial-gradient(circle at 78% 26%,rgba(87,212,239,.09),transparent 34%),#05070a;pointer-events:none}
.ffp-gallery .ffp-widget-head-prism::after{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;width:54%;background:linear-gradient(135deg,rgba(31,128,190,.32),transparent 48%),linear-gradient(315deg,rgba(215,25,95,.24),transparent 52%);mix-blend-mode:screen;pointer-events:none}
.ffp-gallery .ffp-widget-head-prism .ffp-head-media{z-index:0;top:0;right:0;bottom:0;left:46%;transform:none;background-position:center}
.ffp-gallery .ffp-widget-head-prism .ffp-head-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05070a 0,rgba(5,7,10,.22) 23%,rgba(31,128,190,.16) 58%,rgba(215,25,95,.14));mix-blend-mode:multiply}
.ffp-gallery .ffp-widget-head-prism .ffp-head-media video{filter:grayscale(.75) contrast(1.2) brightness(.66) saturate(.55)}
.ffp-gallery .ffp-widget-head-prism .ffp-animated-signet{z-index:2;top:12%;right:auto;left:-4%;width:min(41%,520px);opacity:.2}
.ffp-gallery .ffp-widget-head-prism .ffp-heading-copy{grid-column:1;grid-row:2;align-self:center;width:100%;padding:clamp(40px,7vw,86px) 0}
.ffp-gallery .ffp-widget-head-prism .ffp-hero-promises{height:1.2em;padding:0;font-size:clamp(48px,6.4vw,102px)!important;line-height:.92}
.ffp-gallery .ffp-widget-head-prism .ffp-hero-promises span{top:0;right:0;left:0;white-space:normal;text-wrap:balance}
.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stats{grid-column:1/-1;grid-row:3;width:calc(100% - clamp(28px,6vw,104px));margin-right:clamp(28px,6vw,104px)}
.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat{position:relative;display:grid;gap:8px;padding-right:clamp(18px,3vw,48px)}
.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat::after{content:"";display:block;width:100%;height:2px;background:linear-gradient(90deg,var(--ffp-accent-2),rgba(87,212,239,.08))}
.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat:nth-child(2)::after{width:68%}.ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat:nth-child(3)::after{width:42%}

@keyframes ffp-focus-media{from{filter:blur(14px);transform:scale(1.11)}to{filter:none;transform:scale(1.05)}}
@keyframes ffp-focus-signet{from{opacity:0;filter:blur(16px);transform:scale(1.06)}to{opacity:.72;filter:none;transform:none}}
@keyframes ffp-focus-record{50%{opacity:.42;transform:scale(.8)}}
@keyframes ffp-kinetic-reveal{to{clip-path:inset(0)}}
@keyframes ffp-kinetic-playhead{0%{left:0;opacity:0}7%,90%{opacity:1}100%{left:calc(100% - 3px);opacity:0}}

@container (max-width:760px){
  .ffp-gallery .ffp-widget-head-focus-pull,
  .ffp-gallery .ffp-widget-head-kinetic,
  .ffp-gallery .ffp-widget-head-prism{
    grid-template-columns:1fr;grid-template-rows:auto 1fr auto;min-height:620px;margin-bottom:24px!important;
    padding:24px 20px 58px!important;text-align:center
  }
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-head-tagline,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-head-tagline,
  .ffp-gallery .ffp-widget-head-prism .ffp-head-tagline{justify-self:center;font-size:7px}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-copy,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-heading-copy,
  .ffp-gallery .ffp-widget-head-prism .ffp-heading-copy{grid-column:1;grid-row:2!important;align-self:end;width:100%;padding:240px 0 24px}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-copy h2,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-heading-copy h2,
  .ffp-gallery .ffp-widget-head-prism .ffp-heading-copy h2{
    max-width:680px;margin:0 auto 16px;color:#fff!important;font-size:clamp(32px,8.8cqw,42px)!important;
    font-weight:800!important;line-height:.97!important;letter-spacing:-.045em!important;text-transform:none;text-wrap:balance
  }
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-hero-promises,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-hero-promises,
  .ffp-gallery .ffp-widget-head-prism .ffp-hero-promises{height:2.7em;padding:0;font-size:clamp(16px,5cqw,21px)!important;line-height:1.2;text-align:center}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-hero-promises::before,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-hero-promises::before,
  .ffp-gallery .ffp-widget-head-prism .ffp-hero-promises::before{display:none}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-hero-promises span,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-hero-promises span,
  .ffp-gallery .ffp-widget-head-prism .ffp-hero-promises span{top:0;right:0!important;left:0!important;white-space:normal!important;text-align:center!important;text-wrap:balance}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-copy>p,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-heading-copy>p,
  .ffp-gallery .ffp-widget-head-prism .ffp-heading-copy>p{margin:16px auto 0;font-size:12px}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stats,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stats,
  .ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stats{grid-column:1;grid-row:3;width:100%;margin:0;padding-top:13px}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stat,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stat,
  .ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat{display:grid;justify-items:center;gap:5px;padding:0 4px;text-align:center}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stat strong,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stat strong,
  .ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat strong{font-size:clamp(30px,9cqw,39px)}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-portfolio-stat span,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-portfolio-stat span,
  .ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat span{font-size:6.5px;letter-spacing:.07em}
  .ffp-gallery .ffp-widget-head-focus-pull a.ffp-head-scroll,
  .ffp-gallery .ffp-widget-head-kinetic a.ffp-head-scroll,
  .ffp-gallery .ffp-widget-head-prism a.ffp-head-scroll{right:50%;bottom:8px!important;transform:translateX(50%)}
  .ffp-gallery .ffp-widget-head-focus-pull::before{background:linear-gradient(0deg,#05070a 10%,rgba(5,7,10,.65) 58%,rgba(5,7,10,.24))}
  .ffp-gallery .ffp-widget-head-focus-pull::after{top:25px;left:20px;width:7px}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-animated-signet{top:7%;right:-18%;width:96%;opacity:.55}
  .ffp-gallery .ffp-widget-head-kinetic{grid-template-rows:auto 1fr auto!important;padding-top:24px!important}
  .ffp-gallery .ffp-widget-head-kinetic .ffp-head-media{top:58px;height:270px}
  .ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band{top:58px;height:270px}
  .ffp-gallery .ffp-widget-head-kinetic .ffp-animated-signet{top:23%;right:-14%;bottom:auto;width:66%;opacity:.18}
  .ffp-gallery .ffp-widget-head-prism::before{inset:0;background:linear-gradient(0deg,#05070a 33%,rgba(5,7,10,.36) 72%,rgba(5,7,10,.45))}
  .ffp-gallery .ffp-widget-head-prism::after{top:0;width:100%;height:58%}
  .ffp-gallery .ffp-widget-head-prism .ffp-head-media{top:0;right:0;bottom:auto;left:0;height:56%}
  .ffp-gallery .ffp-widget-head-prism .ffp-animated-signet{top:6%;left:12%;width:76%;opacity:.18}
  .ffp-gallery .ffp-widget-head-prism .ffp-portfolio-stat::after{display:none}
}
@container (max-width:420px){
  .ffp-gallery .ffp-widget-head-focus-pull,
  .ffp-gallery .ffp-widget-head-kinetic,
  .ffp-gallery .ffp-widget-head-prism{min-height:590px}
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-heading-copy,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-heading-copy,
  .ffp-gallery .ffp-widget-head-prism .ffp-heading-copy{padding-top:220px}
}
@media(prefers-reduced-motion:reduce){
  .ffp-gallery .ffp-widget-head-focus-pull::after,
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-head-media,
  .ffp-gallery .ffp-widget-head-focus-pull .ffp-animated-signet,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-head-media,
  .ffp-gallery .ffp-widget-head-kinetic .ffp-kinetic-band i{animation:none!important}
  .ffp-gallery .ffp-widget-head-kinetic .ffp-head-media{clip-path:inset(0)!important}
}

/* 3.4.31 · Modulare Filterdarstellungen; die Daten-Hooks bleiben identisch. */
.ffp-gallery .ffp-filter-style-marker{display:none!important}
.ffp-gallery .ffp-finder-panel[hidden]{display:none!important}
.ffp-gallery .ffp-axis-toggle,.ffp-gallery .ffp-facet-chip-list{display:none}
.ffp-gallery .ffp-toolbar-facets:empty,.ffp-gallery .ffp-filter-result-count{display:none}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-toolbar,
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel{
  border-color:#223046!important;border-radius:0!important;background:#080b10!important;box-shadow:none!important
}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel{padding:22px clamp(18px,3vw,38px)!important}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel>*{flex-shrink:0}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel .ffp-filters button{
  min-height:34px!important;padding:7px 13px!important;border:0!important;border-radius:0!important;background:#0d131b!important;
  color:#b9c6d8!important;box-shadow:none!important
}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel .ffp-filters button:hover{
  background:#1b2a3c!important;color:#fff!important;box-shadow:none!important;transform:none!important
}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel .ffp-filters button.is-active{
  background:#152536!important;color:#fff!important;box-shadow:inset 0 -1px #d7195f!important
}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-facet-grid{display:grid;grid-template-columns:1fr;gap:0;padding:0!important}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-facet{
  display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:32px;padding:15px 0;border-bottom:1px solid #111820
}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-facet>select{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-axis-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:8px 0;border:0;border-radius:0;background:transparent;color:#b9c6d8;text-align:left;cursor:pointer
}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-axis-toggle span{color:#7f90a8;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-axis-toggle i{color:#7e90a8;font:600 10px/1 inherit;font-style:normal}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-facet-chip-list{display:flex;flex-wrap:wrap;gap:9px}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) button.ffp-facet-chip{
  display:inline-flex;align-items:center;gap:8px;min-height:34px;margin:0;padding:7px 13px;border:0;border-radius:0;background:#0d131b;color:#b9c6d8;
  font-size:13px;font-weight:400;text-align:left;cursor:pointer;transition:background .18s,color .18s
}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) button.ffp-facet-chip:hover,
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) button.ffp-facet-chip:focus-visible{outline:1px solid #57d4ef;outline-offset:1px;background:#1b2a3c;color:#fff}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) button.ffp-facet-chip.is-active{background:#152536;color:#fff;box-shadow:inset 0 -1px #d7195f}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) button.ffp-facet-chip i{color:#7e90a8;font-size:10px;font-style:normal;font-weight:600}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-rule{color:#7e90a8;font-size:11px;line-height:1.55}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-clear{border:0!important;border-radius:0!important;background:transparent!important;color:#57d4ef!important;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:none}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-active-facets button,
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-toolbar-facets button{
  display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border:0;border-radius:0;background:#152536;color:#fff;font-size:11px;cursor:pointer
}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-active-facets button small,
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-toolbar-facets button small{color:#57d4ef;font-size:8px;font-weight:700;text-transform:uppercase}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-active-facets button i,
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-toolbar-facets button i{color:#9faec2;font-style:normal}

/* 4a · Eine Zeile */
.ffp-gallery.ffp-filter-style-line .ffp-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:16px;margin-bottom:12px;padding:8px 0;border-width:0 0 1px!important}
.ffp-gallery.ffp-filter-style-line .ffp-search-shell{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ffp-gallery.ffp-filter-style-line .ffp-toolbar-facets{display:flex;align-items:center;justify-content:flex-end;gap:6px;overflow-x:auto}
.ffp-gallery.ffp-filter-style-line .ffp-filter-result-count{display:block;grid-column:1/-1;color:#7e90a8;font-size:10px;font-weight:600}
.ffp-gallery.ffp-filter-style-line button.ffp-filter-toggle{width:auto!important;min-width:76px!important;max-width:none!important;height:auto!important;min-height:44px!important;padding:10px 12px!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:10px!important;line-height:1.4!important;box-shadow:none!important}
.ffp-gallery.ffp-filter-style-line .ffp-filter-toggle .screen-reader-text{position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:nowrap!important}
.ffp-gallery.ffp-filter-style-line .ffp-filter-toggle .screen-reader-text{color:#c5d2e2;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ffp-gallery.ffp-filter-style-line .ffp-filter-toggle small:not(:empty){position:static;display:grid;width:19px;min-width:19px;height:19px;margin-left:8px;border-radius:0;background:#d7195f}
.ffp-gallery.ffp-filter-style-line .ffp-finder{margin-bottom:24px}

/* Retired stages/field/axes presentations are normalized to line in PHP. */
.ffp-gallery.ffp-filter-style-line .ffp-facet::after{display:none!important}

@container (max-width:650px){
  .ffp-gallery.ffp-filter-style-line .ffp-toolbar{grid-template-columns:minmax(120px,1fr) minmax(0,auto) auto;gap:8px}.ffp-gallery.ffp-filter-style-line .ffp-search-shell{grid-column:1;grid-row:1}.ffp-gallery.ffp-filter-style-line .ffp-toolbar-facets{grid-column:2;grid-row:1;max-width:180px;justify-content:flex-start}.ffp-gallery.ffp-filter-style-line .ffp-filter-result-count{display:none}.ffp-gallery.ffp-filter-style-line .ffp-filter-toggle{grid-column:3;grid-row:1}
  .ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel{display:flex;flex-direction:column;max-height:min(76svh,680px);overflow:auto}
  .ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-facet{grid-template-columns:1fr;gap:10px}
}

/* Diese Regeln stehen bewusst zuletzt: WordPress-Themes dürfen die Filtergeometrie nicht überschreiben. */
.ffp-gallery.ffp-filter-style-line .ffp-toolbar{grid-template-columns:minmax(240px,1fr) minmax(0,auto) auto auto!important;grid-auto-rows:auto!important;align-items:center!important;min-height:58px!important;padding:8px 0!important}
.ffp-gallery.ffp-filter-style-line .ffp-search-shell{grid-column:1!important;grid-row:1!important;min-width:0!important}
.ffp-gallery.ffp-filter-style-line .ffp-toolbar-facets{grid-column:2!important;grid-row:1!important;min-width:0!important}
.ffp-gallery.ffp-filter-style-line .ffp-filter-result-count{grid-column:3!important;grid-row:1!important;align-self:center!important;white-space:nowrap!important}
.ffp-gallery.ffp-filter-style-line button.ffp-filter-toggle{grid-column:4!important;grid-row:1!important;align-self:center!important}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-toolbar,.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel,.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel button,.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-finder-panel select,.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-search input{font-family:"Tablet Gothic",Arial,sans-serif!important}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-search input{line-height:1.35!important}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-axis-toggle,.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) button.ffp-facet-chip,.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-filters button{height:auto!important;line-height:1.28!important;overflow:visible!important}
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-axis-toggle span,.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) button.ffp-facet-chip{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
@container (max-width:820px){
}
@container (max-width:650px){
  .ffp-gallery.ffp-filter-style-line .ffp-toolbar{grid-template-columns:minmax(130px,1fr) minmax(0,auto) auto!important;gap:8px!important}
  .ffp-gallery.ffp-filter-style-line .ffp-toolbar-facets{grid-column:2!important;max-width:150px!important}
  .ffp-gallery.ffp-filter-style-line .ffp-filter-result-count{display:none!important}
  .ffp-gallery.ffp-filter-style-line button.ffp-filter-toggle{grid-column:3!important}
  .ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) button.ffp-facet-chip{min-height:38px!important}
}

/* 3.4.34 · Einheitliche und im Header-Modul steuerbare Typografie. */
.ffp-gallery .ffp-widget-head,
.ffp-gallery .ffp-widget-head .ffp-heading-copy h2,
.ffp-gallery .ffp-widget-head .ffp-heading-copy>p,
.ffp-gallery .ffp-widget-head .ffp-hero-promises,
.ffp-gallery .ffp-widget-head .ffp-head-tagline,
.ffp-gallery .ffp-widget-head .ffp-portfolio-stats,
.ffp-gallery .ffp-widget-head a.ffp-head-scroll{
  font-family:var(--ffp-header-font,"Tablet Gothic",Arial,sans-serif)!important
}
.ffp-gallery .ffp-widget-head .ffp-heading-copy h2{font-weight:var(--ffp-header-title-weight,800)!important}

/* 3.9 · Jeder animierte Text ist ein eigenständiger, responsiver Editor-Baustein. */
.ffp-gallery .ffp-widget-head .ffp-hero-promises span{
  width:100%;
  text-align:var(--ffp-word-align,inherit)!important;
  font-weight:var(--ffp-word-weight,inherit)!important
}
@container (min-width:761px){
  .ffp-gallery .ffp-widget-head .ffp-hero-promises span{font-size:var(--ffp-word-size-desktop,inherit)!important}
}
@container (max-width:760px){
  .ffp-gallery .ffp-widget-head .ffp-hero-promises span{font-size:var(--ffp-word-size-mobile,inherit)!important}
}

/* Signatur Bühne: ausschließlich aus den gemeinsamen Header-Bausteinen aufgebaut. */
.ffp-gallery .ffp-widget-head-signature-stage{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  grid-template-rows:auto 1fr auto;
  min-height:clamp(570px,70vw,820px);
  padding:clamp(34px,5vw,76px)!important;
  overflow:hidden;
  background:#050a13
}
.ffp-gallery .ffp-widget-head-signature-stage::before{
  content:"";position:absolute;z-index:0;inset:0;
  background:radial-gradient(ellipse at 72% 42%,color-mix(in srgb,var(--ffp-accent-2) 18%,transparent),transparent 38%),linear-gradient(105deg,rgba(5,10,19,.96) 8%,rgba(5,10,19,.76) 48%,rgba(5,10,19,.28));pointer-events:none
}
.ffp-gallery .ffp-widget-head-signature-stage::after{
  content:"";position:absolute;z-index:1;right:-18%;bottom:-42%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ffp-cta) 13%,transparent),transparent 66%);filter:blur(30px);animation:ffp-signature-breathe var(--ffp-header-motion-speed,16s) ease-in-out infinite alternate;pointer-events:none
}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-head-media{z-index:-1;inset:0;background-position:center}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-head-media video{filter:grayscale(var(--ffp-header-grayscale,0)) brightness(var(--ffp-header-brightness,1));transform:scale(var(--ffp-header-motion-scale-soft,1.03))}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-head-tagline{z-index:3;grid-column:1/-1;grid-row:1;justify-self:start}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-heading-copy{z-index:3;grid-column:1;grid-row:2;align-self:center;width:min(100%,780px);padding:clamp(50px,8vw,110px) 0}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-heading-copy h2{font-size:clamp(44px,4.5cqw,78px);line-height:.94;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;text-wrap:balance}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-hero-promises{height:1.55em;color:var(--ffp-cta);font-size:clamp(18px,1.9vw,28px)!important}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-hero-promises::after{display:none}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-animated-signet{z-index:2;top:50%;right:4%;left:auto;width:min(38%,520px);opacity:.32;transform:translateY(-50%)}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-portfolio-stats{z-index:3;grid-column:1/-1;grid-row:3;gap:clamp(12px,2vw,28px);padding-top:20px;border-top:1px solid rgba(255,255,255,.22)}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-portfolio-stat{display:grid;grid-template-columns:auto 1fr;align-items:baseline;justify-content:start;gap:10px;text-align:left}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-portfolio-stat strong{font-size:clamp(32px,4vw,58px);color:#fff}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-portfolio-stat span{font-size:8px;color:rgba(255,255,255,.72)}
.ffp-gallery .ffp-widget-head-signature-stage .ffp-head-scroll{z-index:4;right:clamp(34px,5vw,76px);bottom:clamp(34px,5vw,76px);left:auto}
@keyframes ffp-signature-breathe{to{translate:-8% -6%;scale:1.18;opacity:.62}}
@container (max-width:760px){
  .ffp-gallery .ffp-widget-head-signature-stage{grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto;min-height:690px;padding:28px 22px 32px!important;text-align:center}
  .ffp-gallery .ffp-widget-head-signature-stage::before{background:linear-gradient(0deg,#050a13 16%,rgba(5,10,19,.72) 61%,rgba(5,10,19,.24))}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-head-tagline{grid-column:1;justify-self:center}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-heading-copy{grid-column:1;grid-row:2;align-self:end;width:100%;padding:250px 0 26px;text-align:center}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-heading-copy h2{font-size:clamp(38px,10.5cqw,56px);line-height:.98;text-align:center}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-hero-promises{height:2.8em;font-size:clamp(16px,5cqw,21px)!important;text-align:center}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-hero-promises span{right:0;left:0;text-align:var(--ffp-word-align,center)!important;white-space:normal;text-wrap:balance}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-animated-signet{top:18%;right:13%;width:74%;opacity:.28;transform:none}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-portfolio-stats{grid-column:1;grid-row:3;gap:8px;padding-top:16px}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-portfolio-stat{display:grid;grid-template-columns:1fr;justify-items:center;gap:4px;text-align:center}
  .ffp-gallery .ffp-widget-head-signature-stage .ffp-head-scroll{position:relative;right:auto!important;bottom:auto!important;left:auto!important;grid-column:1;grid-row:4;justify-self:center;margin-top:22px;transform:none!important}
}
@media(prefers-reduced-motion:reduce){.ffp-gallery .ffp-widget-head-signature-stage::after{animation:none!important}}
.ffp-control-icon-custom{display:block;width:1.25em;height:1.25em;object-fit:contain}

/* 4.3.4 · Ruhige, responsive Filterbuehne mit eigener Theme-Isolation. */
.ffp-gallery .ffp-filter-scroll-shell{min-width:0}
.ffp-gallery .ffp-filter-scroll-shell>.ffp-filters{min-width:0}
.ffp-gallery button.ffp-filter-scroll-arrow{display:none!important}

@media (min-width:768px){
  /* Auf grossen Ansichten bleibt die Bedienung bewusst innerhalb einer
     lesbaren Maximalbreite. Nur die feine Grundlinie laeuft bis zum Rand. */
  .ffp-gallery.ffp-full-bleed>.ffp-toolbar,
  .ffp-gallery.ffp-full-bleed>.ffp-finder{
    position:relative;
    left:50%;
    width:min(1180px,calc(100vw - 56px))!important;
    max-width:none!important;
    margin-right:0!important;
    margin-left:0!important;
    transform:translateX(-50%)
  }
  .ffp-gallery.ffp-full-bleed>.ffp-toolbar{
    border:0!important
  }
  .ffp-gallery.ffp-full-bleed>.ffp-toolbar::after{
    content:"";
    position:absolute;
    right:auto;
    bottom:0;
    left:50%;
    width:100vw;
    height:1px;
    background:color-mix(in srgb,var(--ffp-accent) 32%,transparent);
    transform:translateX(-50%);
    pointer-events:none
  }
  .ffp-gallery.ffp-full-bleed .ffp-toolbar .ffp-search-shell{
    justify-self:center;
    width:100%!important;
    max-width:880px!important
  }
  .ffp-gallery .ffp-filter-scroll-shell.is-scrollable{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 34px;
    align-items:center;
    gap:10px
  }
  .ffp-gallery .ffp-filter-scroll-shell.is-scrollable>.ffp-filters{
    overflow-x:auto;
    overflow-y:hidden;
    flex-wrap:nowrap!important;
    scroll-behavior:smooth;
    scrollbar-width:none;
    overscroll-behavior-inline:contain
  }
  .ffp-gallery .ffp-filter-scroll-shell.is-scrollable>.ffp-filters>button{flex:0 0 auto}
  .ffp-gallery .ffp-filter-scroll-shell.is-scrollable>.ffp-filters::-webkit-scrollbar{display:none}
  .ffp-gallery .ffp-filter-scroll-shell.is-scrollable>button.ffp-filter-scroll-arrow{
    display:grid!important;
    place-items:center;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid color-mix(in srgb,var(--ffp-accent-2) 32%,transparent)!important;
    border-radius:50%!important;
    background:color-mix(in srgb,var(--ffp-bg) 82%,transparent)!important;
    color:color-mix(in srgb,var(--ffp-text) 76%,var(--ffp-accent-2))!important;
    box-shadow:none!important;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,color .18s ease,opacity .18s ease
  }
  .ffp-gallery .ffp-filter-scroll-arrow svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round
  }
  .ffp-gallery .ffp-filter-scroll-shell.is-scrollable>button.ffp-filter-scroll-arrow:hover,
  .ffp-gallery .ffp-filter-scroll-shell.is-scrollable>button.ffp-filter-scroll-arrow:focus-visible{
    border-color:var(--ffp-accent-2)!important;
    background:color-mix(in srgb,var(--ffp-accent) 13%,var(--ffp-bg))!important;
    color:#fff!important
  }
  .ffp-gallery .ffp-filter-scroll-shell.is-scrollable>button.ffp-filter-scroll-arrow:disabled{
    opacity:.2!important;
    cursor:default
  }
}

@media (max-width:767px){
  /* Auf Mobilgeraeten gehoeren Suche und Filterkante zur Viewportflaeche,
     unabhaengig vom Innenabstand des jeweiligen Projektrasters. */
  .ffp-gallery.ffp-full-bleed>.ffp-toolbar,
  .ffp-gallery.ffp-full-bleed>.ffp-finder{
    position:relative;
    left:50%;
    width:var(--ffp-viewport-width,100vw)!important;
    max-width:none!important;
    margin-right:0!important;
    margin-left:0!important;
    transform:translateX(-50%)
  }
  .ffp-gallery.ffp-full-bleed>.ffp-toolbar{
    padding-right:max(12px,env(safe-area-inset-right))!important;
    padding-left:max(12px,env(safe-area-inset-left))!important
  }
  .ffp-gallery.ffp-full-bleed>.ffp-finder .ffp-finder-panel{
    border-right:0!important;
    border-left:0!important;
    border-radius:0!important
  }
  .ffp-gallery .ffp-filter-scroll-shell{display:block}
}

/* Theme-Buttonfarben duerfen die Empfehlung nach dem Film nicht faerben. */
.ffp-gallery .ffp-end-recommend{
  color:#fff!important;
  background:
    radial-gradient(circle at 78% 35%,rgba(31,128,190,.24),transparent 38%),
    rgba(3,7,13,.95)!important
}
.ffp-gallery button.ffp-end-recommend-card,
.ffp-gallery button.ffp-end-recommend-card:hover,
.ffp-gallery button.ffp-end-recommend-card:focus-visible{
  border-color:rgba(87,212,239,.34)!important;
  background:linear-gradient(135deg,#101a2c,#0b1422)!important;
  color:#fff!important;
  text-shadow:none!important
}
.ffp-gallery button.ffp-end-recommend-card:hover,
.ffp-gallery button.ffp-end-recommend-card:focus-visible{
  border-color:#57d4ef!important;
  box-shadow:0 14px 36px rgba(31,128,190,.18)!important
}
.ffp-gallery .ffp-end-recommend-card small{color:#57d4ef!important}
.ffp-gallery .ffp-end-recommend-card em{color:var(--ffp-muted)!important}

/* Der Filmfinder gehoert in die Suchleiste. Als fixiertes Element konnte er
   besonders in kleineren Desktop-Viewports die Filteraktionen ueberdecken. */
.ffp-gallery .ffp-toolbar .ffp-emily-toggle{
  position:relative!important;
  z-index:3!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  margin:0 3px 0 0!important;
  padding:5px!important;
  border:0!important;
  border-left:1px solid rgba(115,148,190,.24)!important;
  border-radius:0 100px 100px 0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important
}
.ffp-gallery .ffp-toolbar .ffp-emily-toggle>span:last-of-type,
.ffp-gallery .ffp-toolbar .ffp-emily-toggle::after{display:none!important}
.ffp-gallery .ffp-toolbar .ffp-emily-toggle .ffp-emily-avatar{
  flex-basis:34px!important;
  width:34px!important
}

/* 4.3.5 · Suchvorschlaege liegen in jeder Header-, Filter- und Rastervorlage
   als geschlossene Bedienebene vor den Projektkarten. Ein z-index nur an der
   Liste reicht nicht, sobald eine Vorlage einen eigenen Stapelkontext bildet. */
.ffp-gallery>.ffp-toolbar{
  position:relative!important;
  z-index:80!important;
  overflow:visible!important;
  isolation:isolate
}
.ffp-gallery>.ffp-toolbar .ffp-search-shell{
  position:relative!important;
  z-index:2!important;
  overflow:visible!important
}
.ffp-gallery>.ffp-toolbar .ffp-search-suggestions{
  z-index:90!important;
  isolation:isolate
}
.ffp-gallery.has-search-suggestions>.ffp-toolbar{
  z-index:120!important
}
.ffp-gallery.has-search-suggestions>.ffp-grid,
.ffp-gallery.has-search-suggestions>.ffp-screening-rows,
.ffp-gallery.has-search-suggestions>.ffp-presentation-nav,
.ffp-gallery.has-search-suggestions>.ffp-reel-nav{
  position:relative;
  z-index:0
}
.ffp-gallery.has-search-suggestions>.ffp-grid .ffp-card,
.ffp-gallery.has-search-suggestions>.ffp-screening-rows .ffp-card{
  pointer-events:none
}
@container (max-width:560px){
  .ffp-gallery>.ffp-toolbar .ffp-search-suggestions.is-mobile-flow{
    position:static!important;
    z-index:90!important
  }
}

/* Projektkarte ist ein Link auf die Projektseite (v5.0.0) */
a.ffp-card-media{text-decoration:none;color:#fff}
a.ffp-card-media:hover,a.ffp-card-media:focus-visible{text-decoration:none}

/* Making-of in der Projektgeschichte (v5.0.0) */
.ffp-project-makingof{margin-top:clamp(40px,7vw,90px)}
.ffp-project-makingof header{margin-bottom:22px}
.ffp-project-makingof header small{display:block;margin-bottom:6px;color:var(--ffp-accent-2);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ffp-project-makingof header h4{margin:0;color:#fff;font-size:clamp(20px,2.4vw,30px);line-height:1.05;letter-spacing:-.03em}
.ffp-makingof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--ffp-gap)}
.ffp-makingof-grid figure{margin:0;overflow:hidden;border-radius:var(--ffp-radius);background:var(--ffp-surface)}
.ffp-gallery .ffp-makingof-grid img,.ffp-gallery .ffp-project-gallery img{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;contain:none!important;contain-intrinsic-size:none!important}
.ffp-makingof-grid figcaption{padding:12px 14px 14px;color:var(--ffp-muted);font-size:13px;line-height:1.5}
@container (max-width:560px){.ffp-makingof-grid{grid-template-columns:1fr}}

/* ── Kundenstimme mit Video ────────────────────────────────────────────
   Der Block war auf drei Spalten ausgelegt: Rundbild, Zitat, Verweis.
   Ein Video landete damit in der schmalen Verweis-Spalte und wurde
   winzig, waehrend links Platz verschenkt war. Mit Video bekommt das
   Video eine eigene Spalte, das Rundbild schrumpft auf Portraitgroesse
   und der Verweis rueckt in eine eigene Zeile.
   Das Vorschaubild von YouTube ist 4:3 mit schwarzen Balken; ein
   16:9-Rahmen mit object-fit:cover schneidet sie weg. */
.ffp-testimonial.ffp-testimonial-has-video{
  grid-template-columns:52px minmax(0,1fr) minmax(310px,42%);
  grid-template-areas:"bild zitat video" "mehr mehr video";
  align-items:center;
  column-gap:clamp(18px,2.6vw,32px);
  row-gap:16px
}
.ffp-testimonial-has-video .ffp-testimonial-person{
  grid-area:bild;width:52px;min-width:52px;height:52px;font-size:19px;
  box-shadow:0 0 0 4px rgba(87,212,239,.06);align-self:start;margin-top:4px
}
.ffp-testimonial-has-video blockquote{grid-area:zitat;margin:0}
.ffp-testimonial-has-video .ffp-testimonial-media{grid-area:video;align-self:center}
.ffp-testimonial-has-video .ffp-testimonial-more{grid-area:mehr;justify-self:start;align-self:start;margin:0}
.ffp-testimonial-media{display:grid;gap:8px;min-width:0}
.ffp-testimonial-video{position:relative;margin:0;overflow:hidden;border:1px solid rgba(95,145,197,.22);border-radius:14px;background:#0a1120;box-shadow:0 18px 40px rgba(0,0,0,.34)}
.ffp-testimonial-video.ffp-ratio-16x9{aspect-ratio:16/9}
.ffp-testimonial-video.ffp-ratio-9x16{aspect-ratio:9/16;max-width:260px;justify-self:center}
.ffp-testimonial-video.ffp-ratio-1x1{aspect-ratio:1/1}
.ffp-testimonial-video .ffp-lite-play{position:absolute;inset:0}
.ffp-testimonial-video .ffp-lite-play-icon{width:clamp(46px,5vw,58px);height:clamp(46px,5vw,58px)}
.ffp-testimonial-video .ffp-lite-play-icon i{border-top-width:8px;border-bottom-width:8px;border-left-width:13px}
.ffp-testimonial-video>iframe,.ffp-testimonial-video>video{position:absolute;inset:0;width:100%;height:100%;border:0}
.ffp-testimonial-video-note{margin:0;color:#8494aa;font-size:10px;line-height:1.45}
.ffp-testimonial-video-note a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(132,148,170,.5)}
.ffp-testimonial-video-note a:hover{color:#fff}
/* Der Play-Knopf ist ein <button>. Themes und Elementor faerben Buttons
   global ein (bei lange-sicht.de tuerkis, mit Innenabstand) - deshalb hier
   ein harter Reset, damit nur das Vorschaubild zu sehen ist. */
.ffp-lite-play,.ffp-testimonial-video .ffp-lite-play,.ffp-single-player .ffp-lite-play{
  display:block!important;width:100%!important;height:100%!important;
  margin:0!important;padding:0!important;border:0!important;outline-offset:3px;
  border-radius:inherit!important;background:#0a1120!important;background-image:none!important;
  box-shadow:none!important;color:inherit!important;font:inherit!important;letter-spacing:normal!important;
  text-transform:none!important;-webkit-appearance:none!important;appearance:none!important;
  overflow:hidden;cursor:pointer;transform:none!important;transition:none!important
}
.ffp-lite-play:hover,.ffp-lite-play:focus,.ffp-lite-play:active{background:#0a1120!important;transform:none!important;box-shadow:none!important}
.ffp-lite-play>img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:inherit!important}
@media (max-width:900px){
  .ffp-testimonial.ffp-testimonial-has-video{
    grid-template-columns:52px minmax(0,1fr);
    grid-template-areas:"bild zitat" "video video" "mehr mehr"
  }
  .ffp-testimonial-has-video .ffp-testimonial-media{max-width:none;margin-top:4px}
  .ffp-testimonial-video{border-radius:12px}
}

/* Automatische YouTube-Filmstills bleiben unsichtbar, solange kein Bild
   geladen ist (z. B. ohne Einwilligung fuer externe Medien). */
.ffp-project-gallery figure.ffp-still-pending{display:none!important}

/* Kundenstimme ohne Zitat: nur das Video, mittig und breiter - sonst bliebe
   die halbe Flaeche leer. */
.ffp-testimonial.ffp-testimonial-video-only{grid-template-columns:minmax(0,1fr);grid-template-areas:"video" "mehr";justify-items:center}
.ffp-testimonial-video-only .ffp-testimonial-media{width:min(640px,100%);max-width:none}
.ffp-testimonial-video-only .ffp-testimonial-more{justify-self:center}

/* Der Fokus-Begriff als Zwischenueberschrift ueber dem Vorspann: benennt die
   Gattung des Films und gibt der Seite eine echte H2. */
.ffp-project-detail .ffp-case-topic{margin:0 0 10px;color:var(--ffp-accent-2,#57d4ef);font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}

/* Lange deutsche Komposita ("Steuerfachangestellte") brauchen auf dem Handy
   eine Silbentrennung, sonst bricht die Zeile erst hinter dem Rand. Die Seite
   traegt lang="de-DE", darauf stuetzt sich hyphens:auto. */
.ffp-gallery .ffp-card-title strong,
.ffp-gallery .ffp-editorial-caption strong,
.ffp-single-head h2,
.ffp-project-detail .ffp-case-topic,
.ffp-project-detail .ffp-case-lead,
.ffp-case-step h4,
.ffp-case-step p,
.ffp-project-copy p,
.ffp-testimonial blockquote p,
.ffp-testimonial figcaption strong,
.ffp-testimonial figcaption small,
.ffp-single-facts li,
.ffp-project-additional h4{
  overflow-wrap:break-word;
  -webkit-hyphens:auto;hyphens:auto;
  -webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;
  hyphenate-limit-chars:6 3 3
}
/* Ueberschriften duerfen umbrechen, aber nie mitten im Wort abgeschnitten
   werden: auf schmalen Schirmen bekommt der Kacheltitel eine Zeile mehr. */
@media (max-width:700px){
  .ffp-single-head h2{overflow-wrap:break-word;text-wrap:pretty}
  .ffp-project-detail .ffp-case-topic{letter-spacing:.1em}
}

/* Der Titel im Dialog stand in einem Flex-Element ohne min-width. Ein Wort wie
   "STEUERFACHANGESTELLTE" wuchs damit ueber den Bildschirmrand hinaus, statt
   umzubrechen. Zusaetzlich Silbentrennung fuer alle Textelemente in Raster,
   Dialog und Projektseite. */
.ffp-dialog-meta{flex-wrap:wrap}
.ffp-dialog-meta>*{min-width:0;max-width:100%}
.ffp-gallery h1,.ffp-gallery h2,.ffp-gallery h3,.ffp-gallery h4,.ffp-gallery h5,
.ffp-gallery p,.ffp-gallery li,.ffp-gallery strong,.ffp-gallery small,.ffp-gallery em,.ffp-gallery blockquote,
.ffp-dialog h1,.ffp-dialog h2,.ffp-dialog h3,.ffp-dialog h4,
.ffp-dialog p,.ffp-dialog li,.ffp-dialog strong,.ffp-dialog small,.ffp-dialog em,.ffp-dialog blockquote,
.ffp-dialog-meta h3,.ffp-dialog-meta small,.ffp-dialog-meta>span{
  min-width:0;
  overflow-wrap:break-word;word-break:normal;
  -webkit-hyphens:auto;hyphens:auto;
  hyphenate-limit-chars:6 3 3
}
@media (max-width:760px){
  .ffp-dialog-meta{flex-direction:column;align-items:flex-start;gap:10px}
  .ffp-dialog-meta h3{max-width:100%}
}

/* ===========================================================================
   2.9 · Filter: harter Schalterschutz gegen Theme-Farben + kompakte Mobilsicht
   Das Theme färbt jeden <button>. Alle Filter-Bedienelemente setzen ihre
   Flächen deshalb selbst – sonst erscheinen grüne Kästen.
   =========================================================================== */
.ffp-gallery .ffp-advanced-toggle,
.ffp-gallery .ffp-finder-clear,
.ffp-gallery button.ffp-filter-toggle,
.ffp-gallery button.ffp-advisor-toggle,
.ffp-gallery .ffp-filters button,
.ffp-gallery button.ffp-facet-chip,
.ffp-gallery .ffp-axis-toggle,
.ffp-gallery .ffp-filter-scroll-arrow,
.ffp-gallery .ffp-active-facets button,
.ffp-gallery .ffp-search button{
  -webkit-appearance:none!important;
  appearance:none!important;
  background-image:none!important;
  text-shadow:none!important;
  font-family:inherit;
}
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-advanced-toggle,
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-finder-clear,
.ffp-gallery:not(.ffp-preset-editorial-collage) button.ffp-filter-toggle,
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-filters button,
.ffp-gallery:not(.ffp-preset-editorial-collage) button.ffp-facet-chip,
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-axis-toggle,
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-filter-scroll-arrow{
  background-color:rgba(7,14,27,.5)!important;
  color:#c3cfe0!important;
}
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-axis-toggle{background-color:transparent!important}
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-filters button.is-active,
.ffp-gallery:not(.ffp-preset-editorial-collage) button.ffp-facet-chip.is-active,
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-active-facets button{
  background-color:var(--ffp-cta)!important;
  color:#fff!important;
  border-color:transparent!important;
}
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-advanced-toggle.is-open{
  background-color:rgba(31,128,190,.16)!important;
  color:#fff!important;
}
.ffp-gallery:not(.ffp-preset-editorial-collage) .ffp-advanced-toggle small{
  background-color:var(--ffp-cta)!important;
  color:#fff!important;
}
.ffp-gallery .ffp-facet select{-webkit-appearance:none;appearance:none;background-image:none}

/* Mobil: die Achsen laufen über die nativen Auswahlfelder statt über lange
   Chip-Listen. Das spart auf dem Handy den größten Teil der Höhe. */
@media (max-width:760px){
  .ffp-gallery .ffp-facet-chip-list{display:none!important}
  .ffp-gallery .ffp-facet select{display:block!important;width:100%;min-height:44px;padding:10px 34px 10px 12px;border-radius:10px;font-size:13px;background-image:linear-gradient(45deg,transparent 49%,currentColor 50%,currentColor 52%,transparent 53%),linear-gradient(-45deg,transparent 49%,currentColor 50%,currentColor 52%,transparent 53%);background-position:calc(100% - 18px) 44%,calc(100% - 12px) 44%;background-size:6px 6px;background-repeat:no-repeat}
  .ffp-gallery .ffp-facet{gap:5px}
  .ffp-gallery .ffp-axis-toggle{display:block!important;width:100%;padding:0!important;border:0!important;text-align:left;pointer-events:none}
  .ffp-gallery .ffp-axis-toggle i{display:none}
  .ffp-gallery .ffp-axis-toggle span{font-size:9px;letter-spacing:.12em}
  .ffp-gallery .ffp-facet-grid{grid-template-columns:1fr!important;gap:12px}
  .ffp-gallery .ffp-finder-rule{display:none}
  .ffp-gallery .ffp-advanced-toggle{width:100%;justify-content:center;min-height:44px;margin-top:14px}
  .ffp-gallery .ffp-filter-scroll-shell{margin-inline:-2px}
  .ffp-gallery .ffp-filters{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .ffp-gallery .ffp-filters::-webkit-scrollbar{display:none}
  .ffp-gallery .ffp-filters button{flex:0 0 auto;min-height:38px!important;padding:0 13px!important;font-size:10px!important;white-space:nowrap!important;scroll-snap-align:start}
  .ffp-gallery .ffp-filter-scroll-arrow{display:none!important}
  .ffp-gallery .ffp-finder-panel{padding:14px!important}
  .ffp-gallery .ffp-active-facets{gap:6px;margin-top:12px}
  .ffp-gallery .ffp-active-facets button{padding:6px 9px;font-size:10px}
}

/* Lesbarkeit der Achsenbeschriftungen: weniger Sperrung, etwas größer.
   Die weit gesperrten Versalien waren besonders auf dem Handy schwer zu lesen. */
.ffp-gallery .ffp-facet>span,
.ffp-gallery .ffp-axis-toggle span,
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-axis-toggle span{
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  line-height:1.3!important;
}
.ffp-gallery .ffp-filters button,
.ffp-gallery button.ffp-facet-chip{letter-spacing:.02em!important;text-transform:none!important;font-size:12px!important}
.ffp-gallery .ffp-advanced-toggle{letter-spacing:.02em!important;text-transform:none!important;font-size:12px!important}
.ffp-gallery .ffp-finder-clear{letter-spacing:.02em!important;text-transform:none!important;font-size:11px!important}
.ffp-gallery .ffp-facet select{letter-spacing:.01em}
@media (max-width:760px){
  .ffp-gallery .ffp-facet>span,
  .ffp-gallery .ffp-axis-toggle span{font-size:11px!important;letter-spacing:.01em!important}
  .ffp-gallery .ffp-filters button{font-size:12px!important;letter-spacing:.01em!important}
}

/* Querverweise: Farben selbst setzen, das Theme färbt h4 sonst dunkelgrau.
   Außerdem ein ruhiger Platzhalter, solange ein Film kein Posterbild hat. */
.ffp-project-related header small{color:var(--ffp-accent-2,#57d4ef)!important}
.ffp-project-related header h4{color:#fff!important}
.ffp-project-related a{color:inherit!important}
.ffp-project-related strong{color:#fff!important}
.ffp-project-related small{color:var(--ffp-muted,#9aa8bd)!important}
.ffp-project-related a:hover strong{color:var(--ffp-accent-2,#57d4ef)!important}
.ffp-related-placeholder{
  position:relative;
  border:1px solid rgba(121,151,190,.24);
  background:linear-gradient(140deg,rgba(23,38,66,.92),rgba(10,17,32,.96));
}
.ffp-related-placeholder::after{
  content:"";
  position:absolute;left:50%;top:50%;
  width:26px;height:26px;margin:-13px 0 0 -13px;
  border-radius:50%;
  border:1px solid rgba(121,151,190,.5);
  background:
    linear-gradient(90deg,transparent 45%,rgba(121,151,190,.65) 45% 55%,transparent 55%) center/9px 9px no-repeat;
}

/* Dialogtitel: lange Fachwörter dürfen nicht abgeschnitten werden. */
.ffp-dialog-meta h3{
  hyphens:auto;
  -webkit-hyphens:auto;
  overflow-wrap:anywhere;
  word-break:normal;
  max-width:100%;
}
@media (max-width:560px){
  .ffp-dialog-meta h3{font-size:clamp(22px,7.2vw,34px);letter-spacing:-.02em}
}

/* iOS zoomt beim Antippen in jedes Eingabefeld, dessen Schrift kleiner als
   16px ist. Auf dem Handy bekommen Such- und Assistenzfeld deshalb 16px –
   optisch bleibt die Zeile gleich hoch. */
@media (max-width:760px){
  .ffp-gallery .ffp-search input,
  .ffp-gallery input[type="search"],
  .ffp-gallery input[type="text"],
  .ffp-gallery .ffp-emily-form input,
  .ffp-gallery .ffp-facet select{
    font-size:16px!important;
  }
  .ffp-gallery .ffp-search input::placeholder{font-size:15px}
}

/* Querverweise: Der Abspielknopf liegt über dem Vorschaubild, damit auf den
   ersten Blick klar ist, dass dahinter ein Film steckt – auch dann, wenn das
   Vorschaubild fehlt und nur der Platzhalter steht. */
.ffp-project-related .ffp-related-media{
  position:relative;display:block;width:100%;
  aspect-ratio:16/9;overflow:hidden;
  border-radius:calc(var(--ffp-radius,14px) - 4px);
  background:var(--ffp-surface,#101b2e);
}
.ffp-project-related .ffp-related-media img,
.ffp-project-related .ffp-related-media .ffp-related-placeholder{
  position:absolute;inset:0;width:100%;height:100%;
  margin:0;border-radius:0;object-fit:cover;
}
.ffp-project-related .ffp-related-play{
  position:absolute;left:50%;top:50%;
  display:grid;place-items:center;
  width:clamp(38px,22%,54px);aspect-ratio:1;
  margin:0;transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.5);border-radius:50%;
  background:rgba(5,10,19,.55);
  backdrop-filter:blur(6px);
  transition:transform .25s,background .25s,border-color .25s;
  pointer-events:none;
}
.ffp-project-related .ffp-related-play i{
  width:0;height:0;margin-left:3px;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:11px solid #fff;
}
.ffp-project-related a:hover .ffp-related-play,
.ffp-project-related a:focus-visible .ffp-related-play{
  background:var(--ffp-cta,#d7195f);
  border-color:transparent;
  transform:translate(-50%,-50%) scale(1.08);
}
.ffp-project-related a:hover .ffp-related-media,
.ffp-project-related a:focus-visible .ffp-related-media{
  transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.3);
}
.ffp-project-related a:hover img,
.ffp-project-related a:hover .ffp-related-placeholder{transform:none;box-shadow:none}
@media (prefers-reduced-motion:reduce){
  .ffp-project-related .ffp-related-play,
  .ffp-project-related .ffp-related-media{transition:none}
}

/* Verzeichnis aller Filmprojekte: sichtbare, kriechbare Verweise auf die
   Projektseiten. Ohne das findet eine Suchmaschine nur die zuerst gerenderten
   Karten – der Rest wird erst per JavaScript nachgeladen. */
.ffp-project-index{margin-top:clamp(40px,6vw,78px);padding-top:clamp(24px,3vw,36px);border-top:1px solid rgba(121,151,190,.2)}
.ffp-project-index h2{margin:0 0 16px;color:var(--ffp-muted,#9aa8bd)!important;font-size:11px;font-weight:700;letter-spacing:.04em}
.ffp-project-index ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 22px;margin:0;padding:0;list-style:none}
.ffp-project-index li{margin:0}
.ffp-project-index a{color:var(--ffp-muted,#9aa8bd);font-size:12px;line-height:1.5;text-decoration:none;hyphens:auto}
.ffp-project-index a:hover,.ffp-project-index a:focus-visible{color:var(--ffp-accent-2,#57d4ef);text-decoration:underline}
@media (max-width:560px){.ffp-project-index ul{grid-template-columns:1fr}}

/* 2.10 Aktive Filter: nur noch die Zahl -------------------------------- */
.ffp-active-summary{display:inline-flex;align-items:center;min-height:28px;color:var(--ffp-text,#dff8ff);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;white-space:nowrap}
.ffp-gallery .ffp-active-facets,.ffp-gallery .ffp-toolbar-facets{overflow:visible}
.ffp-gallery .ffp-active-facets:empty,.ffp-gallery .ffp-toolbar-facets:empty{display:none}
@media (max-width:640px){.ffp-active-summary{font-size:11px}}

/* 2.11 Kapitelmarken lesbar halten ------------------------------------- */
.ffp-gallery .ffp-project-chapters h4,.ffp-project-chapters h4{color:#fff!important;letter-spacing:-.01em!important;text-transform:none!important}
.ffp-gallery .ffp-project-chapters button span,.ffp-project-chapters button span{color:#eaf3ff!important;font-size:13px!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important}
.ffp-gallery .ffp-project-chapters time,.ffp-project-chapters time{letter-spacing:.02em!important;text-transform:none!important}

/* 2.12 Trefferzahlen an den Filtern: Kontrast aus der eigenen Schriftfarbe */
/* Feste Grautoene (#7e90a8) standen mal auf dunklem, mal auf farbigem Grund. */
/* currentColor erbt die Farbe des Knopfes und stimmt damit auf jedem Grund. */
.ffp-gallery button.ffp-facet-chip i,.ffp-gallery [data-ffp-filter] sup,.ffp-gallery .ffp-axis-toggle i{color:currentColor!important;opacity:.72;font-weight:700;font-style:normal}
.ffp-gallery button.ffp-facet-chip.is-active i,.ffp-gallery [data-ffp-filter].is-active sup,.ffp-gallery [data-ffp-filter][aria-pressed=true] sup{opacity:.92}
.ffp-gallery button.ffp-facet-chip:hover i,.ffp-gallery [data-ffp-filter]:hover sup{opacity:.92}

/* 2.13 Galerie ohne eigene Flaeche ------------------------------------- */
/* Fuer Einbindungen in bestehende Seiten: die Galerie bringt keinen eigenen */
/* Grund mit, Karten und Akzente bleiben. */
.ffp-gallery.ffp-bg-page{background:transparent!important;background-image:none!important}
.ffp-gallery.ffp-bg-page.ffp-full-bleed{box-shadow:none!important;clip-path:none!important}
.ffp-gallery.ffp-bg-page>.ffp-gallery-inner,.ffp-gallery.ffp-bg-page .ffp-widget-head{background:transparent!important}

/* 2.14 Eingebettete Galerie -------------------------------------------- */
/* Die Galerie sitzt in einer bestehenden Seite: keine eigene Buehne, keine  */
/* erzwungene Breite, Schrift und Inhaltsbreite kommen von aussen.           */
.ffp-gallery.ffp-embed{width:auto;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0;background:transparent!important;box-shadow:none!important;clip-path:none!important;font-family:inherit}
.ffp-gallery.ffp-embed .ffp-widget-head,.ffp-gallery.ffp-embed .ffp-composer-header,.ffp-gallery.ffp-embed .ffp-head-media{display:none!important}
.ffp-gallery.ffp-embed .ffp-grid{margin-top:0}
.ffp-gallery.ffp-embed .ffp-toolbar{padding-left:0;padding-right:0}
.ffp-gallery.ffp-embed .ffp-card-title strong{font-family:inherit}
.ffp-gallery.ffp-embed .ffp-project-index{margin-top:28px}
.ffp-gallery.ffp-embed .ffp-card.is-first,.ffp-gallery.ffp-embed .ffp-card.is-layout-featured{grid-column:auto!important;grid-row:auto!important}

/* 2.15 Verzeichnis aller Filmprojekte ---------------------------------- */
/* Zugeklappt, damit die Seite nicht in einer nackten Liste endet. Die     */
/* Verweise bleiben im Quelltext und damit auffindbar.                     */
.ffp-gallery .ffp-project-index{margin-top:clamp(28px,4vw,48px);padding-top:clamp(18px,3vw,26px);border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.ffp-gallery .ffp-project-index-box>summary{display:flex;align-items:center;gap:10px;padding:10px 2px;color:inherit;opacity:.88;cursor:pointer;list-style:none}
.ffp-gallery .ffp-project-index-box>summary::-webkit-details-marker{display:none}
.ffp-gallery .ffp-project-index-box>summary::after{content:"";width:8px;height:8px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.ffp-gallery .ffp-project-index-box[open]>summary::after{transform:rotate(-135deg) translateY(0)}
.ffp-gallery .ffp-project-index-box>summary>h2,.ffp-gallery .ffp-project-index-box>summary>h3,.ffp-gallery .ffp-project-index-box>summary>h4{margin:0;color:inherit!important;font-size:13px!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:none!important}
.ffp-gallery .ffp-project-index-box>summary>small{color:currentColor;opacity:.6;font-size:12px;font-weight:700}
.ffp-gallery .ffp-project-index-box>summary:focus-visible{outline:2px solid var(--ffp-accent-2,#57d4ef);outline-offset:2px}
.ffp-gallery .ffp-project-index-box ul{column-gap:28px;margin:6px 0 0;padding:0;list-style:none}
@media (min-width:760px){.ffp-gallery .ffp-project-index-box ul{columns:2}}
@media (min-width:1100px){.ffp-gallery .ffp-project-index-box ul{columns:3}}
.ffp-gallery .ffp-project-index-box li{break-inside:avoid;margin:0 0 6px}
.ffp-gallery .ffp-project-index-box a{color:inherit;opacity:.72;font-size:13px;line-height:1.45;text-decoration:none}
.ffp-gallery .ffp-project-index-box a:hover,.ffp-gallery .ffp-project-index-box a:focus-visible{opacity:1;text-decoration:underline}

/* 2.16 Kartenstil "nur die Kacheln" ------------------------------------ */
/* Bildstrecke statt Karten: keine Flaeche, kein Rahmen, keine Beischrift. */
/* Der Titel erscheint beim Ueberfahren und bleibt fuer Vorlesegeraete da. */
.ffp-gallery.ffp-cards-plain .ffp-card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible}
.ffp-gallery.ffp-cards-plain .ffp-card-media{border-radius:var(--ffp-radius,0);overflow:hidden}
.ffp-gallery.ffp-cards-plain .ffp-card-body,.ffp-gallery.ffp-cards-plain .ffp-card-tags,.ffp-gallery.ffp-cards-plain .ffp-card-sequence,.ffp-gallery.ffp-cards-plain .ffp-shortlist-toggle,.ffp-gallery.ffp-cards-plain .ffp-duration,.ffp-gallery.ffp-cards-plain .ffp-editorial-caption{display:none!important}
.ffp-gallery.ffp-cards-plain .ffp-card-title{opacity:0;transform:translateY(6px);transition:opacity .22s,transform .22s}
.ffp-gallery.ffp-cards-plain .ffp-card-media:hover .ffp-card-title,.ffp-gallery.ffp-cards-plain .ffp-card-media:focus-visible .ffp-card-title,.ffp-gallery.ffp-cards-plain .ffp-card-media:focus-within .ffp-card-title{opacity:1;transform:none}
@media (hover:none){.ffp-gallery.ffp-cards-plain .ffp-card-title{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ffp-gallery.ffp-cards-plain .ffp-card-title{transition:none}}

/* 2.17 Eingebettet: Schriftfarbe von der Seite ------------------------- */
/* Was direkt auf dem Seitengrund sitzt, erbt dessen Schriftfarbe – damit  */
/* dieselbe Einbindung auf hellen und auf dunklen Abschnitten trägt.       */
/* Karten behalten ihre eigene Fläche und deren Farben.                    */
.ffp-gallery.ffp-embed,.ffp-gallery.ffp-bg-page{color:inherit}
.ffp-gallery.ffp-embed .ffp-card,.ffp-gallery.ffp-bg-page .ffp-card{color:var(--ffp-text,#fff)}
.ffp-gallery.ffp-embed .ffp-filter-result-count,.ffp-gallery.ffp-bg-page .ffp-filter-result-count{color:inherit;opacity:.75}
.ffp-gallery.ffp-embed .ffp-active-summary,.ffp-gallery.ffp-bg-page .ffp-active-summary{color:inherit}
.ffp-gallery.ffp-embed.ffp-cards-plain .ffp-card{color:inherit}
.ffp-gallery.ffp-embed.ffp-cards-plain .ffp-card-title strong,.ffp-gallery.ffp-embed.ffp-cards-plain .ffp-card-title small{color:#fff}

/* 2.18 Eingebettet: eingestellte Werte schlagen das Preset -------------- */
/* Presets bringen eigene Spaltenzahlen, Flaechen und negative Aussenraender */
/* mit. Auf einer fremden Seite muss gelten, was eingestellt ist – sonst     */
/* ergeben drei gewaehlte Spalten vier, und freie Rasterzellen bleiben       */
/* schwarz auf hellem Grund.                                                */
.ffp-gallery.ffp-explicit .ffp-grid{display:grid!important;grid-template-columns:repeat(var(--ffp-columns,3),minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:var(--ffp-gap,22px)!important;margin-inline:0!important;padding:0!important;background:transparent!important;background-image:none!important;min-height:0!important;overflow:visible!important}
@container (max-width:900px){.ffp-gallery.ffp-explicit .ffp-grid{grid-template-columns:repeat(var(--ffp-columns-tablet,2),minmax(0,1fr))!important;gap:var(--ffp-gap-tablet,var(--ffp-gap))!important}}
@media (max-width:900px){.ffp-gallery.ffp-explicit .ffp-grid{grid-template-columns:repeat(var(--ffp-columns-tablet,2),minmax(0,1fr))!important;gap:var(--ffp-gap-tablet,var(--ffp-gap))!important}}
@container (max-width:560px){.ffp-gallery.ffp-explicit .ffp-grid{grid-template-columns:repeat(var(--ffp-columns-mobile,1),minmax(0,1fr))!important;gap:var(--ffp-gap-mobile,var(--ffp-gap))!important}}
@media (max-width:560px){.ffp-gallery.ffp-explicit .ffp-grid{grid-template-columns:repeat(var(--ffp-columns-mobile,1),minmax(0,1fr))!important;gap:var(--ffp-gap-mobile,var(--ffp-gap))!important}}
.ffp-gallery.ffp-explicit .ffp-card{margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;transform:none!important;min-height:0!important}
.ffp-gallery.ffp-embed .ffp-card::before,.ffp-gallery.ffp-embed .ffp-card::after,.ffp-gallery.ffp-embed .ffp-grid::before,.ffp-gallery.ffp-embed .ffp-grid::after,.ffp-gallery.ffp-embed .ffp-card-media::after{display:none!important}
.ffp-gallery.ffp-explicit .ffp-card:nth-child(n){grid-column:auto!important;grid-row:auto!important;min-width:0!important;max-width:none!important;width:auto!important;flex-basis:auto!important}
/* Kein leerer Vorlauf, wenn Kopf, Suche und Filter abgeschaltet sind. */
.ffp-gallery.ffp-embed{padding-top:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important}
.ffp-gallery.ffp-embed>.ffp-results:empty,.ffp-gallery.ffp-embed>.ffp-toolbar:empty,.ffp-gallery.ffp-embed>.ffp-finder:empty{display:none!important;margin:0!important;padding:0!important}
.ffp-gallery.ffp-embed .ffp-results{margin-top:0}

/* 2.19 Nachladen: Schaltflaeche darf nicht gequetscht werden ------------ */
/* Zwei Dinge waren falsch. Erstens traf ".ffp-load-more span" auch die     */
/* Beschriftung und machte daraus einen runden Knopf von 34 Pixeln – der    */
/* Text lief darueber hinaus. Zweitens ist die Schaltflaeche im Modus       */
/* "automatisch beim Scrollen" absichtlich ein stummer Punkt; sie darf dort */
/* nicht wie ein Knopf aussehen.                                            */
.ffp-gallery .ffp-load-wrap{display:flex;justify-content:center;margin-top:0;padding-top:clamp(20px,3vw,32px)}
.ffp-gallery .ffp-load-wrap:not(.is-infinite) button{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:0 0 auto;width:auto!important;height:auto!important;min-width:0!important;max-width:100%;min-height:44px!important;padding:12px 22px!important;white-space:nowrap;overflow:visible!important;letter-spacing:.02em!important;text-transform:none!important;font-size:14px!important;line-height:1.2!important;border-radius:999px;pointer-events:auto!important}
.ffp-gallery .ffp-load-wrap:not(.is-infinite) button>span:not(.ffp-load-icon){display:inline!important;width:auto!important;height:auto!important;min-width:0!important;aspect-ratio:auto!important;border-radius:0!important;background:none!important;font-size:inherit!important;place-items:normal!important}
.ffp-gallery .ffp-load-wrap:not(.is-infinite) button .ffp-load-icon{position:relative;display:block!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;aspect-ratio:1!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;color:inherit!important}
.ffp-gallery .ffp-load-wrap:not(.is-infinite) button .ffp-load-icon i{position:absolute!important;left:2px!important;right:auto!important;top:8px!important;width:14px!important;height:1.5px!important;background:currentColor!important;border:0!important;border-radius:1px!important;transform:none!important}
.ffp-gallery .ffp-load-wrap:not(.is-infinite) button .ffp-load-icon i:last-child{transform:rotate(90deg)!important}
.ffp-gallery .ffp-load-wrap button::before,.ffp-gallery .ffp-load-wrap button::after{display:none!important}
.ffp-gallery .ffp-load-wrap button:focus-visible{outline:2px solid var(--ffp-accent-2,#57d4ef);outline-offset:3px}

/* 2.20 Bedienelemente auf hellem Grund ---------------------------------- */
/* Eingebettet erbt die Schriftfarbe der Seite; Felder und Knoepfe bekommen */
/* eine Flaeche aus dieser Farbe statt fester dunkler Toene.                */
.ffp-gallery.ffp-embed .ffp-search input,.ffp-gallery.ffp-embed .ffp-search-shell,.ffp-gallery.ffp-embed .ffp-filter-toggle,.ffp-gallery.ffp-embed .ffp-emily-toggle,.ffp-gallery.ffp-embed .ffp-load-wrap:not(.is-infinite) button{color:inherit!important;background:color-mix(in srgb,currentColor 8%,transparent)!important;border:1px solid color-mix(in srgb,currentColor 22%,transparent)!important}
.ffp-gallery.ffp-embed .ffp-search input::placeholder{color:inherit;opacity:.6}
.ffp-gallery.ffp-embed .ffp-load-wrap:not(.is-infinite) button:hover{background:color-mix(in srgb,currentColor 14%,transparent)!important}

/* 2.21 Projektzahl ohne Leiste ------------------------------------------ */
.ffp-gallery .ffp-count-line{margin:0 0 clamp(14px,2vw,20px);color:inherit;opacity:.75;font-size:13px;letter-spacing:.02em;text-transform:none}
.ffp-gallery.ffp-embed .ffp-count-line{margin-top:0}

/* 2.22 Bildformat, Laufzeit, Nummerierung ------------------------------- */
.ffp-gallery.ffp-media-contain .ffp-poster,.ffp-gallery.ffp-media-contain .ffp-card-media img,.ffp-gallery.ffp-media-contain .ffp-card-media video{object-fit:contain!important;background:color-mix(in srgb,currentColor 6%,transparent)}
.ffp-gallery.ffp-no-duration .ffp-duration{display:none!important}
.ffp-gallery.ffp-no-sequence .ffp-card-sequence,.ffp-gallery.ffp-no-sequence .ffp-editorial-caption>span{display:none!important}

/* 2.23 Kartentitel unter dem Bild --------------------------------------- */
.ffp-gallery.ffp-title-below .ffp-card-media{display:block}
.ffp-gallery.ffp-title-below .ffp-card .ffp-card-title{display:none!important}
.ffp-gallery.ffp-title-below .ffp-card .ffp-editorial-caption{display:flex!important;gap:12px;padding:14px 2px!important;color:inherit!important;background:transparent!important;border:0!important;text-align:inherit}
.ffp-gallery.ffp-title-below .ffp-editorial-caption strong{font-size:var(--ffp-card-title-size,20px)!important;line-height:1.3!important;white-space:normal!important;overflow-wrap:anywhere;font-family:inherit!important;color:inherit!important}
.ffp-gallery.ffp-title-below .ffp-editorial-caption small{display:block;margin-top:6px;color:inherit!important;opacity:.7}
.ffp-gallery.ffp-embed.ffp-title-below .ffp-card{color:var(--ffp-embed-ui-text,var(--e-global-color-text,inherit))!important}
.ffp-gallery.ffp-title-below .ffp-shade{display:none!important}

/* 2.24 Dialog: nur der Film --------------------------------------------- */
.ffp-gallery[data-dialog-mode="film"] .ffp-dialog-meta,
.ffp-gallery[data-dialog-mode="film"] .ffp-project-detail,
.ffp-gallery[data-dialog-mode="film"] .ffp-related,
.ffp-gallery[data-dialog-mode="film"] .ffp-project-cta,
.ffp-gallery[data-dialog-mode="film"] .ffp-detail-loading,
.ffp-gallery[data-dialog-mode="film"] .ffp-dialog-jump{display:none!important}

/* 2.25 Blaettern --------------------------------------------------------- */
.ffp-gallery .ffp-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:clamp(20px,3vw,32px)}
.ffp-gallery .ffp-pages[hidden]{display:none!important}
.ffp-gallery .ffp-pages button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid color-mix(in srgb,currentColor 22%,transparent)!important;border-radius:999px;background:transparent!important;color:inherit!important;font-size:14px;font-weight:600;letter-spacing:.02em!important;text-transform:none!important;cursor:pointer;transition:background .2s,border-color .2s}
.ffp-gallery .ffp-pages button:hover{background:color-mix(in srgb,currentColor 10%,transparent)!important}
.ffp-gallery .ffp-pages button.is-active{border-color:var(--ffp-cta,#d7195f)!important;background:var(--ffp-cta,#d7195f)!important;color:#fff!important}
.ffp-gallery .ffp-pages button:focus-visible{outline:2px solid var(--ffp-accent-2,#57d4ef);outline-offset:3px}

/* 2.26 Abspielknopf auf den Vorschaubildern des schlanken Players ---------
   Das Markup trug seit jeher <span class="ffp-lite-play-icon"><i></i></span>,
   aber es gab dazu keine einzige Regel ausser zwei Groessenangaben. Der Knopf
   war also unsichtbar: Das Vorschaubild einer Kundenstimme sah aus wie ein
   Standbild, und niemand konnte erkennen, dass sich ein Video dahinter
   verbirgt. Der Kreis liegt bewusst ueber dem Bild und ist dunkel mit weissem
   Dreieck – das traegt auf hellen wie auf dunklen Vorschaubildern. */
.ffp-lite-play{position:relative!important}
.ffp-lite-play .ffp-lite-play-icon{
  position:absolute;z-index:3;inset:50% auto auto 50%;
  display:grid!important;place-items:center;
  width:clamp(46px,5vw,58px);height:clamp(46px,5vw,58px);
  border:1px solid rgba(255,255,255,.62);border-radius:50%;
  background:rgba(5,10,19,.42);
  box-shadow:0 10px 28px rgba(0,0,0,.34);
  color:#fff;
  transform:translate(-50%,-50%);
  backdrop-filter:blur(9px);
  pointer-events:none;
  transition:background .25s,border-color .25s,transform .3s cubic-bezier(.2,.8,.2,1)
}
.ffp-lite-play .ffp-lite-play-icon i{
  display:block;width:0;height:0;margin-left:3px;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:11px solid currentColor
}
.ffp-lite-play:hover .ffp-lite-play-icon,
.ffp-lite-play:focus-visible .ffp-lite-play-icon{
  border-color:transparent;
  background:var(--ffp-cta,#d7195f);
  transform:translate(-50%,-50%) scale(1.07)
}
@media (prefers-reduced-motion:reduce){
  .ffp-lite-play .ffp-lite-play-icon{transition:none}
}

/* 5.7.3: media boxes own their geometry, even with Elementor's img height:auto. */
.ffp-gallery .ffp-card .ffp-card-media .ffp-poster{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block!important}
.ffp-gallery.ffp-explicit .ffp-card .ffp-card-media{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;border:0!important;border-radius:var(--ffp-radius)!important;aspect-ratio:var(--ffp-media-ratio,16/9)!important;overflow:hidden!important;background:#080d14!important}
.ffp-gallery.ffp-explicit:not(.ffp-media-contain) .ffp-card .ffp-poster,.ffp-gallery.ffp-explicit:not(.ffp-media-contain) .ffp-card .ffp-hover-video{object-fit:cover!important}
.ffp-gallery.ffp-explicit .ffp-card .ffp-card-title{max-width:none!important;width:auto!important;left:0!important;right:0!important;bottom:0!important;padding:clamp(14px,2cqw,24px)!important}
.ffp-gallery.ffp-explicit .ffp-card .ffp-card-title strong{font-size:var(--ffp-card-title-size,clamp(18px,2cqw,26px));line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere;text-transform:none!important;letter-spacing:-.02em!important}
.ffp-gallery.ffp-explicit .ffp-card-body{background:transparent;color:inherit}
.ffp-gallery.ffp-explicit .ffp-presentation-nav,.ffp-gallery.ffp-explicit .ffp-screening-rows{display:none!important}
.ffp-gallery.ffp-explicit .ffp-card[hidden],.ffp-gallery .ffp-grid[hidden],.ffp-gallery .ffp-load-wrap[hidden],.ffp-gallery .ffp-load-more[hidden]{display:none!important}

/* Filter design, not the card preset, owns the nested facet layout. */
.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-facet-grid{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.ffp-gallery.ffp-filter-style-panel .ffp-facet-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;gap:18px!important}
.ffp-gallery .ffp-facet-chip-list{min-width:0;max-width:100%}
.ffp-gallery .ffp-facet-chip-list button.ffp-facet-chip{flex:0 0 auto!important;width:auto!important;max-width:100%!important;min-height:38px!important;padding:8px 12px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;line-height:1.4!important;font-size:12px!important}
.ffp-gallery .ffp-facet-chip i{flex-shrink:0}
.ffp-gallery .ffp-finder-panel .ffp-filters button{font-size:12px!important;min-height:38px!important;line-height:1.35!important}
@container (max-width:680px){.ffp-gallery[class*="ffp-filter-style-"]:not(.ffp-filter-style-panel) .ffp-facet{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}}

/* Embedded controls inherit the page, not the white overlay caption. */
.ffp-gallery.ffp-embed[class*="ffp-filter-style-"]>.ffp-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important;border:0!important;margin:0 0 20px!important;padding:0!important;background:transparent!important;color:var(--ffp-embed-ui-text,var(--e-global-color-text,inherit))!important}
.ffp-gallery.ffp-embed .ffp-search-shell{flex:1 1 240px!important;width:auto!important;min-width:0!important;max-width:none!important;min-height:48px!important;border:1px solid color-mix(in srgb,currentColor 22%,transparent)!important;border-radius:var(--ffp-embed-control-radius,12px)!important;background:var(--ffp-embed-ui-surface,color-mix(in srgb,currentColor 4%,transparent))!important;box-shadow:none!important;color:inherit!important}
.ffp-gallery.ffp-embed .ffp-search{width:100%!important;max-width:none!important;color:inherit!important;background:transparent!important;border:0!important}
.ffp-gallery.ffp-embed .ffp-search input{height:48px!important;min-height:48px!important;padding-block:10px!important;background:transparent!important;border:0!important;border-radius:inherit!important;box-shadow:none!important;color:inherit!important;font-family:inherit!important;font-size:var(--ffp-embed-control-size,16px)!important}
.ffp-gallery.ffp-embed .ffp-search-shell:focus-within{outline:2px solid var(--ffp-cta);outline-offset:2px}
.ffp-gallery.ffp-embed .ffp-filter-result-count{display:block!important;font-size:13px!important;white-space:normal!important;color:inherit!important}
.ffp-gallery.ffp-embed .ffp-toolbar .ffp-filter-toggle,.ffp-gallery.ffp-embed .ffp-toolbar .ffp-emily-toggle{flex:0 0 auto!important;min-height:48px!important;border-radius:var(--ffp-embed-control-radius,12px)!important;color:inherit!important}
.ffp-gallery.ffp-embed .ffp-load-wrap{color:var(--ffp-embed-ui-text,var(--e-global-color-text,inherit))!important}
.ffp-gallery.ffp-embed .ffp-load-wrap:not(.is-infinite) button.ffp-load-more{min-height:44px!important;gap:12px!important;padding:10px var(--ffp-embed-button-padding,20px)!important;border:1px solid color-mix(in srgb,currentColor 28%,transparent)!important;border-radius:var(--ffp-embed-control-radius,8px)!important;background:var(--ffp-embed-button-bg,transparent)!important;color:var(--ffp-embed-button-text,inherit)!important;font-family:inherit!important;font-size:max(12px,var(--ffp-embed-control-size,14px))!important;font-weight:500!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;box-shadow:none!important;transition:background .2s,border-color .2s}
.ffp-gallery.ffp-embed .ffp-load-wrap:not(.is-infinite) button.ffp-load-more:hover{background:var(--ffp-embed-button-hover,color-mix(in srgb,currentColor 6%,transparent))!important;border-color:currentColor!important;box-shadow:none!important}
.ffp-gallery .ffp-load-more:disabled{cursor:wait;opacity:.65}
@media (max-width:760px){
  /* Restore the native selects completely; display:block alone left the
     desktop 1px/clip/absolute hiding rule active on phones. */
  .ffp-gallery[class*="ffp-filter-style-"] .ffp-facet>select{position:static!important;inset:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;width:100%!important;max-width:100%!important;height:48px!important;min-height:48px!important;font-size:16px!important}
  .ffp-gallery[class*="ffp-filter-style-"] .ffp-facet{grid-template-columns:minmax(0,1fr)!important}
  .ffp-gallery[class*="ffp-filter-style-"]>.ffp-toolbar{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:0 0 12px!important}
  .ffp-gallery[class*="ffp-filter-style-"] .ffp-search-shell{flex:1 1 100%!important;width:100%!important;min-width:0!important;max-width:none!important}
  .ffp-gallery[class*="ffp-filter-style-"] .ffp-finder-panel{padding:12px!important;max-height:none!important;overflow:visible!important}
  .ffp-gallery.ffp-filter-style-line .ffp-facet{padding:6px 0!important;border:0!important}
  .ffp-gallery.ffp-filter-style-line .ffp-axis-toggle{display:none!important}
  .ffp-gallery[class*="ffp-filter-style-"] .ffp-facet-grid{gap:8px!important}
}
.ffp-gallery.ffp-embed .ffp-toolbar button.ffp-filter-toggle{background:var(--ffp-embed-ui-surface,color-mix(in srgb,currentColor 5%,transparent))!important;border:1px solid color-mix(in srgb,currentColor 22%,transparent)!important;box-shadow:none!important}
.ffp-gallery.ffp-embed .ffp-filter-toggle .screen-reader-text{color:inherit!important;font-size:11px!important;letter-spacing:.03em!important}
.ffp-gallery .ffp-finder-panel button.ffp-advanced-toggle{min-height:38px!important;height:auto!important;width:auto!important;max-width:100%!important;min-width:0!important;padding:8px 14px!important;font-size:12px!important;line-height:1.35!important;border-radius:8px!important}
@media (pointer:coarse){.ffp-gallery .ffp-finder-panel button.ffp-advanced-toggle,.ffp-gallery .ffp-finder-panel .ffp-filters button{min-height:44px!important}}

/* Embedded finder is a page surface, never a dark island on a light page.
   These scoped rules also work on dark host pages by inheriting their ink. */
.ffp-gallery.ffp-embed:is(.ffp-filter-style-line,.ffp-filter-style-panel) .ffp-finder-panel{
  color:var(--ffp-embed-ui-text,var(--e-global-color-text,inherit))!important;
  background:var(--ffp-embed-ui-surface,color-mix(in srgb,currentColor 3%,transparent))!important;
  border:1px solid color-mix(in srgb,currentColor 16%,transparent)!important;
  border-radius:var(--ffp-embed-control-radius,12px)!important;padding:16px!important;
  margin:0 0 20px!important;box-shadow:none!important;
}
.ffp-gallery.ffp-embed:is(.ffp-filter-style-line,.ffp-filter-style-panel) .ffp-finder-panel :is(button,select){
  color:inherit!important;background:transparent!important;background-image:none!important;
  border-color:color-mix(in srgb,currentColor 18%,transparent)!important;box-shadow:none!important;
  font-family:inherit!important;text-shadow:none!important;
}
.ffp-gallery.ffp-embed:is(.ffp-filter-style-line,.ffp-filter-style-panel) .ffp-finder-panel .ffp-filters button{
  padding:8px 12px!important;border:1px solid transparent!important;border-radius:7px!important;
  background:color-mix(in srgb,currentColor 4%,transparent)!important;color:inherit!important;
}
.ffp-gallery.ffp-embed:is(.ffp-filter-style-line,.ffp-filter-style-panel) .ffp-finder-panel button:hover{background:color-mix(in srgb,currentColor 8%,transparent)!important;color:inherit!important}
.ffp-gallery.ffp-embed:is(.ffp-filter-style-line,.ffp-filter-style-panel) .ffp-finder-panel button.is-active{
  background:var(--ffp-cta,#d7195f)!important;color:#fff!important;border-color:transparent!important;
}
.ffp-gallery.ffp-embed:is(.ffp-filter-style-line,.ffp-filter-style-panel) .ffp-finder-panel .ffp-filters button.is-active{background:var(--ffp-cta,#d7195f)!important;color:#fff!important;border-color:transparent!important;box-shadow:none!important}
.ffp-gallery.ffp-embed .ffp-finder-panel :is(.ffp-facet,.ffp-filters){border-color:color-mix(in srgb,currentColor 12%,transparent)!important}
.ffp-gallery.ffp-embed .ffp-finder-panel .ffp-facet-grid{background:transparent!important}
.ffp-gallery.ffp-embed .ffp-finder-panel p{color:inherit!important;opacity:.72}
.ffp-gallery.ffp-embed .ffp-finder-panel button:focus-visible{outline:2px solid var(--ffp-cta)!important;outline-offset:2px}
.ffp-gallery[class*="ffp-filter-style-"] .ffp-finder-panel .ffp-facet select{min-height:40px!important;height:40px!important;padding:7px 34px 7px 12px!important;font-size:13px!important;font-weight:500!important;line-height:1.4!important;border-radius:7px!important;background-image:none!important;box-shadow:none!important}
.ffp-gallery .ffp-finder-panel button.ffp-advanced-toggle{font-weight:500!important;min-height:34px!important;padding:6px 10px!important;border-radius:6px!important;background:transparent!important;box-shadow:none!important}
@media(max-width:760px){.ffp-gallery[class*="ffp-filter-style-"] .ffp-finder-panel .ffp-facet select{min-height:44px!important;height:44px!important;font-size:16px!important}.ffp-gallery .ffp-finder-panel button.ffp-advanced-toggle{min-height:44px!important}}

.ffp-gallery.ffp-embed .ffp-search-suggestions{background:var(--ffp-popup-surface,#fff)!important;color:var(--ffp-popup-ink,#26313b)!important;border:1px solid #26313b26!important;border-radius:12px!important;box-shadow:0 12px 32px #18232d1a!important}
.ffp-gallery.ffp-embed .ffp-search-suggestions-head{color:inherit!important;font-size:11px!important;font-weight:500!important;letter-spacing:.035em!important}
.ffp-gallery.ffp-embed button.ffp-search-suggestion{background:transparent!important;color:inherit!important;border:1px solid color-mix(in srgb,currentColor 14%,transparent)!important;box-shadow:none!important;border-radius:8px!important;text-align:left!important}
.ffp-gallery.ffp-embed button.ffp-search-suggestion:hover,.ffp-gallery.ffp-embed button.ffp-search-suggestion:focus-visible{background:color-mix(in srgb,var(--ffp-cta) 6%,var(--ffp-popup-surface,#fff))!important;border-color:var(--ffp-cta)!important;box-shadow:none!important;transform:none!important}
.ffp-gallery.ffp-embed .ffp-search-suggestion :is(strong,small,em){color:inherit!important}
.ffp-gallery.ffp-embed .ffp-search-suggestion strong{font-weight:600!important}
.ffp-gallery.ffp-embed .ffp-search-suggestion :is(small,em){opacity:.7;letter-spacing:.02em!important}
.ffp-gallery.ffp-embed{color-scheme:inherit}
.ffp-gallery.ffp-embed .ffp-search-shell button{color:inherit!important}
@media(max-width:760px){
  .ffp-gallery.ffp-embed .ffp-filter-result-count{order:2!important;flex:1 1 auto!important;text-align:left!important}
  .ffp-gallery.ffp-embed .ffp-toolbar .ffp-filter-toggle{order:2!important;margin:0!important}
  .ffp-gallery.ffp-embed .ffp-search-suggestions{order:3!important}
}

/* Standalone Editorial has its own light palette, independently of embedding. */
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed){color-scheme:light}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-toolbar{background:transparent!important;border-color:#d8d1c7!important;color:#292721!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) :is(.ffp-search-shell,.ffp-search,.ffp-search input){background:transparent!important;color:#292721!important;box-shadow:none!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-search input::placeholder{color:#655f56!important;opacity:1}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) :is(.ffp-filter-result-count,.ffp-filter-toggle .screen-reader-text){color:#655f56!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) :is(.ffp-finder-panel,.ffp-search-suggestions){background:#fffdf8!important;color:#292721!important;border:1px solid #ded8ce!important;border-radius:10px!important;box-shadow:0 8px 24px #342c2010!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-finder-panel{padding:16px!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-facet{border-color:#ded8ce!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) :is(.ffp-search-suggestion,.ffp-facet select){background:#fff!important;color:#292721!important;border-color:#ded8ce!important;box-shadow:none!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-search-suggestion :is(strong,small,em){color:inherit!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-search-suggestion:hover{background:#f1eee7!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) :is(.ffp-search-suggestions-head,.ffp-axis-toggle,.ffp-axis-toggle span,.ffp-finder-rule){color:#655f56!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-finder-panel :is(.ffp-filters button,.ffp-facet-chip,.ffp-advanced-toggle,.ffp-finder-clear){background:transparent!important;color:#403a34!important;border:1px solid #ded8ce!important;box-shadow:none!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-finder-panel :is(.ffp-filters button.is-active,.ffp-facet-chip.is-active){background:var(--ffp-cta,#d7195f)!important;color:#fff!important;border-color:transparent!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-finder-panel button:hover{border-color:var(--ffp-cta,#d7195f)!important}
.ffp-gallery.ffp-preset-editorial-collage.ffp-palette-preset:not(.ffp-embed) .ffp-load-wrap button.ffp-load-more{background:transparent!important;color:#403a34!important;border-color:#bcb5ab!important}

/* Compact website CTA: content-sized, never a full-width colored banner. */
.ffp-gallery .ffp-project-cta{justify-content:center;flex-wrap:wrap;gap:14px 22px;padding:24px 0;background:none;border:0;border-top:1px solid #ffffff20;border-radius:0;text-align:center}
.ffp-gallery .ffp-project-cta strong{font-size:clamp(17px,2vw,22px);font-weight:500;line-height:1.35}
.ffp-gallery .ffp-project-cta a{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;width:fit-content;max-width:100%;min-height:44px;box-sizing:border-box;margin:0;padding:14px 20px;border:0;border-radius:10px;background:var(--ffp-cta,#d7195f)!important;color:#fff!important;font-family:var(--ffp-font-body);font-size:16px;font-weight:600;line-height:1.2;letter-spacing:normal;text-transform:none;text-decoration:none;white-space:normal;overflow-wrap:anywhere;box-shadow:none}
.ffp-gallery .ffp-project-cta a:hover{background:color-mix(in srgb,var(--ffp-cta,#d7195f) 84%,#000)!important;color:#fff!important}
.ffp-gallery .ffp-project-cta a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.ffp-project-collection{margin-top:40px;min-width:0}
.ffp-project-collection header{margin-bottom:20px}
.ffp-project-collection header small{color:var(--ffp-accent-2);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ffp-project-collection header h4{margin:8px 0;color:inherit;font-size:clamp(22px,3vw,30px);font-weight:500;line-height:1.2}
.ffp-project-collection header p{color:var(--ffp-muted);font-size:14px}
.ffp-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:24px 16px}
.ffp-gallery a.ffp-collection-card{min-width:0;display:flex;flex-direction:column;gap:8px;background:none;color:inherit;text-decoration:none;border:0;box-shadow:none}
.ffp-collection-media{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;border-radius:10px;background:var(--ffp-surface,#152031)}
.ffp-collection-media img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.ffp-collection-number{position:absolute;top:10px;left:10px;padding:4px 7px;border-radius:5px;background:#080e19c9;color:#fff;font:12px/1.2 sans-serif}
.ffp-collection-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:24px;text-shadow:0 1px 8px #000}
.ffp-collection-card strong{font-size:15px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.ffp-collection-card>small{font-size:12px;color:var(--ffp-muted)}
.ffp-collection-card:hover .ffp-collection-media,.ffp-collection-card:focus-visible{outline:2px solid var(--ffp-accent-2);outline-offset:3px}
.ffp-collection-retainer .ffp-collection-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.ffp-collection-retainer .ffp-collection-media{aspect-ratio:16/9}
.ffp-collection-return{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;font-size:14px}
.ffp-collection-return a{color:var(--ffp-accent-2);text-decoration:underline;text-underline-offset:4px}
@container(max-width:560px){.ffp-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.ffp-gallery .ffp-project-cta{align-items:center}.ffp-collection-retainer .ffp-collection-grid{grid-template-columns:1fr}}
.ffp-collection-controls{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}
.ffp-gallery .ffp-collection-controls button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #8296ad66;border-radius:50%;background:transparent;color:inherit;font:22px/1 sans-serif;box-shadow:none}
.ffp-gallery .ffp-collection-controls button:hover:not(:disabled){border-color:var(--ffp-accent-2);color:var(--ffp-accent-2)}
.ffp-gallery .ffp-collection-controls button:disabled{opacity:.3;cursor:default}
.ffp-collection-controls button:focus-visible,.ffp-collection-grid[data-ffp-collection-track]:focus-visible{outline:2px solid var(--ffp-accent-2);outline-offset:3px}
.ffp-project-collection:is(.ffp-collection-slider,.ffp-collection-phone) .ffp-collection-grid{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8296ad77 transparent;padding:4px 4px 16px;gap:18px}
.ffp-project-collection:is(.ffp-collection-slider,.ffp-collection-phone) .ffp-collection-card{flex:0 0 min(70vw,230px);scroll-snap-align:start}
.ffp-collection-phone .ffp-collection-card{flex-basis:min(65vw,200px)!important}
.ffp-collection-phone .ffp-collection-media{aspect-ratio:9/16;border:6px solid #1b2430;border-radius:28px;box-sizing:border-box;box-shadow:0 4px 16px #0004}
.ffp-collection-phone .ffp-collection-media::after{content:"";position:absolute;top:5px;left:50%;width:36%;height:12px;transform:translateX(-50%);border-radius:99px;background:#0c111a;pointer-events:none}
.ffp-collection-phone .ffp-collection-media img{object-fit:cover;background:#0c111a}
.ffp-collection-phone .ffp-collection-number{top:22px}

/* Related films retain their own format, rather than stretching every reel. */
.ffp-project-related li[data-video-aspect]{--ffp-related-ratio:1.777778;flex:0 1 calc(240px * var(--ffp-related-ratio));max-width:100%;min-width:0}
.ffp-project-related li[data-video-aspect="9x16"]{--ffp-related-ratio:.5625}
.ffp-project-related li[data-video-aspect="4x5"]{--ffp-related-ratio:.8}
.ffp-project-related li[data-video-aspect="1x1"]{--ffp-related-ratio:1}
.ffp-project-related ul{display:flex;flex-wrap:wrap;align-items:flex-start}
.ffp-project-related li[data-video-aspect] .ffp-related-media{aspect-ratio:var(--ffp-related-ratio)}
.ffp-project-related li[data-video-aspect] .ffp-related-media img{aspect-ratio:auto;object-fit:cover}

/* Respond to the actual video player, not the browser's desktop width. */
.ffp-gallery .ffp-end-recommend{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-content:center;gap:20px;padding:clamp(18px,4cqw,48px);overflow:auto;box-sizing:border-box}
.ffp-gallery .ffp-end-recommend>div{min-width:0}
.ffp-gallery .ffp-end-recommend>div strong{font-size:clamp(23px,4cqw,42px);line-height:1.12;hyphens:none;overflow-wrap:normal;word-break:normal}
.ffp-gallery button.ffp-end-recommend-card{width:100%;min-width:0;max-width:100%;padding:0!important;grid-template-columns:minmax(0,32%) minmax(0,1fr);box-sizing:border-box}
.ffp-gallery button.ffp-end-recommend-card>span{min-width:0;padding:12px;overflow-wrap:anywhere}
.ffp-gallery button.ffp-end-recommend-card img{width:100%;height:auto;min-height:0;max-height:180px;aspect-ratio:16/9;object-fit:contain;align-self:center}
.ffp-gallery button.ffp-end-recommend-card[data-video-aspect="9x16"] img{aspect-ratio:9/16}
.ffp-gallery button.ffp-end-recommend-card[data-video-aspect="4x5"] img{aspect-ratio:4/5}
.ffp-gallery button.ffp-end-recommend-card[data-video-aspect="1x1"] img{aspect-ratio:1}
.ffp-gallery button.ffp-end-recommend-card strong{font-size:16px!important;line-height:1.3!important;white-space:normal!important;overflow-wrap:anywhere;hyphens:none}
.ffp-gallery button.ffp-end-recommend-card:not(:has(img)){grid-template-columns:minmax(0,1fr)!important}
.ffp-gallery button.ffp-end-recommend-card small{font-size:11px!important;line-height:1.4!important;white-space:normal!important}
@container ffp-player (max-width:600px){
  .ffp-gallery .ffp-end-recommend{grid-template-columns:minmax(0,1fr);gap:16px;padding:38px 18px 18px}
  .ffp-gallery .ffp-end-recommend>div strong{font-size:24px}
}

.ffp-gallery .ffp-inline-stage{position:relative;width:100%;overflow:hidden;border-radius:var(--ffp-radius);background:#050a13}
.ffp-gallery .ffp-inline-stage>video,.ffp-gallery .ffp-inline-stage>iframe{display:block;width:100%!important;height:100%!important;position:absolute;inset:0;border:0;object-fit:contain}
.ffp-gallery .ffp-inline-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0}
.ffp-gallery .ffp-inline-actions>button{width:auto!important;min-height:36px!important;padding:7px 10px!important;font:500 12px/1.35 var(--ffp-font-body)!important;color:var(--ffp-text)!important;background:transparent!important;border:1px solid currentColor!important;border-radius:6px!important}
.ffp-gallery .ffp-card-media[hidden]{display:none!important}
/* Native top-layer dialog escapes Elementor transforms and neighboring sections. */
.ffp-gallery dialog.ffp-dialog{margin:0!important;border:0!important;padding:0!important;left:0!important;right:0!important;top:var(--ffp-overlay-top,0px)!important;bottom:0!important;width:100%!important;max-width:none!important;height:calc(100dvh - var(--ffp-overlay-top,0px))!important;max-height:none!important;overflow:hidden}
.ffp-gallery dialog.ffp-dialog::backdrop{background:transparent}
.ffp-gallery dialog.ffp-dialog .ffp-dialog-scroll{padding:0!important;display:block!important}
.ffp-gallery dialog.ffp-dialog .ffp-dialog-inner{display:block!important;width:min(1280px,100%)!important;margin:auto}
.ffp-gallery dialog.ffp-dialog .ffp-dialog-stage{min-height:calc(100dvh - var(--ffp-overlay-top,0px));box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:52px clamp(20px,4vw,60px)}
.ffp-gallery dialog.ffp-dialog .ffp-dialog-stage:has(>.ffp-player[hidden]){display:none}
.ffp-gallery dialog.ffp-dialog .ffp-dialog-stage{position:relative}
.ffp-gallery dialog.ffp-dialog [data-ffp-story-jump]{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:auto!important;min-height:32px!important;padding:6px 12px!important;border:0!important;background:transparent!important;color:#b7c6d0!important;font:500 12px/1.4 var(--ffp-font-body)!important;box-shadow:none!important}
.ffp-gallery dialog.ffp-dialog[data-view="film"] [data-ffp-story-jump],.ffp-gallery dialog.ffp-dialog[data-view="film"] .ffp-dialog-meta,.ffp-gallery dialog.ffp-dialog[data-view="film"] .ffp-dialog-details{display:none!important}
.ffp-gallery dialog.ffp-dialog .ffp-player{--ffp-player-ratio:1.7777778;width:min(100%,calc((100dvh - var(--ffp-overlay-top,0px) - 104px)*var(--ffp-player-ratio)))!important;height:auto!important;max-height:none!important;flex-shrink:0}
.ffp-gallery dialog.ffp-dialog .ffp-player.is-9x16{--ffp-player-ratio:.5625}
.ffp-gallery dialog.ffp-dialog .ffp-player.is-4x5{--ffp-player-ratio:.8}
.ffp-gallery dialog.ffp-dialog .ffp-player.is-1x1{--ffp-player-ratio:1}
.ffp-gallery dialog.ffp-dialog .ffp-dialog-meta,.ffp-gallery dialog.ffp-dialog .ffp-dialog-details{padding-inline:clamp(20px,4vw,60px)}
.ffp-gallery dialog.ffp-dialog .ffp-dialog-details{padding-bottom:40px}
.ffp-gallery dialog.ffp-dialog .ffp-dialog-close{position:absolute!important;top:8px!important;right:max(16px,env(safe-area-inset-right))!important;min-width:44px;min-height:44px;background:transparent!important;border:0!important;box-shadow:none!important;z-index:20!important}
/* Keep viewport-fixed WordPress controls at the viewport origin, not offset
   twice by a backdrop-filter containing block. The modal itself is opaque. */
.ffp-gallery dialog.ffp-dialog{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;overflow:visible!important;background:#03060c!important}
.ffp-gallery dialog.ffp-dialog>#wpadminbar.ffp-modal-adminbar{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:99999!important}
/* On phones, project context follows the video immediately. Film-only views
   and the centered desktop cinema stage retain their existing layout. */
@media(max-width:760px){
  .ffp-gallery dialog.ffp-dialog[data-view="project"] .ffp-dialog-stage{min-height:0;padding:60px 16px 12px}
  .ffp-gallery dialog.ffp-dialog[data-view="project"] .ffp-player{width:min(100%,calc((55svh - 60px)*var(--ffp-player-ratio)))!important}
  .ffp-gallery dialog.ffp-dialog[data-view="project"] [data-ffp-story-jump]{display:none!important}
  .ffp-gallery dialog.ffp-dialog[data-view="project"] .ffp-dialog-meta{padding:12px 20px 0}
  .ffp-gallery dialog.ffp-dialog[data-view="project"] .ffp-project-detail{padding-top:20px}
  .ffp-gallery dialog.ffp-dialog .ffp-dialog-close{min-height:44px!important;min-width:44px!important}
}

/* Embedded portrait previews have a bounded footprint; playback keeps its own aspect. */
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="9x16"],
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="4x5"]{width:100%!important;min-width:0!important;justify-self:center;align-self:start}
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="9x16"]{max-width:calc(var(--ffp-portrait-max-height,360px)*.5625)!important}
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="4x5"]{max-width:calc(var(--ffp-portrait-max-height,360px)*.8)!important}
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="9x16"] .ffp-card-media{aspect-ratio:9/16!important;min-height:0!important}
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="4x5"] .ffp-card-media{aspect-ratio:4/5!important;min-height:0!important}
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="9x16"] .ffp-card-title{padding:14px!important}
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="9x16"] .ffp-card-title strong{font-size:16px!important;line-height:1.25!important}
.ffp-gallery.ffp-embed .ffp-card[data-media-aspect="9x16"] .ffp-card-title small{font-size:10px!important;line-height:1.3!important}

/* Selection remains understandable and reversible with the filter panel closed. */
.ffp-gallery .ffp-selection-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;box-sizing:border-box;width:100%;max-width:1180px;min-width:0;margin:0 auto 16px;padding:0 12px;color:var(--ffp-text,#dce5ee)}
.ffp-gallery .ffp-selection-summary:empty{display:none;margin:0;padding:0}
.ffp-gallery .ffp-selection-summary>button{display:inline-flex!important;align-items:center!important;gap:10px!important;flex:0 1 auto!important;min-width:0!important;max-width:100%!important;width:auto!important;height:auto!important;min-height:36px!important;padding:7px 10px!important;border:1px solid color-mix(in srgb,currentColor 28%,transparent)!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font:500 12px/1.4 var(--ffp-font-body,Arial)!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;white-space:normal!important}
.ffp-gallery .ffp-selection-summary>button>span:first-child{min-width:0;overflow-wrap:anywhere}
.ffp-gallery .ffp-selection-summary .ffp-selection-remove{flex:none;font:400 19px/1 Arial!important}
.ffp-gallery .ffp-selection-summary>button.ffp-selection-clear{border-color:transparent!important;text-decoration:underline;text-underline-offset:3px}
.ffp-gallery .ffp-selection-summary>button:focus-visible{outline:2px solid var(--ffp-accent-2,#57d4ef)!important;outline-offset:2px}
.ffp-gallery.ffp-embed .ffp-selection-summary{color:var(--ffp-embed-ui-text,var(--e-global-color-text,inherit));padding-inline:0}
.ffp-gallery.ffp-filter-style-line .ffp-toolbar button.ffp-filter-toggle{flex:0 0 auto!important;max-width:100%!important;gap:6px!important;line-height:1.4!important}
.ffp-gallery.ffp-filter-style-line .ffp-filter-toggle .screen-reader-text{line-height:1.4!important;white-space:normal!important;overflow-wrap:anywhere;min-width:0;text-align:center}
@media(max-width:760px){.ffp-gallery .ffp-selection-summary>button{min-height:44px!important}.ffp-gallery .ffp-selection-summary{gap:6px}}
