:root{--ink:#111111;--paper:#ffffff;--tint:#f6f6f4;--accent:#111111;--muted:#111111;--line:#e5e7eb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'Poppins',system-ui,sans-serif;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}
img{max-width:100%;height:auto}
a{color:inherit}
p{font-size:1rem;line-height:1.7}
section{scroll-margin-top:80px}
.fx-wrap{padding:0 clamp(24px,6vw,96px)}
.fx-section{padding:96px 0}
.fx-tint{background:var(--tint)}
.fx-eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
.fx-h{max-width:20ch;font-size:clamp(1.5rem,2.6vw,2.05rem);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0 0 56px}
.fx-grad{color:var(--accent)}
.fx-btn{display:inline-flex;align-items:center;padding:12px 22px;border-radius:999px;font-weight:500;font-size:.92rem;text-decoration:none;border:1px solid var(--ink);color:var(--ink);transition:background .2s,color .2s}
.fx-btn:hover{background:var(--ink);color:#fff}
.fx-btn-solid{background:var(--ink);color:#fff}
.fx-btn-solid:hover{background:transparent;color:var(--ink)}
.fx-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}

/* Navigation */
.fx-nav{position:absolute;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.92);border-bottom:0}
.fx-nav-inner{padding:0 16px 0 clamp(24px,6vw,96px);height:64px;display:flex;align-items:center;justify-content:space-between}
.fx-brand{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.fx-logo-hero{height:76px;width:auto;display:block;margin-bottom:64px}
.fx-logo{height:28px;width:auto;display:block}
.fx-nav-links{display:none}
.fx-bars{display:flex;flex-direction:column;gap:5px;width:20px}
.fx-bars i{display:block;height:1.5px;background:var(--ink);transition:transform .25s ease,opacity .2s ease}
.fx-bars.is-open i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.fx-bars.is-open i:nth-child(2){opacity:0}
.fx-bars.is-open i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.fx-brand{position:relative;z-index:70}
.fx-nav-links a{text-decoration:none;color:var(--ink)}
.fx-nav-links a:hover{color:var(--accent)}
.fx-burger{display:block;background:none;border:0;padding:8px;cursor:pointer;position:relative;z-index:70}
.fx-mobile{position:fixed;inset:0;z-index:60;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:96px clamp(24px,6vw,96px) 48px}
.fx-mobile a{display:block;padding:12px 0;text-decoration:none;font-size:2.2rem;font-weight:600;letter-spacing:-.02em;line-height:1.25}


/* Hero */
.fx-hero{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding:136px 0 14vh}
.fx-hero h1{font-size:clamp(2rem,4vw,3.1rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;margin:0 0 28px;max-width:18ch}
.fx-hero .lead{font-size:1rem;line-height:1.7;max-width:46ch;color:var(--muted);margin:0}
.fx-hero .lead strong{color:var(--ink);font-weight:500}

/* Ansatz */
.fx-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(48px,7vw,120px)}
.fx-principle{padding-top:0}
.fx-num{font-size:.8rem;font-weight:500;letter-spacing:.14em;color:var(--accent);margin-bottom:20px}
.fx-principle h3{max-width:20ch;font-size:1.4rem;font-weight:600;letter-spacing:-.01em;margin:0 0 16px;line-height:1.3}
.fx-principle p{color:var(--muted);margin:0;max-width:34ch}
.fx-case{margin-top:96px;max-width:680px;border-top:1px solid var(--line);padding-top:40px}
.fx-case h3{font-size:1.35rem;font-weight:600;line-height:1.35;margin:0 0 16px}
.fx-case p{color:var(--muted);line-height:1.75;margin:0;font-size:.95rem}
.fx-stat{font-size:1.6rem;font-weight:500;line-height:1.3;color:var(--ink);padding-top:4px}
.fx-stat-label{color:var(--muted);margin-top:8px;font-size:.9rem}
.fx-band-solid{min-height:100vh;min-height:100svh;background:var(--ink)}
.fx-band-solid::before{display:none}
@media(max-width:860px){.fx-principles{grid-template-columns:1fr;gap:40px}}

/* kompetenz video band */
.fx-band{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#000;color:#fff}
#news.fx-band,#inhouse.fx-band,#practice.fx-band{min-height:100vh;min-height:100svh}
.fx-band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fx-band::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.6)}
.fx-band-inner{position:relative;z-index:1;padding:112px clamp(24px,6vw,96px);width:100%}
.fx-band .fx-eyebrow{color:#5eead4}
.fx-band h2{max-width:20ch;font-size:clamp(1.5rem,2.6vw,2.05rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 24px}
.fx-band p{max-width:52ch;color:#d1d5db;margin:0 0 14px}
.fx-band .fx-btn{border-color:#fff;color:#fff;margin-top:20px}
.fx-band .fx-btn:hover{background:#fff;color:var(--ink)}

/* Technologie, Unternehmen */
.fx-tags{display:flex;flex-wrap:wrap;gap:8px}
.fx-tag{padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;color:var(--ink)}
.fx-two{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.fx-two p{color:var(--muted);margin:0 0 18px}
@media(max-width:860px){.fx-two{grid-template-columns:1fr;gap:24px}}
#contact.fx-section{padding:clamp(120px,18vh,220px) 0 56px}
.fx-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fx-four{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(32px,4vw,64px);padding-top:16px}
.fx-four p{margin:0;line-height:1.8}
.fx-four a{text-decoration:none}
.fx-four a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:860px){.fx-four{grid-template-columns:1fr 1fr;row-gap:40px}}
@media(max-width:520px){.fx-four{grid-template-columns:1fr}}
.fx-label{font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px !important}
#company.fx-section{padding:clamp(180px,28vh,320px) 0}
.fx-three{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(48px,7vw,120px);align-items:start}
.fx-three .fx-h{margin:0}
.fx-three p{margin:0}
.fx-three .fx-eyebrow{margin:0 0 16px}
@media(max-width:860px){.fx-three{grid-template-columns:1fr;gap:32px}}

/* Kunden */
.fx-clients{columns:3;column-gap:40px;list-style:none;padding:0;margin:0}
.fx-clients li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--ink)}
@media(max-width:860px){.fx-clients{columns:1}}
.fx-black{background:#111;color:#fff}
.fx-black .fx-eyebrow,.fx-black .fx-h{color:#fff}
.fx-black .fx-clients li{color:#fff;border-bottom-color:rgba(255,255,255,.14)}

/* Kontakt */
.fx-contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;line-height:1.85}
.fx-contact a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.fx-contact{grid-template-columns:1fr;gap:32px}}

/* Fußzeile */
.fx-footer{padding:24px 0 64px;text-align:center;color:var(--muted)}
.fx-footer .tag{color:var(--ink);margin:0 0 24px}
.fx-footer p{margin:0}
.fx-footer nav a{color:var(--muted);text-decoration:none;margin:0;display:inline-block;padding:4px 0}
.fx-footer nav a+a::before{content:"\00B7";display:inline-block;margin:0 10px;color:var(--muted)}
.fx-footer nav a:hover{color:var(--ink)}
.fx-footer .fox{width:136px;margin:0 auto 20px;display:block}

/* Rechtliche Seiten */
.fx-hero{position:relative}
.fx-scroll{position:absolute;right:14vh;bottom:14vh;line-height:1.7;display:flex;align-items:center;gap:10px;font-size:1rem;color:var(--ink);text-decoration:none}
.fx-scroll .arrow{display:inline-block;transition:transform .25s ease,opacity .4s ease}
.fx-scroll .arrow.is-hidden{opacity:0}
.fx-type{white-space:nowrap}
.fx-type .caret{display:inline-block;width:1px;height:1.1em;margin-left:2px;vertical-align:-.18em;background:currentColor;animation:fx-blink 1s steps(1) infinite;transition:opacity .4s ease}
.fx-type .caret.is-off{animation:none;opacity:0}
@keyframes fx-blink{50%{opacity:0}}
@media(max-width:860px){.fx-hero{padding-bottom:140px}.fx-scroll{right:clamp(24px,6vw,96px);bottom:48px}}
.fx-scroll:hover .arrow{transform:translateX(4px)}
.fx-legal{padding:clamp(140px,18vh,200px) 0 clamp(96px,14vh,160px)}
.fx-legal-body{grid-column:span 2;max-width:68ch}
.fx-legal-body h2{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin:48px 0 12px}
.fx-legal-body h2:first-child{margin-top:0}
.fx-legal-body p{margin:0 0 16px}
.fx-legal-body ul{margin:0 0 16px;padding-left:1.2em;list-style:disc}
.fx-legal-body li{margin:0 0 8px}
.fx-legal-body a{text-decoration:underline;text-underline-offset:3px}
.fx-facts{display:grid;grid-template-columns:1fr 1fr;gap:40px 48px}
.fx-facts p{margin:0}
@media(max-width:860px){.fx-legal-body{grid-column:auto}.fx-facts{grid-template-columns:1fr}}
