/* FolienFactory: readable service information and project questions. */
.ff-detail{padding:clamp(48px,7vw,96px) 24px;background:#101315;color:#f5f3ef;border-top:1px solid #34383b}.ff-detail *{box-sizing:border-box}.ff-detail__inner{max-width:1160px;margin:0 auto;min-width:0}.ff-detail__eyebrow{color:var(--ffx-orange, #f47b00)!important;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800}.ff-detail h2{margin:0 0 24px!important;font:800 clamp(28px,3.3vw,46px)/1.15 system-ui,sans-serif!important;letter-spacing:-.025em!important;color:#fff!important;text-transform:none!important;overflow-wrap:break-word}.ff-detail h2:not(:first-of-type){margin-top:44px!important}.ff-detail p,.ff-detail li{color:#d1d4d5!important;font:400 17px/1.75 system-ui,sans-serif!important}.ff-detail__lead{max-width:830px;margin-bottom:30px}.ff-detail a{color:var(--ffx-orange, #f47b00)!important;text-decoration:underline;text-underline-offset:4px}.ff-detail a:hover{color:var(--ffx-orange, #f47b00)!important;text-decoration-thickness:2px}.ff-detail a:focus-visible,.ff-detail summary:focus-visible{outline:3px solid var(--ffx-orange, #f47b00);outline-offset:5px}.ff-detail__questions{border-top:1px solid #41474a}.ff-detail details{border-bottom:1px solid #41474a}.ff-detail summary{padding:22px 32px 22px 0;cursor:pointer;color:#fff;font:700 18px/1.45 system-ui,sans-serif}.ff-detail details>div{max-width:900px;padding-bottom:18px}.ff-detail__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.ff-detail__links a{padding:12px 16px;border:1px solid #646a6f;border-radius:4px;line-height:1.45;font-size:15px}.ff-detail__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:34px 0}.ff-detail__grid article{padding:26px;border:1px solid #41474a;border-top:3px solid var(--ffx-orange, #f47b00);background:#171b1e;min-width:0}.ff-detail h3{font:750 23px/1.25 system-ui,sans-serif!important;color:#fff!important;text-transform:none!important;margin:0 0 16px}.ff-detail__tagline{max-width:800px;color:#f3f1eb!important;font-size:clamp(18px,2vw,26px)!important;line-height:1.5!important;margin:20px 0!important}.ffx-hero h1{font-size:clamp(40px,6.8vw,92px)!important;max-width:1150px}.ffvc-hero h1,.fftxt-hero h1{overflow-wrap:break-word}.ff-detail ol{padding-left:24px}.ff-detail li{margin:14px 0}@media(max-width:800px){.ff-detail__grid{grid-template-columns:1fr}.ff-detail{padding:48px 20px}.ff-detail summary{font-size:17px}.ff-detail__links a{max-width:100%;overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.ff-detail *{scroll-behavior:auto!important}}

/* Second-pass checks: keep long German service names within mobile screens. */
.ffx-site main h1{overflow-wrap:anywhere!important;hyphens:auto;max-width:100%}.ffx-menu-button .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fftx-hero h1{font-size:clamp(38px,5.5vw,86px)!important;line-height:1.02!important;max-width:1080px!important}.ff-detail-shop{margin-bottom:30px}.ff-detail-shop p{font-size:16px!important}@media(max-width:600px){.ffx-site main h1{font-size:clamp(30px,8.5vw,46px)!important;line-height:1.08!important;max-width:100%!important}.ff-detail__tagline{font-size:19px!important}.ffx-hero__content,.fftx-hero__content{min-width:0!important}}

@media(max-width:600px){.ffx-heading{grid-template-columns:minmax(0,1fr)!important}.ffx-heading>*{min-width:0!important}.ffx-heading h2{font-size:clamp(34px,10vw,52px)!important;overflow-wrap:anywhere;hyphens:auto}}

/* Full-width signage photograph with a separate, unobstructed page heading. */
.ff-signs-hero{padding-top:0;background:#080a0b;border-bottom:1px solid #34383b}.ff-signs-hero figure{width:100%;margin:0;position:relative}.ff-signs-hero figure>img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;background:#101315}.ff-signs-hero figcaption{position:absolute;right:20px;bottom:14px;padding:6px 10px;background:rgba(0,0,0,.72);color:#e7e7e7;font-size:11px;letter-spacing:.03em}.ff-signs-hero__heading{padding-top:38px;padding-bottom:42px}.ff-signs-hero__heading h1{margin:10px 0 0;font-size:clamp(34px,4vw,64px);line-height:1.06;color:#fff;max-width:1100px}.ff-signs-hero__heading .ffx-eyebrow{color:var(--ffx-orange, #f47b00)}@media(max-width:700px){.ff-signs-hero{padding-top:0}.ff-signs-hero figcaption{right:8px;bottom:6px;font-size:9px;padding:3px 6px}.ff-signs-hero__heading{padding-top:24px;padding-bottom:30px}}
