/* Factory of Business – Coming-soon (CI 1.3.0 · Variante A · Charcoal)
   Farben und Maße stammen aus design-tokens.css; keine freien Hex-Werte. */
@font-face{font-family:"Montserrat";src:url("fonts/Montserrat-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/Montserrat-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/Montserrat-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/Montserrat-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --fob-leaf:#547C3C; --fob-sage:#7CA46B; --fob-charcoal:#1F2937; --fob-offwhite:#F8FAF9; --fob-white:#FFFFFF;
  --fob-leaf-50:#EDF3EA; --fob-sage-100:#CFE1C8;
  --fob-neutral-200:#E1E7E4; --fob-neutral-300:#CBD3CF; --fob-neutral-600:#56605B; --fob-neutral-700:#3E4742;
  --fob-warning:#8A5A00; --fob-warning-bg:#FBF0DA;
  --fob-font:Montserrat,Arial,Helvetica,sans-serif;
  --fob-radius-sm:8px;
  --fob-content-width:1120px;
  --fob-target-min:44px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;
  font-family:var(--fob-font);font-size:17px;line-height:1.6;color:var(--fob-charcoal);background:var(--fob-offwhite)}
a{color:var(--fob-charcoal);text-decoration:underline;text-underline-offset:3px}
:where(a,button,summary,[tabindex]):focus-visible{outline:3px solid var(--fob-charcoal);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--fob-charcoal);color:var(--fob-white);padding:10px 16px;border-radius:var(--fob-radius-sm);z-index:10}
.skip:focus{left:8px;outline-color:var(--fob-sage-100)}

/* ---------- Startseite ---------- */
.stage{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:64px 24px}
.stage-inner{max-width:680px}
.stage-logo{display:block;width:min(440px,80vw);height:auto;margin:0 auto 56px}
.eyebrow{margin:0 0 18px;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fob-leaf)}
h1{margin:0 0 18px;font-weight:700;line-height:1.14;letter-spacing:-.01em;font-size:clamp(28px,4.4vw,46px);text-wrap:balance}
.lead{margin:0 auto;max-width:520px;font-size:18px;color:var(--fob-neutral-700)}

/* ---------- Fußzeile (CI: Charcoal, 4 px Leaf-Streifen) ---------- */
.site-footer{background:var(--fob-charcoal);color:var(--fob-sage-100);border-top:4px solid var(--fob-leaf)}
.site-footer .in{max-width:var(--fob-content-width);margin:0 auto;padding:24px 24px 20px}
.site-footer .row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 28px}
.site-footer .logo img{display:block;width:150px;height:auto}
.site-footer ul{display:flex;flex-wrap:wrap;gap:0 24px;list-style:none;margin:0;padding:0}
.site-footer a{color:var(--fob-white);font-size:14px}
.site-footer ul a,.site-footer .logo{display:inline-flex;align-items:center;min-height:var(--fob-target-min)}
.site-footer :where(a):focus-visible{outline-color:var(--fob-sage-100)}
.site-footer .bottom{margin-top:8px;padding-top:14px;border-top:1px solid rgb(207 225 200 / 25%);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 24px;font-size:12px;line-height:1.7}
.site-footer .bottom a{font-size:12px}

/* ---------- Rechtliches ---------- */
.page-head{background:var(--fob-white);border-bottom:1px solid var(--fob-neutral-200)}
.page-head .in{max-width:var(--fob-content-width);margin:0 auto;padding:20px 24px}
.page-head a{display:inline-flex;align-items:center;min-height:var(--fob-target-min)}
.page-head img{display:block;width:min(200px,60vw);height:auto}
.legal{flex:1;width:100%;max-width:792px;margin:0 auto;padding:48px 24px 72px}
.legal h1{font-size:clamp(28px,4vw,38px);margin-bottom:12px}
.legal .eyebrow{margin-bottom:12px}
.legal .back{display:inline-flex;align-items:center;min-height:var(--fob-target-min);font-weight:500;font-size:15px}
.legal .legal-nav{display:flex;flex-wrap:wrap;gap:0 24px;margin:8px 0 8px;padding:0;list-style:none;font-weight:600}
.legal-nav a{display:inline-flex;align-items:center;min-height:var(--fob-target-min)}
.legal section{margin-top:48px;padding-top:32px;border-top:1px solid var(--fob-neutral-300);scroll-margin-top:16px}
.legal h2{margin:0 0 16px;font-size:clamp(22px,3vw,28px);line-height:1.25;font-weight:700}
.legal h3{margin:32px 0 8px;font-size:18px;line-height:1.35;font-weight:600}
.legal p,.legal ul{margin:0 0 14px}
.legal ul{padding-left:1.25em}
.legal li{margin-bottom:6px}
.legal address{font-style:normal;margin:0 0 14px}
.callout{margin:24px 0 0;padding:16px 20px;background:var(--fob-leaf-50);border-left:4px solid var(--fob-leaf);border-radius:0 var(--fob-radius-sm) var(--fob-radius-sm) 0;font-size:15px}
.callout strong{font-weight:600}
.ph{background:var(--fob-warning-bg);color:var(--fob-warning);padding:0 .3em;border-radius:4px;font-weight:500}

@media (max-width:600px){
  body{font-size:16px}
  .stage{padding:48px 20px}
  .stage-logo{margin-bottom:44px}
  .site-footer .in{padding:20px 20px 16px}
  .legal{padding:32px 20px 56px}
}
@media print{
  .site-footer .logo,.site-footer ul,.page-head,.legal-nav,.back,.callout{display:none}
  body{background:#fff}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
