body.ft-home *,body.ft-home *::before,body.ft-home *::after{box-sizing:border-box}
body.ft-home{margin:0;font-family:var(--font-sans);font-weight:300;font-size:18px;line-height:1.6;background:var(--surface);color:var(--ink)}
.fw-section{background:var(--surface);color:var(--ink)}
.fw-wrap{max-width:1280px;margin:0 auto;padding:var(--space-9) var(--space-7)}
@media(max-width:700px){.fw-wrap{padding:64px var(--space-4)}}
body.ft-home :is(h1,h2,h3){font-weight:400;text-wrap:balance;margin:0}
body.ft-home :focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
/* Button */
.fw-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--brand);color:var(--on-brand);padding:16px 28px;border-radius:var(--radius-pill);text-decoration:none;font:400 18px/1 var(--font-sans);border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}
.fw-btn span{display:inline-block;transition:transform .2s}
.fw-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-brand)}
.fw-btn:hover span{transform:translateX(6px)}
.fw-btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);padding:16px 28px}
.fw-btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--ink),0 12px 26px rgba(0,0,0,.12)}
.fw-btn--ink{background:var(--ink);color:var(--surface)}
/* Textmarker + Kicker */
.fw-hl{background:linear-gradient(transparent 58%,var(--brand) 58%);padding:0 4px;color:var(--ink)}
[data-theme="dark"] .fw-hl{background:none;padding:0;color:var(--brand)}
.fw-kicker{font-size:20px;font-weight:300;margin:0 0 var(--space-3)}
/* Karten */
.fw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}
.fw-card{display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;color:var(--ink);text-decoration:none;min-height:100%}
.fw-card h3{font-size:24px;line-height:1.25;margin:0 0 10px}
.fw-card p{font-size:16px;line-height:1.55;margin:0;color:var(--ink-muted)}
.fw-card .fw-more{margin-top:auto;padding-top:18px}
.fw-dk{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);transition:transform .3s,border-color .3s}
.fw-dk:hover{transform:translateY(-8px);border-color:var(--brand)}
.fw-ph{position:relative;height:210px;border-radius:var(--radius-md);background:var(--surface-sunken);overflow:hidden;margin-bottom:22px}
.fw-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.fw-dk:hover .fw-ph img{transform:scale(1.06)}
.fw-ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:13px;color:#fff;letter-spacing:.3px}
.fw-ab{width:44px;height:44px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:inline-flex;align-items:center;justify-content:center;transition:transform .3s}
.fw-dk:hover .fw-ab{transform:rotate(45deg)}
/* Accordion */
.fw-acc{border-bottom:1px solid var(--line)}
.fw-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:22px 0;font-size:22px;font-weight:400}
.fw-acc summary::-webkit-details-marker{display:none}
.fw-acc .fw-pl{flex:none;width:32px;height:32px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:inline-flex;align-items:center;justify-content:center;transition:transform .25s}
.fw-acc[open] .fw-pl{transform:rotate(45deg)}
.fw-acc .fw-body.ft-home{padding:0 0 22px;max-width:65ch;color:var(--ink-muted)}
/* Navigation */
.fw-nav{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);padding:12px 14px 12px 26px;background:rgba(10,10,10,.8);color:#fff}
.fw-logo{font-size:24px;letter-spacing:.5px}.fw-logo b{color:var(--brand);font-weight:400}
.fw-nav .fw-menu{border:1px solid #333;border-radius:var(--radius-pill);padding:10px 20px;font-size:15px}
/* Marquee */
.fw-marquee{overflow:hidden}
.fw-marquee>div{display:flex;width:max-content;animation:fw-mq 70s linear infinite}
.fw-marquee:hover>div{animation-play-state:paused}
.fw-marquee img{height:190px;width:auto;margin-right:14px;border-radius:14px;display:block}
.fw-stars{display:inline-flex;gap:2px;color:var(--brand)}
/* Bewegung */
@keyframes fw-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fw-fl{50%{transform:translateY(-14px)}}
@keyframes fw-pu{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.15)}}
@keyframes fw-tr{0%{left:0;opacity:0}8%{opacity:1}85%{opacity:1}100%{left:calc(100% - 12px);opacity:0}}
@keyframes fw-mq{to{transform:translateX(-50%)}}
@keyframes fw-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-30px)}}
@keyframes fw-ok2k{0%,40%{opacity:0;transform:scale(.4)}48%{opacity:1;transform:scale(1.15)}54%,92%{opacity:1;transform:scale(1)}100%{opacity:0}}
@media(prefers-reduced-motion:no-preference){.up{animation:fw-up .9s cubic-bezier(.2,.7,.2,1) both}.fl{animation:fw-fl 6s ease-in-out infinite}.pu{animation:fw-pu 2.4s ease-in-out infinite}.drift{animation:fw-drift 16s ease-in-out infinite}}
@media(prefers-reduced-motion:reduce){.fw-marquee{overflow-x:auto}.fw-marquee>div{animation:none}body.ft-home *{transition-duration:.01ms!important}}
