.jcr-service-page {
    --jcr-service-blue: #008ef5;
    --jcr-service-blue-dark: #0873ba;
    --jcr-service-navy: #092b43;
    --jcr-service-navy-deep: #031b2d;
    --jcr-service-ink: #173348;
    --jcr-service-muted: #24445b;
    --jcr-service-light: #edf5f9;
    --jcr-service-border: rgba(23, 51, 72, .13);
    --jcr-service-shadow: 0 1.8rem 4.6rem rgba(7, 42, 65, .1);
    background: #fff;
    color: var(--jcr-service-ink);
    font-family: var(--font-primary, "Public Sans", sans-serif);
    overflow: clip;
}

.jcr-service-page *,
.jcr-service-page *::before,
.jcr-service-page *::after { box-sizing: border-box; }

.jcr-service-page img { display: block; max-width: 100%; }
.jcr-service-page a { text-underline-offset: .2em; }

.jcr-service-page h1,
.jcr-service-page h2,
.jcr-service-page h3 {
    color: inherit;
    font-family: inherit;
    font-weight: 800;
    letter-spacing: -.045em;
    margin-top: 0;
    overflow-wrap: normal;
    text-wrap: balance;
    word-break: normal;
}

.jcr-service-page h1 { font-size: clamp(4.4rem, 6.3vw, 7.6rem); line-height: .96; margin-bottom: 0; max-width: 13ch; }
.jcr-service-page h2 { font-size: clamp(3.2rem, 4.3vw, 5.4rem); line-height: 1; margin-bottom: clamp(2.2rem, 3vw, 3.2rem); }
.jcr-service-page h3 { font-size: clamp(2rem, 2.2vw, 2.7rem); line-height: 1.12; margin-bottom: 1.5rem; }

.jcr-service-page p { margin-top: 0; }
.jcr-service-page .jcr-service-shell { margin-inline: auto; width: min(calc(100% - 40px), 1180px); }
.jcr-service-page .jcr-service-eyebrow {
    color: var(--jcr-service-blue);
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: .15em;
    margin-bottom: 1.6rem;
    text-transform: uppercase;
}

.jcr-service-page .jcr-service-richtext {
    color: inherit;
    font-size: clamp(1.6rem, 1.4vw, 1.8rem);
    font-weight: 500;
    line-height: 1.68;
}
.jcr-service-page .jcr-service-richtext > *:last-child { margin-bottom: 0; }
.jcr-service-page .jcr-service-richtext p { margin-bottom: 1.5em; }
.jcr-service-page .jcr-service-richtext ul,
.jcr-service-page .jcr-service-richtext ol { margin: 0 0 1.5em; padding-left: 1.4em; }
.jcr-service-page .jcr-service-richtext a { color: currentColor; font-weight: 700; }

.jcr-service-page .jcr-service-image--center { object-position: center; }
.jcr-service-page .jcr-service-image--top { object-position: center top; }
.jcr-service-page .jcr-service-image--bottom { object-position: center bottom; }
.jcr-service-page .jcr-service-image--left { object-position: left center; }
.jcr-service-page .jcr-service-image--right { object-position: right center; }

.jcr-service-page .jcr-service-hero {
    align-items: end;
    background: var(--jcr-service-navy);
    color: #fff;
    display: flex;
    min-height: clamp(62rem, 76vh, 82rem);
    overflow: hidden;
    padding-block: clamp(18rem, 18vw, 24rem) clamp(6rem, 8vw, 9rem);
    position: relative;
}
.jcr-service-page .jcr-service-hero__media,
.jcr-service-page .jcr-service-hero__overlay { inset: 0; position: absolute; }
.jcr-service-page .jcr-service-hero__image { height: 100%; object-fit: cover; width: 100%; }
.jcr-service-page .jcr-service-hero__overlay {
    background:
        linear-gradient(180deg, rgba(3, 27, 45, .58), rgba(3, 27, 45, .12) 36%, rgba(3, 27, 45, .42)),
        linear-gradient(90deg, rgba(3, 27, 45, .96) 0%, rgba(3, 27, 45, .78) 38%, rgba(3, 27, 45, .14) 78%, rgba(3, 27, 45, .08));
}
.jcr-service-page .jcr-service-hero--no-image .jcr-service-hero__overlay {
    background:
        radial-gradient(circle at 86% 18%, rgba(0, 142, 245, .34), transparent 44%),
        linear-gradient(125deg, var(--jcr-service-navy-deep), var(--jcr-service-navy));
}
.jcr-service-page .jcr-service-hero--no-image {
    align-items: center;
    min-height: clamp(44rem, 58vh, 62rem);
    padding-block: clamp(13rem, 12vw, 17rem) clamp(6rem, 8vw, 8rem);
}
.jcr-service-page .jcr-service-hero__inner { position: relative; z-index: 1; }
.jcr-service-page .jcr-service-hero__copy { max-width: 82rem; }
.jcr-service-page .jcr-service-hero__intro {
    color: rgba(255, 255, 255, .9);
    font-size: clamp(1.7rem, 1.8vw, 2.1rem);
    line-height: 1.6;
    margin: 2.4rem 0 0;
    max-width: 66rem;
}
.jcr-service-page .jcr-service-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 3rem; }
.jcr-service-page .jcr-service-actions .jcr-btn { min-height: 4.8rem; }
.jcr-service-page .jcr-service-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2.4rem;
    list-style: none;
    margin: 3.2rem 0 0;
    padding: 0;
}
.jcr-service-page .jcr-service-hero__badges li {
    align-items: center;
    color: rgba(255, 255, 255, .88);
    display: flex;
    font-size: 1.4rem;
    font-weight: 700;
    gap: .9rem;
}
.jcr-service-page .jcr-service-hero__badges li::before { background: var(--jcr-service-blue); border-radius: 50%; content: ""; height: .7rem; width: .7rem; }

.jcr-service-page .jcr-service-section {
    isolation: isolate;
    position: relative;
}
.jcr-service-page .jcr-service-section::before {
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}
.jcr-service-page .jcr-service-section > .jcr-service-shell { position: relative; z-index: 1; }
.jcr-service-page .jcr-service-section--compact { padding-block: clamp(5.5rem, 7vw, 8rem); }
.jcr-service-page .jcr-service-section--standard { padding-block: clamp(7rem, 9vw, 11rem); }
.jcr-service-page .jcr-service-section--spacious { padding-block: clamp(8.5rem, 11vw, 14rem); }
.jcr-service-page .jcr-service-section--white {
    background: linear-gradient(180deg, #fff 0%, #fff 72%, rgba(237, 245, 249, .45) 100%);
    box-shadow: inset 0 1px 0 rgba(23, 51, 72, .04);
    color: var(--jcr-service-ink);
}
.jcr-service-page .jcr-service-section--light {
    background: linear-gradient(180deg, #f4f9fb 0%, var(--jcr-service-light) 52%, #eaf3f8 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), inset 0 -1px 0 rgba(23, 51, 72, .045);
    color: var(--jcr-service-ink);
}
.jcr-service-page .jcr-service-section--blue {
    background: linear-gradient(135deg, #078be9 0%, var(--jcr-service-blue) 48%, #0879c6 100%);
    color: #fff;
}
.jcr-service-page .jcr-service-section--dark {
    background: linear-gradient(145deg, var(--jcr-service-navy-deep) 0%, var(--jcr-service-navy) 58%, #073653 100%);
    color: #fff;
}
.jcr-service-page .jcr-service-section--blue::before {
    background:
        radial-gradient(circle at 18% 12%, rgba(255, 255, 255, .16), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 18%, rgba(3, 27, 45, .06) 100%);
}
.jcr-service-page .jcr-service-section--dark::before {
    background:
        radial-gradient(circle at 82% 8%, rgba(0, 142, 245, .18), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, .035), transparent 28%, rgba(0, 0, 0, .1) 100%);
}
.jcr-service-page .jcr-service-section--blue .jcr-service-eyebrow,
.jcr-service-page .jcr-service-section--dark .jcr-service-eyebrow { color: rgba(255, 255, 255, .8); }
.jcr-service-page .jcr-service-section--blue .jcr-service-section-heading,
.jcr-service-page .jcr-service-section--blue .jcr-service-split__copy,
.jcr-service-page .jcr-service-section--blue .jcr-service-process,
.jcr-service-page .jcr-service-section--dark .jcr-service-section-heading,
.jcr-service-page .jcr-service-section--dark .jcr-service-split__copy,
.jcr-service-page .jcr-service-section--dark .jcr-service-process { color: #fff; }
.jcr-service-page .jcr-service-section--blue .jcr-service-section-heading .jcr-service-richtext,
.jcr-service-page .jcr-service-section--blue .jcr-service-section-heading .jcr-service-richtext *,
.jcr-service-page .jcr-service-section--blue .jcr-service-split__copy .jcr-service-richtext,
.jcr-service-page .jcr-service-section--blue .jcr-service-split__copy .jcr-service-richtext *,
.jcr-service-page .jcr-service-section--blue .jcr-service-process__step p,
.jcr-service-page .jcr-service-section--dark .jcr-service-section-heading .jcr-service-richtext,
.jcr-service-page .jcr-service-section--dark .jcr-service-section-heading .jcr-service-richtext *,
.jcr-service-page .jcr-service-section--dark .jcr-service-split__copy .jcr-service-richtext,
.jcr-service-page .jcr-service-section--dark .jcr-service-split__copy .jcr-service-richtext *,
.jcr-service-page .jcr-service-section--dark .jcr-service-process__step p,
.jcr-service-page .jcr-service-cta .jcr-service-richtext,
.jcr-service-page .jcr-service-cta .jcr-service-richtext * {
    color: rgba(255, 255, 255, .9) !important;
}
.jcr-service-page .jcr-service-section--blue .jcr-service-process__step h3,
.jcr-service-page .jcr-service-section--dark .jcr-service-process__step h3,
.jcr-service-page .jcr-service-cta h2 { color: #fff !important; }

.jcr-service-page .jcr-service-section-heading {
    align-items: start;
    display: grid;
    gap: clamp(2rem, 4vw, 5rem);
    margin-bottom: clamp(3.6rem, 5.4vw, 6.4rem);
}
.jcr-service-page .jcr-service-section-heading h2 { margin-bottom: 0; max-width: 17ch; }
.jcr-service-page .jcr-service-section-heading .jcr-service-richtext { max-width: 62rem; }
.jcr-service-page .jcr-service-section-heading--wide { display: block; max-width: 86rem; }
.jcr-service-page .jcr-service-section-heading--wide h2 { max-width: 18ch; }
.jcr-service-page .jcr-service-section-heading--wide .jcr-service-richtext { max-width: 76rem; }

.jcr-service-page .jcr-service-split { align-items: center; display: grid; gap: clamp(4rem, 7vw, 8rem); }
.jcr-service-page .jcr-service-split__copy { max-width: 76rem; }
.jcr-service-page .jcr-service-split--text-only { display: block; }
.jcr-service-page .jcr-service-split--text-only .jcr-service-split__copy { max-width: 84rem; }
.jcr-service-page .jcr-service-split--has-image {
    align-items: stretch;
    gap: clamp(4.8rem, 6.5vw, 8.5rem);
}
.jcr-service-page .jcr-service-split--has-image .jcr-service-split__copy { max-width: 68rem; }
.jcr-service-page .jcr-service-split__media {
    align-self: stretch;
    aspect-ratio: auto;
    border-radius: 6px;
    box-shadow: 0 2rem 5.5rem rgba(7, 42, 65, .14);
    margin: 0;
    min-height: clamp(42rem, 42vw, 62rem);
    overflow: hidden;
    position: relative;
    width: 100%;
}
.jcr-service-page .jcr-service-split__media::before { background: var(--jcr-service-blue); content: ""; height: 4px; left: 0; position: absolute; top: 0; width: min(32%, 15rem); z-index: 1; }
.jcr-service-page .jcr-service-split__image { height: 100%; object-fit: cover; width: 100%; }

.jcr-service-page .jcr-service-stats,
.jcr-service-page .jcr-service-capabilities,
.jcr-service-page .jcr-service-comparison,
.jcr-service-page .jcr-service-pricing,
.jcr-service-page .jcr-service-related { display: grid; gap: clamp(1.6rem, 2.4vw, 2.8rem); grid-template-columns: minmax(0, 1fr); }
.jcr-service-page .jcr-service-stat,
.jcr-service-page .jcr-service-card {
    background: #fff;
    border: 1px solid var(--jcr-service-border);
    border-radius: 6px;
    box-shadow: 0 1.4rem 3.6rem rgba(7, 42, 65, .075);
    color: var(--jcr-service-ink);
    min-width: 0;
    padding: clamp(2.5rem, 3vw, 3.5rem);
    position: relative;
}
.jcr-service-page .jcr-service-stat::before,
.jcr-service-page .jcr-service-card::before { background: var(--jcr-service-blue); content: ""; height: 3px; left: clamp(2.5rem, 3vw, 3.5rem); position: absolute; top: 0; width: 4rem; }
.jcr-service-page .jcr-service-stat__value {
    font-size: clamp(2.6rem, 2.45vw, 3.55rem);
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1.06;
    margin-bottom: 1.5rem;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    text-wrap: balance;
    word-break: normal;
}
.jcr-service-page .jcr-service-stat h3,
.jcr-service-page .jcr-service-card h3 { font-size: clamp(1.9rem, 1.8vw, 2.35rem); margin-bottom: 1.2rem; }
.jcr-service-page .jcr-service-stat h3 {
    line-height: 1.12;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    text-wrap: balance;
    word-break: normal;
}
.jcr-service-page .jcr-service-capability h3 {
    line-height: 1.08;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    text-wrap: balance;
    word-break: normal;
}
.jcr-service-page .jcr-service-stat__detail,
.jcr-service-page .jcr-service-card p {
    color: #24445b;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 0;
    min-width: 0;
    overflow-wrap: break-word;
}
.jcr-service-page .jcr-service-card { display: flex; flex-direction: column; min-height: 100%; }
.jcr-service-page .jcr-service-card__icon { height: 6.4rem; margin: 0 0 2.4rem; width: 6.4rem; }
.jcr-service-page .jcr-service-card__icon-image { height: 100%; object-fit: contain; width: 100%; }
.jcr-service-page .jcr-service-card__icon--small {
    height: 6.4rem;
    width: 6.4rem;
}
.jcr-service-page .jcr-service-card__icon--medium {
    align-items: center;
    background: var(--jcr-service-light);
    border: 1px solid rgba(0, 55, 95, .08);
    border-radius: 6px;
    display: flex;
    height: 13rem;
    justify-content: center;
    max-width: 24rem;
    padding: 1.4rem;
    width: min(100%, 24rem);
}
.jcr-service-page .jcr-service-card__icon--large {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: var(--jcr-service-light);
    border-bottom: 1px solid rgba(0, 55, 95, .1);
    display: flex;
    height: auto;
    justify-content: center;
    margin: calc(clamp(2.5rem, 3vw, 3.5rem) * -1) calc(clamp(2.5rem, 3vw, 3.5rem) * -1) 2.8rem;
    overflow: hidden;
    padding: clamp(1.2rem, 2vw, 2.4rem);
    width: auto;
}
.jcr-service-page .jcr-service-card__icon--medium .jcr-service-card__icon-image {
    object-fit: contain;
}
.jcr-service-page .jcr-service-card__icon--large .jcr-service-card__icon-image {
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.jcr-service-page .jcr-service-card__action { margin-top: auto; padding-top: 2.2rem; }
.jcr-service-page .jcr-service-link--tertiary {
    --jcr-button-bg: transparent;
    --jcr-button-border: transparent;
    --jcr-button-fill: transparent;
    --jcr-button-hover-text: var(--jcr-service-blue-dark);
    --jcr-button-text: var(--jcr-service-blue-dark);
    justify-content: flex-start;
    min-height: 4.4rem;
    padding-inline: 0;
}
.jcr-service-page .jcr-service-link--tertiary span::after { content: "\2192"; margin-left: .8rem; }
.jcr-service-page .jcr-service-section--blue .jcr-service-link--tertiary,
.jcr-service-page .jcr-service-section--dark .jcr-service-link--tertiary,
.jcr-service-page .jcr-service-cta .jcr-service-link--tertiary { --jcr-button-hover-text: #fff; --jcr-button-text: #fff; }

.jcr-service-page .jcr-service-gallery { display: grid; gap: clamp(1.2rem, 2vw, 2rem); grid-template-columns: minmax(0, 1fr); }
.jcr-service-page .jcr-service-gallery__item {
    aspect-ratio: 4 / 3;
    border-radius: 6px;
    box-shadow: var(--jcr-service-shadow);
    margin: 0;
    min-width: 0;
    overflow: hidden;
    position: relative;
}
.jcr-service-page .jcr-service-gallery__image { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.jcr-service-page .jcr-service-gallery figcaption {
    background: linear-gradient(0deg, rgba(3, 27, 45, .9), transparent);
    bottom: 0;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    left: 0;
    padding: 4rem 2rem 1.8rem;
    position: absolute;
    right: 0;
}
.jcr-service-page .jcr-service-gallery--count-1 { max-width: 96rem; }
.jcr-service-page .jcr-service-gallery--count-1 .jcr-service-gallery__item { aspect-ratio: 16 / 9; }

.jcr-service-page .jcr-service-checklist {
    display: grid;
    gap: 1.4rem;
    grid-template-columns: minmax(0, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
}
.jcr-service-page .jcr-service-checklist li {
    align-items: start;
    background: rgba(255, 255, 255, .72);
    border: 1px solid var(--jcr-service-border);
    border-radius: 5px;
    color: var(--jcr-service-ink);
    display: flex;
    font-size: 1.65rem;
    font-weight: 700;
    gap: 1.5rem;
    line-height: 1.45;
    padding: 2rem;
}
.jcr-service-page .jcr-service-checklist li span { align-items: center; background: var(--jcr-service-blue); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 2.4rem; font-size: 1.3rem; height: 2.4rem; justify-content: center; margin-top: .05em; }
.jcr-service-page .jcr-service-section--blue .jcr-service-checklist li,
.jcr-service-page .jcr-service-section--dark .jcr-service-checklist li {
    background: rgba(255, 255, 255, .13);
    border-color: rgba(255, 255, 255, .28);
    box-shadow: 0 1.4rem 3rem rgba(3, 27, 45, .12);
    color: #fff;
}
.jcr-service-page .jcr-service-section--blue .jcr-service-checklist li span,
.jcr-service-page .jcr-service-section--dark .jcr-service-checklist li span {
    background: #fff;
    box-shadow: 0 .7rem 1.5rem rgba(3, 27, 45, .14);
    color: var(--jcr-service-blue-dark);
}

.jcr-service-page .jcr-service-process {
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
}
.jcr-service-page .jcr-service-process__step { border-left: 1px solid currentColor; min-width: 0; padding: 0 0 3.6rem 3rem; position: relative; }
.jcr-service-page .jcr-service-process__step:last-child { border-left-color: transparent; padding-bottom: 0; }
.jcr-service-page .jcr-service-process__number {
    align-items: center;
    background: var(--jcr-service-blue);
    border: 4px solid currentColor;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 1.2rem;
    font-weight: 800;
    height: 4.2rem;
    justify-content: center;
    left: -2.1rem;
    position: absolute;
    top: -.7rem;
    width: 4.2rem;
}
.jcr-service-page .jcr-service-process__step h3 { padding-top: .2rem; }
.jcr-service-page .jcr-service-process__step p { font-size: 1.55rem; font-weight: 500; line-height: 1.6; margin-bottom: 0; opacity: .92; }

.jcr-service-page .jcr-service-related-card {
    background: #fff;
    border: 1px solid var(--jcr-service-border);
    border-radius: 6px;
    box-shadow: var(--jcr-service-shadow);
    color: var(--jcr-service-ink);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}
.jcr-service-page .jcr-service-related-card__media { aspect-ratio: 16 / 8; margin: 0; overflow: hidden; }
.jcr-service-page .jcr-service-related-card__image { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.jcr-service-page .jcr-service-related-card__copy { display: flex; flex: 1; flex-direction: column; padding: clamp(2.5rem, 3vw, 3.5rem); }
.jcr-service-page .jcr-service-related-card__copy p { color: #24445b; font-size: 1.55rem; font-weight: 500; line-height: 1.6; margin-bottom: 0; }
.jcr-service-page .jcr-service-pricing-card {
    background: #fff;
    border: 1px solid var(--jcr-service-border);
    border-radius: 6px;
    box-shadow: var(--jcr-service-shadow);
    color: var(--jcr-service-ink);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    padding: clamp(2.6rem, 3.2vw, 4rem);
    position: relative;
}
.jcr-service-page .jcr-service-pricing-card::before { background: var(--jcr-service-blue); content: ""; height: 3px; left: clamp(2.6rem, 3.2vw, 4rem); position: absolute; top: 0; width: 5.2rem; }
.jcr-service-page .jcr-service-pricing-card--featured { border-color: rgba(0, 142, 245, .42); box-shadow: 0 2rem 5rem rgba(0, 142, 245, .16); }
.jcr-service-page .jcr-service-pricing-card__media {
    aspect-ratio: 16 / 9;
    margin: calc(clamp(2.6rem, 3.2vw, 4rem) * -1) calc(clamp(2.6rem, 3.2vw, 4rem) * -1) clamp(2.6rem, 3vw, 3.4rem);
    overflow: hidden;
}
.jcr-service-page .jcr-service-pricing-card__image {
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    width: 100%;
}
.jcr-service-page .jcr-service-pricing-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
}
.jcr-service-page .jcr-service-pricing-card__kicker {
    color: var(--jcr-service-blue-dark);
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: .13em;
    margin-bottom: 1.4rem;
    text-transform: uppercase;
}
.jcr-service-page .jcr-service-pricing-card__price {
    font-size: clamp(3.3rem, 4vw, 5.2rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .95;
    margin-bottom: .8rem;
    text-wrap: balance;
}
.jcr-service-page .jcr-service-pricing-card__note,
.jcr-service-page .jcr-service-pricing-card__description {
    color: #24445b;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
}
.jcr-service-page .jcr-service-pricing-card__description { margin-bottom: 2.2rem; }
.jcr-service-page .jcr-service-pricing-card__features {
    border-top: 1px solid var(--jcr-service-border);
    display: grid;
    gap: 1.1rem;
    list-style: none;
    margin: auto 0 0;
    padding: 2.2rem 0 0;
}
.jcr-service-page .jcr-service-pricing-card__features li {
    color: var(--jcr-service-ink);
    display: flex;
    font-size: 1.5rem;
    font-weight: 700;
    gap: 1rem;
    line-height: 1.45;
}
.jcr-service-page .jcr-service-pricing-card__features li::before { background: var(--jcr-service-blue); border-radius: 50%; content: ""; flex: 0 0 .7rem; height: .7rem; margin-top: .72em; width: .7rem; }

.jcr-service-page .jcr-service-form-section {
    display: grid;
    gap: clamp(3rem, 5vw, 6rem);
}
.jcr-service-page .jcr-service-form-section--has-side { align-items: start; }
.jcr-service-page .jcr-service-form-section__content { max-width: 58rem; }
.jcr-service-page .jcr-service-form-section__form { min-width: 0; }

.jcr-service-page .jcr-service-faq-shell { max-width: 96rem; }
.jcr-service-page .jcr-service-faq { border-top: 1px solid currentColor; }
.jcr-service-page .jcr-service-faq__item { border-bottom: 1px solid currentColor; }
.jcr-service-page .jcr-service-faq__item summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: clamp(1.8rem, 2vw, 2.3rem);
    font-weight: 800;
    gap: 2rem;
    justify-content: space-between;
    line-height: 1.25;
    list-style: none;
    padding-block: 2.6rem;
}
.jcr-service-page .jcr-service-faq__item summary::-webkit-details-marker { display: none; }
.jcr-service-page .jcr-service-faq__item summary:focus-visible { box-shadow: 0 0 0 3px rgba(0, 142, 245, .42); outline: 0; }
.jcr-service-page .jcr-service-faq__icon { flex: 0 0 2rem; height: 2rem; position: relative; width: 2rem; }
.jcr-service-page .jcr-service-faq__icon::before,
.jcr-service-page .jcr-service-faq__icon::after { background: currentColor; content: ""; height: 2px; left: 0; position: absolute; top: calc(50% - 1px); transition: transform .2s ease; width: 100%; }
.jcr-service-page .jcr-service-faq__icon::after { transform: rotate(90deg); }
.jcr-service-page details[open] .jcr-service-faq__icon::after { transform: rotate(0); }
.jcr-service-page .jcr-service-faq__answer { max-width: 76rem; padding: 0 5rem 2.8rem 0; }

.jcr-service-page .jcr-service-section--cta_band .jcr-service-shell { max-width: 1040px; }
.jcr-service-page .jcr-service-section--cta_band {
    padding-top: clamp(6rem, 8vw, 10rem);
}
.jcr-service-page .jcr-service-cta {
    background: linear-gradient(125deg, var(--jcr-service-navy-deep), var(--jcr-service-navy) 62%, #0969a8);
    border-radius: 6px;
    box-shadow: 0 2.2rem 5.5rem rgba(9, 43, 67, .18);
    color: #fff;
    min-height: clamp(36rem, 38vw, 48rem);
    overflow: hidden;
    padding: clamp(4.5rem, 7vw, 8rem);
    position: relative;
}
.jcr-service-page .jcr-service-cta__media,
.jcr-service-page .jcr-service-cta__overlay { inset: 0; position: absolute; }
.jcr-service-page .jcr-service-cta__image { height: 100%; object-fit: cover; width: 100%; }
.jcr-service-page .jcr-service-cta__overlay { background: radial-gradient(circle at 92% 12%, rgba(0, 142, 245, .34), transparent 48%); }
.jcr-service-page .jcr-service-cta--has-image .jcr-service-cta__overlay { background: linear-gradient(90deg, rgba(3, 27, 45, .98), rgba(3, 27, 45, .42)); }
.jcr-service-page .jcr-service-cta__copy { max-width: 76rem; position: relative; z-index: 1; }
.jcr-service-page .jcr-service-cta h2 { color: #fff; max-width: 15ch; }
.jcr-service-page .jcr-service-cta .jcr-service-richtext { color: rgba(255, 255, 255, .9); max-width: 62rem; }

.jcr-service-page .jcr-service-section--blue .jcr-service-process__number,
.jcr-service-page .jcr-service-section--dark .jcr-service-process__number { border-color: #fff; }
.jcr-service-page .jcr-service-section--blue .jcr-service-faq,
.jcr-service-page .jcr-service-section--blue .jcr-service-faq__item,
.jcr-service-page .jcr-service-section--dark .jcr-service-faq,
.jcr-service-page .jcr-service-section--dark .jcr-service-faq__item { border-color: rgba(255, 255, 255, .28); }

.jcr-service-page .jcr-service-fallback { background: var(--jcr-service-light); padding-block: clamp(7rem, 10vw, 12rem); }
.jcr-service-page .jcr-service-fallback__content { font-size: 1.8rem; line-height: 1.7; max-width: 84rem; }

@media (min-width: 600px) {
    .jcr-service-page .jcr-service-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-comparison,
    .jcr-service-page .jcr-service-pricing,
    .jcr-service-page .jcr-service-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
    .jcr-service-page .jcr-service-section-heading { grid-template-columns: minmax(0, 1.08fr) minmax(30rem, .92fr); }
    .jcr-service-page .jcr-service-split--has-image { grid-template-columns: minmax(0, .92fr) minmax(34rem, 1.08fr); }
    .jcr-service-page .jcr-service-split--image-left .jcr-service-split__media { grid-column: 1; grid-row: 1; }
    .jcr-service-page .jcr-service-split--image-left .jcr-service-split__copy { grid-column: 2; }
    .jcr-service-page .jcr-service-split--image-right .jcr-service-split__media { grid-column: 2; }
    .jcr-service-page .jcr-service-split--image-right .jcr-service-split__copy { grid-column: 1; grid-row: 1; }
    .jcr-service-page .jcr-service-capabilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-gallery--mosaic:not(.jcr-service-gallery--count-1) .jcr-service-gallery__item:first-child { aspect-ratio: auto; grid-row: span 2; }
    .jcr-service-page .jcr-service-gallery--mosaic:not(.jcr-service-gallery--count-1) .jcr-service-gallery__item:not(:first-child) { aspect-ratio: 16 / 9; }
    .jcr-service-page .jcr-service-form-section--has-side { grid-template-columns: minmax(0, .78fr) minmax(0, 1fr); }
    .jcr-service-page .jcr-service-process { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 0; }
    .jcr-service-page .jcr-service-process__step { border-left: 0; border-top: 1px solid currentColor; padding: 4rem 3rem 1rem 0; }
    .jcr-service-page .jcr-service-process__step:last-child { border-top-color: currentColor; }
    .jcr-service-page .jcr-service-process__number { border-color: inherit; left: 0; top: -2.1rem; }
}

@media (min-width: 1024px) {
    .jcr-service-page .jcr-service-hero__inner {
        width: 100%;
        padding-inline: 12%;
    }
    .jcr-service-page .jcr-service-split--has-image { grid-template-columns: minmax(0, .9fr) minmax(42rem, 1.1fr); }
    .jcr-service-page .jcr-service-split--has-image .jcr-service-split__media { min-height: clamp(48rem, 42vw, 66rem); }
    .jcr-service-page .jcr-service-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-stats.jcr-service-grid--count-3,
    .jcr-service-page .jcr-service-stats.jcr-service-grid--count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-capabilities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-process { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-process.jcr-service-grid--count-5,
    .jcr-service-page .jcr-service-process.jcr-service-grid--count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-comparison.jcr-service-grid--count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-pricing.jcr-service-grid--count-3,
    .jcr-service-page .jcr-service-pricing.jcr-service-grid--count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1280px) {
    .jcr-service-page .jcr-service-hero__inner { padding-inline: 15%; }
}

@media (min-width: 2000px) {
    .jcr-service-page .jcr-service-hero__inner { padding-inline: 17.5%; }
}

@media (max-width: 767px) {
    .jcr-service-page .jcr-service-hero { min-height: clamp(59rem, 84svh, 68rem); padding-block: clamp(12rem, 31vw, 14rem) 4.8rem; }
    .jcr-service-page .jcr-service-hero--no-image { min-height: clamp(42rem, 68svh, 54rem); padding-block: clamp(10rem, 25vw, 12rem) 4.2rem; }
    .jcr-service-page .jcr-service-hero__overlay {
        background:
            linear-gradient(180deg, rgba(3, 27, 45, .76), rgba(3, 27, 45, .25) 31%, rgba(3, 27, 45, .94)),
            linear-gradient(90deg, rgba(3, 27, 45, .78), rgba(3, 27, 45, .18));
    }
    .jcr-service-page h1 { font-size: clamp(3.8rem, 10.5vw, 4.6rem); max-width: 100%; }
    .jcr-service-page h2 { font-size: clamp(3rem, 8.2vw, 3.9rem); line-height: 1.04; }
    .jcr-service-page h3 { font-size: clamp(1.9rem, 5.3vw, 2.3rem); }
    .jcr-service-page .jcr-service-hero__intro,
    .jcr-service-page .jcr-service-richtext { font-size: 1.6rem; }
    .jcr-service-page .jcr-service-hero__intro { line-height: 1.58; margin-top: 2rem; }
    .jcr-service-page .jcr-service-actions { align-items: stretch; flex-direction: column; margin-top: 2.4rem; }
    .jcr-service-page .jcr-service-actions .jcr-btn { width: 100%; }
    .jcr-service-page .jcr-service-hero__badges { gap: .9rem; margin-top: 2.4rem; }
    .jcr-service-page .jcr-service-hero__badges li { flex-basis: 100%; font-size: 1.3rem; }
    .jcr-service-page .jcr-service-section--compact { padding-block: 4.6rem; }
    .jcr-service-page .jcr-service-section--standard { padding-block: 5.8rem; }
    .jcr-service-page .jcr-service-section--spacious { padding-block: 6.8rem; }
    .jcr-service-page .jcr-service-section-heading { gap: 1.8rem; margin-bottom: 3.4rem; }
    .jcr-service-page .jcr-service-split { gap: 2.8rem; }
    .jcr-service-page .jcr-service-split--has-image { align-items: center; }
    .jcr-service-page .jcr-service-split__media { aspect-ratio: 16 / 10; }
    .jcr-service-page .jcr-service-split--has-image .jcr-service-split__media { align-self: auto; min-height: 0; }
    .jcr-service-page .jcr-service-stat,
    .jcr-service-page .jcr-service-card,
    .jcr-service-page .jcr-service-pricing-card { padding: 2.2rem 2rem 2rem; }
    .jcr-service-page .jcr-service-card__icon--large { margin: -2.2rem -2rem 2.2rem; }
    .jcr-service-page .jcr-service-stat::before,
    .jcr-service-page .jcr-service-card::before,
    .jcr-service-page .jcr-service-pricing-card::before { left: 2rem; }
    .jcr-service-page .jcr-service-stat__value { font-size: clamp(2.8rem, 8vw, 3.5rem); }
    .jcr-service-page .jcr-service-pricing-card__price { font-size: clamp(3rem, 9vw, 4rem); }
    .jcr-service-page .jcr-service-pricing-card__media { margin: -2.2rem -2rem 2.2rem; }
    .jcr-service-page .jcr-service-gallery { gap: 1.4rem; }
    .jcr-service-page .jcr-service-gallery__item { aspect-ratio: 16 / 10; }
    .jcr-service-page .jcr-service-process__step { padding-left: 2.8rem; }
    .jcr-service-page .jcr-service-process__number { height: 3.8rem; left: -1.9rem; width: 3.8rem; }
    .jcr-service-page .jcr-service-faq__item summary { padding-block: 2.2rem; }
    .jcr-service-page .jcr-service-faq__answer { padding-right: 0; }
    .jcr-service-page .jcr-service-cta { min-height: 0; padding: 3.2rem 2.4rem; }
    .jcr-service-page .jcr-service-cta--has-image .jcr-service-cta__overlay { background: linear-gradient(0deg, rgba(3, 27, 45, .98), rgba(3, 27, 45, .46)); }
}

@media (min-width: 390px) and (max-width: 599px) {
    .jcr-service-page .jcr-service-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jcr-service-page .jcr-service-stat { padding-inline: 1.7rem; }
    .jcr-service-page .jcr-service-stat::before { left: 1.7rem; }
    .jcr-service-page .jcr-service-stat__value { font-size: clamp(2.5rem, 7vw, 3.1rem); }
    .jcr-service-page .jcr-service-stat h3 { font-size: 1.7rem; }
    .jcr-service-page .jcr-service-stat__detail { font-size: 1.35rem; }
}

@media (max-width: 359px) {
    .jcr-service-page .jcr-service-shell { width: calc(100% - 32px); }
    .jcr-service-page h1 { font-size: 3.6rem; }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .jcr-service-page .jcr-service-gallery__item:hover .jcr-service-gallery__image,
    .jcr-service-page .jcr-service-related-card:hover .jcr-service-related-card__image,
    .jcr-service-page .jcr-service-pricing-card:hover .jcr-service-pricing-card__image { transform: scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
    .jcr-service-page [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
    }

    .jcr-service-page *,
    .jcr-service-page *::before,
    .jcr-service-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
