/* One welcome banner contract. Load after the existing page presentation styles. */
.ab-site .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ab-site .wh-hero{background:#edf2f6;color:var(--ab-ink,#101217);isolation:isolate}
.ab-site .wh-frame{position:relative;display:flex;align-items:center;min-height:460px}
.ab-site .wh-copy{position:relative;z-index:1;width:58%;padding:40px 32px 40px 0}
.ab-site .wh-hero:not(.wh-has-image) .wh-copy{width:100%;max-width:800px}
.ab-site .wh-photo{position:absolute;inset:0 0 0 auto;width:47%;overflow:hidden;background:#e7edf2}
.ab-site .wh-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--wh-photo-position,65% center)}
.ab-site .wh-photo::after{position:absolute;content:"";inset:0;background:linear-gradient(90deg,#edf2f6 0%,#edf2f6d9 9%,#edf2f633 32%,transparent 55%)}
.ab-site .wh-hero .wh-eyebrow{margin:0 0 12px;color:#bd001a;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.1em}
.ab-site .wh-hero .wh-title{margin:0;max-width:none;color:var(--ab-ink,#101217);font-size:clamp(34px,3.4vw,48px);line-height:1.14;letter-spacing:-.035em;font-weight:800;text-wrap:balance}
.ab-site .wh-hero .wh-intro{margin:18px 0 0;max-width:62ch;color:var(--ab-text,#4e5666);font-size:18px;line-height:1.65;text-align:left}
.ab-site .wh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px}
.ab-site .wh-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ab-red,#e50920);border-radius:30px;background:var(--ab-red,#e50920);color:#fff;font:650 14px/1.4 Heebo,Arial,sans-serif;text-decoration:none;text-align:center}
.ab-site .wh-button:hover{background:#bd071a;border-color:#bd071a}
.ab-site .wh-button-secondary{background:#fff;color:#263143;border-color:#b9c4d1}
.ab-site .wh-button-secondary:hover{background:#f7f8fa;color:#101217;border-color:#687384}
.ab-site .wh-button .ab-icon,.ab-site .wh-extra-link .ab-icon{width:18px;height:18px;flex:none}
.ab-site .wh-extra-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:12px;color:#bd001a;font-size:14px;font-weight:650;line-height:1.45;text-decoration:none}
.ab-site .wh-extra-link:hover{text-decoration:underline;text-underline-offset:4px}
.ab-site .wh-hero a:focus-visible{outline:3px solid #8d1022;outline-offset:4px}
.ab-site .wh-highlights{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;padding:0;list-style:none}
.ab-site .wh-highlights li{display:flex;align-items:center;gap:7px;color:#364152;font-size:12px;line-height:1.5}
.ab-site .wh-highlights li>span{display:grid;place-items:center;width:18px;height:18px;flex:none;border-radius:50%;background:var(--ab-red,#e50920);color:#fff}
.ab-site .wh-highlights .ab-icon{width:12px;height:12px}
.ab-site.search-start-page .start-search-area{position:relative;z-index:8;padding-block:26px 0}

/* Justify long editorial paragraphs, with Dutch hyphenation from the document language. */
@media(min-width:801px){.ab-site .wh-hero .wh-intro{text-align:justify;text-align-last:start;hyphens:auto;overflow-wrap:break-word}.ab-site .cp-prose>p,.ab-site .ap-editorial-columns>p,.ab-site .ap-service-detail>p,.ab-site .ap-panel>p:not(.ap-eyebrow),.ab-site .ap-media-copy>p:not(.ap-eyebrow),.ab-site .ap-guidance>div>p:not(.ap-eyebrow){text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word}}
@media(max-width:1099px){.ab-site .wh-frame{min-height:0}.ab-site .wh-copy{padding-block:36px}.ab-site .wh-hero .wh-title{font-size:40px}.ab-site .wh-hero .wh-intro{font-size:17px}.ab-site .wh-actions{gap:10px}.ab-site .wh-button{padding-inline:18px}}
@media(max-width:800px){.ab-site .wh-frame{flex-direction:column;align-items:stretch}.ab-site .wh-copy,.ab-site .wh-hero:not(.wh-has-image) .wh-copy{width:100%;max-width:none;padding:32px 0}.ab-site .wh-photo{position:relative;inset:auto;width:100%;aspect-ratio:16/7;order:2}.ab-site .wh-photo::after{background:linear-gradient(0deg,#edf2f6 0%,transparent 18%)}.ab-site .wh-hero .wh-title{font-size:36px;max-width:24ch}.ab-site .wh-hero .wh-intro{font-size:17px;max-width:70ch}.ab-site .wh-highlights{gap:9px 18px}.ab-site .cp-prose>p,.ab-site .ap-editorial-columns>p,.ab-site .ap-service-detail>p,.ab-site .ap-panel>p:not(.ap-eyebrow),.ab-site .ap-media-copy>p:not(.ap-eyebrow),.ab-site .ap-guidance>div>p:not(.ap-eyebrow){text-align:left;hyphens:manual}.ab-site.search-start-page .start-search-area{padding-top:22px}}
@media(max-width:600px){.ab-site .wh-copy{padding-block:28px}.ab-site .wh-hero .wh-title{font-size:32px;line-height:1.17;text-wrap:initial}.ab-site .wh-hero .wh-intro{font-size:16px;margin-top:16px}.ab-site .wh-actions{align-items:stretch;flex-direction:column;margin-top:20px}.ab-site .wh-button{width:100%}.ab-site .wh-highlights{flex-direction:column;margin-top:18px}.ab-site .wh-photo{aspect-ratio:16/8}.ab-site.search-start-page .start-search-area{padding-top:20px}}
@media print{.ab-site .wh-photo{display:none}.ab-site .wh-frame{min-height:0}.ab-site .wh-copy{width:100%;padding-block:24px}}

/* Editorial content shares the same panels and spacing as the audience pages. */
.ab-site.editorial-page .cp-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-block:32px 52px}
.ab-site.editorial-page .cp-content>.cp-text{margin:0;max-width:none;min-width:0;padding:30px 32px;background:#fff;border:1px solid var(--ab-line);border-radius:16px}
.ab-site.editorial-page .cp-content>.cp-text:nth-child(3),.ab-site.editorial-page .cp-content>.cp-card-grid,.ab-site.editorial-page .cp-content>.cp-cta{grid-column:1/-1}
.ab-site.editorial-page .cp-content>.cp-text:nth-child(3){padding-bottom:0;background:transparent;border:0;padding-inline:0}
.ab-site.editorial-page .cp-content>.cp-card-grid{margin:0}
.ab-site.editorial-page .cp-content>.cp-cta{margin-top:0}
@media(max-width:800px){.ab-site.editorial-page .cp-content{grid-template-columns:1fr;gap:20px;padding-block:24px 36px}.ab-site.editorial-page .cp-content>.cp-text{padding:24px}.ab-site.editorial-page .cp-content>.cp-cta{align-items:flex-start}}

/* Patch 28B3: justify vacancy teaser copy only; headings and metadata keep their alignment. */
@media(min-width:801px){.ab-site.home-page .hp-vacancy-copy>p,.ab-site.search-start-page .start-summary{text-align:justify;text-align-last:start;hyphens:auto;overflow-wrap:break-word}}

/* Patch 28B4: word spaces first; conservative automatic hyphenation when supported.
   Older browsers disable automatic hyphenation; emergency overflow wrapping remains. Titles, lists, metadata and forms are excluded. */
@media(min-width:801px){
.ab-site .wh-hero .wh-intro,.ab-site .cp-prose>p,.ab-site .ap-editorial-columns>p,.ab-site .ap-service-detail>p,.ab-site .ap-panel>p:not(.ap-eyebrow),.ab-site .ap-media-copy>p:not(.ap-eyebrow),.ab-site .ap-guidance>div>p:not(.ap-eyebrow),.ab-site.home-page .hp-prose p,.ab-site.home-page .hp-route>p,.ab-site.home-page .hp-section-intro>p:not(.hp-eyebrow),.ab-site.home-page .hp-benefits article>p,.ab-site.home-page .hp-steps li>p,.ab-site.home-page .hp-final>div:first-child>p,.ab-site.home-page .hp-vacancy-copy>p,.ab-site.search-start-page .start-summary,.ab-site.vacancy-detail-page .vd-teaser,.ab-site.vacancy-detail-page .vd-prose>p{text-align:justify;text-align-last:start;text-justify:inter-word;letter-spacing:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;hyphenate-limit-chars:12 5 4}
@supports(hyphenate-limit-chars:12 5 4){
.ab-site .wh-hero .wh-intro,.ab-site .cp-prose>p,.ab-site .ap-editorial-columns>p,.ab-site .ap-service-detail>p,.ab-site .ap-panel>p:not(.ap-eyebrow),.ab-site .ap-media-copy>p:not(.ap-eyebrow),.ab-site .ap-guidance>div>p:not(.ap-eyebrow),.ab-site.home-page .hp-prose p,.ab-site.home-page .hp-route>p,.ab-site.home-page .hp-section-intro>p:not(.hp-eyebrow),.ab-site.home-page .hp-benefits article>p,.ab-site.home-page .hp-steps li>p,.ab-site.home-page .hp-final>div:first-child>p,.ab-site.home-page .hp-vacancy-copy>p,.ab-site.search-start-page .start-summary,.ab-site.vacancy-detail-page .vd-teaser,.ab-site.vacancy-detail-page .vd-prose>p{-webkit-hyphens:auto;hyphens:auto}
}
}

/* Patch 28B5: professional benefits, journey and work-card descriptions only. */
@media(min-width:801px){
.ab-site.audience-voor-professionals .ap-benefit p,.ab-site.audience-voor-professionals .ap-journey p,.ab-site.audience-voor-professionals .ap-card-body>p,.ab-site.audience-voor-professionals .ap-section-heading>p:not(.ap-eyebrow),.ab-site.audience-voor-professionals .ap-final-cta>div>p{text-align:justify;text-align-last:start;text-justify:inter-word;letter-spacing:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;hyphenate-limit-chars:12 5 4}
@supports(hyphenate-limit-chars:12 5 4){
.ab-site.audience-voor-professionals .ap-benefit p,.ab-site.audience-voor-professionals .ap-journey p,.ab-site.audience-voor-professionals .ap-card-body>p,.ab-site.audience-voor-professionals .ap-section-heading>p:not(.ap-eyebrow),.ab-site.audience-voor-professionals .ap-final-cta>div>p{-webkit-hyphens:auto;hyphens:auto}
}
}

/* Patch 28B6: employer service descriptions and equal desktop card tracks. */
@media(min-width:801px){
.ab-site.audience-voor-opdrachtgevers .ap-service-card>p,.ab-site.audience-voor-opdrachtgevers .ap-service-detail>p:not(.ap-shared-note),.ab-site.audience-voor-opdrachtgevers .ap-section-heading>p:not(.ap-eyebrow){text-align:justify;text-align-last:start;text-justify:inter-word;letter-spacing:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;hyphenate-limit-chars:12 5 4}
@supports(hyphenate-limit-chars:12 5 4){
.ab-site.audience-voor-opdrachtgevers .ap-service-card>p,.ab-site.audience-voor-opdrachtgevers .ap-service-detail>p:not(.ap-shared-note),.ab-site.audience-voor-opdrachtgevers .ap-section-heading>p:not(.ap-eyebrow){-webkit-hyphens:auto;hyphens:auto}
}
}
@media screen and (min-width:1101px){
.ab-site.audience-voor-opdrachtgevers .ap-services{align-items:stretch;grid-auto-rows:1fr}
.ab-site.audience-voor-opdrachtgevers .ap-services>.ap-service-card{height:100%}
.ab-site.audience-voor-opdrachtgevers .ap-services>.ap-service-card>p:last-of-type{margin-bottom:16px}
.ab-site.audience-voor-opdrachtgevers .ap-services>.ap-service-card>details{margin-top:auto}
.ab-site.audience-voor-opdrachtgevers .ap-services>.ap-service-card>.ap-text-link{margin-top:12px}
}
