.services-page {
    overflow:hidden;
    color:#10213d;
    background:#f7fbf8;
}
.services-page-shell {
    width:min(1320px,calc(100% - 48px));
    margin:0 auto;
}
.services-page-hero {
    position:relative;
    min-height:clamp(430px,38vw,610px);
    overflow:hidden;
    background:#063b35 url('../assets/backgroundservices.png') center/cover no-repeat;
    isolation:isolate;
}
.services-page-hero::before {
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(105deg,rgba(1,48,42,.98) 0%,rgba(0,88,59,.9) 52%,rgba(0,120,62,.48) 100%);
    content:'';
}
.services-page-hero::after {
    position:absolute;
    right:-12%;
    bottom:-42%;
    width:68%;
    height:105%;
    border:1px solid rgba(126,241,104,.3);
    border-radius:50%;
    box-shadow:0 0 0 30px rgba(126,241,104,.08),0 0 0 62px rgba(126,241,104,.05);
    content:'';
    transform:rotate(-12deg);
}
.services-page-hero-glow {
    position:absolute;
    top:-30%;
    right:18%;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(116,239,89,.18);
    filter:blur(5px);
}
.services-page-hero-inner {
    position:relative;
    display:flex;
    min-height:inherit;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding-top:clamp(78px,8vw,118px);
    padding-bottom:clamp(64px,7vw,100px);
}
.services-page-hero-copy { max-width:820px; }
.services-page-eyebrow {
    display:flex;
    align-items:center;
    gap:16px;
    margin:0 0 24px;
    color:#55e17a;
    font-size:clamp(.74rem,1vw,1rem);
    font-weight:800;
    letter-spacing:.28em;
    text-transform:uppercase;
}
.services-page-eyebrow span {
    display:inline-block;
    width:44px;
    height:3px;
    flex:0 0 auto;
    background:currentColor;
}
.services-page-hero h1 {
    max-width:780px;
    margin:0;
    color:#fff;
    font-family:var(--heading-font);
    font-size:clamp(2.35rem,3.7vw,4.25rem);
    font-weight:800;
    letter-spacing:-.065em;
    line-height:1.02;
}
.services-page-hero-copy > p:last-child {
    max-width:700px;
    margin:28px 0 0;
    color:rgba(255,255,255,.82);
    font-size:clamp(1rem,1.35vw,1.28rem);
    line-height:1.6;
}
.services-page-hero-mark {
    display:flex;
    width:142px;
    height:142px;
    flex:0 0 auto;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid rgba(133,240,121,.45);
    border-radius:50%;
    color:#b9f6a8;
    text-align:center;
}
.services-page-hero-mark i { font-size:1.45rem; }
.services-page-hero-mark span { font-size:.78rem; line-height:1.3; }
.services-page-list {
    position:relative;
    isolation:isolate;
    padding:clamp(78px,8vw,122px) 0 clamp(90px,9vw,138px);
    background:#f8fcf9;
}
.services-page-list::before {
    position:absolute;
    z-index:-1;
    inset:0;
    background:url('../assets/backgroundservices.png') center top / min(100%, 1991px) auto no-repeat;
    content:'';
    opacity:.62;
    pointer-events:none;
}
.services-page-intro { max-width:720px; margin-bottom:clamp(58px,6vw,88px); }
.services-page-eyebrow-dark { color:#138d45; }
.services-page-intro h2,
.services-page-group-heading h2 {
    margin:0;
    color:#10213d;
    font-family:var(--heading-font);
    font-size:clamp(2.2rem,4vw,4.4rem);
    letter-spacing:-.055em;
    line-height:1.04;
}
.services-page-intro > p:last-child {
    max-width:680px;
    margin:22px 0 0;
    color:#5b6c7a;
    font-size:clamp(1rem,1.18vw,1.18rem);
    line-height:1.65;
}
.services-page-group + .services-page-group { margin-top:clamp(78px,9vw,132px); }
.services-page-group-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:30px;
    padding-bottom:22px;
    border-bottom:1px solid rgba(19,141,69,.2);
}
.services-page-group-heading .services-page-eyebrow { margin-bottom:15px; }
.services-page-group-heading h2 { font-size:clamp(2rem,3.1vw,3.5rem); }
.services-page-group-heading > p {
    max-width:470px;
    margin:0;
    color:#5b6c7a;
    font-size:1.02rem;
    line-height:1.55;
    text-align:right;
}
.services-page-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.service-detail-card {
    position:relative;
    display:flex;
    min-height:282px;
    flex-direction:column;
    padding:28px 28px 25px;
    overflow:hidden;
    border:1px solid rgba(157,196,174,.5);
    border-radius:22px;
    background:rgba(255,255,255,.9);
    box-shadow:0 15px 36px rgba(27,89,52,.08);
    transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);
}
.service-detail-card::after {
    position:absolute;
    right:-42px;
    bottom:-52px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:#2bb85a;
    content:'';
    opacity:.06;
}
.service-detail-card:hover {
    border-color:rgba(19,141,69,.45);
    box-shadow:0 22px 44px rgba(27,89,52,.15);
    transform:translateY(-6px);
}
.service-detail-card-top { display:flex; align-items:center; justify-content:space-between; }
.service-detail-icon {
    display:grid;
    width:58px;
    height:58px;
    place-items:center;
    border-radius:18px;
    color:#fff;
    font-size:1.4rem;
}
.service-detail-icon-green { background:#1da34e; }
.service-detail-icon-blue { background:#2579e7; }
.service-detail-icon-orange { background:#ee9b1b; }
.service-detail-icon-purple { background:#7544d8; }
.service-detail-icon-red { background:#dc5552; }
.service-detail-icon-teal { background:#12a990; }
.service-detail-number { color:#8ba695; font-size:.82rem; font-weight:800; letter-spacing:.14em; }
.service-detail-card h3 { width:100%; max-width:400px; margin:24px 0 10px; color:#10213d; font-family:var(--heading-font); font-size:clamp(1.2rem,1.45vw,1.55rem); line-height:1.15; }
.service-detail-card > p { width:100%; max-width:400px; margin:0; color:#63717b; font-size:.98rem; line-height:1.55; }
.service-detail-link { display:inline-flex; align-items:center; gap:10px; width:max-content; margin-top:auto; padding-top:22px; color:#087d37; font-size:.92rem; font-weight:800; text-decoration:none; }
.service-detail-link i { transition:transform var(--ease); }
.service-detail-card:hover .service-detail-link i { transform:translateX(5px); }
.services-page-cta {
    padding:clamp(58px,6vw,86px) 0;
    color:#fff;
    background:#063b35 url('../assets/mainbackground.png') center/cover no-repeat;
}
.services-page-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.services-page-cta h2 { margin:0; color:#fff; font-family:var(--heading-font); font-size:clamp(2rem,3.2vw,3.6rem); letter-spacing:-.05em; line-height:1.05; }
.services-page-cta p:last-child { max-width:630px; margin:16px 0 0; color:rgba(255,255,255,.78); font-size:1.05rem; line-height:1.55; }
.services-page-cta-button { display:inline-flex; align-items:center; gap:20px; flex:0 0 auto; padding:16px 22px; border-radius:12px; background:#40d831; color:#073b32; font-weight:800; text-decoration:none; transition:transform var(--ease),background var(--ease); }
.services-page-cta-button:hover { background:#71ee51; transform:translateY(-3px); }

@media (max-width:900px) {
    .services-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .services-page-hero-mark { width:112px; height:112px; }
}
@media (max-width:760px) {
    .services-page-shell { width:calc(100% - 40px); }
    .services-page-hero-inner { display:block; padding-top:112px; }
    .services-page-hero-mark { margin-top:38px; }
    .services-page-group-heading,
    .services-page-cta-inner { display:block; }
    .services-page-group-heading > p { max-width:620px; margin-top:18px; text-align:left; }
    .services-page-grid { grid-template-columns:1fr; }
    .service-detail-card { min-height:245px; }
    .services-page-cta-button { margin-top:28px; }
}
@media (min-width:761px) and (max-width:1100px) {
    .academy-courses-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Individual service detail pages. */
.service-detail-page { background:#f7fbf8; color:#10213d; }
.service-detail-hero {
    position:relative;
    overflow:hidden;
    padding:clamp(58px,7vw,100px) 0;
    color:#fff;
    background:#063b35 url('../assets/backgroundservices.png') center/cover no-repeat;
}
.service-detail-hero::before {
    position:absolute;
    inset:0;
    background:linear-gradient(105deg,rgba(2,48,48,.97),rgba(3,88,67,.82) 62%,rgba(30,135,73,.55));
    content:'';
}
.service-detail-hero-inner { position:relative; display:flex; align-items:center; justify-content:space-between; gap:44px; }
.service-detail-back { display:inline-flex; align-items:center; gap:9px; margin-bottom:34px; color:#b7f1b2; font-size:.92rem; font-weight:700; text-decoration:none; }
.service-detail-back:hover { color:#fff; }
.service-detail-hero h1 { max-width:800px; margin:15px 0 16px; color:#fff; font-family:var(--heading-font); font-size:clamp(2.8rem,6vw,5.8rem); letter-spacing:-.065em; line-height:1; }
.service-detail-hero p:last-child { max-width:720px; margin:0; color:rgba(255,255,255,.82); font-size:clamp(1.05rem,1.35vw,1.3rem); line-height:1.6; }
.service-detail-hero-icon { display:grid; width:132px; height:132px; flex:0 0 auto; place-items:center; border-radius:34px; color:#fff; font-size:3.1rem; box-shadow:0 18px 36px rgba(0,0,0,.18); }
.service-detail-content { padding:clamp(68px,8vw,112px) 0; background:#fff; }
.service-detail-content-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:start; gap:75px; }
.service-detail-copy h2 { max-width:700px; margin:15px 0 28px; color:#10213d; font-family:var(--heading-font); font-size:clamp(2rem,3.4vw,3.7rem); letter-spacing:-.06em; line-height:1.05; }
.service-detail-copy > p:not(.services-page-eyebrow) { max-width:880px; margin:0 0 25px; color:#526b79; font-size:clamp(1rem,1.15vw,1.16rem); line-height:1.75; text-align:justify; text-justify:inter-word; }
.service-detail-list { display:grid; gap:12px; margin:0 0 28px; padding:0; list-style:none; color:#526b79; font-size:clamp(1rem,1.1vw,1.1rem); line-height:1.55; }
.service-detail-list li { position:relative; padding-left:27px; }
.service-detail-list li::before { position:absolute; top:.65em; left:0; width:9px; height:9px; border-radius:50%; background:#25a552; content:''; }
.service-detail-outcomes-section { position:relative; overflow:hidden; padding:clamp(64px,7vw,104px) 0; background:#fff; }
.service-detail-outcomes-section::after { position:absolute; right:-8%; bottom:-22%; width:48%; height:42%; border-radius:50%; background:linear-gradient(145deg,rgba(157,235,116,.38),rgba(0,133,65,.18)); content:''; transform:rotate(-12deg); }
.service-detail-outcomes { position:relative; z-index:1; padding:0; color:#10213d; }
.service-detail-outcomes-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:38px; }
.service-detail-outcomes .services-page-eyebrow { margin-bottom:14px; color:#137b34; }
.service-detail-outcomes .services-page-eyebrow span { background:#137b34; }
.service-detail-outcomes h2 { margin:0; color:#10213d; font-family:var(--heading-font); font-size:clamp(2.5rem,4.5vw,5rem); letter-spacing:-.075em; line-height:1; }
.service-detail-outcomes h2 em { color:#168b35; font-style:normal; }
.service-detail-outcomes-intro { display:flex; align-items:center; max-width:560px; gap:24px; padding-left:26px; border-left:2px solid #7d8b93; }
.service-detail-outcomes-intro > span { display:grid; width:72px; height:72px; flex:0 0 72px; place-items:center; border-radius:50%; background:#e9f8df; color:#4aa92f; font-size:2.5rem; }
.service-detail-outcomes-intro p { margin:0; color:#526172; font-size:clamp(1rem,1.25vw,1.25rem); font-weight:600; line-height:1.35; }
.service-detail-outcome-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 28px; }
.service-detail-outcome-item { display:flex; align-items:stretch; min-height:142px; overflow:hidden; padding:0; border:1px solid #d5dedc; border-radius:22px; background:#fff; color:#10213d; box-shadow:0 14px 30px rgba(9,73,45,.13); }
.service-detail-outcome-item > span { position:relative; display:grid; width:178px; min-width:178px; place-items:center; background:linear-gradient(135deg,#119522,#00763b); color:#fff; font-size:2.65rem; clip-path:polygon(0 0,100% 0,82% 100%,0 100%); }
.service-detail-outcome-item > span::after { position:absolute; top:0; right:0; width:18px; height:100%; background:#8fe42c; content:''; clip-path:polygon(100% 0,100% 100%,0 100%); opacity:.95; }
.service-detail-outcome-item p { align-self:center; margin:0; padding:24px 28px 24px 14px; color:#4c5d6c; font-size:clamp(1rem,1.18vw,1.18rem); font-weight:600; line-height:1.38; }
.service-detail-aside { position:sticky; top:30px; padding:32px; border:1px solid #dcece1; border-radius:22px; background:#f5fbf6; box-shadow:0 18px 40px rgba(22,95,50,.08); }
.service-detail-aside-icon { display:grid; width:54px; height:54px; place-items:center; border-radius:16px; background:#1da34e; color:#fff; font-size:1.35rem; }
.service-detail-aside h3 { margin:22px 0 10px; color:#10213d; font-family:var(--heading-font); font-size:1.45rem; }
.service-detail-aside p { margin:0; color:#60747e; line-height:1.6; }
.service-detail-aside .services-page-cta-button { margin-top:24px; }
.academy-courses-section { padding:clamp(64px,8vw,108px) 0; background:#f2faf4; }
.academy-courses-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:34px; }
.academy-courses-heading h2 { max-width:740px; margin:14px 0 0; color:#10213d; font-family:var(--heading-font); font-size:clamp(2rem,3.6vw,3.65rem); letter-spacing:-.06em; line-height:1.05; }
.academy-courses-heading > p { max-width:410px; margin:0; color:#526b79; font-size:1.08rem; line-height:1.65; text-align:justify; }
.academy-courses-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,1.8vw,28px); }
.academy-course-card { overflow:hidden; height:100%; border:1px solid #d7e9dc; box-shadow:0 12px 28px rgba(18,78,42,.1); opacity:1; transform:none; animation:none !important; }
.academy-course-card .course-card-body { height:auto; }
.academy-courses-empty { display:flex; align-items:center; gap:16px; padding:28px 30px; border:1px dashed #9bc9aa; border-radius:18px; background:#fff; color:#526b79; }
.academy-courses-empty i { color:#159447; font-size:1.6rem; }
.academy-courses-empty p { margin:0; font-weight:600; }
.service-related-section { padding:clamp(64px,8vw,108px) 0; background:#fff; }
.service-related-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:30px; }
.service-related-heading h2 { margin:14px 0 0; color:#10213d; font-family:var(--heading-font); font-size:clamp(2rem,3.6vw,3.65rem); letter-spacing:-.06em; line-height:1.05; }
.service-related-heading h2 em { color:#168b35; font-style:normal; }
.service-related-view-all { display:inline-flex; align-items:center; gap:9px; color:#087d37; font-size:.92rem; font-weight:800; text-decoration:none; }
.service-related-view-all i { transition:transform var(--ease); }
.service-related-view-all:hover i { transform:translateX(5px); }
.service-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.service-related-card { position:relative; display:flex; min-height:220px; flex-direction:column; padding:25px; overflow:hidden; border:1px solid #d9e9df; border-radius:18px; background:#f7fbf8; color:#10213d; text-decoration:none; box-shadow:0 12px 28px rgba(27,89,52,.07); transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease); }
.service-related-card:hover { border-color:#8ccfa1; box-shadow:0 20px 38px rgba(27,89,52,.14); transform:translateY(-5px); }
.service-related-icon { display:grid; width:56px; height:56px; place-items:center; border-radius:16px; color:#fff; font-size:1.35rem; }
.service-related-card > div { margin-top:22px; }
.service-related-group { color:#138d45; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.service-related-card h3 { margin:8px 0 8px; font-family:var(--heading-font); font-size:1.3rem; line-height:1.2; }
.service-related-card p { margin:0; color:#63717b; line-height:1.5; }
.service-related-arrow { position:absolute; right:24px; bottom:25px; color:#087d37; transition:transform var(--ease); }
.service-related-card:hover .service-related-arrow { transform:translateX(5px); }
@media (max-width:760px) {
    .service-detail-hero-inner { display:block; }
    .service-detail-hero-icon { width:82px; height:82px; margin-top:38px; border-radius:23px; font-size:2rem; }
    .service-detail-content-grid { display:block; }
    .service-detail-aside { position:static; margin-top:44px; }
    .service-detail-outcomes { padding:25px 20px; }
    .service-detail-outcomes-heading { display:block; margin-bottom:28px; }
    .service-detail-outcomes-intro { margin-top:24px; padding:18px 0 0; border-top:1px solid #7d8b93; border-left:0; }
    .service-detail-outcome-grid { grid-template-columns:1fr; }
    .service-detail-outcome-item > span { width:104px; min-width:104px; font-size:2rem; }
    .service-detail-outcome-item p { padding:20px 18px 20px 8px; font-size:1rem; }
    .academy-courses-heading { display:block; }
    .academy-courses-heading > p { margin-top:18px; }
    .academy-courses-grid { grid-template-columns:1fr; }
    .academy-course-card .course-card-body { height:auto; }
    .service-related-heading { display:block; }
    .service-related-view-all { margin-top:18px; }
    .service-related-grid { grid-template-columns:1fr; }
}
