/* ═══════════════════════════════════════════════════════════════
   Entrümpeln-In — Freiburg & Markgräflerland
   Design-Sprache: navy-dominant, solide, vertrauenswürdig, „Last abnehmen".
   Eigenständig (NICHT Käfer): Sora + Manrope, kantigere Radien, dunkle
   Akzent-Sektionen, editorial Stepper, kein grüner Puls.
   ═══════════════════════════════════════════════════════════════ */
/* Lokale Fonts (selbst gehostet, DSGVO, font-display:swap) — Sora + Manrope */
@font-face{font-family:'Sora';font-style:normal;font-weight:400 800;font-display:swap;src:url('fonts/sora-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/manrope-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --navy:#14213A; --navy-2:#0E1830; --accent:#2563EB; --accent-deep:#1D4FD7;
  --accent-rgb:37,99,235; --ink:#14213A; --body:#566581; --surface:#FFFFFF; --surface-alt:#EEF2FB; --line:rgba(20,33,58,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Manrope',system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.font-heading{font-family:'Sora','Manrope',system-ui,sans-serif;letter-spacing:-.02em}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* Farb-Utilities (ergänzen Tailwind-Tokens) */
.text-content{color:var(--ink)} .text-content-secondary{color:var(--body)}
.text-brand{color:var(--accent)} .text-brand-deep{color:var(--accent-deep)}
.bg-brand{background:var(--accent)} .bg-ink{background:var(--navy)} .bg-surface-alt{background:var(--surface-alt)}

/* ─── Buttons (solide, kantig, premium — KEIN Puls) ─── */
.btn-primary{background:var(--accent);color:#fff;border-radius:14px;font-family:'Sora',sans-serif;font-weight:600;box-shadow:0 12px 26px -12px rgba(var(--accent-rgb),.6);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background .2s}
.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(var(--accent-rgb),.62)}
.btn-dark{background:var(--navy);color:#fff;border-radius:14px;font-family:'Sora',sans-serif;font-weight:600;transition:transform .25s cubic-bezier(.16,1,.3,1),background .2s}
.btn-dark:hover{background:var(--navy-2);transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:14px;font-family:'Sora',sans-serif;font-weight:600;transition:background .2s,border-color .2s}
.btn-ghost:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4)}

/* ─── Reveal (fade-up, dezent-premium) ─── */
.reveal,.reveal-left,.reveal-right{opacity:0;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.reveal{transform:translateY(28px)} .reveal-left{transform:translateX(-32px)} .reveal-right{transform:translateX(32px)}
.reveal.active,.reveal-left.active,.reveal-right.active{opacity:1;transform:none}

/* ─── Formular-Felder ─── */
.field{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:12px;padding:14px 16px;font-family:'Manrope',sans-serif;font-size:15px;transition:border-color .2s,background .2s;outline:none}
.field::placeholder{color:rgba(255,255,255,.5)} .field:focus{border-color:var(--accent);background:rgba(255,255,255,.12)}
.field option{color:#14213A}
.field-light{width:100%;background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:14px 16px;font-family:'Manrope',sans-serif;font-size:15px;transition:border-color .2s;outline:none}
.field-light::placeholder{color:#9aa6bd} .field-light:focus{border-color:var(--accent)}

/* ─── Karten + Hover ─── */
.svc-card{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s}
.svc-card:hover{transform:translateY(-4px)}
.choice-tile{transition:border-color .2s,background .2s;cursor:pointer}
.choice-tile:hover{border-color:rgba(var(--accent-rgb),.5)}
.choice-active{border-color:var(--accent)!important;background:rgba(var(--accent-rgb),.07)!important;color:var(--ink)}

/* ─── Editorial Stepper (Ablauf) ─── */
.step-num{font-family:'Sora',sans-serif;font-weight:800;font-size:2.6rem;line-height:1;color:rgba(var(--accent-rgb),.22)}

.nav-link{position:relative}
.nav-link:after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--accent);transition:width .25s}
.nav-link:hover:after{width:100%}

.mobile-callbar{box-shadow:0 -8px 30px -12px rgba(20,33,58,.25)}
.bg-grid{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important}
  html{scroll-behavior:auto}
}
