:root {
    --afeb-primary: #2f6fed;
    --afeb-secondary: #6c4bd8;
    --afeb-accent: #14b8a6;
    --afeb-dark: #10213a;
    --afeb-text: #23344d;
    --afeb-muted: #64748b;
    --afeb-border: rgba(16, 33, 58, 0.09);
    --afeb-soft: #f7fafe;
    --afeb-soft-2: #edf4ff;
    --afeb-card: rgba(255,255,255,0.9);
    --afeb-shadow: 0 22px 60px rgba(16, 33, 58, 0.08);
    --afeb-shadow-sm: 0 10px 30px rgba(16, 33, 58, 0.06);
    --afeb-radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--afeb-text);
    background:
        radial-gradient(circle at top left, rgba(20,184,166,.10), transparent 24%),
        radial-gradient(circle at top right, rgba(47,111,237,.10), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 40%, #f4f7fb 100%);
    min-height: 100vh;
}
a { color: inherit; }
.text-secondary { color: var(--afeb-muted) !important; }
.py-lg-6 { padding-top: 5rem; padding-bottom: 5rem; }

.site-header { z-index: 1030; }
.navbar-afeb {
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255,255,255,0.65);
    box-shadow: 0 8px 30px rgba(16, 33, 58, 0.04);
}
.brand-pill {
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    color: var(--afeb-dark);
}
.brand-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: white;
    background: linear-gradient(135deg, var(--afeb-primary), var(--afeb-secondary));
    box-shadow: 0 16px 30px rgba(47,111,237,.22);
    font-size: 1.1rem;
}
.brand-name { font-weight: 800; letter-spacing: -.02em; }
.brand-subtitle { font-size: .82rem; color: var(--afeb-muted); }
.nav-link {
    color: #334155;
    font-weight: 500;
    border-radius: 999px;
    padding: .65rem 1rem !important;
}
.nav-link:hover, .nav-link:focus { background: rgba(47,111,237,.08); color: var(--afeb-primary); }

.btn-soft {
    background: rgba(255,255,255,0.75);
    border: 1px solid var(--afeb-border);
    color: var(--afeb-dark);
}
.btn-soft:hover { background: white; }

.btn-afeb {
    background: linear-gradient(135deg, var(--afeb-primary), var(--afeb-secondary));
    border: none;
    color: white;
    box-shadow: 0 18px 30px rgba(47,111,237,.22);
}
.btn-afeb:hover, .btn-afeb:focus { color: white; transform: translateY(-1px); }

.btn-outline-light-strong {
    background: rgba(255,255,255,0.14);
    color: white;
    border: 1px solid rgba(255,255,255,0.28);
    backdrop-filter: blur(10px);
}
.btn-outline-light-strong:hover { color: white; background: rgba(255,255,255,0.2); }

.hero-section {
    position: relative;
    color: white;
    background: linear-gradient(135deg, #11243f 0%, #225ccf 42%, #5f3fd1 100%);
}
.hero-backdrop {
    position: absolute; inset: 0;
    background:
        radial-gradient(circle at 85% 15%, rgba(255,255,255,.16), transparent 18%),
        radial-gradient(circle at 15% 85%, rgba(255,255,255,.10), transparent 18%);
    pointer-events: none;
}
.eyebrow-pill, .section-kicker, .form-card-badge, .status-badge-live {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .88rem;
    font-weight: 700;
    border-radius: 999px;
    padding: .55rem .95rem;
}
.eyebrow-pill { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.16); }
.status-badge-live { background: #ecfeff; color: #0f766e; }
.section-kicker {
    background: rgba(47,111,237,.08);
    color: var(--afeb-primary);
}
.display-title, .section-title-xl {
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.05;
}
.display-title { font-size: clamp(2.4rem, 5vw, 4.5rem); }
.section-title-xl { font-size: clamp(2rem, 4vw, 3.2rem); color: var(--afeb-dark); }
.hero-lead, .section-subtitle {
    font-size: 1.08rem;
    line-height: 1.8;
    color: rgba(255,255,255,.88);
    max-width: 56rem;
}
.section-subtitle {
    color: var(--afeb-muted);
    max-width: 48rem;
    margin-left: auto; margin-right: auto;
}
.hero-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 1rem;
}
.hero-meta-item {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    padding: 1rem;
    display: grid;
    gap: .35rem;
}
.hero-meta-item strong { font-size: .95rem; }
.hero-meta-item span { font-size: .88rem; color: rgba(255,255,255,.82); }

.hero-card-modern, .page-header-card, .quick-info-card, .form-shell, .side-note-card,
.timeline-card, .cta-panel, .success-wrapper, .status-card, .form-card-xl, .info-tile,
.sticky-panel, .tracking-box, .contact-banner, .offer-panel, .consent-panel, .compact-info-box,
.audience-card, .faq-card, .privacy-highlight, .team-card {
    background: var(--afeb-card);
    border: 1px solid rgba(255,255,255,0.52);
    border-radius: var(--afeb-radius);
    box-shadow: var(--afeb-shadow);
}
.hero-card-modern { color: var(--afeb-text); padding: 1.7rem; }
.hero-card-top { padding-bottom: .4rem; border-bottom: 1px solid var(--afeb-border); }

.feature-stack { display: grid; gap: 1rem; }
.feature-row { display: flex; gap: .9rem; align-items: center; }
.icon-box, .tile-icon, .offer-icon {
    width: 46px; height: 46px; flex: 0 0 46px;
    border-radius: 14px;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(47,111,237,.12), rgba(108,75,216,.10));
    color: var(--afeb-primary);
}
.offer-panel { padding: 1.6rem; height: 100%; }
.offer-panel h3 { font-size: 1.15rem; font-weight: 700; margin: 1rem 0 .65rem; }
.offer-panel p { color: var(--afeb-muted); line-height: 1.75; margin: 0; }

.content-section { position: relative; }
.section-soft { background: linear-gradient(180deg, rgba(255,255,255,0.0), rgba(47,111,237,0.04)); }
.section-heading { max-width: 52rem; }
.info-tile, .audience-card, .faq-card { padding: 1.6rem; }
.info-tile h3, .audience-card h3, .faq-card h3 { font-size: 1.15rem; font-weight: 700; margin: 1rem 0 .7rem; }
.info-tile p, .audience-card p, .faq-card p { color: var(--afeb-muted); line-height: 1.75; margin: 0; }

.sticky-panel { padding: 1.75rem; position: sticky; top: 100px; }
.timeline-card { padding: 1.4rem; display: grid; gap: 1rem; }
.timeline-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    border-radius: 20px;
    background: rgba(248,250,252,.88);
    border: 1px solid var(--afeb-border);
}
.timeline-item h3 { font-size: 1.08rem; font-weight: 700; margin: 0 0 .35rem; }
.timeline-item p { margin: 0; color: var(--afeb-muted); line-height: 1.7; }
.timeline-step {
    width: 42px; height: 42px; border-radius: 14px;
    background: linear-gradient(135deg, var(--afeb-primary), var(--afeb-secondary));
    color: white; display: flex; align-items: center; justify-content: center; font-weight: 800;
}

.contact-banner {
    padding: 2rem;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 2rem;
    align-items: center;
}
.contact-banner-meta {
    color: var(--afeb-dark);
    font-weight: 600;
}

.page-header-card, .quick-info-card, .side-note-card, .form-card-xl, .success-wrapper { padding: 1.8rem; }
.form-card-xl { height: 100%; }
.form-card-badge {
    background: #ecfdf5;
    color: #047857;
    margin-bottom: 1rem;
}
.tag-pill {
    display: inline-flex; align-items: center; padding: .45rem .8rem; border-radius: 999px;
    background: rgba(47,111,237,.08); color: var(--afeb-primary); font-weight: 600; font-size: .88rem;
}
.compact-info-box {
    padding: .95rem 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(47,111,237,.06), rgba(20,184,166,.06));
    border: 1px solid rgba(47,111,237,.10);
    color: var(--afeb-text);
}
.success-info { max-width: 720px; margin-left: auto; margin-right: auto; }

.note-list {
    display: grid; gap: .8rem; padding-left: 1.1rem; margin-bottom: 0; color: var(--afeb-muted);
}
.note-list li { line-height: 1.65; }

.side-stack { display: grid; gap: 1.25rem; }
.accent-card { background: linear-gradient(180deg, rgba(47,111,237,.06), rgba(20,184,166,.05)); }

.form-shell { padding: 1.6rem; }
.form-section {
    padding: 1.4rem;
    border-radius: 22px;
    background: rgba(248,250,252,.92);
    border: 1px solid var(--afeb-border);
    margin-bottom: 1.25rem;
}
.form-section-head { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.15rem; }
.form-section-head h2 { margin: 0 0 .2rem; font-size: 1.2rem; font-weight: 700; color: var(--afeb-dark); }
.form-section-head p { margin: 0; color: var(--afeb-muted); }

.step-pill {
    display:inline-flex; align-items:center; justify-content:center; width: 36px; height: 36px; border-radius: 12px;
    background: linear-gradient(135deg, var(--afeb-primary), var(--afeb-secondary)); color: #fff; font-weight: 700;
}
.form-label { font-weight: 600; color: var(--afeb-dark); margin-bottom: .5rem; }
.form-control, .form-select {
    border-radius: 16px;
    border: 1px solid rgba(148,163,184,.35);
    padding: .82rem 1rem;
    min-height: 52px;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
textarea.form-control { min-height: 130px; }
.form-control:focus, .form-select:focus {
    border-color: rgba(47,111,237,.45);
    box-shadow: 0 0 0 .24rem rgba(47,111,237,.12);
}
.modern-check { padding-left: 0; display: flex; align-items: flex-start; }
.form-check-input {
    width: 1.1rem; height: 1.1rem; margin-top: .2rem;
    border-radius: .35rem; border-color: rgba(148,163,184,.6);
}
.form-check-input:checked { background-color: var(--afeb-primary); border-color: var(--afeb-primary); }
.form-text { color: var(--afeb-muted); margin-top: .45rem; }
.invalid-note {
    margin-top: .45rem;
    color: #b91c1c;
    font-size: .92rem;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 12px;
    padding: .55rem .75rem;
}
.soft-alert { border: none; border-radius: 18px; }
.consent-panel {
    padding: 1.3rem 1.4rem;
    margin-bottom: 1.3rem;
    background: linear-gradient(180deg, rgba(47,111,237,.05), rgba(255,255,255,.84));
}
.mini-timeline { display: grid; gap: .75rem; color: var(--afeb-muted); }

.success-wrapper { max-width: 980px; }
.success-icon {
    width: 84px; height: 84px; border-radius: 50%; margin: 0 auto 1rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #22c55e, #10b981); color: white; font-size: 2rem;
    box-shadow: 0 20px 30px rgba(16,185,129,.24);
}
.tracking-box {
    max-width: 420px; margin: 0 auto; padding: 1.2rem 1.4rem;
    background: linear-gradient(135deg, rgba(47,111,237,.08), rgba(108,75,216,.08));
}
.tracking-label { color: var(--afeb-muted); font-weight: 600; margin-bottom: .25rem; }
.tracking-value { font-size: 1.35rem; letter-spacing: .08em; font-weight: 800; color: var(--afeb-dark); }
.status-card { padding: 1.3rem; }
.status-card p { color: var(--afeb-muted); line-height: 1.7; margin-top: .55rem; }

.team-card { overflow: hidden; }
.team-photo {
    width: 100%;
    aspect-ratio: 4 / 4.2;
    object-fit: cover;
    display: block;
    background: linear-gradient(135deg, rgba(47,111,237,.08), rgba(108,75,216,.08));
}
.team-card-body {
    padding: 1.35rem 1.35rem 1.45rem;
}
.team-role-badge {
    display: inline-flex;
    align-items: center;
    padding: .42rem .8rem;
    border-radius: 999px;
    background: rgba(47,111,237,.08);
    color: var(--afeb-primary);
    font-weight: 700;
    font-size: .82rem;
    margin-bottom: .85rem;
}
.team-name {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--afeb-dark);
    margin-bottom: .65rem;
    letter-spacing: -.02em;
}
.team-text {
    color: var(--afeb-muted);
    line-height: 1.75;
    margin-bottom: 0;
}
.privacy-highlight {
    padding: 2rem;
}
.privacy-highlight-head {
    margin-bottom: 1rem;
}
.mini-highlight-box {
    height: 100%;
    border-radius: 18px;
    padding: 1rem 1rem;
    background: linear-gradient(135deg, rgba(47,111,237,.06), rgba(20,184,166,.06));
    border: 1px solid rgba(47,111,237,.10);
    color: var(--afeb-dark);
    font-weight: 600;
}

.site-footer {
    background: linear-gradient(180deg, rgba(16,33,58,.98), rgba(6,15,29,.98));
    color: #e2e8f0;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .9fr 1fr;
    gap: 2rem;
}
.footer-title { font-size: 1rem; font-weight: 700; margin-bottom: .9rem; color: white; }
.footer-links { display: grid; gap: .7rem; }
.footer-links a { color: #cbd5e1; text-decoration: none; }
.footer-links a:hover { color: white; }
.footer-muted { color: #94a3b8; }
.footer-brand { display: flex; gap: .9rem; align-items: center; }
.footer-brand-icon { box-shadow: none; }
.footer-contact { display: grid; gap: .5rem; color: #cbd5e1; }
.footer-bottom {
    display: flex; justify-content: space-between; gap: 1rem; align-items: center;
    border-top: 1px solid rgba(148,163,184,.16);
}
@media (max-width: 991.98px) {
    .hero-meta-grid, .footer-grid, .contact-banner { grid-template-columns: 1fr; }
    .sticky-panel { position: static; }
}
@media (max-width: 767.98px) {
    .display-title { font-size: 2.4rem; }
    .section-title-xl { font-size: 2rem; }
    .hero-meta-grid { grid-template-columns: 1fr; }
    .page-header-card, .quick-info-card, .side-note-card, .form-shell, .form-card-xl, .success-wrapper { padding: 1.25rem; }
    .form-section { padding: 1rem; }
    .footer-bottom { flex-direction: column; align-items: flex-start; }
}
.brand-logo-wrap {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    border-radius: 16px;
    background: #ffffff;
    overflow: hidden;
    padding: 4px;
}

.brand-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    user-select: none;
    -webkit-user-drag: none;
}

@media (max-width: 576px) {
    .brand-logo-wrap {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        border-radius: 14px;
        padding: 3px;
    }
}

/* PageSpeed / Accessibility Feinschliff */
.section-kicker,
.form-card-badge {
    color: #1e40af;
}
.status-badge-live {
    color: #075985;
}
.team-read-more {
    background: #dbeafe;
    color: #1e3a8a;
}
.team-read-more:hover,
.team-read-more:focus {
    background: #bfdbfe;
    color: #172554;
}
.team-read-more:focus-visible,
.team-text-collapse:focus-visible,
.btn:focus-visible,
.nav-link:focus-visible {
    outline: 3px solid rgba(30, 64, 175, .45);
    outline-offset: 3px;
}
.cost-info-card .section-kicker,
.privacy-highlight .section-kicker,
.contact-banner .section-kicker {
    color: #1e3a8a;
}
.brand-logo-img {
    contain: paint;
}
