/* JHB Fallanfrage – Variante 2: moderne, hochwertige Sage-/Eukalyptus-Optik.
 * Formularlogik und Formularbasis liegen im Plugin.
 */
.jhb-fap{
    --fap-green:#103B2E;
    --fap-green-2:#174D3B;
    --fap-mid:#6FA58F;
    --fap-sage:#D7EADF;
    --fap-sage-soft:#EDF6F0;
    --fap-sage-deep:#9CC7B4;
    --fap-blue:#EEF6F8;
    --fap-berlin:#2F6F84;
    --fap-berlin-dark:#17384A;
    --fap-berlin-soft:#EEF6F8;
    --fap-ink:#17372D;
    --fap-muted:#5B6D66;
    --fap-line:rgba(16,59,46,.12);
    --fap-line-soft:rgba(16,59,46,.07);
    --fap-shadow:0 26px 68px rgba(16,59,46,.09);
    color:var(--fap-ink);
    background:#fff;
    font-family: var(--font-sans);
    overflow:hidden;
}

.jhb-fap,
.jhb-fap *{box-sizing:border-box}

.jhb-fap-shell{
    width:min(1380px,calc(100% - 64px));
    margin-inline:auto;
}

.jhb-fap h1,
.jhb-fap h2,
.jhb-fap h3{
    font-family: var(--font-sans);
    color:var(--fap-green);
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
}

.jhb-fap-eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:7px 12px;
    border-radius:999px;
    border:1px solid rgba(111,165,143,.20);
    background:linear-gradient(135deg,var(--fap-sage-soft),#E1F0E8);
    color:var(--fap-green);
    box-shadow:0 5px 14px rgba(16,59,46,.045);
    font-size:12px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.01em;
    white-space:nowrap;
}

/* Hero */
.jhb-fap-hero{
    position:relative;
    isolation:isolate;
    padding:clamp(48px,5vw,76px) 0 clamp(58px,6vw,86px);
    background:
        radial-gradient(660px 390px at -7% 20%,rgba(215,234,223,.88),transparent 68%),
        radial-gradient(620px 360px at 103% 8%,rgba(238,246,248,.82),transparent 72%),
        linear-gradient(180deg,#fff 0%,#FBFDFC 100%);
}

.jhb-fap-hero::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:-170px;
    bottom:-230px;
    width:470px;
    height:470px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(215,234,223,.54),rgba(215,234,223,0) 70%);
    pointer-events:none;
}

.jhb-fap-hero__grid{
    display:grid;
    grid-template-columns:minmax(430px,.82fr) minmax(660px,1.18fr);
    gap:clamp(44px,4.4vw,70px);
    align-items:start;
}

.jhb-fap-hero__copy{
    min-width:0;
    padding-top:clamp(8px,1.2vw,18px);
}

.jhb-fap h1{
    max-width:var(--jhb-heading-max-h1);
    margin:18px auto 22px;
    font-size:var(--jhb-type-h1);
    font-weight:var(--jhb-heading-weight-h1);
    line-height:var(--jhb-leading-h1);
    letter-spacing:var(--jhb-heading-tracking-h1);
    text-align:center;
}

.jhb-fap h1>span:first-child{
    display:block;
    color:var(--fap-green);
    white-space:nowrap;
}

.jhb-fap h1>span:last-child{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:fit-content;
    max-width:100%;
    margin:9px auto 0;
    color:var(--fap-berlin-dark);
    font-size:.76em;
    line-height:1.04;
    letter-spacing:-.035em;
    white-space:nowrap;
}

.jhb-fap h1>span:last-child::before,
.jhb-fap h1>span:last-child::after{
    content:"";
    width:27px;
    height:1px;
    flex:0 0 27px;
    background:linear-gradient(90deg,rgba(47,111,132,0),rgba(47,111,132,.32));
}

.jhb-fap h1>span:last-child::after{
    background:linear-gradient(90deg,rgba(47,111,132,.32),rgba(47,111,132,0));
}

.jhb-fap-lead{
    max-width:560px;
    margin:0;
    color:#425950;
    font-size:clamp(16px,1.05vw,18px);
    line-height:1.67;
    text-wrap:pretty;
}

.jhb-fap-facts{
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    max-width:none;
    margin-top:22px;
}

.jhb-fap-facts>span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:34px;
    padding:6px 8px;
    border:1px solid rgba(16,59,46,.085);
    border-radius:10px;
    background:rgba(255,255,255,.72);
    color:#315247;
    font-size:10.8px;
    font-weight:850;
    line-height:1.25;
}

.jhb-fap-facts svg,
.jhb-fap-note svg,
.jhb-fap-route-card svg{
    width:18px;
    height:18px;
    flex:0 0 18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.jhb-fap-facts svg{
    width:16px;
    height:16px;
    flex-basis:16px;
}

.jhb-fap-note{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
    align-items:start;
    max-width:600px;
    margin-top:21px;
    padding:16px 18px 16px 15px;
    border:1px solid rgba(111,165,143,.22);
    border-left:3px solid #6FA58F;
    border-radius:15px;
    background:linear-gradient(135deg,#F5FAF7 0%,#EAF4EE 68%,#F8FBF9 100%);
    box-shadow:0 10px 28px rgba(16,59,46,.045);
}

.jhb-fap-note__icon{
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    border:1px solid rgba(111,165,143,.38);
    border-radius:50%;
    background:rgba(255,255,255,.88);
    color:#4F806B;
    box-shadow:0 5px 14px rgba(16,59,46,.055);
}

.jhb-fap-note strong{
    display:block;
    margin:0 0 4px;
    color:var(--fap-green);
    font-size:14px;
    line-height:1.35;
}

.jhb-fap-note p{
    margin:0;
    color:#586a63;
    font-size:12.8px;
    line-height:1.55;
    text-wrap:pretty;
}

.jhb-fap-hero__form{min-width:0}

.jhb-fap-hero__form .jhb-fa__panel{
    border-radius:26px;
    box-shadow:0 30px 78px rgba(16,59,46,.115);
}

.jhb-fap-plugin-missing{
    padding:30px;
    border:1px solid var(--fap-line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--fap-shadow);
}

.jhb-fap-plugin-missing strong{color:var(--fap-green);font-size:19px}
.jhb-fap-plugin-missing p{margin:8px 0 0;color:var(--fap-muted)}

/* Gemeinsame Abschnitte */
.jhb-fap-section{
    padding:clamp(60px,6.2vw,88px) 0;
}

.jhb-fap-section-head{
    max-width:760px;
    margin:0 0 32px;
}

.jhb-fap-section-head--wide{max-width:860px}

.jhb-fap-section-head h2,
.jhb-fap-final h2{
    margin:14px 0 10px;
    font-size:var(--jhb-type-h2);
    font-weight:var(--jhb-heading-weight-h2);
    line-height:var(--jhb-leading-h2);
    letter-spacing:var(--jhb-heading-tracking-h2);
    text-wrap:var(--jhb-heading-wrap);
  margin-inline:auto;
}

.jhb-fap-section-head p,
.jhb-fap-final p{
    max-width:760px;
    margin:0;
    color:var(--fap-muted);
    font-size:15.5px;
    line-height:1.65;
    text-wrap:pretty;
}

/* Ablauf – keine drei schweren Karten mehr, sondern ein ruhiger Zeitstrahl. */
.jhb-fap-section--process{
    position:relative;
    border-top:1px solid var(--fap-line-soft);
    border-bottom:1px solid var(--fap-line-soft);
    background:
        radial-gradient(520px 180px at 18% 0,rgba(215,234,223,.48),transparent 72%),
        linear-gradient(180deg,#FBFDFC 0%,#F3F8F5 100%);
}

.jhb-fap-process-grid{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    margin-top:10px;
}

.jhb-fap-process-grid::before{
    content:"";
    position:absolute;
    top:18px;
    left:7%;
    right:7%;
    height:1px;
    background:linear-gradient(90deg,rgba(111,165,143,.16),rgba(79,139,115,.42),rgba(111,165,143,.16));
}

.jhb-fap-process-grid article{
    position:relative;
    min-width:0;
    padding:0 34px 4px 0;
}

.jhb-fap-process-grid article+article{padding-left:34px}

.jhb-fap-step{
    position:relative;
    z-index:1;
    display:inline-grid;
    width:36px;
    height:36px;
    place-items:center;
    padding:0;
    border:1px solid #AFCFBE;
    border-radius:50%;
    background:linear-gradient(145deg,#fff,#F2F8F4);
    color:var(--fap-green);
    box-shadow:0 0 0 7px #F7FBF8,0 7px 16px rgba(16,59,46,.07);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
    font-size:11px;
    font-weight:950;
}

.jhb-fap-process-grid h3{
    margin:20px 0 7px;
    font-size:var(--jhb-type-h3);
    font-weight:var(--jhb-heading-weight-h3);
    line-height:var(--jhb-leading-h3);
    letter-spacing:var(--jhb-heading-tracking-h3);
}

.jhb-fap-process-grid p{
    max-width:360px;
    margin:0;
    color:#5c6e67;
    font-size:14px;
    line-height:1.6;
}

@media(hover:hover) and (pointer:fine){
    .jhb-fap-process-grid article:hover .jhb-fap-step{
        transform:translateY(-2px);
        border-color:#86B29E;
        box-shadow:0 0 0 7px #F7FBF8,0 11px 22px rgba(16,59,46,.11);
    }
}


/* Berlin-Fokus – ein großer redaktioneller Bereich statt zusätzlicher Kartenwand. */
.jhb-fap-section--berlin{
    position:relative;
    border-bottom:1px solid rgba(47,111,132,.10);
    background:
        radial-gradient(680px 260px at 8% 10%,rgba(255,255,255,.90),transparent 70%),
        linear-gradient(180deg,#F4F9FB 0%,#EDF6F8 100%);
}

.jhb-fap-berlin-feature{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
    overflow:hidden;
    border:1px solid rgba(47,111,132,.14);
    border-radius:28px;
    background:#fff;
    box-shadow:0 26px 64px rgba(23,56,74,.08),inset 0 1px 0 rgba(255,255,255,.9);
}

.jhb-fap-berlin-copy{
    position:relative;
    isolation:isolate;
    padding:clamp(32px,4vw,54px);
    background:
        radial-gradient(460px 260px at 0 0,rgba(255,255,255,.82),transparent 74%),
        linear-gradient(145deg,#F6FBFC 0%,#E9F3F6 100%);
}

.jhb-fap-berlin-copy::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:-90px;
    bottom:-120px;
    width:300px;
    height:300px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(47,111,132,.11),transparent 70%);
    pointer-events:none;
}

.jhb-fap-eyebrow--berlin{
    border-color:rgba(47,111,132,.20);
    background:linear-gradient(180deg,#F8FCFE,#DDEEF3);
    color:var(--fap-berlin-dark);
    box-shadow:0 6px 16px rgba(23,56,74,.055);
}

.jhb-fap-berlin-copy h2{
    max-width:var(--jhb-heading-max-h2);
    margin:16px 0 14px;
    color:var(--fap-berlin-dark);
    font-size:var(--jhb-type-h2);
    font-weight:var(--jhb-heading-weight-h2);
    line-height:var(--jhb-leading-h2);
    letter-spacing:var(--jhb-heading-tracking-h2);
    text-wrap:var(--jhb-heading-wrap);
}

.jhb-fap-berlin-copy>p{
    max-width:680px;
    margin:0;
    color:#526B78;
    font-size:15.5px;
    line-height:1.68;
    text-wrap:pretty;
}

.jhb-fap-berlin-areas{
    display:grid;
    gap:0;
    margin-top:28px;
    border-top:1px solid rgba(47,111,132,.14);
    border-bottom:1px solid rgba(47,111,132,.14);
}

.jhb-fap-berlin-areas>span{
    display:grid;
    grid-template-columns:minmax(170px,.68fr) minmax(0,1fr);
    gap:18px;
    padding:12px 2px;
    color:#58717D;
    font-size:13.5px;
    line-height:1.45;
}

.jhb-fap-berlin-areas>span+span{
    border-top:1px solid rgba(47,111,132,.09);
}

.jhb-fap-berlin-areas strong{
    color:var(--fap-berlin-dark);
    font-weight:900;
}

.jhb-fap-berlin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px 20px;
    align-items:center;
    margin-top:28px;
}

.jhb-fap-btn--berlin{
    background:linear-gradient(135deg,var(--fap-berlin) 0%,#24596A 100%);
    box-shadow:0 12px 26px rgba(47,111,132,.19);
}

.jhb-fap-btn--berlin:hover{
    background:linear-gradient(135deg,#347B92 0%,#1F5060 100%);
    box-shadow:0 16px 32px rgba(47,111,132,.23);
}

.jhb-fap-text-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--fap-berlin-dark);
    font-size:13.5px;
    font-weight:900;
    line-height:1.4;
    text-decoration:none;
}

.jhb-fap-text-link span{transition:transform .18s ease}
.jhb-fap-text-link:hover span{transform:translateX(3px)}

.jhb-fap-berlin-panel{
    min-width:0;
    padding:clamp(26px,3.2vw,42px);
    background:linear-gradient(180deg,#17384A 0%,#1E4C60 100%);
    color:#fff;
}

.jhb-fap-berlin-panel__head{
    padding-bottom:22px;
}

.jhb-fap-berlin-panel__head>span{
    display:block;
    margin-bottom:7px;
    color:#BFD9E3;
    font-size:10.5px;
    font-weight:950;
    line-height:1.2;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.jhb-fap-berlin-panel__head strong{
    display:block;
    color:#fff;
    font-family: var(--font-sans);
    font-size:23px;
    font-weight:900;
    line-height:1.22;
    letter-spacing:-.025em;
}

.jhb-fap-berlin-panel__head p{
    max-width:460px;
    margin:8px 0 0;
    color:rgba(255,255,255,.72);
    font-size:13.5px;
    line-height:1.55;
}

.jhb-fap-berlin-row{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    padding:16px 0;
    border-top:1px solid rgba(255,255,255,.13);
    color:#fff;
    text-decoration:none;
    transition:padding-left .18s ease,background-color .18s ease;
}

.jhb-fap-berlin-row:hover{
    padding-left:6px;
    color:#fff;
}

.jhb-fap-berlin-row__num{
    display:grid;
    width:32px;
    height:32px;
    place-items:center;
    border:1px solid rgba(255,255,255,.17);
    border-radius:50%;
    background:rgba(255,255,255,.07);
    color:#D6EAF1;
    font-size:10px;
    font-weight:950;
}

.jhb-fap-berlin-row strong{
    display:block;
    color:#fff;
    font-size:14.5px;
    font-weight:900;
    line-height:1.3;
}

.jhb-fap-berlin-row small{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.64);
    font-size:12px;
    font-weight:650;
    line-height:1.35;
}

.jhb-fap-berlin-row>span:last-child{
    color:#CDE3EB;
    font-size:18px;
    transition:transform .18s ease;
}

.jhb-fap-berlin-row:hover>span:last-child{transform:translateX(3px)}


/* Weitere Wege – redaktionelle Link-Kacheln in 2x2 statt vier hoher Karten. */
.jhb-fap-section--routes{background:#fff}

.jhb-fap-route-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.jhb-fap-route-card{
    min-width:0;
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    grid-template-rows:auto auto auto 1fr;
    column-gap:16px;
    align-items:start;
    min-height:0;
    padding:20px 22px;
    border:1px solid rgba(16,59,46,.11);
    border-radius:18px;
    background:linear-gradient(145deg,#fff 0%,#FBFDFC 100%);
    box-shadow:0 10px 28px rgba(16,59,46,.04),inset 0 1px 0 rgba(255,255,255,.86);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}

.jhb-fap-route-card:hover{
    transform:translateY(-3px);
    border-color:rgba(111,165,143,.34);
    background:#fff;
    box-shadow:0 18px 38px rgba(16,59,46,.085),inset 0 1px 0 #fff;
}

.jhb-fap-route-card--office{background:linear-gradient(145deg,#F0F7F3,#fff 67%)}
.jhb-fap-route-card--safety{background:linear-gradient(145deg,#F2F7F6,#fff 67%)}

.jhb-fap-route-card__icon{
    grid-column:1;
    grid-row:1 / 5;
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border-radius:13px;
    background:linear-gradient(145deg,var(--fap-sage-soft),var(--fap-sage));
    color:var(--fap-green);
    box-shadow:inset 0 0 0 1px rgba(111,165,143,.12);
}

.jhb-fap-route-card--safety .jhb-fap-route-card__icon{
    background:linear-gradient(145deg,#E8F2EF,#DCEBE5);
    color:#4F806B;
}

.jhb-fap-route-card__kicker{
    grid-column:2;
    color:var(--fap-mid);
    font-size:10.5px;
    font-weight:950;
    line-height:1.2;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.jhb-fap-route-card h3{
    grid-column:2;
    margin:5px 0 5px;
    font-size:var(--jhb-type-h3);
    font-weight:var(--jhb-heading-weight-h3);
    line-height:var(--jhb-leading-h3);
    letter-spacing:var(--jhb-heading-tracking-h3);
}

.jhb-fap-route-card p{
    grid-column:2;
    margin:0 0 12px;
    color:#61716b;
    font-size:13.5px;
    line-height:1.55;
}

.jhb-fap-route-card a{
    grid-column:2;
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    max-width:100%;
    margin-top:auto;
    color:var(--fap-green);
    font-size:13px;
    font-weight:900;
    line-height:1.4;
    text-decoration:none;
}

.jhb-fap-route-card a span{transition:transform .18s ease}
.jhb-fap-route-card a:hover span{transform:translateX(3px)}

/* Abschluss – kompakter, zentraler CTA als ruhiger Seitenabschluss. */
.jhb-fap-final{
    padding:0 0 clamp(64px,7vw,92px);
    background:#fff;
}

.jhb-fap-final__card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    padding:clamp(30px,3.2vw,44px) clamp(24px,4vw,56px);
    border:1px solid rgba(16,59,46,.10);
    border-radius:22px;
    background:
        radial-gradient(520px 220px at 50% 0,rgba(215,234,223,.68),transparent 72%),
        linear-gradient(180deg,#F5FAF7 0%,#FFFFFF 100%);
    box-shadow:0 18px 44px rgba(16,59,46,.055),inset 0 1px 0 rgba(255,255,255,.90);
    text-align:center;
}

.jhb-fap-final__card > div{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
}

.jhb-fap-final h2{
    max-width:var(--jhb-heading-max-h2);
    margin:14px auto 10px;
    font-size:var(--jhb-type-h2);
}

.jhb-fap-final p{
    max-width:760px;
    margin:0 auto;
    text-align:center;
}

.jhb-fap-final .jhb-fap-btn{
    width:auto;
    margin-top:22px;
    padding-inline:22px;
}

.jhb-fap-btn{
    display:inline-flex;
    min-height:46px;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:11px 18px;
    border-radius:12px;
    background:linear-gradient(135deg,#103B2E 0%,#1F5A46 100%);
    color:#fff;
    font-size:13.5px;
    font-weight:900;
    line-height:1.2;
    text-decoration:none;
    box-shadow:0 10px 24px rgba(16,59,46,.16);
    transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}

.jhb-fap-btn:hover{
    background:linear-gradient(135deg,#174D3B 0%,#2A6A54 100%);
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 15px 30px rgba(16,59,46,.20);
}

.jhb-fap a:focus-visible{
    outline:3px solid rgba(79,139,115,.30);
    outline-offset:3px;
}

@media(max-width:1240px){
    .jhb-fap-shell{width:min(1180px,calc(100% - 48px))}
    .jhb-fap-hero__grid{grid-template-columns:minmax(350px,.76fr) minmax(600px,1.24fr);gap:40px}
}

@media(max-width:1080px){
    .jhb-fap-hero{padding-top:44px}
    .jhb-fap-hero__grid{grid-template-columns:1fr;gap:38px}
    .jhb-fap-hero__copy{max-width:820px;padding-top:0}
    .jhb-fap h1{max-width:var(--jhb-heading-max-h1)}
    .jhb-fap-lead,.jhb-fap-note{max-width:740px}
    .jhb-fap-process-grid article{padding-right:22px}
    .jhb-fap-process-grid article+article{padding-left:22px}
}

@media(max-width:800px){
    .jhb-fap-process-grid{grid-template-columns:1fr;gap:24px}
    .jhb-fap-process-grid::before{
        top:18px;
        bottom:18px;
        left:17px;
        right:auto;
        width:1px;
        height:auto;
        background:linear-gradient(180deg,rgba(111,165,143,.22),rgba(79,139,115,.42),rgba(111,165,143,.18));
    }
    .jhb-fap-process-grid article,
    .jhb-fap-process-grid article+article{padding:0 0 0 56px}
    .jhb-fap-step{position:absolute;left:0;top:0;box-shadow:0 0 0 6px #F7FBF8,0 7px 16px rgba(16,59,46,.07)}
    .jhb-fap-process-grid h3{margin-top:0}
    .jhb-fap-route-grid{grid-template-columns:1fr}
}

@media(max-width:720px){
    .jhb-fap-shell{width:calc(100% - 28px)}
    .jhb-fap-hero{padding:36px 0 52px}
    .jhb-fap-hero__copy{text-align:center}
    .jhb-fap h1{margin-top:17px;font-size:var(--jhb-type-h1);line-height:var(--jhb-leading-h1)}
    .jhb-fap h1>span:first-child{white-space:normal}
    .jhb-fap h1>span:last-child{gap:9px;margin-top:7px;font-size:.74em;white-space:normal}
    .jhb-fap h1>span:last-child::before,
    .jhb-fap h1>span:last-child::after{width:20px;flex-basis:20px}
    .jhb-fap-lead{font-size:16px;line-height:1.62}
    .jhb-fap-facts{justify-content:center;margin-inline:auto;flex-wrap:wrap}
    .jhb-fap-note{margin-inline:auto;text-align:left}
    .jhb-fap-section{padding:var(--jhb-space-section-y) 0}
    .jhb-fap-section-head{text-align:center;margin-inline:auto}
    .jhb-fap-final__card{padding:28px 20px}
    .jhb-fap-final__card .jhb-fap-eyebrow{justify-content:center}
    .jhb-fap-final__card p{margin-inline:auto}
    .jhb-fap-final .jhb-fap-btn{width:100%;max-width:420px}
}

@media(max-width:560px){
    .jhb-fap-facts{display:grid;grid-template-columns:1fr;width:100%;max-width:430px}
    .jhb-fap-facts>span{justify-content:flex-start;text-align:left}
    .jhb-fap-route-card{grid-template-columns:42px minmax(0,1fr);column-gap:13px;padding:18px}
    .jhb-fap-route-card__icon{width:40px;height:40px;border-radius:12px}
}

@media(max-width:460px){
    .jhb-fap-shell{width:calc(100% - 22px)}
    .jhb-fap-note{grid-template-columns:1fr;padding:17px 16px;text-align:center}
    .jhb-fap-note__icon{margin-inline:auto}
    .jhb-fap-route-card{grid-template-columns:1fr}
    .jhb-fap-route-card__icon{grid-column:1;grid-row:auto;margin-bottom:12px}
    .jhb-fap-route-card__kicker,
    .jhb-fap-route-card h3,
    .jhb-fap-route-card p,
    .jhb-fap-route-card a{grid-column:1}
}

@media(prefers-reduced-motion:reduce){
    .jhb-fap *{scroll-behavior:auto;transition:none}
}

/* Leistungsbereiche – redaktionelle Zeilen statt weiterer Karten. */
.jhb-fap-section--services{
    border-top:1px solid var(--fap-line-soft);
    background:linear-gradient(180deg,#fff 0%,#FBFDFC 100%);
}

.jhb-fap-services-layout{
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    gap:clamp(48px,6.5vw,92px);
    align-items:start;
}

.jhb-fap-services-intro{
    max-width:470px;
}

.jhb-fap-services-intro h2{
    margin:15px 0 12px;
    font-size:var(--jhb-type-h2);
    font-weight:var(--jhb-heading-weight-h2);
    line-height:var(--jhb-leading-h2);
    letter-spacing:var(--jhb-heading-tracking-h2);
    text-wrap:var(--jhb-heading-wrap);
}

.jhb-fap-services-intro>p{
    margin:0;
    color:var(--fap-muted);
    font-size:15px;
    line-height:1.68;
    text-wrap:pretty;
}

.jhb-fap-bb-note{
    margin-top:28px;
    padding:16px 0 16px 18px;
    border-left:3px solid var(--fap-mid);
}

.jhb-fap-bb-note>span{
    display:block;
    margin-bottom:5px;
    color:var(--fap-green);
    font-size:12px;
    font-weight:950;
    line-height:1.3;
    letter-spacing:.035em;
}

.jhb-fap-bb-note p{
    margin:0;
    color:#60716A;
    font-size:13.5px;
    line-height:1.55;
}

.jhb-fap-service-list{
    border-top:1px solid rgba(16,59,46,.13);
}

.jhb-fap-service-row{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:20px;
    padding:27px 0 29px;
    border-bottom:1px solid rgba(16,59,46,.11);
}

.jhb-fap-service-row__num{
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    border:1px solid rgba(111,165,143,.23);
    border-radius:50%;
    background:linear-gradient(145deg,#F7FBF8,#E6F2EB);
    color:var(--fap-green);
    box-shadow:0 7px 18px rgba(16,59,46,.05);
    font-size:10.5px;
    font-weight:950;
}

.jhb-fap-service-row__kicker{
    display:block;
    margin-bottom:5px;
    color:var(--fap-mid);
    font-size:10.5px;
    font-weight:950;
    line-height:1.2;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.jhb-fap-service-row h3{
    margin:0 0 8px;
    font-size:var(--jhb-type-h3);
    font-weight:var(--jhb-heading-weight-h3);
    line-height:var(--jhb-leading-h3);
    letter-spacing:var(--jhb-heading-tracking-h3);
}

.jhb-fap-service-row p{
    max-width:760px;
    margin:0;
    color:#5F7069;
    font-size:14px;
    line-height:1.62;
}

.jhb-fap-service-row__links{
    display:flex;
    flex-wrap:wrap;
    gap:9px 20px;
    margin-top:13px;
}

.jhb-fap-service-row__links a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--fap-green);
    font-size:13px;
    font-weight:900;
    line-height:1.4;
    text-decoration:none;
}

.jhb-fap-service-row__links a span{transition:transform .18s ease}
.jhb-fap-service-row__links a:hover span{transform:translateX(3px)}

.jhb-fap-section--faq{
    border-top:1px solid var(--fap-line-soft);
    background:
        radial-gradient(520px 220px at 90% 0,rgba(215,234,223,.45),transparent 72%),
        linear-gradient(180deg,#F7FBF8 0%,#fff 100%);
}

.jhb-fap-faq{
    display:grid;
    gap:9px;
    max-width:960px;
}

.jhb-fap-faq details{
    border:1px solid rgba(16,59,46,.10);
    border-radius:15px;
    background:rgba(255,255,255,.90);
    box-shadow:0 8px 22px rgba(16,59,46,.035);
    overflow:hidden;
}

.jhb-fap-faq summary{
    position:relative;
    display:block;
    padding:18px 54px 18px 20px;
    color:var(--fap-green);
    cursor:pointer;
    font-family: var(--font-sans);
    font-size:16px;
    font-weight:900;
    line-height:1.35;
    list-style:none;
}

.jhb-fap-faq summary::-webkit-details-marker{display:none}

.jhb-fap-faq summary::after{
    content:"+";
    position:absolute;
    top:50%;
    right:19px;
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    border:1px solid rgba(111,165,143,.24);
    border-radius:50%;
    background:var(--fap-sage-soft);
    color:var(--fap-green);
    transform:translateY(-50%);
    font-size:18px;
    font-weight:800;
}

.jhb-fap-faq details[open] summary::after{content:"−"}

.jhb-fap-faq details>div{
    padding:0 20px 18px;
}

.jhb-fap-faq details p{
    max-width:820px;
    margin:0;
    color:#5f7069;
    font-size:14px;
    line-height:1.65;
}

@media(max-width:1040px){
    .jhb-fap-berlin-feature{grid-template-columns:1fr}
    .jhb-fap-berlin-panel{padding-top:30px}
}

@media(max-width:920px){
    .jhb-fap-services-layout{grid-template-columns:1fr;gap:34px}
    .jhb-fap-services-intro{max-width:760px}
}

@media(max-width:720px){
    .jhb-fap-berlin-feature{border-radius:22px}
    .jhb-fap-berlin-copy,
    .jhb-fap-berlin-panel{padding:26px 22px}
    .jhb-fap-berlin-copy h2{font-size:var(--jhb-type-h2)}
    .jhb-fap-berlin-areas>span{grid-template-columns:1fr;gap:2px}
    .jhb-fap-berlin-actions{align-items:stretch}
    .jhb-fap-berlin-actions .jhb-fap-btn{width:100%}
    .jhb-fap-text-link{justify-content:center;width:100%}
    .jhb-fap-service-row{grid-template-columns:44px minmax(0,1fr);gap:14px}
    .jhb-fap-service-row__num{width:38px;height:38px}
    .jhb-fap-faq{text-align:left}
}

@media(max-width:460px){
    .jhb-fap-berlin-row{grid-template-columns:32px minmax(0,1fr) auto;gap:10px}
    .jhb-fap-berlin-row small{font-size:11.5px}
    .jhb-fap-service-row{grid-template-columns:1fr}
    .jhb-fap-service-row__num{margin-bottom:2px}
}

@media(prefers-reduced-motion:reduce){
    .jhb-fap-text-link span,
    .jhb-fap-berlin-row,
    .jhb-fap-berlin-row>span:last-child,
    .jhb-fap-service-row__links a span{transition:none}
}

/* 2026-09-17 – Feinschliff: zentrierte Überschriften, stärkere Berlin-Anmutung, FAQ sauber zentriert */

/* Überschriftenbereiche auf Desktop ebenfalls zentrieren */
.jhb-fap-section-head,
.jhb-fap-section-head--wide{
    margin-inline:auto;
    text-align:center;
}

.jhb-fap-section-head .jhb-fap-eyebrow,
.jhb-fap-final__card .jhb-fap-eyebrow{
    justify-content:center;
}

.jhb-fap-section-head p,
.jhb-fap-final p{
    margin-inline:auto;
}

/* Berliner Block komplett in Berliner Farbwelt */
.jhb-fap-section--berlin{
    background:
        radial-gradient(760px 280px at 10% 10%,rgba(255,255,255,.72),transparent 68%),
        linear-gradient(180deg,#F1F8FB 0%,#E7F2F6 100%);
}

.jhb-fap-berlin-feature{
    border-color:rgba(47,111,132,.18);
    background:linear-gradient(180deg,#F5FAFC 0%,#ECF5F8 100%);
    box-shadow:0 28px 68px rgba(23,56,74,.09), inset 0 1px 0 rgba(255,255,255,.9);
}

.jhb-fap-berlin-copy{
    background:
        radial-gradient(430px 240px at 0 0,rgba(255,255,255,.7),transparent 74%),
        linear-gradient(145deg,#F8FCFE 0%,#E3F0F5 100%);
}

.jhb-fap-berlin-copy h2,
.jhb-fap-berlin-copy > p{
    max-width:700px;
}

.jhb-fap-berlin-copy h2{
    color:#143445;
}

.jhb-fap-berlin-areas{
    border-top:1px solid rgba(47,111,132,.18);
    border-bottom:1px solid rgba(47,111,132,.18);
    background:rgba(255,255,255,.32);
    border-radius:16px;
    padding-inline:14px;
}

.jhb-fap-berlin-areas > span{
    color:#516A77;
}

.jhb-fap-berlin-areas > span + span{
    border-top:1px solid rgba(47,111,132,.12);
}

.jhb-fap-berlin-panel{
    background:linear-gradient(180deg,#1A4256 0%,#2B6780 100%);
}

.jhb-fap-berlin-row{
    border-top:1px solid rgba(255,255,255,.16);
}

.jhb-fap-berlin-row__num{
    background:rgba(255,255,255,.1);
    border-color:rgba(255,255,255,.2);
}

/* FAQ-Bereich: Kopf mittig, Accordion sauber mittig auf der Seite */
.jhb-fap-section--faq .jhb-fap-section-head{
    text-align:center;
}

.jhb-fap-faq{
    margin-inline:auto;
}

/* Der Services-Introblock darf trotz Zweispalter etwas ruhiger und ordentlicher wirken */
.jhb-fap-services-intro .jhb-fap-eyebrow{
    justify-content:flex-start;
}

.jhb-fap-section-head .jhb-fap-eyebrow,
.jhb-fap-final__card .jhb-fap-eyebrow,
.jhb-fap-hero__copy .jhb-fap-eyebrow{
    display:flex;
    width:fit-content;
    margin-inline:auto;
}

/* 2026-09-17 – störende Hintergrundpunkte entfernen */
.jhb-fap-hero{
    background:
        linear-gradient(180deg,#fff 0%,#FBFDFC 100%);
}

.jhb-fap-hero::after,
.jhb-fap-berlin-copy::after{
    display:none;
}

.jhb-fap-section--berlin{
    background:linear-gradient(180deg,#F1F8FB 0%,#E7F2F6 100%);
}

.jhb-fap-berlin-copy{
    background:linear-gradient(145deg,#F8FCFE 0%,#E3F0F5 100%);
}
