/* Buyer-first service entry points; no additional JavaScript or font requests. */
.service-first-grid { align-items: stretch; }
.service-first-card { display:flex; flex-direction:column; gap:14px; }
.service-first-card .card__title { margin:0; }
.service-first-card .card__desc { margin:0; }
.service-first-links { margin-top:auto; padding-top:12px; display:flex; flex-direction:column; gap:12px; }
.service-first-links a { font-weight:600; text-underline-offset:4px; line-height:1.5; }
.service-first-links a:hover { text-decoration:underline; }
.service-first-next { margin-top:32px; text-align:center; }
.service-first-next p { margin-bottom:16px; }
.service-first-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.service-first-hero-actions a { color:#f3f9ff; border:1px solid #6c9ecb; background:rgba(255,255,255,.06); padding:12px 16px; border-radius:10px; font-weight:600; line-height:1.5; transition:background .2s ease,border-color .2s ease; }
.service-first-hero-actions a:hover { background:rgba(255,255,255,.16); border-color:#b5ddff; }
.service-first-hero-actions a:focus-visible,.service-first-links a:focus-visible { outline:3px solid #67c9ff; outline-offset:4px; }
.hero__title { font-size:clamp(2.1rem,4vw,3.6rem); line-height:1.18; }
.page-hero__title { font-size:clamp(2rem,4vw,3.5rem); line-height:1.2; }
@media(max-width:700px) {
 /* In-flow enquiry links remain available without covering the mobile copy. */
 .floating-hire-cta.p0-header-cta { display:none; }
 .service-first-hero-actions { flex-direction:column; align-items:stretch; }
 .service-first-hero-actions a { width:100%; }
 .service-first-card { padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .service-first-hero-actions a { transition:none; } }
/* Role families are readable content, not a wall of keyword badges. */
.role-summary { margin:0; display:grid; gap:13px; }
.role-summary > div { border-top:1px solid rgba(100,116,139,.2); padding-top:12px; }
.role-summary dt { color:var(--accent,#2563eb); font-weight:700; font-size:.88rem; margin-bottom:4px; }
.role-summary dd { margin:0; font-size:.94rem; line-height:1.65; overflow-wrap:anywhere; }
.role-market-note { margin:0; color:var(--muted,#53657b); font-size:.86rem; line-height:1.6; }
.role-detail { margin:24px 0 40px; scroll-margin-top:110px; }
.role-detail > h3 { font-size:clamp(1.4rem,2.3vw,2rem); line-height:1.35; margin:0 0 14px; }
.role-detail > .section-sub { margin:0 0 28px; max-width:100%; }
.role-detail-card { display:flex; flex-direction:column; gap:16px; }
.role-detail-card h4 { font-size:1.15rem; line-height:1.5; margin:0; }
.role-detail-card ul { margin:0; padding-left:20px; }
.role-detail-card li { margin:0 0 10px; line-height:1.7; }
.role-detail-card p { margin:0; line-height:1.75; }
.role-detail-card .role-scenario { margin-top:auto; border-top:1px solid rgba(100,116,139,.2); padding-top:16px; }
.role-evidence { margin-top:auto; padding-top:16px; border-top:1px solid rgba(100,116,139,.2); }
.role-evidence summary { font-weight:600; cursor:pointer; line-height:1.6; }
.role-evidence p { padding:12px 0; font-size:.9rem; }
.role-brief { display:flex; align-items:center; flex-wrap:wrap; gap:20px; padding:24px 0 0; }
.role-brief p { flex:1 1 420px; margin:0; line-height:1.75; }
@media(max-width:700px) {
 .role-detail-card { padding:24px; }
 .role-brief p { flex-basis:100%; }
 .role-brief .btn { max-width:100%; white-space:normal; text-align:center; }
}
