/* Lightweight service card system. No service thumbnails or card JavaScript required. */
.featured-services-section .section-title{max-width:920px;margin-inline:auto}
.service-section-lead{max-width:780px;margin:18px auto 0;color:var(--text);font-size:16px;line-height:1.8;text-wrap:balance}
.home-page .featured-services-section{background:transparent!important}
.service-page-list{background:transparent!important}
.service-icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:42px}
.service-icon-card{display:flex;min-width:0;min-height:310px;flex-direction:column;padding:26px;border:1px solid color-mix(in srgb,var(--header) 11%,transparent);border-radius:20px;background:color-mix(in srgb,var(--body) 94%,var(--theme) 6%);box-shadow:0 10px 34px rgba(13,20,16,.055);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.service-icon-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--theme) 70%,transparent);box-shadow:0 16px 42px rgba(13,20,16,.09)}
.service-icon-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:25px}
.service-card-icon-wrap{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border:1px solid color-mix(in srgb,var(--theme) 24%,transparent);border-radius:15px;background:color-mix(in srgb,var(--theme) 10%,var(--body));color:var(--theme)}
.service-card-icon{display:block;width:29px;height:29px}
.service-card-category{display:inline-flex;align-items:center;min-height:27px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--header) 9%,transparent);border-radius:999px;background:color-mix(in srgb,var(--body) 96%,var(--header) 4%);color:var(--text);font:800 10px/1.2 Manrope,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.service-icon-card h3{margin:0 0 13px;font-size:clamp(21px,1.55vw,25px);font-weight:800;line-height:1.28;letter-spacing:-.02em;text-transform:none}
.service-icon-card h3 a{color:var(--header);text-decoration:none}
.service-icon-card h3 a:hover{color:var(--theme)}
.service-icon-card>p{margin:0 0 24px;color:var(--text);font-size:14px;line-height:1.72}
.service-card-link{display:inline-flex;align-items:center;gap:9px;width:max-content;margin-top:auto;color:var(--theme);font-size:13px;font-weight:800;line-height:1.4;text-decoration:none}
.service-card-link span{font-size:17px;line-height:1;transition:transform .2s ease}
.service-card-link:hover{color:var(--header)}
.service-card-link:hover span{transform:translate(2px,-2px)}
.service-icon-card :is(a):focus-visible{outline:3px solid var(--theme);outline-offset:4px;border-radius:4px}
html[data-theme="dark"] .service-icon-card{border-color:rgba(255,255,255,.10);background:color-mix(in srgb,var(--body) 88%,var(--theme) 12%);box-shadow:none}
html[data-theme="dark"] .service-card-category{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.045)}
html[data-theme="dark"] .service-card-icon-wrap{border-color:rgba(81,233,140,.22);background:rgba(81,233,140,.08)}
@media(max-width:991px){.service-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-icon-card{min-height:290px}}
@media(max-width:767px){.service-icon-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.service-icon-card{min-height:0;padding:23px}.service-icon-card-top{margin-bottom:21px}.service-card-icon-wrap{width:54px;height:54px;flex-basis:54px}.service-card-icon{width:27px;height:27px}.service-section-lead{font-size:14px}}

/* Career journey timeline for the homepage. */
.career-journey-section .section-title{max-width:760px;margin-inline:auto}
.journey-intro{max-width:660px;margin:16px auto 0;color:#bbbcbc;font-size:15px;line-height:1.75;text-wrap:balance}
.career-journey{position:relative;max-width:980px;margin:44px auto 0;padding:0;list-style:none}
.career-journey::before{content:"";position:absolute;left:214px;top:12px;bottom:12px;width:1px;background:linear-gradient(180deg,var(--theme),rgba(81,233,140,.18))}
.career-journey-item{position:relative;display:grid;grid-template-columns:180px 68px minmax(0,1fr);align-items:center;margin:0 0 18px}
.career-journey-item:last-child{margin-bottom:0}
.journey-date{display:flex;flex-direction:column;align-items:flex-end;padding-right:10px;color:#bbbcbc;font-size:12px;font-weight:700;line-height:1.45;text-transform:uppercase;letter-spacing:.05em}
.journey-date strong{color:var(--white);font-size:15px;font-weight:800;text-transform:none;letter-spacing:0}
.journey-marker{position:relative;z-index:2;display:block;width:15px;height:15px;margin:auto;border:4px solid #1b1d1f;border-radius:50%;background:var(--theme);box-shadow:0 0 0 5px rgba(81,233,140,.12)}
.journey-card{position:relative;padding:22px 24px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.035);transition:border-color .2s ease,background .2s ease,transform .2s ease}
.journey-card:hover{transform:translateX(3px);border-color:rgba(81,233,140,.35);background:rgba(81,233,140,.055)}
.journey-type{display:inline-flex;margin-bottom:10px;color:var(--theme);font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.11em}
.journey-card h3{margin:0 0 5px;color:var(--white);font-size:23px;font-weight:800;line-height:1.25;text-transform:none}
.journey-card p{margin:0;color:#bbbcbc;font-size:15px;font-weight:650}
.career-journey-item.is-current .journey-card{border-color:rgba(81,233,140,.25);background:linear-gradient(135deg,rgba(81,233,140,.08),rgba(255,255,255,.025))}
@media(max-width:767px){.career-journey{margin-top:34px}.career-journey::before{left:10px}.career-journey-item{grid-template-columns:34px minmax(0,1fr);align-items:start;margin-bottom:20px}.journey-date{grid-column:2;grid-row:1;align-items:flex-start;padding:0 0 9px}.journey-date span,.journey-date strong{display:inline}.journey-marker{grid-column:1;grid-row:1/3;margin:4px 0 0 3px}.journey-card{grid-column:2;grid-row:2;padding:20px}.journey-card h3{font-size:20px}}


/* Finalized branded service cards and restored home dark service band */
.home-page .featured-services-section{background:#1b1d1f!important}
.home-page .featured-services-section .section-title h2,.home-page .featured-services-section .section-title h2 span{color:#fff}
.home-page .featured-services-section .section-title>span{color:var(--theme)}
.home-page .featured-services-section .service-section-lead{color:#bbbcbc}
.service-card-icon-wrap{width:64px;height:64px;flex-basis:64px;border:1px solid rgba(17,19,19,.08);border-radius:16px;background:#fff;overflow:hidden}
.service-card-logo{display:block;width:42px;height:42px;object-fit:contain}
.service-card-fallback{color:var(--theme);font-size:26px;font-weight:800}
.service-icon-card{min-height:300px}
.service-icon-card-top{align-items:center}
html[data-theme="dark"] .service-card-icon-wrap{border-color:rgba(255,255,255,.10);background:#fff}
@media(max-width:767px){.service-card-icon-wrap{width:58px;height:58px;flex-basis:58px}.service-card-logo{width:38px;height:38px}}

/* Horizontal career journey: earliest on the left, current role on the right */
.career-journey-section .section-title{max-width:780px;margin-inline:auto}
.journey-intro{max-width:700px;margin:16px auto 0;color:#bbbcbc;font-size:15px;line-height:1.75;text-wrap:balance}
.career-journey{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;max-width:1120px;margin:50px auto 0;padding:0;list-style:none}
.career-journey::before{content:"";position:absolute;left:9%;right:9%;top:58px;height:2px;background:linear-gradient(90deg,rgba(81,233,140,.22),var(--theme));border-radius:999px}
.career-journey-item{position:relative;display:grid;grid-template-rows:auto 36px 1fr;grid-template-columns:1fr;align-items:start;margin:0;min-width:0}
.journey-date{grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:end;min-height:48px;padding:0 8px 8px;color:#bbbcbc;font-size:11px;font-weight:750;line-height:1.35;text-transform:uppercase;letter-spacing:.055em;text-align:center}
.journey-date strong{color:#fff;font-size:14px;font-weight:850;text-transform:none;letter-spacing:0}
.journey-marker{grid-row:2;position:relative;z-index:2;display:block;width:18px;height:18px;margin:4px auto 0;border:4px solid #1b1d1f;border-radius:50%;background:var(--theme);box-shadow:0 0 0 5px rgba(81,233,140,.14)}
.journey-card{grid-row:3;position:relative;min-height:154px;margin-top:12px;padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.035);text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.journey-card:hover{transform:translateY(-3px);border-color:rgba(81,233,140,.35);background:rgba(81,233,140,.055)}
.journey-type{display:inline-flex;margin-bottom:10px;color:var(--theme);font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.11em}
.journey-card h3{margin:0 0 6px;color:#fff;font-size:21px;font-weight:800;line-height:1.28;text-transform:none}
.journey-card p{margin:0;color:#bbbcbc;font-size:14px;font-weight:650;line-height:1.55}
.career-journey-item.is-current .journey-marker{box-shadow:0 0 0 7px rgba(81,233,140,.18),0 0 26px rgba(81,233,140,.22)}
.career-journey-item.is-current .journey-card{border-color:rgba(81,233,140,.36);background:linear-gradient(135deg,rgba(81,233,140,.10),rgba(255,255,255,.025))}
@media(max-width:991px) and (min-width:768px){.career-journey{gap:16px}.journey-card{padding:20px}.journey-card h3{font-size:18px}}
@media(max-width:767px){.career-journey{display:block;margin-top:34px;padding-left:34px}.career-journey::before{left:9px;right:auto;top:7px;bottom:7px;width:2px;height:auto;background:linear-gradient(180deg,rgba(81,233,140,.22),var(--theme))}.career-journey-item{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;margin:0 0 22px}.journey-date{display:flex;flex-direction:row;gap:7px;align-items:center;justify-content:flex-start;min-height:0;padding:0 0 9px;text-align:left}.journey-date strong{font-size:12px}.journey-marker{position:absolute;left:-32px;top:0;width:16px;height:16px;margin:0}.journey-card{min-height:0;margin:0;padding:20px}.journey-card h3{font-size:20px}}
