/* b2b.css — Bildungsträger-Landing (Sie-Form, eigenständiger Marketing-Look) */

@font-face { font-family: 'Poppins'; font-weight: 300; font-style: normal; font-display: swap; src: url('../fonts/Poppins-Light.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/Poppins-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-weight: 500; font-style: normal; font-display: swap; src: url('../fonts/Poppins-Medium.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-weight: 600; font-style: normal; font-display: swap; src: url('../fonts/Poppins-SemiBold.woff2') format('woff2'); }

:root {
    --paper: #FFFFFF;
    --bg: #EFF6F4;
    --ink: #16292B;
    --ink-soft: #2C4143;
    --mid: rgba(22, 41, 43, 0.7);
    --teal: #0B7180;
    --teal-deep: #095863;
    --line: rgba(22, 41, 43, 0.12);
    --r: 18px;
    --r-sm: 12px;
    --font: 'Poppins', 'Helvetica Neue', Arial, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.b2b {
    font-family: var(--font);
    color: var(--ink);
    background: var(--paper);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; }

.b2b-wrap { max-width: 1440px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 56px); }
.b2b-wrap-narrow { max-width: 680px; }

/* Nav */
.b2b-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 16px clamp(20px, 5vw, 56px);
}
.b2b-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-size: 16px; font-weight: 500; }
.b2b-brand b { font-weight: 600; color: var(--teal); }
.b2b-nav-alt { font-size: 14px; font-weight: 500; color: var(--teal); text-decoration: none; }
.b2b-nav-alt:hover { text-decoration: underline; }

/* Hero */
.b2b-hero {
    background: linear-gradient(165deg, var(--bg), #FFFFFF 70%);
    padding: clamp(40px, 8vw, 88px) 0 clamp(36px, 7vw, 72px);
}
.b2b-kicker { font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); margin-bottom: 14px; }
.b2b-hero h1 { font-size: clamp(30px, 6vw, 50px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; max-width: 16ch; }
.b2b-lead { font-size: clamp(16px, 2.4vw, 19px); color: var(--ink-soft); line-height: 1.65; max-width: 60ch; margin-top: 20px; }

.b2b-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.b2b-btn {
    display: inline-block;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 999px;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.b2b-btn:hover { transform: translateY(-2px); }
.b2b-btn-primary { color: #fff; background: var(--teal); box-shadow: 0 12px 28px -10px rgba(11, 113, 128, 0.6); }
.b2b-btn-primary:hover { background: var(--teal-deep); box-shadow: 0 16px 34px -10px rgba(11, 113, 128, 0.7); }
.b2b-btn-ghost { background: var(--paper); color: var(--ink); box-shadow: 0 4px 16px rgba(22, 41, 43, 0.1); }

.b2b-trust { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 30px; }
.b2b-trust li { font-size: 13.5px; font-weight: 500; color: var(--mid); padding-left: 22px; position: relative; }
.b2b-trust li::before { content: "✓"; position: absolute; left: 0; color: var(--teal); font-weight: 700; }

/* Sections */
.b2b-section { padding: clamp(44px, 8vw, 84px) 0; }
.b2b-section-alt { background: var(--bg); }
.b2b-section h2 { font-size: clamp(24px, 4vw, 34px); font-weight: 600; letter-spacing: -0.01em; margin-bottom: 28px; }

.b2b-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 680px) { .b2b-grid { grid-template-columns: 1fr 1fr; } }
.b2b-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 24px 24px; }
.b2b-section-alt .b2b-card { background: var(--paper); }
.b2b-card h3 { font-size: 18px; font-weight: 600; margin-bottom: 8px; }
.b2b-card p { font-size: 14.5px; color: var(--ink-soft); line-height: 1.65; }
.b2b-note { font-size: 14px; color: var(--mid); line-height: 1.65; margin-top: 22px; max-width: 70ch; }

/* Form */
.b2b-sub { font-size: 15.5px; color: var(--ink-soft); line-height: 1.65; margin-bottom: 22px; }
.b2b-form { display: flex; flex-direction: column; gap: 16px; }
.b2b-form label { display: flex; flex-direction: column; gap: 7px; font-size: 14px; font-weight: 500; }
.b2b-opt { font-weight: 400; color: var(--mid); }
.b2b-form input, .b2b-form textarea {
    font-family: var(--font);
    font-size: 15px;
    padding: 12px 14px;
    border: 1.5px solid var(--line);
    border-radius: var(--r-sm);
    background: #fff;
    color: var(--ink);
    width: 100%;
}
.b2b-form textarea { resize: vertical; min-height: 120px; }
.b2b-form input:focus, .b2b-form textarea:focus {
    outline: none;
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(11, 113, 128, 0.13);
}
.b2b-form .b2b-btn { align-self: flex-start; }
.b2b-legal { font-size: 12.5px; color: var(--mid); line-height: 1.55; }

.b2b-alert { padding: 14px 18px; border-radius: var(--r-sm); font-size: 14.5px; line-height: 1.6; margin-bottom: 18px; }
.b2b-alert-ok { background: #E4F4EC; color: #155D3B; }
.b2b-alert-error { background: #FBEAEA; color: #8A1F1F; }

/* Footer */
.b2b-foot { border-top: 1px solid var(--line); padding: 28px 0; margin-top: 20px; }
.b2b-foot .b2b-wrap { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.b2b-foot p { font-size: 13px; color: var(--mid); }
.b2b-foot-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.b2b-foot-links a { font-size: 13px; color: var(--mid); text-decoration: none; }
.b2b-foot-links a:hover { color: var(--teal); text-decoration: underline; }

/* Honeypot (Captcha) */
.gp-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.gp-captcha-status { font-size: 12.5px; color: var(--mid); }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .b2b-btn { transition: none; }
}
