/* RPO SERVICE PAGE | Waytogo typography is inherited from talent-solutions.css */
.rpo-page {
    --rpo-navy: var(--wtg-navy-deep, #040b28);
    --rpo-blue: var(--wtg-navy, #0b1a62);
    --rpo-gold: var(--wtg-gold, #c6a15b);
    --rpo-muted: var(--wtg-text-secondary, #48536a);
    --rpo-ink: var(--wtg-heading, #0b1736);
    --rpo-soft: var(--wtg-blue-soft, #edf1f6);
    --rpo-line: var(--wtg-border, #d9dde6);
    --rpo-cream: var(--wtg-cream, #f5f2e9);
    font-family: var(--font-body, 'Arimo', Arial, sans-serif);
    color: var(--rpo-ink);
}
.rpo-page h1, .rpo-page h2, .rpo-page h3 {
    font-family: var(--font-display, 'Tinos', Georgia, serif);
    font-weight: 400;
    letter-spacing: -.025em;
}
.rpo-page .ts-shell { min-width: 0; }
.rpo-page .ts-button { min-height: 48px; }
.rpo-page a:focus-visible, .rpo-page summary:focus-visible {
    outline: 2px solid var(--rpo-gold);
    outline-offset: 4px;
}
.rpo-page section { width: 100%; }
.rpo-section { padding: 81px 0; }
.rpo-page h2 { margin: 0; font-size: clamp(35px, 3.15vw, 49px); line-height: 1.055; }
.rpo-page h2 em { font-weight: 400; }
.rpo-heading-row { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: 65px; align-items: end; margin-bottom: 33px; }
.rpo-heading-row > p { max-width: 470px; margin: 0 0 2px; color: var(--rpo-muted); font-size: 14px; line-height: 1.77; }

/* Two-column editorial hero, conceptual workflow only */
.rpo-hero { color: #fff; background: var(--rpo-navy); }
.rpo-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(35px, 4vw, 68px); align-items: center; padding: 51px 0 89px; }
.rpo-hero__content { min-width: 0; max-width: 720px; }
.rpo-hero h1 { margin: 0 0 25px; color: #fff; font-size: clamp(44px, 4.15vw, 65px); line-height: 1.01; }
.rpo-hero h1 em { color: #e8d8b9; }
.rpo-hero__description { max-width: 560px; margin: 0 0 28px; color: rgba(255,255,255,.77); font-size: 15px; line-height: 1.78; }
.rpo-visual { min-width: 0; padding: 25px; border: 1px solid rgba(255,255,255,.23); background: #0a1741; }
.rpo-visual__head { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding-bottom: 21px; border-bottom: 1px solid rgba(255,255,255,.16); color: #d9e0ee; text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.rpo-visual__mark { width: 13px; height: 13px; border: 1px solid var(--rpo-gold); transform: rotate(45deg); }
.rpo-visual__statement { max-width: 340px; margin: 23px 0 17px; font-family: var(--font-display); font-size: clamp(27px,2.35vw,39px); line-height: 1.07; letter-spacing: -.025em; }
.rpo-visual__flow { border-top: 1px solid rgba(255,255,255,.12); }
.rpo-visual__stage { display: grid; grid-template-columns: 18px minmax(0, 1fr) minmax(80px,.8fr); column-gap: 10px; align-items: center; min-height: 64px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.rpo-visual__dot { width: 9px; height: 9px; border: 1px solid #dcbf80; background: #c6a15b; transform: rotate(45deg); }
.rpo-visual__stage > span:nth-child(2) { color: #fff; font-size: 12px; font-weight: 700; line-height: 1.5; }
.rpo-visual__stage small { color: #aab8d4; font-size: 10px; line-height: 1.6; }
.rpo-visual__foot { padding-top: 17px; font-size: 10px; color: #8b9ab9; line-height: 1.55; }

/* Business context */
.rpo-intro { background: #fff; }
.rpo-intro__grid { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); gap: 75px; align-items: start; }
.rpo-intro__grid > div:last-child > p { margin: 0 0 17px; font-size: 15px; line-height: 1.82; color: var(--rpo-muted); }
.rpo-text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; margin-top: 9px; font-size: 12px; font-weight: 700; color: var(--rpo-blue); }
.rpo-text-link span { font-size: 17px; color: var(--rpo-gold); }

/* Capabilities: calm three-column editorial cards */
.rpo-capabilities { background: var(--rpo-soft); }
.rpo-capability-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.rpo-capability-card { min-width: 0; min-height: 216px; padding: 27px 25px; background: #fff; border: 1px solid #dbe1ea; border-top: 2px solid #d7c29b; transition: transform .22s ease, box-shadow .22s ease; }
.rpo-capability-card:hover { transform: translateY(-3px); box-shadow: 0 17px 36px rgba(4,11,40,.07); }
.rpo-capability-card__mark { display: block; width: 23px; height: 23px; position: relative; margin-bottom: 23px; border: 1px solid var(--rpo-blue); }
.rpo-capability-card__mark::after { content: ''; position: absolute; left: 7px; top: 7px; width: 7px; height: 7px; background: var(--rpo-gold); }
.rpo-capability-card h3 { font-size: 24px; line-height: 1.11; margin: 0 0 12px; }
.rpo-capability-card p { color: var(--rpo-muted); font-size: 13px; line-height: 1.73; margin: 0; }

/* Engagement model cards */
.rpo-models { background: white; scroll-margin-top: 95px; }
.rpo-model-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.rpo-model-card { display: flex; flex-direction: column; min-width: 0; min-height: 310px; padding: 26px 23px; border: 1px solid #dbe1ea; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.rpo-model-card:hover { border-color: var(--rpo-gold); box-shadow: 0 12px 32px rgba(4,11,40,.06); }
.rpo-model-card__tag { margin: 0 0 28px; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #64738c; }
.rpo-model-card h3 { font-size: 28px; line-height: 1.07; margin: 0 0 15px; }
.rpo-model-card p { margin: 0; color: var(--rpo-muted); font-size: 13px; line-height: 1.72; }
.rpo-model-card > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; margin-top: auto; padding-top: 18px; color: var(--rpo-blue); font-size: 12px; font-weight: 700; }
.rpo-model-card > a span { color: var(--rpo-gold); font-size: 16px; }

/* Recruitment journey: no visible numbering */
.rpo-process { background: var(--rpo-navy); color: #fff; }
.rpo-heading-row--light h2 { color: #fff; }
.rpo-heading-row--light h2 em { color: #e8d8b9; }
.rpo-heading-row--light > p { color: rgba(255,255,255,.66); }
.rpo-process__steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 19px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.23); }
.rpo-process__step { position: relative; padding-top: 19px; }
.rpo-process__node { position: absolute; top: -34px; left: 0; width: 10px; height: 10px; border: 2px solid var(--rpo-navy); background: var(--rpo-gold); box-shadow: 0 0 0 1px var(--rpo-gold); border-radius: 50%; }
.rpo-process__step h3 { font-size: 24px; line-height: 1.1; color: #fff; margin: 0 0 10px; }
.rpo-process__step p { font-size: 12px; line-height: 1.71; margin: 0; color: #abb7d0; }

/* Reporting / monitorable recruitment measures */
.rpo-visibility { background: #fff; }
.rpo-visibility__grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 76px; align-items: start; }
.rpo-visibility__grid > div:first-child > p:last-child { max-width: 440px; margin: 18px 0 0; color: var(--rpo-muted); font-size: 14px; line-height: 1.75; }
.rpo-visibility__list { border-top: 1px solid var(--rpo-line); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.rpo-visibility__list > div { display: flex; align-items: center; gap: 13px; min-height: 65px; padding: 16px 8px; border-bottom: 1px solid var(--rpo-line); color: var(--rpo-ink); font-size: 13px; font-weight: 700; }
.rpo-visibility__list > div:nth-child(odd) { margin-right: 15px; }
.rpo-visibility__tick { display: block; width: 6px; height: 6px; flex: 0 0 6px; transform: rotate(45deg); background: #087c84; }

/* Use cases */
.rpo-use-cases { background: var(--rpo-cream); }
.rpo-use-cases__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.rpo-use-cases__grid article { padding: 25px 22px; border-top: 2px solid #cbb27f; background: rgba(255,255,255,.70); }
.rpo-use-cases__grid h3 { margin: 0 0 13px; font-size: 25px; line-height: 1.11; }
.rpo-use-cases__grid p { margin: 0; color: var(--rpo-muted); font-size: 13px; line-height: 1.7; }

/* Commercial explanation */
.rpo-commercials { padding: 56px 0; background: var(--rpo-soft); }
.rpo-commercials__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 72px; }
.rpo-commercials__grid > div:last-child p { margin: 0 0 15px; color: var(--rpo-muted); font-size: 14px; line-height: 1.75; }
.rpo-commercials__grid > div:last-child p:last-child { margin-bottom: 0; }

/* Related services */
.rpo-related { background: #fff; }
.rpo-related__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.rpo-related__grid > a { display: flex; flex-direction: column; min-width: 0; min-height: 237px; padding: 25px; border: 1px solid var(--rpo-line); transition: border-color .2s ease, transform .2s ease; }
.rpo-related__grid > a:hover { transform: translateY(-3px); border-color: var(--rpo-gold); }
.rpo-related__grid > a > span { display: block; color: #576986; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.rpo-related__grid h3 { font-size: 25px; line-height: 1.11; margin: 19px 0 11px; }
.rpo-related__grid p { color: var(--rpo-muted); font-size: 13px; line-height: 1.65; margin: 0 0 18px; }
.rpo-related__grid strong { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; color: var(--rpo-blue); font-size: 12px; font-weight: 700; }
.rpo-related__grid strong span { color: var(--rpo-gold); font-size: 17px; }

/* FAQs and conversion CTA inherit the overview's styles */
.rpo-faq { background: var(--rpo-soft); }
.rpo-faq__grid { display: grid; grid-template-columns: minmax(0,.74fr) minmax(0,1.26fr); gap: 78px; }
.rpo-cta { background: #07113f; }

@media (max-width: 1180px) {
    .rpo-hero__grid { gap: 36px; }
    .rpo-heading-row { gap: 37px; }
    .rpo-model-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rpo-capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rpo-visibility__grid, .rpo-intro__grid, .rpo-commercials__grid, .rpo-faq__grid { gap: 39px; }
}
@media (max-width: 1024px) {
    .rpo-section { padding: 67px 0; }
    .rpo-hero__grid { grid-template-columns: 1fr; padding: 44px 0 69px; }
    .rpo-hero__content { max-width: 760px; }
    .rpo-visual { width: min(100%,690px); }
    .rpo-heading-row, .rpo-intro__grid, .rpo-visibility__grid, .rpo-commercials__grid, .rpo-faq__grid { grid-template-columns: 1fr; gap: 25px; }
    .rpo-process__steps { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 30px; }
    .rpo-related__grid, .rpo-use-cases__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .rpo-section { padding: 53px 0; }
    .rpo-page h2 { font-size: clamp(32px, 8.2vw, 43px); }
    .rpo-hero__grid { padding: 34px 0 57px; gap: 33px; }
    .rpo-hero h1 { font-size: clamp(37px, 9vw, 51px); line-height: 1.01; }
    .rpo-hero__description { font-size: 14px; line-height: 1.73; }
    .rpo-visual { padding: 19px; }
    .rpo-visual__stage { grid-template-columns: 16px 1fr; gap: 4px 9px; min-height: 62px; }
    .rpo-visual__stage small { grid-column: 2; }
    .rpo-heading-row { margin-bottom: 26px; }
    .rpo-capability-grid, .rpo-model-grid, .rpo-related__grid, .rpo-use-cases__grid { grid-template-columns: minmax(0,1fr); gap: 13px; }
    .rpo-capability-card { min-height: auto; padding: 24px; }
    .rpo-model-card { min-height: 255px; }
    .rpo-process__steps { grid-template-columns: 1fr; gap: 0; border-top: 0; padding-top: 0; }
    .rpo-process__step { min-height: 74px; border-left: 1px solid rgba(255,255,255,.26); padding: 13px 0 20px 26px; }
    .rpo-process__node { top: 21px; left: -5px; }
    .rpo-process__step h3 { font-size: 22px; }
    .rpo-visibility__list { grid-template-columns: 1fr; }
    .rpo-visibility__list > div:nth-child(odd) { margin-right: 0; }
    .rpo-commercials { padding: 43px 0; }
    .rpo-faq__grid { gap: 23px; }
}
@media (prefers-reduced-motion: reduce) {
    .rpo-page *, .rpo-page *::before, .rpo-page *::after { transition: none !important; }
}
