/* First-party Services page, using the published Qlinix type and color system. */
.qlx-services-page { background: #fff; color: #15191a; }
.qlx-services-page h1, .qlx-services-page h2, .qlx-services-page h3 { font-family: Onest, sans-serif; font-weight: 400; letter-spacing: -.045em; }
.qlx-services-page h1 { margin: 22px 0 24px; font-size: clamp(40px, 4.7vw, 68px); line-height: 1.07; }
.qlx-services-page h2 { margin: 0; font-size: clamp(32px, 3.35vw, 48px); line-height: 1.12; }
.qlx-services-page h3 { margin: 0 0 16px; font-size: 27px; line-height: 1.2; letter-spacing: -.03em; }
.qlx-services-page p { margin: 0; }
.qlx-services-page .button { white-space: normal; text-align: center; gap: 12px; }
.qlx-services-page a:focus-visible, .qlx-service-foundation summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.qlx-services-page [id] { scroll-margin-top: 28px; }
.qlx-services-eyebrow { font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: 1.5px; text-transform: uppercase; }
.qlx-services-hero { padding: 26px 0 88px; background: #2c5a61; color: #fff; }
.qlx-services-hero__grid { display: grid; grid-template-columns: 1.2fr 1fr; align-items: start; gap: 80px; }
.qlx-services-intro { max-width: 580px; font-size: 18px; line-height: 1.65; }
.qlx-services-hero .button { margin-top: 32px; }
.qlx-services-start { padding: 64px 0 0; }
.qlx-services-start > .qlx-services-eyebrow { margin-bottom: 24px; color: #d7e5e6; }
.qlx-services-start ol { list-style: none; margin: 0 0 26px; padding: 0; border-top: 1px solid #6f9095; }
.qlx-services-start li { margin: 0; border-bottom: 1px solid #6f9095; }
.qlx-service-foundation summary { display: grid; grid-template-columns: 24px 1fr 20px; gap: 16px; align-items: center; min-height: 80px; padding: 18px 0; color: #fff; font-family: Onest, sans-serif; font-size: 20px; line-height: 1.4; list-style: none; cursor: pointer; transition: background-color .2s; }
.qlx-service-foundation summary::-webkit-details-marker { display: none; }
.qlx-service-foundation summary:hover { background: #ffffff0d; }
.qlx-service-foundation summary > span:first-child { font: 12px "Instrument Sans", sans-serif; color: #c6d9db; }
.qlx-service-toggle { position: relative; width: 20px; height: 20px; }
.qlx-service-toggle::before, .qlx-service-toggle::after { content: ""; position: absolute; inset: 9px 3px; background: currentColor; height: 1.5px; }
.qlx-service-toggle::after { transform: rotate(90deg); transition: transform .2s; }
.qlx-service-foundation[open] .qlx-service-toggle::after { transform: rotate(0); }
.qlx-service-description { padding: 0 36px 26px 40px; font-size: 16px; line-height: 1.65; color: #e5eeee; }
.qlx-service-description .qlx-services-outcome { margin-top: 18px; color: #fff; font-weight: 500; }
.qlx-services-text-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: 5px; }
.qlx-services-text-link:hover { color: #fff; }
.qlx-services-section-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 80px; margin-bottom: 48px; }
.qlx-services-section-heading .qlx-services-eyebrow { margin-bottom: 18px; color: #2c5a61; }
.qlx-services-section-heading > p { max-width: 480px; font-size: 18px; line-height: 1.65; }
.qlx-services-levels { padding: 96px 0 80px; }
.qlx-services-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.qlx-service-tier { display: flex; flex-direction: column; align-items: stretch; padding: 32px 28px; border: 1px solid #c4d2d4; border-radius: 4px; }
.qlx-service-tier--medium { background: #dae4e5; border-color: #dae4e5; }
.qlx-service-tier--large { background: #2c5a61; border-color: #2c5a61; color: #fff; }
.qlx-service-tier .qlx-services-eyebrow { margin-bottom: 24px; }
.qlx-service-tier h3 { margin-bottom: 20px; font-size: 44px; }
.qlx-service-tier__fit { min-height: 104px; font-size: 17px; line-height: 1.55; }
.qlx-service-tier .qlx-service-tier__foundation { margin-top: 24px; padding-top: 24px; border-top: 1px solid #a9bec1; font-size: 14px; font-weight: 500; }
.qlx-service-tier ul { display: grid; gap: 15px; margin: 24px 0 32px; padding: 0; list-style: none; }
.qlx-service-tier li { position: relative; margin: 0; padding-left: 22px; font-size: 16px; line-height: 1.5; }
.qlx-service-tier li::before { content: "✓"; position: absolute; left: 0; }
.qlx-service-tier .button { justify-content: space-between; width: 100%; margin-top: auto; padding: 16px; font-size: 15px; }
.qlx-services-scope-note { padding-top: 28px; color: #4d6063; font-size: 15px; line-height: 1.6; }
.qlx-services-cta { padding: 80px 0; color: #fff; background: #2c5a61; }
.qlx-services-cta__grid { display: grid; grid-template-columns: 1.5fr 1fr; align-items: center; gap: 64px; }
.qlx-services-cta .qlx-services-eyebrow { margin-bottom: 20px; }
.qlx-services-cta h2 + p { max-width: 560px; margin-top: 24px; font-size: 18px; line-height: 1.6; }
.qlx-services-cta .button { justify-self: end; }
.qlx-services-sr-only, .qlx-skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.qlx-skip-link:focus { position: fixed; top: 8px; left: 16px; z-index: 1001; padding: 16px; color: #15191a; background: #fff; }
.qlx-services-page .nav_mobile-menu-button { border: 0; }
@media (max-width: 1100px) {
    .qlx-services-hero__grid, .qlx-services-section-heading { gap: 40px; }
    .qlx-services-tiers { gap: 16px; }
    .qlx-service-tier { padding: 28px 20px; }
    .qlx-service-tier__fit { min-height: 132px; }
}
@media (max-width: 991px) {
    .qlx-services-page [data-replica-menu] { display: none; left: 0; width: 100%; }
    .qlx-services-page [data-replica-menu].is-open { display: flex; flex-direction: column; align-items: stretch; }
    .qlx-services-page [data-replica-menu] .nav-link { width: 100%; margin: 0; }
    .qlx-services-page [data-replica-menu-toggle] { display: block; color: #fff; }
    .qlx-services-hero__grid { grid-template-columns: 1fr; gap: 40px; }
    .qlx-services-hero h1 { max-width: 760px; font-size: 56px; }
    .qlx-services-start { padding: 0; }
    .qlx-service-foundation summary { min-height: 68px; }
    .qlx-services-tiers { grid-template-columns: 1fr; gap: 24px; }
    .qlx-service-tier { padding: 32px; }
    .qlx-service-tier__fit { min-height: 0; max-width: 600px; }
    .qlx-service-tier .button { max-width: 340px; }
    .qlx-services-cta__grid { grid-template-columns: 1fr; gap: 32px; }
    .qlx-services-cta .button { justify-self: start; }
}
@media (max-width: 767px) {
    .qlx-services-page h1, .qlx-services-hero h1 { font-size: clamp(35px, 6.8vw, 50px); }
    .qlx-services-hero { padding-bottom: 56px; }
    .qlx-services-levels, .qlx-services-cta { padding: 56px 0; }
    .qlx-services-section-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
    .qlx-service-foundation summary { font-size: 18px; gap: 12px; }
    .qlx-service-description { padding-left: 36px; padding-right: 0; }
    .qlx-services-intro, .qlx-services-section-heading > p { font-size: 17px; }
    .qlx-service-tier { padding: 28px 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .qlx-services-page *, .qlx-services-page *::before, .qlx-services-page *::after { scroll-behavior: auto; transition: none; }
}
