/* CMS-driven enterprise service detail pages */
.service-detail-template {
    background: #ffffff;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

.service-page {
    --gpspl-red: #d32f2f;
    --gpspl-blue: #0b2341;
    --gpspl-ink: #07111f;
    --gpspl-muted: #5b6b82;
    --gpspl-line: rgba(15, 35, 65, 0.1);
    --gpspl-soft: #f5f8fc;
    color: var(--gpspl-ink);
    background: #ffffff;
    scroll-behavior: smooth;
    min-height: 100vh;
    overflow: visible;
}

body.service-detail-template main.service-page {
    overflow: visible;
}

.service-page .container {
    width: min(100% - 48px, 1200px);
    margin-inline: auto;
}

.service-page .section-padding {
    padding: clamp(68px, 7vw, 104px) 0;
}

.service-loading {
    min-height: 58vh;
    display: grid;
    place-items: center;
    color: var(--gpspl-muted);
}

.service-hero {
    position: relative;
    box-sizing: border-box;
    isolation: isolate;
    min-height: clamp(620px, calc(100vh - 84px), 700px);
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: clamp(72px, 7vw, 104px) 0 clamp(62px, 6vw, 86px);
    background:
        linear-gradient(90deg, rgba(4, 11, 22, 0.9) 0%, rgba(6, 18, 34, 0.76) 46%, rgba(6, 18, 34, 0.38) 100%),
        var(--service-hero-image) center/cover no-repeat;
    color: #ffffff;
}

.service-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 76% 22%, rgba(211, 47, 47, 0.24), transparent 28%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 118px);
}

.service-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 348px);
    gap: clamp(34px, 5vw, 68px);
    align-items: center;
}

.service-hero-copy {
    max-width: 720px;
}

.service-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 18px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}

.service-breadcrumbs a {
    color: #ffffff;
}

.service-eyebrow {
    margin: 0 0 12px;
    color: var(--gpspl-red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.service-hero h1 {
    max-width: 690px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.8rem, 4.18vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: 0;
}

.service-hero-copy > p:not(.service-eyebrow) {
    max-width: 650px;
    margin: 20px 0 0;
    color: rgba(240, 246, 255, 0.88);
    font-size: clamp(1rem, 1.24vw, 1.12rem);
    line-height: 1.68;
}

.service-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 26px;
}

.service-btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border-radius: 4px;
    font-weight: 900;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease;
}

.service-btn:hover {
    transform: translateY(-2px);
}

.service-btn:focus-visible,
.service-page-index a:focus-visible,
.service-related-grid a:focus-visible,
.service-download-grid a:focus-visible,
.service-faq-list summary:focus-visible {
    outline: 3px solid rgba(47, 124, 255, 0.38);
    outline-offset: 3px;
}

.service-btn-primary {
    background: var(--gpspl-red);
    color: #ffffff;
    box-shadow: 0 16px 34px rgba(211, 47, 47, 0.26);
}

.service-btn-secondary {
    border: 1px solid rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.service-tags span,
.service-gallery-tags span,
.service-project-card small {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    border: 1px solid rgba(47, 124, 255, 0.18);
    border-radius: 999px;
    background: rgba(47, 124, 255, 0.1);
    color: #1f66d1;
    font-size: 12px;
    font-weight: 900;
    padding: 6px 10px;
}

.service-hero .service-tags span {
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

.service-hero-panel {
    box-sizing: border-box;
    align-self: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-top: 4px solid var(--gpspl-red);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(10, 24, 43, 0.7), rgba(255, 255, 255, 0.12));
    box-shadow: 0 28px 72px rgba(0, 0, 0, 0.28);
    padding: 24px;
    backdrop-filter: blur(18px);
    animation: servicePanelFloat 7s ease-in-out infinite;
}

.service-hero-panel *,
.service-hero-panel *::before,
.service-hero-panel *::after {
    box-sizing: border-box;
}

.service-hero-panel::before {
    content: "";
    display: block;
    width: 62px;
    height: 3px;
    margin-bottom: 18px;
    background: #7fb0ff;
}

.service-hero-panel > p {
    margin: 0 0 16px;
    color: #b9d2ff;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.service-trust-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.service-trust-grid div {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
    min-height: 58px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    padding: 10px 12px;
    overflow: hidden;
}

.service-trust-grid strong {
    display: block;
    color: #ffffff;
    font-size: 1.12rem;
    line-height: 1;
    white-space: nowrap;
}

.service-trust-grid span {
    display: block;
    margin-top: 0;
    color: rgba(255, 255, 255, 0.74);
    font-size: 12px;
    line-height: 1.35;
}

.service-logo-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 18px;
}

.service-logo-strip img {
    min-width: 0;
    width: 100%;
    height: 42px;
    object-fit: contain;
    border-radius: 4px;
    background: #ffffff;
    padding: 8px;
}

.service-approach {
    position: relative;
    z-index: 2;
    margin-top: 0;
    padding: 34px 0;
    background: #ffffff;
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.12);
}

.service-approach-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.service-approach-grid article {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    border: 1px solid var(--gpspl-line);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff, #fbfcfe);
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
    padding: 24px;
}

.service-approach-grid article::after {
    content: "";
    position: absolute;
    right: -34px;
    bottom: -58px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: rgba(211, 47, 47, 0.07);
}

.service-approach-grid span {
    color: var(--gpspl-red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.service-approach-grid i {
    display: grid;
    width: 48px;
    height: 48px;
    margin: 22px 0;
    place-items: center;
    border-radius: 8px;
    background: var(--gpspl-blue);
    color: #ffffff;
    font-size: 18px;
}

.service-approach-grid h2 {
    margin: 0 0 10px;
    color: var(--gpspl-ink);
    font-size: 25px;
    line-height: 1.12;
}

.service-approach-grid p {
    margin: 0;
    color: var(--gpspl-muted);
    line-height: 1.58;
}

.service-page-index {
    position: sticky;
    top: 0;
    z-index: 20;
    border-block: 1px solid var(--gpspl-line);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
    backdrop-filter: blur(16px);
}

.service-page-index .container {
    display: flex;
    min-height: 62px;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 2vw, 28px);
    overflow-x: auto;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    scroll-behavior: auto;
}

.service-page-index .container::-webkit-scrollbar {
    display: none;
}

.service-page-index a {
    position: relative;
    flex: 0 0 auto;
    color: var(--gpspl-blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.service-page-index a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -19px;
    width: 100%;
    height: 3px;
    background: var(--gpspl-red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
}

.service-page-index a:hover::after {
    transform: scaleX(1);
}

.service-page-index a.is-active {
    color: var(--gpspl-red);
}

.service-page-index a.is-active::after {
    transform: scaleX(1);
}

.service-section-heading {
    max-width: 800px;
    margin: 0 0 36px;
}

.service-section-heading.centered {
    margin-inline: auto;
    text-align: center;
}

.service-section-heading h2,
.service-section-copy h2,
.service-cta h2 {
    margin: 0;
    color: var(--gpspl-ink);
    font-size: clamp(2.1rem, 3.4vw, 3.6rem);
    line-height: 1.08;
    letter-spacing: 0;
}

.service-section-heading > p:not(.service-eyebrow),
.service-section-copy > p {
    max-width: 720px;
    margin: 17px 0 0;
    color: var(--gpspl-muted);
    font-size: 17px;
    line-height: 1.72;
}

.service-intro {
    background:
        radial-gradient(circle at 12% 8%, rgba(47, 124, 255, 0.1), transparent 28%),
        linear-gradient(180deg, #ffffff, var(--gpspl-soft));
}

.service-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.75fr);
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
}

.service-stat-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 26px;
}

.service-stat-row div {
    border-left: 3px solid var(--gpspl-red);
    background: #ffffff;
    padding: 18px 16px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06);
}

.service-stat-row strong,
.service-stat-row span {
    display: block;
}

.service-stat-row strong {
    color: var(--gpspl-ink);
    font-size: 24px;
    font-weight: 900;
}

.service-stat-row span {
    color: var(--gpspl-muted);
    font-size: 13px;
    font-weight: 800;
}

.service-intro-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.13);
}

.service-card-grid,
.service-application-grid,
.service-partner-grid,
.service-feature-grid,
.service-case-grid,
.service-gallery-grid,
.service-download-grid,
.service-related-grid {
    display: grid;
    gap: 18px;
}

.service-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-planning {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 12%, rgba(211, 47, 47, 0.08), transparent 24%),
        radial-gradient(circle at 96% 18%, rgba(15, 23, 42, 0.07), transparent 28%),
        linear-gradient(rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        #f8fafc;
    background-size: auto, auto, 48px 48px, 48px 48px, auto;
}

.service-planning-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1.15fr) minmax(280px, 0.95fr) minmax(280px, 0.95fr);
    gap: 18px;
    align-items: stretch;
}

.service-planning-story,
.service-planning-checklist,
.service-rfq-card {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.09);
    padding: clamp(26px, 2.7vw, 38px);
    transition: transform 0.26s ease, border-color 0.26s ease, box-shadow 0.26s ease, background-color 0.26s ease;
}

.service-planning-checklist,
.service-rfq-card {
    display: flex;
    flex-direction: column;
}

.service-planning-story {
    border-color: rgba(15, 23, 42, 0.08);
    background:
        linear-gradient(135deg, rgba(7, 21, 39, 0.98), rgba(15, 35, 61, 0.94)),
        var(--gpspl-blue);
    color: #ffffff;
}

.service-planning-story::before,
.service-planning-checklist::before,
.service-rfq-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, var(--gpspl-red), rgba(211, 47, 47, 0));
}

.service-planning-story::after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -120px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(211, 47, 47, 0.34), transparent 62%);
}

.service-planning-checklist::after,
.service-rfq-card::after {
    content: "";
    position: absolute;
    inset: auto -70px -110px auto;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(211, 47, 47, 0.08), transparent 66%);
}

.service-planning-story:hover,
.service-planning-checklist:hover,
.service-rfq-card:hover {
    transform: translateY(-8px);
    border-color: rgba(211, 47, 47, 0.28);
    box-shadow: 0 38px 95px rgba(15, 23, 42, 0.16);
}

.service-planning-story > span,
.service-planning-checklist > span,
.service-rfq-card > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 28px;
    border-radius: 50%;
    background: #fff1f2;
    font-size: 0.82rem;
    font-weight: 950;
    color: var(--gpspl-red);
    letter-spacing: 0.08em;
}

.service-planning-story > span {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.service-planning-grid h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 18px;
    color: var(--gpspl-ink);
    font-size: clamp(1.45rem, 1.9vw, 2.05rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.service-planning-checklist h3,
.service-rfq-card h3 {
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.service-planning-story h3 {
    color: #ffffff;
    font-size: clamp(1.8rem, 2.7vw, 3.3rem);
    line-height: 1;
}

.service-planning-story p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.05rem;
    line-height: 1.86;
}

.service-planning-grid ul {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.service-planning-grid li {
    position: relative;
    min-height: 58px;
    padding: 13px 14px 13px 52px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.88));
    color: #334155;
    font-size: 0.96rem;
    line-height: 1.5;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.service-planning-grid li:hover {
    transform: translateX(4px);
    border-color: rgba(211, 47, 47, 0.22);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.075);
}

.service-planning-grid li::before {
    content: "\2713";
    position: absolute;
    left: 14px;
    top: 14px;
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(211, 47, 47, 0.12), rgba(211, 47, 47, 0.05));
    color: var(--gpspl-red);
    font-size: 12px;
    font-weight: 950;
    box-shadow: inset 0 0 0 1px rgba(211, 47, 47, 0.12);
}

.service-planning-checklist ul {
    counter-reset: checklist;
}

.service-planning-checklist li {
    padding-right: 42px;
}

.service-planning-checklist li::after {
    counter-increment: checklist;
    content: counter(checklist, decimal-leading-zero);
    position: absolute;
    right: 14px;
    top: 16px;
    color: rgba(15, 23, 42, 0.16);
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.08em;
}

.service-rfq-card ul {
    margin-bottom: 4px;
}

.service-keyword-strip {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.service-keyword-strip a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.86);
    font-size: 12px;
    font-weight: 900;
    transition: transform 0.22s ease, border-color 0.22s ease, background-color 0.22s ease;
}

.service-keyword-strip a:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.14);
}

.service-rfq-card .service-btn {
    position: relative;
    z-index: 1;
    justify-content: center;
    width: 100%;
    margin-top: auto;
    box-shadow: 0 22px 46px rgba(211, 47, 47, 0.22);
}

.service-capability-card,
.service-application-grid article,
.service-partner-card,
.service-feature-grid article,
.service-case-grid article,
.service-download-grid a,
.service-related-grid a,
.service-faq-list details {
    border: 1px solid var(--gpspl-line);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.055);
    transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
    transform-style: preserve-3d;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.service-capability-card:hover,
.service-application-grid article:hover,
.service-partner-card:hover,
.service-feature-grid article:hover,
.service-case-grid article:hover,
.service-download-grid a:hover,
.service-related-grid a:hover,
.service-faq-list details[open] {
    transform: perspective(900px) translateY(-3px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
    border-color: rgba(211, 47, 47, 0.3);
    box-shadow: 0 24px 58px rgba(15, 23, 42, 0.1);
}

.service-capability-card {
    position: relative;
    display: flex;
    min-height: 270px;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    padding: 28px;
}

.service-capability-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--gpspl-red), rgba(211, 47, 47, 0));
    content: "";
    opacity: 0;
    transition: opacity 0.22s ease;
}

.service-capability-card:hover::before {
    opacity: 1;
}

.service-capability-card i,
.service-application-grid i,
.service-feature-grid i,
.service-download-grid i {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 20px;
    place-items: center;
    border-radius: 10px;
    background: var(--gpspl-red);
    color: #ffffff;
    font-size: 20px;
    box-shadow: 0 12px 26px rgba(211, 47, 47, 0.18);
}

.service-capability-card h3,
.service-partner-card h3,
.service-feature-grid h3,
.service-case-grid h3 {
    margin: 0 0 10px;
    color: var(--gpspl-ink);
    font-size: 20px;
    line-height: 1.2;
}

.service-capability-card p,
.service-partner-card p,
.service-feature-grid p,
.service-case-grid p {
    margin: 0;
    color: var(--gpspl-muted);
    line-height: 1.62;
}

.service-capability-card > span {
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid rgba(15, 35, 65, 0.08);
    color: var(--gpspl-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.service-applications,
.service-process,
.service-projects,
.service-resources,
.service-related {
    background: var(--gpspl-soft);
}

.service-process .reveal,
.service-resources .reveal {
    opacity: 1 !important;
    transform: none !important;
}

.service-application-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.service-application-grid article,
.service-feature-grid article {
    min-height: 160px;
    padding: 22px;
}

.service-application-grid span {
    display: block;
    margin-top: 22px;
    color: var(--gpspl-ink);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
}

.service-application-grid small {
    display: block;
    margin-top: 9px;
    color: var(--gpspl-muted);
    font-size: 13px;
    font-weight: 800;
}

.service-partner-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-partner-card {
    display: grid;
    align-content: start;
    min-height: 234px;
    padding: 22px;
}

.service-partner-logo {
    display: grid;
    width: 98px;
    height: 64px;
    margin-bottom: 16px;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(145deg, #f7f9fc, #ffffff);
    border: 1px solid rgba(15, 35, 65, 0.08);
}

.service-partner-logo img {
    max-width: 82px;
    max-height: 42px;
    object-fit: contain;
}

.service-partner-logo span {
    color: var(--gpspl-blue);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.service-partner-logo .service-wordmark {
    display: inline-grid;
    min-width: 62px;
    min-height: 34px;
    place-items: center;
    margin: 0;
    border-radius: 8px;
    background: #ffffff;
    color: var(--gpspl-blue);
    box-shadow: inset 0 0 0 1px rgba(15, 35, 65, 0.08);
    text-transform: none;
}

.service-partner-card span {
    display: block;
    margin-bottom: 10px;
    color: var(--gpspl-red);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.service-timeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.service-timeline article {
    position: relative;
    min-height: 130px;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(127, 176, 255, 0.18), transparent 44%),
        var(--gpspl-blue);
    color: #ffffff;
    padding: 20px;
}

.service-timeline span {
    color: #9fc2ff;
    font-weight: 900;
}

.service-timeline h3 {
    margin: 28px 0 0;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.32;
}

.service-feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-feature-grid article {
    display: flex;
    min-height: 220px;
    flex-direction: column;
    padding: 26px;
}

.service-feature-grid h3 {
    font-size: 18px;
}

.service-feature-grid p {
    margin-top: 6px;
    font-size: 0.95rem;
    line-height: 1.58;
}

.service-project-slider {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.service-project-card {
    overflow: hidden;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
}

.service-project-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}

.service-project-card div {
    padding: 22px;
}

.service-project-card h3 {
    margin: 8px 0 10px;
    color: var(--gpspl-ink);
}

.service-project-card p {
    color: var(--gpspl-muted);
    line-height: 1.6;
}

.service-project-card small {
    margin: 8px 6px 0 0;
}

.service-case-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}

.service-case-grid article {
    position: relative;
    display: flex;
    min-height: 560px;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    background:
        linear-gradient(135deg, rgba(47, 124, 255, 0.055), transparent 42%),
        #ffffff;
}

.service-case-grid article::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--gpspl-red), rgba(211, 47, 47, 0.08));
    content: "";
}

.service-case-card-head {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 18px;
    align-items: start;
    padding: 30px 30px 22px;
    border-bottom: 1px solid rgba(15, 35, 65, 0.08);
}

.service-case-card-head span {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 14px;
    background: var(--gpspl-blue);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.service-case-card-head h3 {
    margin: 0;
}

.service-case-flow {
    display: grid;
    flex: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(15, 35, 65, 0.075);
}

.service-case-step {
    min-height: 182px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.96);
}

.service-case-step strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: var(--gpspl-red);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.service-case-step strong::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.service-case-step p {
    margin: 0;
    color: var(--gpspl-muted);
    font-size: 0.96rem;
    line-height: 1.68;
}

.service-gallery-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: -8px 0 28px;
}

.service-gallery-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-gallery-grid figure {
    overflow: hidden;
    margin: 0;
    border-radius: 8px;
    background: var(--gpspl-blue);
}

.service-gallery-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.service-gallery-grid figure:hover img {
    transform: scale(1.04);
}

.service-gallery-grid figcaption {
    padding: 15px;
    color: #ffffff;
    font-weight: 900;
}

.service-download-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(100%, 1320px);
    margin-inline: auto;
    gap: 22px;
}

.service-download-grid a {
    min-height: 210px;
    padding: 28px;
    color: var(--gpspl-ink);
    border-radius: 20px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
        radial-gradient(circle at 86% 18%, rgba(211, 47, 47, 0.08), transparent 34%);
}

.service-download-grid span {
    display: block;
    margin-top: 16px;
    color: var(--gpspl-red);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.service-download-grid strong {
    display: block;
    margin-top: 8px;
    font-size: 21px;
    line-height: 1.25;
}

.service-faq-list {
    max-width: 920px;
}

.service-faq-list details {
    margin-bottom: 14px;
    overflow: hidden;
}

.service-faq-list summary {
    position: relative;
    padding: 22px 62px 22px 24px;
    color: var(--gpspl-ink);
    cursor: pointer;
    font-weight: 900;
    list-style: none;
    transition: color 0.22s ease, background-color 0.22s ease;
}

.service-faq-list summary::-webkit-details-marker {
    display: none;
}

.service-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: rgba(211, 47, 47, 0.1);
    color: var(--gpspl-red);
    transform: translateY(-50%);
}

.service-faq-list details[open] summary::after {
    content: "-";
}

.service-faq-list p {
    margin: 0;
    padding: 0 24px 22px;
    color: var(--gpspl-muted);
    line-height: 1.7;
    animation: faqReveal 0.24s ease;
}

.service-related-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-related-grid a {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px;
    color: var(--gpspl-ink);
    font-weight: 900;
}

.service-related-grid i {
    color: var(--gpspl-red);
}

.service-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(76px, 8vw, 112px) 0;
    background:
        linear-gradient(100deg, rgba(4, 9, 18, 0.94), rgba(8, 20, 38, 0.76)),
        var(--service-cta-image) center/cover no-repeat;
    color: #ffffff;
    text-align: center;
}

.service-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 118px);
}

.service-cta .container {
    max-width: 840px;
}

.service-cta h2 {
    color: #ffffff;
}

.service-cta p:not(.service-eyebrow) {
    color: rgba(238, 244, 255, 0.84);
    font-size: 18px;
    line-height: 1.7;
}

.service-cta .service-hero-actions {
    justify-content: center;
}

/* Partner dropdown technology-category pages */
.partner-tech-page {
    background:
        radial-gradient(circle at 8% 12%, rgba(211, 47, 47, 0.08), transparent 28%),
        linear-gradient(180deg, #f8fafc 0%, #ffffff 42%, #f8fafc 100%);
    color: var(--gpspl-ink);
}

.partner-tech-hero {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    padding: 150px 0 92px;
    background:
        linear-gradient(90deg, rgba(5, 14, 27, 0.94) 0%, rgba(6, 18, 34, 0.88) 48%, rgba(6, 18, 34, 0.62) 100%),
        var(--partner-tech-image) center/cover no-repeat;
    color: #ffffff;
}

.partner-tech-hero::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
    background-size: 76px 76px;
    content: "";
}

.partner-tech-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.72fr);
    gap: clamp(34px, 5vw, 84px);
    align-items: center;
}

.partner-tech-copy h1 {
    max-width: 820px;
    margin: 20px 0 24px;
    color: #ffffff;
    font-size: clamp(3.25rem, 7.4vw, 7.4rem);
    line-height: 0.9;
    letter-spacing: -0.075em;
}

.partner-tech-copy > p:not(.service-eyebrow) {
    max-width: 760px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.12rem;
    line-height: 1.82;
}

.partner-tech-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.partner-tech-brand-board {
    position: relative;
    padding: clamp(22px, 2.6vw, 32px);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 30px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.045)),
        rgba(15, 23, 42, 0.42);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(18px);
}

.partner-tech-board-label {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.76rem;
    font-weight: 950;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.partner-tech-logo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.partner-tech-logo-grid div {
    min-height: 168px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.08);
}

.partner-tech-logo-grid img {
    display: block;
    width: 100%;
    max-width: 136px;
    height: 54px;
    object-fit: contain;
    margin-bottom: 18px;
    padding: 10px;
    border-radius: 12px;
    background: #ffffff;
}

.partner-tech-logo-grid .service-wordmark {
    display: grid;
    width: 136px;
    height: 54px;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #ffffff;
    color: var(--gpspl-red);
    font-weight: 950;
}

.partner-tech-logo-grid strong,
.partner-tech-logo-grid small {
    display: block;
}

.partner-tech-logo-grid strong {
    color: #ffffff;
    font-size: 1rem;
}

.partner-tech-logo-grid small {
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.68);
    line-height: 1.45;
}

.partner-tech-proof {
    background: #ffffff;
}

.partner-tech-proof .container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    margin-top: -44px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
}

.partner-tech-proof div {
    padding: 24px;
    border-right: 1px solid #e2e8f0;
}

.partner-tech-proof div:last-child {
    border-right: 0;
}

.partner-tech-proof strong,
.partner-tech-proof span {
    display: block;
}

.partner-tech-proof strong {
    color: var(--gpspl-blue);
    font-size: 2rem;
    line-height: 1;
}

.partner-tech-proof span {
    margin-top: 9px;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.partner-tech-split {
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(360px, 1fr);
    gap: clamp(28px, 5vw, 78px);
    align-items: start;
}

.partner-tech-heading h2 {
    margin: 0;
    color: var(--gpspl-ink);
    font-size: clamp(2.25rem, 4.6vw, 4.75rem);
    line-height: 0.98;
    letter-spacing: -0.065em;
}

.partner-tech-copy-panel {
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid #dbe4ef;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.08);
}

.partner-tech-copy-panel p {
    margin: 0;
    color: #475569;
    font-size: 1.06rem;
    line-height: 1.85;
}

.partner-tech-tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.partner-tech-tag-row span,
.partner-tech-application-list span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    font-size: 0.84rem;
    font-weight: 850;
}

.partner-tech-brand-section,
.partner-tech-products {
    background:
        linear-gradient(rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        #f8fafc;
    background-size: 56px 56px;
}

.partner-tech-brand-list {
    display: grid;
    gap: 14px;
}

.partner-tech-brand-row {
    display: grid;
    grid-template-columns: 54px 150px 1fr auto;
    gap: 22px;
    align-items: center;
    padding: 22px;
    border: 1px solid #dbe4ef;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 54px rgba(15, 23, 42, 0.075);
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.partner-tech-brand-row:hover {
    transform: translateY(-5px);
    border-color: rgba(211, 47, 47, 0.28);
    box-shadow: 0 30px 78px rgba(15, 23, 42, 0.13);
}

.partner-tech-brand-row > span {
    color: rgba(211, 47, 47, 0.72);
    font-size: 0.82rem;
    font-weight: 950;
    letter-spacing: 0.12em;
}

.partner-tech-brand-logo {
    display: grid;
    width: 150px;
    height: 92px;
    place-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
}

.partner-tech-brand-logo img {
    display: block;
    max-width: 110px;
    max-height: 56px;
    object-fit: contain;
}

.partner-tech-brand-logo .service-wordmark {
    color: var(--gpspl-red);
    font-weight: 950;
}

.partner-tech-brand-row h3 {
    margin: 0 0 6px;
    color: var(--gpspl-ink);
    font-size: 1.24rem;
}

.partner-tech-brand-row small {
    display: block;
    margin-bottom: 8px;
    color: var(--gpspl-red);
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.partner-tech-brand-row p {
    margin: 0;
    color: #64748b;
    line-height: 1.65;
}

.partner-tech-brand-row a {
    color: var(--gpspl-red);
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.partner-tech-product-grid,
.partner-tech-procurement-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.partner-tech-product-card,
.partner-tech-procurement-grid article {
    min-height: 260px;
    padding: 24px;
    border: 1px solid #dbe4ef;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 54px rgba(15, 23, 42, 0.07);
}

.partner-tech-product-card > span,
.partner-tech-procurement-grid strong {
    display: inline-flex;
    margin-bottom: 22px;
    color: rgba(211, 47, 47, 0.72);
    font-size: 0.8rem;
    font-weight: 950;
    letter-spacing: 0.12em;
}

.partner-tech-product-card i {
    display: grid;
    width: 54px;
    height: 54px;
    margin-bottom: 22px;
    place-items: center;
    border-radius: 16px;
    background: var(--gpspl-red);
    color: #ffffff;
    font-size: 18px;
    box-shadow: 0 16px 34px rgba(211, 47, 47, 0.22);
}

.partner-tech-product-card h3 {
    margin: 0 0 12px;
    color: var(--gpspl-ink);
    font-size: 1.22rem;
    line-height: 1.22;
}

.partner-tech-product-card p,
.partner-tech-procurement-grid p {
    margin: 0;
    color: #64748b;
    line-height: 1.65;
}

.partner-tech-application-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 28px;
    border: 1px solid #dbe4ef;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 22px 62px rgba(15, 23, 42, 0.075);
}

.partner-tech-application-list i {
    color: var(--gpspl-red);
}

.partner-tech-cta {
    margin-top: 0;
}

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.service-capability-card.reveal.is-visible,
.service-planning-story.reveal.is-visible,
.service-planning-checklist.reveal.is-visible,
.service-rfq-card.reveal.is-visible,
.service-application-grid article.reveal.is-visible,
.service-partner-card.reveal.is-visible,
.service-feature-grid article.reveal.is-visible,
.service-case-grid article.reveal.is-visible,
.service-download-grid a.reveal.is-visible,
.service-related-grid a.reveal.is-visible,
.service-faq-list details.reveal.is-visible {
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

@keyframes servicePanelFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes faqReveal {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1100px) {
    .service-hero-grid,
    .service-intro-grid {
        grid-template-columns: 1fr;
    }

    .service-hero-panel {
        max-width: 560px;
    }

    .service-approach-grid,
    .service-card-grid,
    .service-partner-grid,
    .service-project-slider,
    .service-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-planning-grid {
        grid-template-columns: 1fr;
    }

    .service-planning-story,
    .service-planning-checklist,
    .service-rfq-card {
        min-height: auto;
    }

    .partner-tech-hero-grid,
    .partner-tech-split {
        grid-template-columns: 1fr;
    }

    .partner-tech-product-grid,
    .partner-tech-procurement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partner-tech-brand-row {
        grid-template-columns: 42px 130px 1fr;
    }

    .partner-tech-brand-row a {
        grid-column: 3;
    }

    .service-application-grid,
    .service-feature-grid,
    .service-gallery-grid,
    .service-download-grid,
    .service-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .service-page .container {
        width: min(100% - 32px, 1200px);
    }

    .service-page .section-padding {
        padding: 58px 0;
    }

    .service-hero {
        min-height: auto;
        padding: 82px 0 56px;
        background:
            linear-gradient(90deg, rgba(4, 11, 22, 0.9), rgba(6, 18, 34, 0.7)),
            var(--service-hero-image) center/cover no-repeat;
    }

    .service-hero-grid {
        gap: 28px;
    }

    .service-breadcrumbs {
        margin-bottom: 18px;
        font-size: 12px;
    }

    .service-hero h1 {
        font-size: clamp(2.45rem, 11vw, 3.1rem);
        line-height: 1.02;
    }

    .service-hero-copy > p:not(.service-eyebrow) {
        margin-top: 18px;
        font-size: 1rem;
        line-height: 1.62;
    }

    .service-hero-actions,
    .service-btn {
        width: 100%;
    }

    .service-hero-actions {
        margin-top: 22px;
        gap: 10px;
    }

    .service-tags {
        margin-top: 18px;
    }

    .service-hero-panel {
        display: none;
    }

    .service-capability-card,
    .service-application-grid article,
    .service-partner-card,
    .service-feature-grid article,
    .service-case-grid article,
    .service-download-grid a,
    .service-related-grid a,
    .service-faq-list details {
        transform: none;
    }

    .service-capability-card:hover,
    .service-application-grid article:hover,
    .service-partner-card:hover,
    .service-feature-grid article:hover,
    .service-case-grid article:hover,
    .service-download-grid a:hover,
    .service-related-grid a:hover,
    .service-faq-list details[open] {
        transform: translateY(-2px);
    }

    .service-approach {
        padding: 28px 0;
    }

    .service-approach-grid,
    .service-card-grid,
    .service-planning-grid,
    .service-application-grid,
    .service-partner-grid,
    .service-feature-grid,
    .service-case-grid,
    .service-gallery-grid,
    .service-download-grid,
    .service-related-grid,
    .service-project-slider,
    .service-timeline,
    .service-stat-row {
        grid-template-columns: 1fr;
    }

    .service-approach-grid article {
        min-height: auto;
        padding: 22px;
    }

    .service-page-index {
        top: 0;
    }

    .service-page-index .container {
        justify-content: flex-start;
        min-height: 58px;
    }

    .service-section-heading {
        margin-bottom: 28px;
    }

    .service-section-heading h2,
    .service-section-copy h2,
    .service-cta h2 {
        font-size: clamp(2rem, 9vw, 2.75rem);
    }

    .service-section-heading > p:not(.service-eyebrow),
    .service-section-copy > p {
        font-size: 16px;
    }

    .service-capability-card {
        min-height: auto;
    }

    .service-planning-story,
    .service-planning-checklist,
    .service-rfq-card {
        border-radius: 22px;
        padding: 24px;
    }

    .service-planning-story h3 {
        font-size: clamp(1.75rem, 8vw, 2.45rem);
    }

    .service-case-grid article {
        min-height: auto;
    }

    .partner-tech-hero {
        min-height: auto;
        padding: 118px 0 66px;
    }

    .partner-tech-copy h1 {
        font-size: clamp(2.55rem, 12vw, 4rem);
    }

    .partner-tech-actions,
    .partner-tech-actions .service-btn {
        width: 100%;
    }

    .partner-tech-logo-grid,
    .partner-tech-proof .container,
    .partner-tech-product-grid,
    .partner-tech-procurement-grid {
        grid-template-columns: 1fr;
    }

    .partner-tech-proof .container {
        margin-top: 0;
        border-radius: 0;
    }

    .partner-tech-proof div {
        border-right: 0;
        border-bottom: 1px solid #e2e8f0;
    }

    .partner-tech-proof div:last-child {
        border-bottom: 0;
    }

    .partner-tech-brand-row {
        grid-template-columns: 1fr;
    }

    .partner-tech-brand-row a {
        grid-column: auto;
    }

    .partner-tech-brand-logo {
        width: 100%;
    }

    .partner-tech-heading h2 {
        font-size: clamp(2rem, 9vw, 2.9rem);
    }

    .service-case-card-head {
        grid-template-columns: 44px 1fr;
        gap: 14px;
        padding: 24px 22px 18px;
    }

    .service-case-card-head span {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .service-case-flow {
        grid-template-columns: 1fr;
    }

    .service-case-step {
        min-height: auto;
        padding: 20px 22px;
    }

    .service-capability-card > span {
        padding-top: 14px;
    }

    .service-intro-image {
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 420px) {
}

@media (prefers-reduced-motion: reduce) {
    .reveal,
    .service-btn,
    .service-capability-card,
    .service-application-grid article,
    .service-partner-card,
    .service-feature-grid article,
    .service-download-grid a,
    .service-related-grid a,
    .service-gallery-grid img {
        animation: none;
        transition: none;
    }

    .service-hero-panel {
        animation: none;
    }

    .service-page {
        scroll-behavior: auto;
    }
}

/* Final service-page polish: premium aligned intro + unified planning cards */
.service-intro {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 12%, rgba(211, 47, 47, 0.08), transparent 30%),
        radial-gradient(circle at 90% 18%, rgba(23, 61, 112, 0.08), transparent 32%),
        linear-gradient(180deg, #f8fafc 0%, #ffffff 56%, #f8fafc 100%);
}

.service-intro::before {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(15, 23, 42, 0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.028) 1px, transparent 1px);
    background-size: 48px 48px;
    content: "";
    pointer-events: none;
}

.service-intro .reveal,
.service-planning .reveal {
    opacity: 1;
    transform: none;
}

.service-intro-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.78fr);
    gap: clamp(44px, 7vw, 96px);
    align-items: center;
}

.service-section-copy .service-eyebrow {
    margin-bottom: 18px;
}

.service-section-copy h2 {
    max-width: 780px;
    margin: 0;
    color: #0f172a;
    font-size: clamp(2.45rem, 4.35vw, 4.9rem);
    line-height: 1.02;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.service-section-copy > p {
    max-width: 790px;
    margin-top: 24px;
    color: #51657f;
    font-size: clamp(1rem, 1.18vw, 1.13rem);
    line-height: 1.74;
}

.service-stat-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.service-stat-row div {
    min-height: 122px;
    padding: 22px 18px;
    border: 1px solid rgba(219, 228, 239, 0.9);
    border-left: 4px solid var(--gpspl-red);
    border-radius: 0 22px 22px 0;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
    box-shadow: 0 22px 58px rgba(15, 23, 42, 0.07);
}

.service-stat-row strong,
.service-stat-row span {
    display: block;
}

.service-stat-row strong {
    color: #061225;
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    line-height: 1.08;
}

.service-stat-row span {
    margin-top: 10px;
    color: #51657f;
    font-size: 0.82rem;
    font-weight: 850;
    line-height: 1.65;
}

.service-intro-media {
    position: relative;
    margin: 0;
    padding: 12px;
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.84), rgba(248, 250, 252, 0.58)),
        #ffffff;
    box-shadow: 0 34px 95px rgba(15, 23, 42, 0.14);
}

.service-intro-media::before {
    position: absolute;
    inset: -1px;
    z-index: -1;
    border-radius: 31px;
    background: linear-gradient(135deg, rgba(211, 47, 47, 0.3), rgba(23, 61, 112, 0.22), transparent 70%);
    content: "";
}

.service-intro-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: none;
}

.service-intro-media figcaption {
    position: absolute;
    right: 28px;
    bottom: 28px;
    left: 28px;
    display: grid;
    gap: 5px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 18px;
    background: rgba(7, 21, 39, 0.74);
    color: #ffffff;
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(14px);
}

.service-intro-media figcaption span {
    color: #fecaca;
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.service-intro-media figcaption strong {
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.25;
}

.service-planning {
    background:
        radial-gradient(circle at 10% 10%, rgba(211, 47, 47, 0.12), transparent 28%),
        radial-gradient(circle at 92% 20%, rgba(23, 61, 112, 0.12), transparent 32%),
        linear-gradient(rgba(15, 23, 42, 0.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.032) 1px, transparent 1px),
        #f8fafc;
    background-size: auto, auto, 48px 48px, 48px 48px, auto;
}

.service-planning .service-section-heading {
    max-width: 1060px;
}

.service-planning-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr) minmax(320px, 1fr);
    gap: 22px;
}

.service-planning-story,
.service-planning-checklist,
.service-rfq-card {
    min-height: 560px;
    padding: clamp(26px, 2.5vw, 36px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 30px;
    background:
        radial-gradient(circle at 92% 6%, rgba(211, 47, 47, 0.2), transparent 28%),
        linear-gradient(145deg, rgba(7, 21, 39, 0.98), rgba(14, 36, 64, 0.96));
    color: #ffffff;
    box-shadow: 0 32px 90px rgba(7, 21, 39, 0.22);
}

.service-planning-story::before,
.service-planning-checklist::before,
.service-rfq-card::before {
    height: 6px;
    background: linear-gradient(90deg, var(--gpspl-red), rgba(255, 255, 255, 0.18), transparent);
}

.service-planning-story::after,
.service-planning-checklist::after,
.service-rfq-card::after {
    right: -110px;
    bottom: -120px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08), transparent 66%);
}

.service-planning-story > span,
.service-planning-checklist > span,
.service-rfq-card > span {
    margin-bottom: 26px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.service-planning-grid h3,
.service-planning-checklist h3,
.service-rfq-card h3,
.service-planning-story h3 {
    color: #ffffff;
}

.service-planning-grid h3 {
    font-size: clamp(1.55rem, 2vw, 2.35rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.service-planning-checklist h3,
.service-rfq-card h3 {
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

.service-planning-story p {
    color: rgba(255, 255, 255, 0.78);
}

.service-planning-grid li {
    min-height: auto;
    padding: 13px 40px 13px 48px;
    border-color: rgba(255, 255, 255, 0.11);
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.9rem;
    line-height: 1.45;
    box-shadow: none;
}

.service-planning-grid li:hover {
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
}

.service-planning-grid li::before {
    background: rgba(255, 255, 255, 0.1);
    color: #fecaca;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.service-planning-checklist li::after {
    color: rgba(255, 255, 255, 0.32);
}

.service-rfq-card .service-btn {
    width: auto;
    min-width: 220px;
    align-self: flex-start;
    box-shadow: 0 24px 54px rgba(211, 47, 47, 0.32);
}

.service-keyword-strip a {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.09);
}

.service-video-wall-solutions .service-intro-image,
.service-active-led-wall-solutions .service-intro-image,
.service-active-led-wall-installation .service-intro-image {
    object-position: center;
}

.service-unified-communication-collaboration .service-intro-image,
.service-audio-visual-integration .service-intro-image {
    object-position: center 42%;
}

.service-amc-maintenance-services .service-intro-image,
.service-control-automation .service-intro-image {
    object-position: center 55%;
}

@media (max-width: 1100px) {
    .service-intro-grid,
    .service-planning-grid {
        grid-template-columns: 1fr;
    }

    .service-planning-story,
    .service-planning-checklist,
    .service-rfq-card {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .service-intro-grid {
        gap: 30px;
    }

    .service-section-copy h2 {
        font-size: clamp(2.05rem, 9.2vw, 2.85rem);
        line-height: 1.04;
    }

    .service-stat-row {
        gap: 12px;
        margin-top: 24px;
    }

    .service-stat-row div {
        min-height: auto;
        padding: 18px 16px;
    }

    .service-intro-media {
        padding: 10px;
        border-radius: 24px;
    }

    .service-intro-image {
        border-radius: 18px;
    }

    .service-intro-media figcaption {
        position: static;
        margin-top: 10px;
        border-color: rgba(15, 23, 42, 0.1);
        background: #071527;
    }

    .service-planning-story,
    .service-planning-checklist,
    .service-rfq-card {
        padding: 26px;
        border-radius: 24px;
    }

    .service-rfq-card .service-btn {
        width: 100%;
        min-width: 0;
    }
}
/* Launch alignment lock: audio/video/control technology pages */
.partner-tech-page .partner-tech-hero {
    min-height: auto;
    padding: clamp(112px, 10vw, 138px) 0 clamp(72px, 7vw, 94px);
}

/* Final service-page stabilization: keeps repeated AV/IT layouts readable and aligned. */
main .service-section-heading,
main .service-section-heading *,
main .service-stat-row,
main .service-stat-row *,
main .service-case-flow,
main .service-case-flow *,
main .service-planning-grid,
main .service-planning-grid *,
main .service-proof-band,
main .service-proof-band * {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
}

.service-stat-row,
.service-case-flow {
    width: min(100% - 48px, 1180px) !important;
    margin: clamp(28px, 4vw, 56px) auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: stretch !important;
}

.service-planning-grid {
    width: min(100% - 48px, 1180px) !important;
    margin: clamp(28px, 4vw, 56px) auto !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: stretch !important;
}

.service-stat-row > *,
.service-case-flow > *,
.service-planning-grid > * {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 190px !important;
    height: 100% !important;
    padding: clamp(28px, 3vw, 44px) !important;
    border-radius: 26px !important;
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
    border: 1px solid rgba(148, 163, 184, 0.32) !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08) !important;
}

.service-stat-row > *:hover,
.service-case-flow > *:hover,
.service-planning-grid > *:hover {
    transform: translateY(-6px);
    border-color: rgba(220, 38, 38, 0.32) !important;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.13) !important;
}

.service-stat-row h3,
.service-case-flow h3,
.service-planning-grid h3 {
    max-width: 15ch !important;
    margin: 0 0 14px !important;
    font-size: clamp(1.55rem, 2.4vw, 2.35rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    color: #0f172a !important;
}

.service-stat-row p,
.service-case-flow p,
.service-planning-grid p,
.service-stat-row li,
.service-case-flow li,
.service-planning-grid li {
    max-width: 34rem !important;
    font-size: clamp(0.98rem, 1vw, 1.08rem) !important;
    line-height: 1.75 !important;
    color: #475569 !important;
}

.service-case-flow ul,
.service-planning-grid ul {
    display: grid !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 18px 0 0 !important;
}

.service-case-flow li,
.service-planning-grid li {
    display: grid !important;
    grid-template-columns: 28px 1fr !important;
    align-items: start !important;
    gap: 12px !important;
}

@media (max-width: 1024px) {
    .service-stat-row,
    .service-case-flow {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .service-stat-row,
    .service-case-flow,
    .service-planning-grid {
        width: min(100% - 28px, 1180px) !important;
    }

    .service-stat-row > *,
    .service-case-flow > *,
    .service-planning-grid > * {
        padding: 24px !important;
        border-radius: 20px !important;
    }
}

.partner-tech-page .partner-tech-hero-grid {
    width: min(100% - 64px, 1280px);
    max-width: 1280px;
    grid-template-columns: minmax(0, 0.98fr) minmax(400px, 500px);
    gap: clamp(42px, 6vw, 82px);
}

.partner-tech-page .partner-tech-copy h1 {
    max-width: 850px;
    font-size: clamp(2.9rem, 4.25vw, 4.75rem);
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.partner-tech-page .partner-tech-brand-board {
    width: min(100%, 500px);
}

.partner-tech-page .partner-tech-logo-grid div {
    min-height: 150px;
}

.partner-tech-page .partner-tech-proof .container {
    width: min(100% - 64px, 1280px);
}

.partner-tech-page .partner-tech-brand-section .container,
.partner-tech-page .partner-tech-products .container,
.partner-tech-page .partner-tech-applications .container,
.partner-tech-page .partner-tech-procurement .container,
.partner-tech-page .partner-tech-overview .container {
    width: min(100% - 64px, 1280px);
}

.partner-tech-page .partner-tech-split {
    grid-template-columns: minmax(0, 0.8fr) minmax(480px, 1.2fr);
    gap: clamp(38px, 5vw, 80px);
}

.partner-tech-page .partner-tech-heading h2 {
    max-width: 650px;
    font-size: clamp(2.55rem, 4vw, 4.45rem);
    line-height: 1.02;
}

.partner-tech-page .partner-tech-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.partner-tech-page .partner-tech-product-card {
    min-height: 365px;
    padding: 30px;
}

.partner-tech-page .partner-tech-application-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-tech-page .partner-tech-procurement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.partner-tech-page .partner-tech-procurement-grid article {
    grid-template-columns: 60px minmax(0, 1fr);
    min-height: 174px;
    padding: 26px;
}

.partner-tech-page .partner-tech-procurement-grid p {
    font-size: 1rem;
    line-height: 1.68;
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-split {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-proof .container,
    .partner-tech-page .partner-tech-brand-section .container,
    .partner-tech-page .partner-tech-products .container,
    .partner-tech-page .partner-tech-applications .container,
    .partner-tech-page .partner-tech-procurement .container,
    .partner-tech-page .partner-tech-overview .container {
        width: min(100% - 30px, 1280px);
    }

    .partner-tech-page .partner-tech-copy h1 {
        font-size: clamp(2.35rem, 11vw, 3.45rem);
    }

    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-application-list,
    .partner-tech-page .partner-tech-procurement-grid,
    .partner-tech-page .partner-tech-procurement-grid article {
        grid-template-columns: 1fr;
    }
}

/* QA EOF override: this must remain at the end */
.service-page .service-planning-checklist li,
.service-page .service-rfq-card li {
    padding: 8px 12px 8px 34px !important;
    min-height: 0 !important;
    line-height: 1.35 !important;
}

.service-page .service-planning-grid > article > span {
    margin-bottom: 8px !important;
}

.service-page .service-planning-grid > article h3 {
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
}

.service-page .service-planning-grid > article {
    padding: 24px !important;
}

.service-page .service-keyword-strip {
    display: none !important;
}

/* Final service solution card QA: content-rich, no empty stretched boxes */
.service-page .service-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: clamp(20px, 2vw, 28px) !important;
}

.service-page .service-capability-card {
    min-height: 0 !important;
    height: 100% !important;
    padding: clamp(24px, 2vw, 32px) !important;
    border-radius: 18px !important;
    gap: 14px !important;
}

.service-page .service-capability-card i:first-child {
    width: 56px !important;
    height: 56px !important;
    margin-bottom: 4px !important;
    border-radius: 14px !important;
    background: var(--gpspl-navy) !important;
    color: #ffffff !important;
}

.service-page .service-capability-card h3 {
    max-width: 16ch !important;
    margin: 0 !important;
    font-size: clamp(1.35rem, 1.9vw, 1.9rem) !important;
    line-height: 1.14 !important;
}

.service-page .service-capability-card p {
    margin: 0 !important;
    color: var(--gpspl-muted) !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

.service-page .service-card-points {
    display: grid !important;
    gap: 8px !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.service-page .service-card-points li {
    position: relative !important;
    padding-left: 22px !important;
    color: #334155 !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.service-page .service-card-points li::before {
    position: absolute !important;
    top: 0.52em !important;
    left: 0 !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: var(--gpspl-red) !important;
    content: "" !important;
}

.service-page .service-capability-card > a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: fit-content !important;
    margin-top: auto !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(15, 35, 65, 0.08) !important;
    color: var(--gpspl-red) !important;
    font-size: 0.82rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.service-page .service-capability-card > a i {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: currentColor !important;
    font-size: 0.78rem !important;
}

@media (max-width: 1100px) {
    .service-page .service-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .service-page .service-card-grid {
        grid-template-columns: 1fr !important;
    }

    .service-page .service-capability-card h3 {
        max-width: none !important;
    }
}

/* Absolute final override: service case-study cards must never collapse into skinny columns */
.service-page .service-case-studies .service-case-grid {
    width: min(100% - 56px, 1180px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
}

.service-page .service-case-studies .service-case-grid > article {
    display: grid !important;
    grid-template-columns: minmax(270px, 0.34fr) minmax(0, 1fr) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 26px !important;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 60px rgba(7, 20, 38, 0.08) !important;
}

.service-page .service-case-studies .service-case-grid > article::before,
.service-page .service-case-studies .service-case-grid > article::after {
    display: none !important;
}

.service-page .service-case-studies .service-case-card-head {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: clamp(26px, 3vw, 38px) !important;
    border: 0 !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(220, 38, 38, 0.22), transparent 36%),
        linear-gradient(135deg, #071426 0%, #123762 100%) !important;
}

.service-page .service-case-studies .service-case-card-head h3 {
    max-width: 24rem !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(1.55rem, 2vw, 2.1rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
}

.service-page .service-case-studies .service-case-flow {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(18px, 2vw, 24px) !important;
    background: #f4f7fb !important;
}

.service-page .service-case-studies .service-case-step {
    display: block !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    border-left: 4px solid #d72f2f !important;
    border-radius: 18px !important;
    background: #ffffff !important;
}

.service-page .service-case-studies .service-case-step strong {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    color: #d72f2f !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

.service-page .service-case-studies .service-case-step p {
    max-width: none !important;
    margin: 0 !important;
    color: #4d5f76 !important;
    font-size: 0.98rem !important;
    line-height: 1.56 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

@media (max-width: 980px) {
    .service-page .service-case-studies .service-case-grid > article {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    .service-page .service-case-studies .service-case-grid,
    .service-page .service-case-studies .service-case-flow {
        width: min(100% - 28px, 1180px) !important;
        grid-template-columns: 1fr !important;
    }
}

/* Absolute final override: service case-study cards must never collapse into skinny columns */
.service-page .service-case-studies .service-case-grid {
    width: min(100% - 56px, 1180px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
}

.service-page .service-case-studies .service-case-grid > article {
    display: grid !important;
    grid-template-columns: minmax(270px, 0.34fr) minmax(0, 1fr) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 26px !important;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 60px rgba(7, 20, 38, 0.08) !important;
}

.service-page .service-case-studies .service-case-card-head {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: clamp(26px, 3vw, 38px) !important;
    border: 0 !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(220, 38, 38, 0.22), transparent 36%),
        linear-gradient(135deg, #071426 0%, #123762 100%) !important;
}

.service-page .service-case-studies .service-case-card-head h3 {
    max-width: 24rem !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(1.55rem, 2vw, 2.1rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
}

.service-page .service-case-studies .service-case-flow {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(18px, 2vw, 24px) !important;
    background: #f4f7fb !important;
}

.service-page .service-case-studies .service-case-step {
    display: block !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    border-left: 4px solid #d72f2f !important;
    border-radius: 18px !important;
    background: #ffffff !important;
}

.service-page .service-case-studies .service-case-step strong {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    color: #d72f2f !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

.service-page .service-case-studies .service-case-step p {
    max-width: none !important;
    margin: 0 !important;
    color: #4d5f76 !important;
    font-size: 0.98rem !important;
    line-height: 1.56 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

@media (max-width: 980px) {
    .service-page .service-case-studies .service-case-grid > article {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    .service-page .service-case-studies .service-case-grid,
    .service-page .service-case-studies .service-case-flow {
        width: min(100% - 28px, 1180px) !important;
        grid-template-columns: 1fr !important;
    }
}

/* Final service case-study QA: keep every service subpage readable and aligned */
.service-page .service-case-studies {
    padding-block: clamp(58px, 6vw, 88px) !important;
}

.service-page .service-case-grid {
    width: min(100% - 56px, 1180px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
}

.service-page .service-case-grid > article {
    display: grid !important;
    grid-template-columns: minmax(260px, 0.32fr) minmax(0, 1fr) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 26px !important;
    border: 1px solid rgba(203, 213, 225, 0.82) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 60px rgba(7, 20, 38, 0.08) !important;
}

.service-page .service-case-grid > article::before,
.service-page .service-case-grid > article::after {
    display: none !important;
}

.service-page .service-case-card-head {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 18px !important;
    min-height: 100% !important;
    padding: clamp(26px, 3vw, 38px) !important;
    border: 0 !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(220, 38, 38, 0.22), transparent 36%),
        linear-gradient(135deg, #071426 0%, #123762 100%) !important;
}

.service-page .service-case-card-head span {
    width: 56px !important;
    height: 56px !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

.service-page .service-case-card-head h3 {
    max-width: 24rem !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(1.55rem, 2vw, 2.15rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
}

.service-page .service-case-flow {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(18px, 2vw, 24px) !important;
    background: #f4f7fb !important;
}

.service-page .service-case-step {
    display: block !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(203, 213, 225, 0.82) !important;
    border-left: 4px solid #d72f2f !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.service-page .service-case-step strong {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    color: #d72f2f !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.service-page .service-case-step p {
    max-width: none !important;
    margin: 0 !important;
    color: #4d5f76 !important;
    font-size: 0.98rem !important;
    line-height: 1.56 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

@media (max-width: 980px) {
    .service-page .service-case-grid > article {
        grid-template-columns: 1fr !important;
    }

    .service-page .service-case-card-head {
        min-height: 0 !important;
    }
}

@media (max-width: 680px) {
    .service-page .service-case-grid,
    .service-page .service-case-flow {
        width: min(100% - 28px, 1180px) !important;
        grid-template-columns: 1fr !important;
    }
}

/* Last-mile spacing trim after QA screenshots */
.service-page .service-planning-grid li {
    padding-block: 6px !important;
}

.service-page .service-planning-checklist li,
.service-page .service-rfq-card li {
    padding: 8px 12px 8px 34px !important;
    min-height: 0 !important;
    line-height: 1.35 !important;
}

.service-page .service-planning-grid > article > span {
    margin-bottom: 8px !important;
}

.service-page .service-planning-grid > article h3 {
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
}

.service-page .service-planning-grid > article {
    max-height: none !important;
}

.service-page .service-rfq-card .service-btn,
.service-page .service-rfq-card a {
    margin-top: 8px !important;
}

.service-page .service-case-card-head {
    padding: 22px 24px !important;
}

.service-page .service-case-flow {
    padding: 18px !important;
}

.service-page .service-process .service-timeline article,
.service-page .service-feature-grid article,
.service-page .service-application-grid article {
    min-height: 0 !important;
    padding: 24px !important;
}

/* Density polish: remove dead blank space from service subpages */
.service-page .section-padding,
.partner-tech-page .section-padding {
    padding-block: clamp(64px, 6vw, 92px) !important;
}

.service-page .service-approach,
.service-page .service-intro,
.service-page .service-planning,
.service-page .service-capabilities,
.service-page .service-applications,
.partner-tech-page .partner-tech-overview,
.partner-tech-page .partner-tech-products,
.partner-tech-page .partner-tech-procurement,
.partner-tech-page .partner-tech-applications {
    padding-block: clamp(64px, 6vw, 92px) !important;
}

.service-page .service-approach-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: clamp(16px, 1.8vw, 24px) !important;
}

.service-page .service-approach-grid article {
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(24px, 2.4vw, 32px) !important;
}

.service-page .service-approach-grid :is(h2, h3) {
    font-size: clamp(1.65rem, 2vw, 2.15rem) !important;
}

.service-page .service-approach-grid p {
    line-height: 1.54 !important;
}

.service-page .service-planning-grid {
    align-items: start !important;
    gap: clamp(18px, 2vw, 28px) !important;
}

.service-page .service-planning-story {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr) !important;
    gap: clamp(22px, 3vw, 44px) !important;
    align-items: center !important;
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(34px, 3.5vw, 52px) !important;
}

.service-page .service-planning-story > span {
    grid-column: 1 / -1 !important;
}

.service-page .service-planning-story h3 {
    max-width: 760px !important;
    font-size: clamp(2.1rem, 3.4vw, 3.75rem) !important;
    line-height: 1.02 !important;
}

.service-page .service-planning-story p {
    max-width: 520px !important;
    margin: 0 !important;
    align-self: center !important;
}

.service-page .service-planning-story .service-keyword-strip {
    grid-column: 1 / -1 !important;
    margin-top: 8px !important;
}

.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(26px, 2.6vw, 36px) !important;
}

.service-page .service-planning-grid ul {
    gap: 8px !important;
}

.service-page .service-planning-grid li {
    padding: 10px 0 !important;
    line-height: 1.48 !important;
}

.service-page .service-capability-card,
.partner-tech-page .partner-tech-product-card,
.partner-tech-page .partner-tech-brand-row {
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(24px, 2.4vw, 34px) !important;
}

.partner-tech-page .partner-tech-product-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.partner-tech-page .partner-tech-product-card p {
    margin-bottom: 0 !important;
}

@media (max-width: 900px) {
    .service-page .service-planning-story {
        grid-template-columns: 1fr !important;
    }

    .service-page .service-planning-story p {
        max-width: 760px !important;
    }
}

/* Final QA override: readable partner/service heroes and process cards */
.service-page .service-hero,
.partner-tech-page .partner-tech-hero {
    overflow-x: visible !important;
    overflow-y: visible !important;
}

.service-page .service-approach-grid article {
    min-height: 420px !important;
    padding: clamp(30px, 3.3vw, 44px) !important;
}

.service-page .service-approach-grid article::before,
.service-page .service-approach-grid article::after,
.service-page .service-planning-grid article::before,
.service-page .service-planning-grid article::after {
    display: none !important;
}

.service-page .service-planning-story,
.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
}

.partner-tech-page .partner-tech-copy,
.partner-tech-page .partner-tech-copy h1,
.partner-tech-page .partner-tech-copy p {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 760px) {
    .partner-tech-page .partner-tech-copy {
        width: 100% !important;
        padding: 0 !important;
    }

    .partner-tech-page .partner-tech-copy h1 {
        font-size: clamp(2.35rem, 11.4vw, 3.35rem) !important;
        line-height: 1.03 !important;
        letter-spacing: -0.025em !important;
    }

    .service-page .service-approach-grid article {
        min-height: 0 !important;
    }
}

/* Absolute final service QA lock - keep this at the end of service-page.css */
.service-page,
.service-page main,
.service-page section {
    max-width: 100% !important;
    overflow-x: clip !important;
}

.service-page .service-hero,
.partner-tech-page .partner-tech-hero {
    height: auto !important;
    min-height: 0 !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    padding-block: clamp(116px, 9vw, 158px) clamp(66px, 7vw, 106px) !important;
}

.service-page .service-hero-grid,
.partner-tech-page .partner-tech-hero-grid {
    width: min(100% - 64px, 1320px) !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.82fr) !important;
}

.service-page .service-approach-grid {
    width: min(100% - 64px, 1320px) !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
}

.service-page .service-approach-grid article,
.service-page .service-planning-grid article,
.service-page .service-timeline article,
.service-page .service-stat-row > * {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.service-page .service-approach-grid article::before,
.service-page .service-approach-grid article::after,
.service-page .service-planning-grid article::before,
.service-page .service-planning-grid article::after,
.service-page .service-timeline article::before,
.service-page .service-timeline article::after,
.service-page .service-stat-row > *::before,
.service-page .service-stat-row > *::after {
    display: none !important;
}

.partner-tech-page .partner-tech-copy,
.partner-tech-page .partner-tech-copy h1 {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 760px) {
    .service-page .service-hero,
    .partner-tech-page .partner-tech-hero {
        padding-block: 96px 58px !important;
    }

    .service-page .service-hero-grid,
    .partner-tech-page .partner-tech-hero-grid,
    .service-page .service-approach-grid {
        width: min(100% - 28px, 1320px) !important;
        grid-template-columns: 1fr !important;
    }
}

/* Partner technology final override - keep this block last */
.partner-tech-page .partner-tech-overview {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 14%, rgba(220, 38, 38, 0.08), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(15, 23, 42, 0.06), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
}

.partner-tech-page .partner-tech-overview .partner-tech-split,
.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    align-items: start;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading,
.partner-tech-page .partner-tech-applications .partner-tech-heading,
.partner-tech-page .partner-tech-procurement .partner-tech-heading {
    position: sticky;
    top: 130px;
    align-self: start;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading h2,
.partner-tech-page .partner-tech-applications .partner-tech-heading h2,
.partner-tech-page .partner-tech-procurement .partner-tech-heading h2 {
    max-width: 680px;
    color: #0f172a;
    font-size: clamp(2.4rem, 3.6vw, 4.05rem);
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.partner-tech-page .partner-tech-copy-panel {
    padding: clamp(30px, 4vw, 48px);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
    box-shadow: 0 30px 90px rgba(15, 23, 42, 0.1);
}

.partner-tech-page .partner-tech-copy-panel p {
    color: #334155;
    font-size: clamp(1.05rem, 1.15vw, 1.18rem);
    line-height: 1.85;
}

.partner-tech-page .partner-tech-brand-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.partner-tech-page .partner-tech-brand-row {
    grid-template-columns: 42px 132px minmax(0, 1fr);
    gap: 18px;
    min-height: 238px;
    padding: 24px;
    align-items: center;
}

.partner-tech-page .partner-tech-brand-row a {
    grid-column: 3;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    background: #fff1f2;
    color: #dc2626;
}

.partner-tech-page .partner-tech-brand-row a::after {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    transition: transform 0.22s ease;
}

.partner-tech-page .partner-tech-brand-row:hover a::after {
    transform: translateX(4px);
}

.partner-tech-page .partner-tech-brand-logo {
    width: 132px;
    height: 94px;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.partner-tech-page .partner-tech-brand-logo img {
    max-width: 102px;
    max-height: 54px;
}

.partner-tech-page .partner-tech-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.partner-tech-page .partner-tech-product-card {
    min-height: 350px;
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.partner-tech-page .partner-tech-product-card > span {
    margin-bottom: 18px;
    color: #dc2626;
}

.partner-tech-page .partner-tech-product-mark {
    margin: 0 0 24px;
}

.partner-tech-page .partner-tech-product-mark.logo-mark {
    width: 126px;
    height: 72px;
}

.partner-tech-page .partner-tech-product-mark.logo-mark img {
    max-width: 96px;
    max-height: 46px;
}

.partner-tech-page .partner-tech-product-card h3 {
    min-height: 0;
    margin-bottom: 14px;
    color: #0f172a;
    font-size: clamp(1.2rem, 1.28vw, 1.42rem);
}

.partner-tech-page .partner-tech-product-card p {
    color: #475569;
    font-size: 1rem;
    line-height: 1.75;
}

.partner-tech-page .partner-tech-tag-row span,
.partner-tech-page .partner-tech-application-list span {
    border-color: rgba(15, 23, 42, 0.12);
    background: #ffffff;
    color: #10203a;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
}

.partner-tech-page .partner-tech-tag-row span:hover,
.partner-tech-page .partner-tech-application-list span:hover {
    transform: translateY(-3px);
    border-color: rgba(220, 38, 38, 0.28);
    color: #dc2626;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.1);
}

.partner-tech-page .partner-tech-procurement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.partner-tech-page .partner-tech-procurement-grid article {
    min-height: 180px;
    border-radius: 24px;
}

.partner-tech-page .partner-tech-procurement-grid strong {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    background: #fff1f2;
    color: #dc2626;
}

.partner-tech-page .partner-tech-cta .container {
    min-height: 290px;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 950px;
    font-size: clamp(2.55rem, 4.8vw, 5.4rem);
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-overview .partner-tech-heading,
    .partner-tech-page .partner-tech-applications .partner-tech-heading,
    .partner-tech-page .partner-tech-procurement .partner-tech-heading {
        position: static;
    }

    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-row a {
        grid-column: 1;
    }
}

/* Partner technology actual final correction - do not place partner-tech rules after this */
.partner-tech-page .partner-tech-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    align-items: center;
    gap: clamp(36px, 6vw, 88px);
}

.partner-tech-page .partner-tech-copy h1 {
    max-width: 800px;
    font-size: clamp(3rem, 5.7vw, 6.4rem);
    line-height: 0.94;
    letter-spacing: -0.06em;
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-brand-board {
    justify-self: end;
    align-self: center;
    max-width: 520px;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading,
.partner-tech-page .partner-tech-applications .partner-tech-heading,
.partner-tech-page .partner-tech-procurement .partner-tech-heading {
    position: static;
    top: auto;
}

.partner-tech-page .partner-tech-overview .partner-tech-split,
.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: clamp(38px, 6vw, 90px);
}

.partner-tech-page .partner-tech-applications {
    background:
        radial-gradient(circle at 86% 14%, rgba(15, 23, 42, 0.06), transparent 30%),
        linear-gradient(rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        #f8fafc;
    background-size: auto, 56px 56px, 56px 56px, auto;
}

.partner-tech-page .partner-tech-procurement {
    background:
        radial-gradient(circle at 12% 10%, rgba(220, 38, 38, 0.06), transparent 30%),
        #ffffff;
}

.partner-tech-page .partner-tech-application-list,
.partner-tech-page .partner-tech-procurement-grid {
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 28px 78px rgba(15, 23, 42, 0.08);
}

.partner-tech-page .partner-tech-application-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-tech-page .partner-tech-procurement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-tech-page .partner-tech-procurement-grid article {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 150px;
    box-shadow: none;
}

.partner-tech-page .partner-tech-brand-row {
    grid-template-columns: 44px 146px minmax(0, 1fr);
    min-height: 246px;
}

.partner-tech-page .partner-tech-brand-logo {
    width: 146px;
    height: 106px;
}

.partner-tech-page .partner-tech-brand-logo img {
    max-width: 112px;
    max-height: 58px;
    filter: none;
}

.partner-tech-page .partner-tech-cta .container {
    width: min(100% - 64px, 1320px);
    max-width: none;
    min-height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(24px, 5vw, 74px);
    padding: clamp(34px, 4vw, 58px);
}

.partner-tech-page .partner-tech-cta-copy {
    min-width: 0;
    max-width: 960px;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 960px;
    margin: 12px 0 18px;
    font-size: clamp(2.5rem, 4.2vw, 4.9rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    text-align: left;
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-cta p:not(.service-eyebrow) {
    max-width: 880px;
    text-align: left;
}

.partner-tech-page .partner-tech-cta .service-hero-actions {
    justify-content: flex-end;
    min-width: 220px;
    margin: 0;
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-overview .partner-tech-split,
    .partner-tech-page .partner-tech-applications .partner-tech-split,
    .partner-tech-page .partner-tech-procurement .partner-tech-split,
    .partner-tech-page .partner-tech-cta .container {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-board {
        justify-self: start;
        width: 100%;
    }

    .partner-tech-page .partner-tech-cta .service-hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 820px) {
    .partner-tech-page .container,
    .partner-tech-page .partner-tech-cta .container {
        width: min(100% - 30px, 1320px);
    }

    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-application-list,
    .partner-tech-page .partner-tech-procurement-grid,
    .partner-tech-page .partner-tech-procurement-grid article {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-row a {
        grid-column: 1;
    }

    .partner-tech-page .partner-tech-copy h1,
    .partner-tech-page .partner-tech-cta h2 {
        font-size: clamp(2.25rem, 11vw, 3.3rem);
        line-height: 1.02;
    }
}

/* Partner technology emergency final alignment - keep this as the last service-page override */
.partner-tech-page {
    --partner-ink: #0f172a;
    --partner-muted: #4f6178;
    --partner-line: #dbe4ef;
}

.partner-tech-page .container {
    width: min(100% - 64px, 1280px);
}

.partner-tech-page .partner-tech-hero {
    min-height: auto;
    padding: clamp(110px, 11vw, 150px) 0 clamp(76px, 8vw, 104px);
}

.partner-tech-page .partner-tech-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: clamp(36px, 6vw, 88px);
    align-items: center;
}

.partner-tech-page .partner-tech-copy {
    min-width: 0;
}

.partner-tech-page .partner-tech-copy h1 {
    max-width: 800px;
    margin: 18px 0 22px;
    font-size: clamp(3rem, 5.7vw, 6.4rem);
    line-height: 0.94;
    letter-spacing: -0.06em;
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-copy>p:not(.service-eyebrow) {
    max-width: 720px;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1rem, 1.1vw, 1.14rem);
    line-height: 1.75;
}

.partner-tech-page .partner-tech-brand-board {
    align-self: center;
    justify-self: end;
    max-width: 520px;
}

.partner-tech-page .partner-tech-proof .container {
    max-width: 1280px;
    margin-top: -38px;
}

.partner-tech-page .partner-tech-overview {
    background:
        radial-gradient(circle at 8% 14%, rgba(220, 38, 38, 0.08), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(15, 23, 42, 0.06), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
}

.partner-tech-page .partner-tech-brand-section {
    background:
        radial-gradient(circle at 14% 4%, rgba(220, 38, 38, 0.06), transparent 28%),
        linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        #f8fafc;
    background-size: auto, 56px 56px, 56px 56px, auto;
}

.partner-tech-page .partner-tech-products {
    background: #ffffff;
}

.partner-tech-page .partner-tech-applications {
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    background:
        radial-gradient(circle at 86% 14%, rgba(15, 23, 42, 0.06), transparent 30%),
        #f8fafc;
}

.partner-tech-page .partner-tech-procurement {
    background:
        radial-gradient(circle at 12% 10%, rgba(220, 38, 38, 0.06), transparent 30%),
        #ffffff;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading,
.partner-tech-page .partner-tech-applications .partner-tech-heading,
.partner-tech-page .partner-tech-procurement .partner-tech-heading {
    position: static;
    top: auto;
}

.partner-tech-page .partner-tech-overview .partner-tech-split,
.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(38px, 6vw, 90px);
    align-items: center;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading h2,
.partner-tech-page .partner-tech-applications .partner-tech-heading h2,
.partner-tech-page .partner-tech-procurement .partner-tech-heading h2,
.partner-tech-page .partner-tech-brand-section .service-section-heading h2,
.partner-tech-page .partner-tech-products .service-section-heading h2 {
    color: var(--partner-ink);
    letter-spacing: -0.045em;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading h2,
.partner-tech-page .partner-tech-applications .partner-tech-heading h2,
.partner-tech-page .partner-tech-procurement .partner-tech-heading h2 {
    max-width: 620px;
    font-size: clamp(2.35rem, 3.6vw, 4.15rem);
    line-height: 1.02;
}

.partner-tech-page .partner-tech-copy-panel,
.partner-tech-page .partner-tech-application-list,
.partner-tech-page .partner-tech-procurement-grid {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 28px 78px rgba(15, 23, 42, 0.08);
}

.partner-tech-page .partner-tech-copy-panel {
    padding: clamp(28px, 4vw, 46px);
}

.partner-tech-page .partner-tech-copy-panel p {
    color: #334155;
    font-size: clamp(1.05rem, 1.15vw, 1.18rem);
    line-height: 1.85;
}

.partner-tech-page .partner-tech-brand-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.partner-tech-page .partner-tech-brand-row {
    position: relative;
    grid-template-columns: 44px 146px minmax(0, 1fr);
    gap: 20px;
    min-height: 246px;
    padding: 26px;
    border-color: rgba(148, 163, 184, 0.28);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.partner-tech-page .partner-tech-brand-row::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 28px 0 0 28px;
    background: linear-gradient(180deg, #dc2626, rgba(220, 38, 38, 0.08));
    opacity: 0;
    transition: opacity 0.24s ease;
    content: "";
}

.partner-tech-page .partner-tech-brand-row:hover::before {
    opacity: 1;
}

.partner-tech-page .partner-tech-brand-row>span {
    align-self: start;
    margin-top: 8px;
    color: #dc2626;
}

.partner-tech-page .partner-tech-brand-logo {
    width: 146px;
    height: 106px;
    border: 1px solid var(--partner-line);
    border-radius: 22px;
    background: #ffffff;
}

.partner-tech-page .partner-tech-brand-logo img {
    max-width: 112px;
    max-height: 58px;
    filter: none;
}

.partner-tech-page .partner-tech-brand-row h3 {
    color: var(--partner-ink);
    font-size: clamp(1.25rem, 1.35vw, 1.45rem);
}

.partner-tech-page .partner-tech-brand-row p {
    color: var(--partner-muted);
    font-size: 1rem;
}

.partner-tech-page .partner-tech-brand-row a {
    grid-column: 3;
    justify-self: start;
    align-self: end;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 15px;
    border-radius: 999px;
    background: #fff1f2;
    color: #dc2626;
    font-size: 0.76rem;
}

.partner-tech-page .partner-tech-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.partner-tech-page .partner-tech-product-card {
    min-height: 350px;
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.partner-tech-page .partner-tech-product-card>span {
    margin-bottom: 18px;
    color: #dc2626;
}

.partner-tech-page .partner-tech-product-mark {
    margin: 0 0 24px;
}

.partner-tech-page .partner-tech-product-mark.logo-mark {
    width: 126px;
    height: 72px;
}

.partner-tech-page .partner-tech-product-mark.logo-mark img {
    max-width: 96px;
    max-height: 46px;
}

.partner-tech-page .partner-tech-product-card h3 {
    min-height: 0;
    margin-bottom: 14px;
    color: var(--partner-ink);
    font-size: clamp(1.2rem, 1.28vw, 1.42rem);
}

.partner-tech-page .partner-tech-product-card p {
    color: #475569;
    font-size: 1rem;
    line-height: 1.75;
}

.partner-tech-page .partner-tech-application-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: clamp(22px, 3vw, 34px);
}

.partner-tech-page .partner-tech-application-list span {
    min-height: 58px;
    padding: 14px 16px;
    border-radius: 16px;
    font-size: 0.94rem;
}

.partner-tech-page .partner-tech-procurement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: clamp(22px, 3vw, 34px);
}

.partner-tech-page .partner-tech-procurement-grid article {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 150px;
    box-shadow: none;
}

.partner-tech-page .partner-tech-procurement-grid p {
    color: var(--partner-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.partner-tech-page .partner-tech-cta {
    padding: clamp(72px, 7vw, 104px) 0;
    text-align: left;
}

.partner-tech-page .partner-tech-cta .container {
    width: min(100% - 64px, 1320px);
    max-width: none;
    min-height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(24px, 5vw, 74px);
    align-items: center;
    padding: clamp(34px, 4vw, 58px);
}

.partner-tech-page .partner-tech-cta-copy {
    min-width: 0;
    max-width: 960px;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 960px;
    margin: 12px 0 18px;
    font-size: clamp(2.5rem, 4.2vw, 4.9rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    overflow-wrap: normal;
    word-break: normal;
    text-align: left;
}

.partner-tech-page .partner-tech-cta p:not(.service-eyebrow) {
    max-width: 880px;
    color: rgba(255, 255, 255, 0.82);
    text-align: left;
}

.partner-tech-page .partner-tech-cta .service-hero-actions {
    justify-content: flex-end;
    min-width: 220px;
    margin: 0;
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-overview .partner-tech-split,
    .partner-tech-page .partner-tech-applications .partner-tech-split,
    .partner-tech-page .partner-tech-procurement .partner-tech-split,
    .partner-tech-page .partner-tech-cta .container {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-board {
        justify-self: start;
        width: 100%;
    }

    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partner-tech-page .partner-tech-cta .service-hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 820px) {
    .partner-tech-page .container,
    .partner-tech-page .partner-tech-cta .container {
        width: min(100% - 30px, 1320px);
    }

    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-application-list,
    .partner-tech-page .partner-tech-procurement-grid,
    .partner-tech-page .partner-tech-procurement-grid article {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-row a {
        grid-column: 1;
    }

    .partner-tech-page .partner-tech-copy h1,
    .partner-tech-page .partner-tech-cta h2 {
        font-size: clamp(2.25rem, 11vw, 3.3rem);
        line-height: 1.02;
    }
}

/* Partner technology emergency final alignment - must remain last */
.partner-tech-page {
    --partner-card: #ffffff;
    --partner-ink: #0f172a;
    --partner-muted: #4f6178;
    --partner-line: #dbe4ef;
}

.partner-tech-page .container {
    width: min(100% - 64px, 1280px);
}

.partner-tech-page .partner-tech-hero {
    min-height: auto;
    padding: clamp(110px, 11vw, 150px) 0 clamp(76px, 8vw, 104px);
}

.partner-tech-page .partner-tech-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: clamp(36px, 6vw, 88px);
}

.partner-tech-page .partner-tech-copy {
    min-width: 0;
}

.partner-tech-page .partner-tech-copy h1 {
    max-width: 800px;
    margin: 18px 0 22px;
    font-size: clamp(3rem, 5.7vw, 6.4rem);
    line-height: 0.94;
    letter-spacing: -0.06em;
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-copy > p:not(.service-eyebrow) {
    max-width: 720px;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1rem, 1.1vw, 1.14rem);
}

.partner-tech-page .partner-tech-brand-board {
    align-self: center;
    max-width: 520px;
    justify-self: end;
}

.partner-tech-page .partner-tech-proof .container {
    max-width: 1280px;
    margin-top: -38px;
}

.partner-tech-page .partner-tech-brand-section {
    background:
        radial-gradient(circle at 14% 4%, rgba(220, 38, 38, 0.06), transparent 28%),
        linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        #f8fafc;
    background-size: auto, 56px 56px, 56px 56px, auto;
}

.partner-tech-page .partner-tech-brand-section .service-section-heading h2,
.partner-tech-page .partner-tech-products .service-section-heading h2,
.partner-tech-page .partner-tech-applications .partner-tech-heading h2,
.partner-tech-page .partner-tech-procurement .partner-tech-heading h2 {
    color: var(--partner-ink);
    letter-spacing: -0.045em;
}

.partner-tech-page .partner-tech-brand-section .service-section-heading > p:not(.service-eyebrow),
.partner-tech-page .partner-tech-products .service-section-heading > p:not(.service-eyebrow) {
    color: var(--partner-muted);
}

.partner-tech-page .partner-tech-brand-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.partner-tech-page .partner-tech-brand-row {
    position: relative;
    grid-template-columns: 44px 146px minmax(0, 1fr);
    gap: 20px;
    min-height: 246px;
    padding: 26px;
    border-color: rgba(148, 163, 184, 0.28);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.partner-tech-page .partner-tech-brand-row::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 28px 0 0 28px;
    background: linear-gradient(180deg, #dc2626, rgba(220, 38, 38, 0.08));
    opacity: 0;
    transition: opacity 0.24s ease;
    content: "";
}

.partner-tech-page .partner-tech-brand-row:hover::before {
    opacity: 1;
}

.partner-tech-page .partner-tech-brand-row > span {
    align-self: start;
    margin-top: 8px;
    color: #dc2626;
}

.partner-tech-page .partner-tech-brand-logo {
    width: 146px;
    height: 106px;
    border: 1px solid var(--partner-line);
    background: #ffffff;
}

.partner-tech-page .partner-tech-brand-logo img {
    max-width: 112px;
    max-height: 58px;
    filter: none;
}

.partner-tech-page .partner-tech-brand-row h3 {
    color: var(--partner-ink);
    font-size: clamp(1.25rem, 1.35vw, 1.45rem);
}

.partner-tech-page .partner-tech-brand-row p {
    color: var(--partner-muted);
    font-size: 1rem;
}

.partner-tech-page .partner-tech-products {
    background: #ffffff;
}

.partner-tech-page .partner-tech-applications {
    background:
        radial-gradient(circle at 86% 14%, rgba(15, 23, 42, 0.06), transparent 30%),
        #f8fafc;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.partner-tech-page .partner-tech-procurement {
    background:
        radial-gradient(circle at 12% 10%, rgba(220, 38, 38, 0.06), transparent 30%),
        #ffffff;
}

.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(38px, 6vw, 90px);
    align-items: center;
}

.partner-tech-page .partner-tech-applications .partner-tech-heading,
.partner-tech-page .partner-tech-procurement .partner-tech-heading {
    position: static;
}

.partner-tech-page .partner-tech-application-list,
.partner-tech-page .partner-tech-procurement-grid {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 28px 78px rgba(15, 23, 42, 0.08);
    padding: clamp(22px, 3vw, 34px);
}

.partner-tech-page .partner-tech-application-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-tech-page .partner-tech-application-list span {
    min-height: 58px;
    padding: 14px 16px;
    border-radius: 16px;
    font-size: 0.94rem;
}

.partner-tech-page .partner-tech-procurement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-tech-page .partner-tech-procurement-grid article {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 150px;
    box-shadow: none;
}

.partner-tech-page .partner-tech-procurement-grid p {
    color: var(--partner-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.partner-tech-page .partner-tech-cta {
    padding: clamp(72px, 7vw, 104px) 0;
    text-align: left;
}

.partner-tech-page .partner-tech-cta .container {
    width: min(100% - 64px, 1320px);
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(24px, 5vw, 74px);
    align-items: center;
    min-height: auto;
    padding: clamp(34px, 4vw, 58px);
}

.partner-tech-page .partner-tech-cta-copy {
    min-width: 0;
    max-width: 960px;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 960px;
    margin: 12px 0 18px;
    font-size: clamp(2.5rem, 4.2vw, 4.9rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    overflow-wrap: normal;
    word-break: normal;
    text-align: left;
}

.partner-tech-page .partner-tech-cta p:not(.service-eyebrow) {
    max-width: 880px;
    color: rgba(255, 255, 255, 0.82);
    text-align: left;
}

.partner-tech-page .partner-tech-cta .service-hero-actions {
    justify-content: flex-end;
    margin: 0;
    min-width: 220px;
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-applications .partner-tech-split,
    .partner-tech-page .partner-tech-procurement .partner-tech-split,
    .partner-tech-page .partner-tech-cta .container {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-board {
        justify-self: start;
        width: 100%;
    }

    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partner-tech-page .partner-tech-cta .service-hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 820px) {
    .partner-tech-page .container,
    .partner-tech-page .partner-tech-cta .container {
        width: min(100% - 30px, 1320px);
    }

    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-application-list,
    .partner-tech-page .partner-tech-procurement-grid,
    .partner-tech-page .partner-tech-procurement-grid article {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-row a {
        grid-column: 1;
    }

    .partner-tech-page .partner-tech-copy h1,
    .partner-tech-page .partner-tech-cta h2 {
        font-size: clamp(2.25rem, 11vw, 3.3rem);
        line-height: 1.02;
    }
}

/* Partner technology launch polish - final authority */
.partner-tech-page {
    --partner-surface: #f8fafc;
    --partner-card: #ffffff;
    --partner-ink: #0f172a;
    --partner-muted: #4f6178;
    --partner-line: #dbe4ef;
}

.partner-tech-page .container {
    width: min(100% - 64px, 1280px);
}

.partner-tech-page .partner-tech-hero {
    min-height: auto;
    padding: clamp(110px, 11vw, 150px) 0 clamp(76px, 8vw, 104px);
}

.partner-tech-page .partner-tech-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: clamp(36px, 6vw, 88px);
}

.partner-tech-page .partner-tech-copy {
    min-width: 0;
}

.partner-tech-page .partner-tech-copy h1 {
    max-width: 780px;
    margin: 18px 0 22px;
    font-size: clamp(3rem, 5.7vw, 6.4rem);
    line-height: 0.94;
    letter-spacing: -0.06em;
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-copy > p:not(.service-eyebrow) {
    max-width: 720px;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1rem, 1.1vw, 1.14rem);
}

.partner-tech-page .partner-tech-brand-board {
    align-self: center;
    max-width: 520px;
    justify-self: end;
}

.partner-tech-page .partner-tech-proof .container {
    max-width: 1280px;
    margin-top: -38px;
}

.partner-tech-page .partner-tech-brand-section {
    background:
        radial-gradient(circle at 14% 4%, rgba(220, 38, 38, 0.06), transparent 28%),
        linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        #f8fafc;
    background-size: auto, 56px 56px, 56px 56px, auto;
}

.partner-tech-page .partner-tech-brand-section .service-section-heading h2,
.partner-tech-page .partner-tech-products .service-section-heading h2,
.partner-tech-page .partner-tech-applications .partner-tech-heading h2,
.partner-tech-page .partner-tech-procurement .partner-tech-heading h2 {
    color: var(--partner-ink);
    letter-spacing: -0.045em;
}

.partner-tech-page .partner-tech-brand-section .service-section-heading > p:not(.service-eyebrow),
.partner-tech-page .partner-tech-products .service-section-heading > p:not(.service-eyebrow) {
    color: var(--partner-muted);
}

.partner-tech-page .partner-tech-brand-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.partner-tech-page .partner-tech-brand-row {
    position: relative;
    grid-template-columns: 44px 146px minmax(0, 1fr);
    gap: 20px;
    min-height: 246px;
    padding: 26px;
    border-color: rgba(148, 163, 184, 0.28);
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
        #ffffff;
}

.partner-tech-page .partner-tech-brand-row::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 28px 0 0 28px;
    background: linear-gradient(180deg, #dc2626, rgba(220, 38, 38, 0.08));
    opacity: 0;
    transition: opacity 0.24s ease;
    content: "";
}

.partner-tech-page .partner-tech-brand-row:hover::before {
    opacity: 1;
}

.partner-tech-page .partner-tech-brand-row > span {
    align-self: start;
    margin-top: 8px;
    color: #dc2626;
}

.partner-tech-page .partner-tech-brand-logo {
    width: 146px;
    height: 106px;
    border: 1px solid var(--partner-line);
    background: #ffffff;
}

.partner-tech-page .partner-tech-brand-logo img {
    max-width: 112px;
    max-height: 58px;
    filter: none;
}

.partner-tech-page .partner-tech-brand-row h3 {
    color: var(--partner-ink);
    font-size: clamp(1.25rem, 1.35vw, 1.45rem);
}

.partner-tech-page .partner-tech-brand-row small {
    color: #dc2626;
}

.partner-tech-page .partner-tech-brand-row p {
    color: var(--partner-muted);
    font-size: 1rem;
}

.partner-tech-page .partner-tech-products {
    background: #ffffff;
}

.partner-tech-page .partner-tech-applications {
    background:
        radial-gradient(circle at 86% 14%, rgba(15, 23, 42, 0.06), transparent 30%),
        #f8fafc;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.partner-tech-page .partner-tech-procurement {
    background:
        radial-gradient(circle at 12% 10%, rgba(220, 38, 38, 0.06), transparent 30%),
        #ffffff;
}

.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(38px, 6vw, 90px);
    align-items: center;
}

.partner-tech-page .partner-tech-applications .partner-tech-heading,
.partner-tech-page .partner-tech-procurement .partner-tech-heading {
    position: static;
}

.partner-tech-page .partner-tech-application-list,
.partner-tech-page .partner-tech-procurement-grid {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 28px 78px rgba(15, 23, 42, 0.08);
    padding: clamp(22px, 3vw, 34px);
}

.partner-tech-page .partner-tech-application-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-tech-page .partner-tech-application-list span {
    min-height: 58px;
    padding: 14px 16px;
    border-radius: 16px;
    font-size: 0.94rem;
}

.partner-tech-page .partner-tech-procurement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-tech-page .partner-tech-procurement-grid article {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 150px;
    box-shadow: none;
}

.partner-tech-page .partner-tech-procurement-grid p {
    color: var(--partner-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.partner-tech-page .partner-tech-cta {
    padding: clamp(72px, 7vw, 104px) 0;
    text-align: left;
}

.partner-tech-page .partner-tech-cta .container {
    width: min(100% - 64px, 1320px);
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(24px, 5vw, 74px);
    align-items: center;
    min-height: auto;
    padding: clamp(34px, 4vw, 58px);
}

.partner-tech-page .partner-tech-cta-copy {
    min-width: 0;
    max-width: 960px;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 960px;
    margin: 12px 0 18px;
    font-size: clamp(2.5rem, 4.2vw, 4.9rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    overflow-wrap: normal;
    word-break: normal;
    text-align: left;
}

.partner-tech-page .partner-tech-cta p:not(.service-eyebrow) {
    max-width: 880px;
    color: rgba(255, 255, 255, 0.82);
    text-align: left;
}

.partner-tech-page .partner-tech-cta .service-hero-actions {
    justify-content: flex-end;
    margin: 0;
    min-width: 220px;
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-applications .partner-tech-split,
    .partner-tech-page .partner-tech-procurement .partner-tech-split,
    .partner-tech-page .partner-tech-cta .container {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-board {
        justify-self: start;
        width: 100%;
    }

    .partner-tech-page .partner-tech-cta .service-hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 820px) {
    .partner-tech-page .container,
    .partner-tech-page .partner-tech-cta .container {
        width: min(100% - 30px, 1320px);
    }

    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-application-list,
    .partner-tech-page .partner-tech-procurement-grid,
    .partner-tech-page .partner-tech-procurement-grid article {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-row a {
        grid-column: 1;
    }

    .partner-tech-page .partner-tech-copy h1,
    .partner-tech-page .partner-tech-cta h2 {
        font-size: clamp(2.25rem, 11vw, 3.3rem);
        line-height: 1.02;
    }
}

/* Final launch polish: partner technology pages */
.partner-tech-page .partner-tech-overview {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 14%, rgba(220, 38, 38, 0.08), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(15, 23, 42, 0.06), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
}

.partner-tech-page .partner-tech-overview .partner-tech-split,
.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    align-items: center;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading,
.partner-tech-page .partner-tech-applications .partner-tech-heading,
.partner-tech-page .partner-tech-procurement .partner-tech-heading {
    position: sticky;
    top: 130px;
    align-self: start;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading h2,
.partner-tech-page .partner-tech-applications .partner-tech-heading h2,
.partner-tech-page .partner-tech-procurement .partner-tech-heading h2 {
    color: #0f172a;
    font-size: clamp(2.4rem, 3.6vw, 4.05rem);
    letter-spacing: -0.055em;
}

.partner-tech-page .partner-tech-copy-panel {
    padding: clamp(28px, 4vw, 46px);
    border: 1px solid rgba(148, 163, 184, 0.26);
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
        #ffffff;
    box-shadow: 0 30px 90px rgba(15, 23, 42, 0.1);
}

.partner-tech-page .partner-tech-copy-panel p {
    color: #334155;
    font-size: clamp(1.05rem, 1.15vw, 1.18rem);
    line-height: 1.85;
}

.partner-tech-page .partner-tech-tag-row span,
.partner-tech-page .partner-tech-application-list span {
    border-color: rgba(15, 23, 42, 0.12);
    background: #ffffff;
    color: #10203a;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
}

.partner-tech-page .partner-tech-tag-row span:hover,
.partner-tech-page .partner-tech-application-list span:hover {
    transform: translateY(-3px);
    border-color: rgba(220, 38, 38, 0.28);
    color: #dc2626;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.1);
}

.partner-tech-page .partner-tech-brand-section {
    background:
        linear-gradient(rgba(15, 23, 42, 0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.028) 1px, transparent 1px),
        linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    background-size: 54px 54px;
}

.partner-tech-page .partner-tech-brand-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.partner-tech-page .partner-tech-brand-row {
    grid-template-columns: 42px 132px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 238px;
    padding: 24px;
}

.partner-tech-page .partner-tech-brand-row a {
    grid-column: 3;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    background: #fff1f2;
    color: #dc2626;
}

.partner-tech-page .partner-tech-brand-row a::after {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    transition: transform 0.22s ease;
}

.partner-tech-page .partner-tech-brand-row:hover a::after {
    transform: translateX(4px);
}

.partner-tech-page .partner-tech-brand-logo {
    width: 132px;
    height: 94px;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.partner-tech-page .partner-tech-brand-logo img {
    max-width: 102px;
    max-height: 54px;
}

.partner-tech-page .partner-tech-products {
    background:
        radial-gradient(circle at 88% 8%, rgba(220, 38, 38, 0.08), transparent 28%),
        linear-gradient(rgba(15, 23, 42, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.025) 1px, transparent 1px),
        #f8fafc;
    background-size: auto, 56px 56px, 56px 56px, auto;
}

.partner-tech-page .partner-tech-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.partner-tech-page .partner-tech-product-card {
    min-height: 350px;
    padding: 28px;
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
        #ffffff;
}

.partner-tech-page .partner-tech-product-card > span {
    margin-bottom: 18px;
    color: #dc2626;
}

.partner-tech-page .partner-tech-product-mark {
    margin: 0 0 24px;
}

.partner-tech-page .partner-tech-product-mark.logo-mark {
    width: 126px;
    height: 72px;
}

.partner-tech-page .partner-tech-product-mark.logo-mark img {
    max-width: 96px;
    max-height: 46px;
}

.partner-tech-page .partner-tech-product-card h3 {
    min-height: 0;
    margin-bottom: 14px;
    color: #0f172a;
    font-size: clamp(1.2rem, 1.28vw, 1.42rem);
}

.partner-tech-page .partner-tech-product-card p {
    color: #475569;
    font-size: 1rem;
    line-height: 1.75;
}

.partner-tech-page .partner-tech-application-list {
    padding: clamp(22px, 3vw, 34px);
    border-radius: 30px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
        #ffffff;
}

.partner-tech-page .partner-tech-procurement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.partner-tech-page .partner-tech-procurement-grid article {
    min-height: 180px;
    border-radius: 24px;
}

.partner-tech-page .partner-tech-procurement-grid strong {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    background: #fff1f2;
    color: #dc2626;
}

.partner-tech-page .partner-tech-cta .container {
    min-height: 290px;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 950px;
    font-size: clamp(2.55rem, 4.8vw, 5.4rem);
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-heading,
    .partner-tech-page .partner-tech-overview .partner-tech-heading,
    .partner-tech-page .partner-tech-applications .partner-tech-heading,
    .partner-tech-page .partner-tech-procurement .partner-tech-heading {
        position: static;
    }

    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-row a {
        grid-column: 1;
    }
}

/* Final partner technology page layout lock */
.partner-tech-page .partner-tech-proof {
    position: relative;
    z-index: 4;
}

.partner-tech-page .partner-tech-proof .container {
    margin-top: -34px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.98);
}

.partner-tech-page .partner-tech-brand-section,
.partner-tech-page .partner-tech-products,
.partner-tech-page .partner-tech-applications,
.partner-tech-page .partner-tech-procurement,
.partner-tech-page .partner-tech-overview {
    padding-block: clamp(78px, 7vw, 108px);
}

.partner-tech-page .partner-tech-brand-row {
    grid-template-columns: 52px 150px minmax(0, 1fr) auto;
    align-items: center;
}

.partner-tech-page .partner-tech-overview {
    background:
        radial-gradient(circle at 12% 18%, rgba(220, 38, 38, 0.08), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.partner-tech-page .partner-tech-overview .partner-tech-heading h2 {
    color: #10203a;
}

.partner-tech-page .partner-tech-overview .partner-tech-copy-panel {
    position: relative;
    overflow: hidden;
    border-color: rgba(220, 38, 38, 0.18);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.94)),
        #ffffff;
}

.partner-tech-page .partner-tech-overview .partner-tech-copy-panel::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #dc2626, rgba(220, 38, 38, 0.12));
    content: "";
}

.partner-tech-page .partner-tech-product-grid {
    align-items: stretch;
}

.partner-tech-page .partner-tech-product-card {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 340px;
    flex-direction: column;
    transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

.partner-tech-page .partner-tech-product-card::after {
    position: absolute;
    inset: auto 24px 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, #dc2626, rgba(220, 38, 38, 0));
    opacity: 0;
    transform: scaleX(0.45);
    transform-origin: left;
    transition: opacity 0.28s ease, transform 0.28s ease;
    content: "";
}

.partner-tech-page .partner-tech-product-card:hover {
    border-color: rgba(220, 38, 38, 0.32);
    box-shadow: 0 28px 76px rgba(15, 23, 42, 0.13);
    transform: translateY(-8px);
}

.partner-tech-page .partner-tech-product-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
}

.partner-tech-page .partner-tech-product-mark {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    margin: 18px 0 24px;
    border: 1px solid rgba(220, 38, 38, 0.18);
    border-radius: 18px;
    background: #fff1f2;
    color: #dc2626;
    box-shadow: 0 16px 38px rgba(220, 38, 38, 0.12);
    transition: transform 0.28s ease, background 0.28s ease;
}

.partner-tech-page .partner-tech-product-mark i {
    margin: 0;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
}

.partner-tech-page .partner-tech-product-mark.logo-mark {
    width: 108px;
    height: 66px;
    border-color: #dbe4ef;
    background: #ffffff;
}

.partner-tech-page .partner-tech-product-mark.logo-mark img {
    max-width: 82px;
    max-height: 42px;
    object-fit: contain;
    filter: none;
}

.partner-tech-page .partner-tech-product-card:hover .partner-tech-product-mark {
    transform: translateY(-4px) scale(1.04);
}

.partner-tech-page .partner-tech-product-card h3 {
    min-height: 58px;
}

.partner-tech-page .partner-tech-product-card p {
    margin-top: 0;
}

.partner-tech-page .partner-tech-application-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.partner-tech-page .partner-tech-application-list span {
    justify-content: flex-start;
    min-height: 52px;
    border-radius: 16px;
}

.partner-tech-page .partner-tech-procurement-grid {
    align-items: stretch;
}

.partner-tech-page .partner-tech-procurement-grid article {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 8px 20px;
    min-height: 154px;
    align-items: start;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
        #ffffff;
}

.partner-tech-page .partner-tech-procurement-grid strong {
    grid-row: 1 / 3;
    margin: 0;
}

.partner-tech-page .partner-tech-procurement-grid p {
    width: 100%;
    max-width: none;
}

.partner-tech-page .partner-tech-cta {
    padding: clamp(72px, 7vw, 104px) 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(220, 38, 38, 0.16), transparent 30%),
        linear-gradient(135deg, #061426 0%, #071527 100%);
}

.partner-tech-page .partner-tech-cta::before {
    opacity: 0.18;
}

.partner-tech-page .partner-tech-cta .container {
    width: min(100% - 64px, 1280px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(24px, 4vw, 64px);
    align-items: center;
    padding: clamp(30px, 4vw, 52px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.055);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.24);
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 940px;
    margin: 16px 0 18px;
    text-align: left;
    font-size: clamp(2.3rem, 4.2vw, 5rem);
    line-height: 1.08;
}

.partner-tech-page .partner-tech-cta p:not(.service-eyebrow) {
    max-width: 980px;
    text-align: left;
}

.partner-tech-page .partner-tech-cta .service-hero-actions {
    justify-content: flex-end;
    margin: 0;
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-brand-row {
        grid-template-columns: 52px 140px minmax(0, 1fr);
    }

    .partner-tech-page .partner-tech-brand-row a {
        grid-column: 3;
    }

    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-cta .container {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-cta .service-hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .partner-tech-page .partner-tech-proof .container {
        margin-top: -22px;
    }

    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-application-list,
    .partner-tech-page .partner-tech-procurement-grid article {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-cta .container {
        width: min(100% - 30px, 1280px);
    }

    .partner-tech-page .partner-tech-brand-row a,
    .partner-tech-page .partner-tech-procurement-grid strong,
    .partner-tech-page .partner-tech-procurement-grid p {
        grid-column: 1;
        grid-row: auto;
    }
}

/* Partner technology final override - keep this block last */
.partner-tech-page .partner-tech-overview {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 14%, rgba(220, 38, 38, 0.08), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(15, 23, 42, 0.06), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
}

.partner-tech-page .partner-tech-overview .partner-tech-split,
.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    align-items: start;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading,
.partner-tech-page .partner-tech-applications .partner-tech-heading,
.partner-tech-page .partner-tech-procurement .partner-tech-heading {
    position: sticky;
    top: 130px;
    align-self: start;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading h2,
.partner-tech-page .partner-tech-applications .partner-tech-heading h2,
.partner-tech-page .partner-tech-procurement .partner-tech-heading h2 {
    max-width: 680px;
    color: #0f172a;
    font-size: clamp(2.4rem, 3.6vw, 4.05rem);
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.partner-tech-page .partner-tech-copy-panel {
    padding: clamp(30px, 4vw, 48px);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
    box-shadow: 0 30px 90px rgba(15, 23, 42, 0.1);
}

.partner-tech-page .partner-tech-copy-panel p {
    color: #334155;
    font-size: clamp(1.05rem, 1.15vw, 1.18rem);
    line-height: 1.85;
}

.partner-tech-page .partner-tech-brand-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.partner-tech-page .partner-tech-brand-row {
    grid-template-columns: 42px 132px minmax(0, 1fr);
    gap: 18px;
    min-height: 238px;
    padding: 24px;
    align-items: center;
}

.partner-tech-page .partner-tech-brand-row a {
    grid-column: 3;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    background: #fff1f2;
    color: #dc2626;
}

.partner-tech-page .partner-tech-brand-row a::after {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    transition: transform 0.22s ease;
}

.partner-tech-page .partner-tech-brand-row:hover a::after {
    transform: translateX(4px);
}

.partner-tech-page .partner-tech-brand-logo {
    width: 132px;
    height: 94px;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.partner-tech-page .partner-tech-brand-logo img {
    max-width: 102px;
    max-height: 54px;
}

.partner-tech-page .partner-tech-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.partner-tech-page .partner-tech-product-card {
    min-height: 350px;
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.partner-tech-page .partner-tech-product-card > span {
    margin-bottom: 18px;
    color: #dc2626;
}

.partner-tech-page .partner-tech-product-mark {
    margin: 0 0 24px;
}

.partner-tech-page .partner-tech-product-mark.logo-mark {
    width: 126px;
    height: 72px;
}

.partner-tech-page .partner-tech-product-mark.logo-mark img {
    max-width: 96px;
    max-height: 46px;
}

.partner-tech-page .partner-tech-product-card h3 {
    min-height: 0;
    margin-bottom: 14px;
    color: #0f172a;
    font-size: clamp(1.2rem, 1.28vw, 1.42rem);
}

.partner-tech-page .partner-tech-product-card p {
    color: #475569;
    font-size: 1rem;
    line-height: 1.75;
}

.partner-tech-page .partner-tech-tag-row span,
.partner-tech-page .partner-tech-application-list span {
    border-color: rgba(15, 23, 42, 0.12);
    background: #ffffff;
    color: #10203a;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
}

.partner-tech-page .partner-tech-tag-row span:hover,
.partner-tech-page .partner-tech-application-list span:hover {
    transform: translateY(-3px);
    border-color: rgba(220, 38, 38, 0.28);
    color: #dc2626;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.1);
}

.partner-tech-page .partner-tech-procurement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.partner-tech-page .partner-tech-procurement-grid article {
    min-height: 180px;
    border-radius: 24px;
}

.partner-tech-page .partner-tech-procurement-grid strong {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    background: #fff1f2;
    color: #dc2626;
}

.partner-tech-page .partner-tech-cta .container {
    min-height: 290px;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 950px;
    font-size: clamp(2.55rem, 4.8vw, 5.4rem);
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-overview .partner-tech-heading,
    .partner-tech-page .partner-tech-applications .partner-tech-heading,
    .partner-tech-page .partner-tech-procurement .partner-tech-heading {
        position: static;
    }

    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-procurement-grid {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-row a {
        grid-column: 1;
    }
}

/* Partner technology absolute final correction - EOF authority */
.partner-tech-page .partner-tech-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    align-items: center;
    gap: clamp(36px, 6vw, 88px);
}

.partner-tech-page .partner-tech-copy h1 {
    max-width: 800px;
    font-size: clamp(3rem, 5.7vw, 6.4rem);
    line-height: 0.94;
    letter-spacing: -0.06em;
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-brand-board {
    justify-self: end;
    align-self: center;
    max-width: 520px;
}

.partner-tech-page .partner-tech-overview .partner-tech-heading,
.partner-tech-page .partner-tech-applications .partner-tech-heading,
.partner-tech-page .partner-tech-procurement .partner-tech-heading {
    position: static;
    top: auto;
}

.partner-tech-page .partner-tech-overview .partner-tech-split,
.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: clamp(38px, 6vw, 90px);
}

.partner-tech-page .partner-tech-applications {
    background: radial-gradient(circle at 86% 14%, rgba(15, 23, 42, 0.06), transparent 30%), #f8fafc;
}

.partner-tech-page .partner-tech-procurement {
    background: radial-gradient(circle at 12% 10%, rgba(220, 38, 38, 0.06), transparent 30%), #ffffff;
}

.partner-tech-page .partner-tech-application-list,
.partner-tech-page .partner-tech-procurement-grid {
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 28px 78px rgba(15, 23, 42, 0.08);
}

.partner-tech-page .partner-tech-application-list,
.partner-tech-page .partner-tech-procurement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-tech-page .partner-tech-procurement-grid article {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 150px;
    box-shadow: none;
}

.partner-tech-page .partner-tech-brand-row {
    grid-template-columns: 44px 146px minmax(0, 1fr);
    min-height: 246px;
}

.partner-tech-page .partner-tech-brand-logo {
    width: 146px;
    height: 106px;
}

.partner-tech-page .partner-tech-brand-logo img {
    max-width: 112px;
    max-height: 58px;
    filter: none;
}

.partner-tech-page .partner-tech-cta .container {
    width: min(100% - 64px, 1320px);
    max-width: none;
    min-height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(24px, 5vw, 74px);
    padding: clamp(34px, 4vw, 58px);
}

.partner-tech-page .partner-tech-cta-copy {
    min-width: 0;
    max-width: 960px;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 960px;
    margin: 12px 0 18px;
    font-size: clamp(2.5rem, 4.2vw, 4.9rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    text-align: left;
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-cta p:not(.service-eyebrow) {
    max-width: 880px;
    text-align: left;
}

.partner-tech-page .partner-tech-cta .service-hero-actions {
    justify-content: flex-end;
    min-width: 220px;
    margin: 0;
}

@media (max-width: 1180px) {
    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-overview .partner-tech-split,
    .partner-tech-page .partner-tech-applications .partner-tech-split,
    .partner-tech-page .partner-tech-procurement .partner-tech-split,
    .partner-tech-page .partner-tech-cta .container {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-board {
        justify-self: start;
        width: 100%;
    }

    .partner-tech-page .partner-tech-cta .service-hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 820px) {
    .partner-tech-page .container,
    .partner-tech-page .partner-tech-cta .container {
        width: min(100% - 30px, 1320px);
    }

    .partner-tech-page .partner-tech-brand-row,
    .partner-tech-page .partner-tech-brand-list,
    .partner-tech-page .partner-tech-product-grid,
    .partner-tech-page .partner-tech-application-list,
    .partner-tech-page .partner-tech-procurement-grid,
    .partner-tech-page .partner-tech-procurement-grid article {
        grid-template-columns: 1fr;
    }
}

/* Live polish guardrail: prevents narrow wrapping and cheap-looking strips */
.service-stat-row {
    width: min(100% - 48px, 1320px);
    margin: -44px auto clamp(46px, 6vw, 82px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 28px;
    background:
        radial-gradient(circle at 96% 12%, rgba(220, 38, 38, 0.06), transparent 28%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
    box-shadow: 0 28px 76px rgba(15, 23, 42, 0.12);
}

.service-stat-row > div {
    position: relative;
    min-height: 160px;
    padding: clamp(26px, 3vw, 42px);
    border-right: 1px solid rgba(148, 163, 184, 0.22);
    transition: transform 0.25s ease, background 0.25s ease;
}

.service-stat-row > div:last-child {
    border-right: 0;
}

.service-stat-row > div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 28px;
    bottom: 28px;
    width: 3px;
    border-radius: 999px;
    background: #dc2626;
    opacity: 0.85;
}

.service-stat-row > div:hover {
    transform: translateY(-4px);
    background: rgba(255, 241, 242, 0.55);
}

.service-stat-row strong {
    display: block;
    margin-bottom: 8px;
    color: #0f172a;
    font-size: clamp(1.7rem, 2.3vw, 2.6rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.service-stat-row span {
    display: block;
    max-width: 260px;
    color: #52627a;
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.45;
    text-transform: uppercase;
}

.partner-tech-page .partner-tech-hero-grid {
    width: min(100% - 64px, 1320px);
    min-height: auto;
    padding-top: clamp(88px, 9vw, 128px);
    padding-bottom: clamp(76px, 8vw, 116px);
    grid-template-columns: minmax(0, 0.98fr) minmax(380px, 520px);
    align-items: center;
}

.partner-tech-page .partner-tech-copy {
    min-width: 0;
}

.partner-tech-page .partner-tech-copy h1 {
    max-width: 820px;
    font-size: clamp(3rem, 5.15vw, 5.85rem);
    line-height: 0.99;
    letter-spacing: -0.058em;
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-copy p,
.partner-tech-page .partner-tech-copy-panel p,
.partner-tech-page .partner-tech-brand-row p,
.partner-tech-page .partner-tech-product-card p,
.partner-tech-page .partner-tech-procurement-grid p,
.partner-tech-page .partner-tech-cta p {
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-brand-board {
    max-width: 520px;
    border-color: rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 12% 12%, rgba(255, 255, 255, 0.12), transparent 30%),
        linear-gradient(145deg, rgba(51, 65, 85, 0.92), rgba(31, 41, 55, 0.92));
    box-shadow: 0 30px 86px rgba(0, 0, 0, 0.28);
}

.partner-tech-page .partner-tech-brand-board-card,
.partner-tech-page .partner-tech-brand-board-card p,
.partner-tech-page .partner-tech-brand-board-card h3 {
    overflow-wrap: normal;
    word-break: normal;
}

.partner-tech-page .partner-tech-brand-board-card {
    min-height: 166px;
}

.partner-tech-page .partner-tech-brand-board-card img {
    filter: none;
}

.partner-tech-page .partner-tech-proof .container {
    width: min(100% - 64px, 1320px);
    margin-top: -48px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border-radius: 28px;
}

.partner-tech-page .partner-tech-proof-item {
    min-height: 150px;
    padding: clamp(28px, 3vw, 42px);
    background: linear-gradient(145deg, #ffffff, #f8fafc);
}

.partner-tech-page .partner-tech-proof-item strong {
    color: #0f172a;
}

.partner-tech-page .partner-tech-proof-item span {
    color: #53627a;
}

.partner-tech-page .partner-tech-overview .partner-tech-split,
.partner-tech-page .partner-tech-applications .partner-tech-split,
.partner-tech-page .partner-tech-procurement .partner-tech-split {
    width: min(100% - 64px, 1320px);
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    align-items: center;
    gap: clamp(42px, 6vw, 88px);
}

.partner-tech-page .partner-tech-overview .partner-tech-heading h2,
.partner-tech-page .partner-tech-applications .partner-tech-heading h2,
.partner-tech-page .partner-tech-procurement .partner-tech-heading h2 {
    max-width: 600px;
    color: #0f172a;
    font-size: clamp(2.5rem, 3.7vw, 4.4rem);
}

.partner-tech-page .partner-tech-application-list {
    grid-template-columns: repeat(2, minmax(230px, 1fr));
}

.partner-tech-page .partner-tech-procurement-grid {
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    align-items: stretch;
}

.partner-tech-page .partner-tech-procurement-grid article {
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 150px;
    align-items: start;
}

.partner-tech-page .partner-tech-procurement-grid strong {
    flex: none;
}

.partner-tech-page .partner-tech-cta .container {
    width: min(100% - 64px, 1320px);
    grid-template-columns: minmax(0, 1fr) auto;
}

.partner-tech-page .partner-tech-cta h2 {
    max-width: 980px;
    font-size: clamp(2.45rem, 4.05vw, 4.75rem);
    line-height: 1.1;
}

@media (max-width: 1180px) {
    .service-stat-row,
    .partner-tech-page .partner-tech-proof .container {
        grid-template-columns: 1fr;
    }

    .service-stat-row > div,
    .partner-tech-page .partner-tech-proof-item {
        border-right: 0;
        border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    }

    .service-stat-row > div:last-child,
    .partner-tech-page .partner-tech-proof-item:last-child {
        border-bottom: 0;
    }

    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-overview .partner-tech-split,
    .partner-tech-page .partner-tech-applications .partner-tech-split,
    .partner-tech-page .partner-tech-procurement .partner-tech-split,
    .partner-tech-page .partner-tech-cta .container {
        grid-template-columns: 1fr;
    }

    .partner-tech-page .partner-tech-brand-board,
    .partner-tech-page .partner-tech-cta .service-hero-actions {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .service-stat-row,
    .partner-tech-page .partner-tech-hero-grid,
    .partner-tech-page .partner-tech-proof .container,
    .partner-tech-page .partner-tech-overview .partner-tech-split,
    .partner-tech-page .partner-tech-applications .partner-tech-split,
    .partner-tech-page .partner-tech-procurement .partner-tech-split,
    .partner-tech-page .partner-tech-cta .container {
        width: min(100% - 30px, 1320px);
    }

    .partner-tech-page .partner-tech-copy h1 {
        font-size: clamp(2.55rem, 14vw, 4.2rem);
        letter-spacing: -0.045em;
    }

    .partner-tech-page .partner-tech-brand-board,
    .partner-tech-page .partner-tech-application-list,
    .partner-tech-page .partner-tech-procurement-grid,
    .partner-tech-page .partner-tech-procurement-grid article {
        grid-template-columns: 1fr;
    }
}

/* Launch alignment repair: shared service-detail pages */
.service-detail-main,
.service-content,
.service-section,
.service-planning-grid,
.service-timeline,
.service-case-grid,
.service-feature-grid,
.service-card-grid,
.service-application-grid,
.service-partner-grid,
.service-stat-row {
    min-width: 0;
    box-sizing: border-box;
}

.service-planning-grid > *,
.service-timeline > *,
.service-case-grid > *,
.service-feature-grid > *,
.service-card-grid > *,
.service-application-grid > *,
.service-partner-grid > *,
.service-stat-row > * {
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: break-word;
}

.service-planning-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    gap: clamp(18px, 2.2vw, 30px);
    align-items: stretch;
}

.service-planning-grid > * {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.service-timeline,
.service-stat-row {
    width: min(100% - 48px, 1280px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(240px, 1fr));
    gap: clamp(18px, 2vw, 28px);
    align-items: stretch;
}

.service-timeline > *,
.service-stat-row > * {
    min-height: 190px;
    padding: clamp(24px, 2.4vw, 34px);
    border-radius: 22px;
    background: linear-gradient(145deg, #ffffff, #f8fafc);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-left: 4px solid #dc2626;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.service-timeline h3,
.service-stat-row h3,
.service-stat-row strong {
    font-size: clamp(1.55rem, 2vw, 2.25rem);
    line-height: 1.08;
    color: #0f172a;
    margin: 0 0 10px;
    letter-spacing: 0;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.service-timeline p,
.service-timeline span,
.service-stat-row p,
.service-stat-row span {
    font-size: 0.98rem;
    line-height: 1.65;
    color: #475569;
    max-width: none;
    white-space: normal;
    word-break: normal;
}

.service-case-grid {
    width: min(100% - 48px, 1280px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(300px, 1fr));
    gap: clamp(20px, 2.4vw, 34px);
    align-items: stretch;
}

.service-case-grid > * {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.service-case-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.service-case-step {
    min-width: 0;
}

@media (max-width: 1120px) {
    .service-planning-grid,
    .service-timeline,
    .service-stat-row {
        grid-template-columns: repeat(2, minmax(240px, 1fr));
    }

    .service-case-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .service-planning-grid,
    .service-timeline,
    .service-stat-row,
    .service-case-grid,
    .service-case-flow {
        grid-template-columns: 1fr;
    }

    .service-timeline,
    .service-stat-row,
    .service-case-grid {
        width: min(100% - 30px, 1280px);
    }

    .service-timeline > *,
    .service-stat-row > * {
        min-height: auto;
    }
}

/* Service detail alignment lock: keep shared service subpage cards readable. */
.service-page .service-approach-grid {
    width: min(100% - 48px, 1500px) !important;
    margin-inline: auto;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(280px, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.service-page .service-approach-grid article {
    min-height: 230px !important;
    height: auto !important;
    padding: 34px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.service-page .service-approach-grid i {
    width: 52px;
    height: 52px;
    margin: 0 0 22px;
}

.service-page .service-approach-grid h2 {
    max-width: none !important;
    margin: 0 0 14px !important;
    font-size: clamp(1.75rem, 2vw, 2.45rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.service-page .service-approach-grid p {
    max-width: 34rem !important;
    color: #52637a !important;
    font-size: clamp(0.98rem, 1vw, 1.08rem) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.62 !important;
    text-transform: none !important;
    white-space: normal !important;
}

.service-page .service-planning-grid {
    width: min(100% - 48px, 1500px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.service-page .service-planning-story,
.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    display: flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    flex-direction: column !important;
    padding: clamp(26px, 2.35vw, 34px) !important;
    overflow: hidden !important;
}

.service-page .service-planning-grid h3 {
    max-width: none !important;
    font-size: clamp(1.45rem, 1.8vw, 2.05rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em !important;
    white-space: normal !important;
}

.service-page .service-planning-story p {
    max-width: none !important;
}

.service-page .service-planning-grid ul {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.service-page .service-planning-grid li {
    display: block !important;
    min-height: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 12px 42px 12px 46px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.service-page .service-rfq-card .service-btn {
    margin-top: 18px !important;
}

.service-page .service-case-grid {
    width: min(100% - 48px, 1500px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.service-page .service-case-grid > article {
    min-height: 0 !important;
    overflow: hidden !important;
}

.service-page .service-case-flow {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 18px !important;
    background: #edf2f7 !important;
}

.service-page .service-case-step {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 14px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 16px !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.service-page .service-case-step strong {
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.service-page .service-case-step p {
    max-width: none !important;
    margin: 0 !important;
    color: #52637a !important;
    font-size: 0.98rem !important;
    line-height: 1.62 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 1380px) {
    .service-page .service-approach-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: min(100% - 40px, 1120px) !important;
    }

    .service-page .service-planning-grid,
    .service-page .service-case-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    .service-page .service-approach-grid,
    .service-page .service-planning-grid,
    .service-page .service-case-grid {
        width: min(100% - 28px, 1320px) !important;
    }

    .service-page .service-case-step {
        grid-template-columns: 1fr !important;
    }
}

/* Final QA fix: prevent service method cards from becoming narrow vertical columns */
.service-page .service-approach-grid {
    width: min(100% - 56px, 1500px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
    gap: clamp(18px, 1.8vw, 26px) !important;
    align-items: stretch !important;
}

.service-page .service-approach-grid article {
    min-width: 0 !important;
    min-height: 300px !important;
    padding: clamp(26px, 2.4vw, 38px) !important;
    justify-content: flex-start !important;
}

.service-page .service-approach-grid h2 {
    max-width: none !important;
    font-size: clamp(1.85rem, 2.1vw, 2.55rem) !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.service-page .service-approach-grid p {
    max-width: 31rem !important;
    font-size: clamp(0.98rem, 1vw, 1.08rem) !important;
    line-height: 1.62 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.service-page .service-planning-grid {
    grid-template-columns: repeat(3, minmax(300px, 1fr)) !important;
}

.service-page .service-planning-grid > *,
.service-page .service-case-flow > * {
    min-width: 0 !important;
    overflow: hidden !important;
}

.service-page .service-planning-grid :is(h2, h3, p, li),
.service-page .service-case-flow :is(strong, p) {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

@media (max-width: 1240px) {
    .service-page .service-approach-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: min(100% - 44px, 1120px) !important;
    }

    .service-page .service-planning-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    .service-page .service-approach-grid {
        grid-template-columns: 1fr !important;
        width: min(100% - 28px, 1120px) !important;
    }

    .service-page .service-approach-grid article {
        min-height: auto !important;
    }
}

/* Final QA fix: service mini-stat rows must stay wide and readable */
.service-page .service-stat-row {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: min(100% - 56px, 1120px) !important;
    max-width: 1120px !important;
    margin: clamp(28px, 4vw, 56px) auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: stretch !important;
    justify-content: center !important;
}

.service-page .service-stat-row > *,
.service-page .service-stat-row > div {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 220px !important;
    height: auto !important;
    padding: clamp(28px, 3vw, 42px) !important;
    border-radius: 26px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
}

.service-page .service-stat-row strong,
.service-page .service-stat-row h2,
.service-page .service-stat-row h3 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    color: #071226 !important;
    font-size: clamp(2rem, 2.35vw, 2.65rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-transform: none !important;
}

.service-page .service-stat-row span,
.service-page .service-stat-row p,
.service-page .service-stat-row li {
    width: 100% !important;
    max-width: 28rem !important;
    color: #44546a !important;
    font-size: clamp(1rem, 1vw, 1.08rem) !important;
    line-height: 1.58 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-transform: none !important;
}

@media (max-width: 980px) {
    .service-page .service-stat-row {
        grid-template-columns: 1fr !important;
        width: min(100% - 32px, 720px) !important;
    }
}

/* Final service-page presentation pass: readable timeline, richer planning cards, wider intro stats */
.service-page .service-timeline {
    width: min(100% - 56px, 1320px) !important;
    margin: clamp(34px, 4vw, 58px) auto 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(230px, 1fr)) !important;
    gap: clamp(18px, 1.8vw, 26px) !important;
}

.service-page .service-timeline article {
    position: relative !important;
    min-height: 210px !important;
    padding: 28px !important;
    overflow: hidden !important;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    border-left: 5px solid #d72f2f !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 92% 14%, rgba(211, 47, 47, 0.14), transparent 32%),
        linear-gradient(145deg, #ffffff, #f7fbff) !important;
    box-shadow: 0 22px 62px rgba(15, 23, 42, 0.09) !important;
}

.service-page .service-timeline article:nth-child(3n + 2) {
    border-left-color: #173d70 !important;
    background:
        radial-gradient(circle at 92% 14%, rgba(23, 61, 112, 0.16), transparent 32%),
        linear-gradient(145deg, #ffffff, #f4f8ff) !important;
}

.service-page .service-timeline article:nth-child(3n + 3) {
    border-left-color: #f97316 !important;
    background:
        radial-gradient(circle at 92% 14%, rgba(249, 115, 22, 0.16), transparent 32%),
        linear-gradient(145deg, #ffffff, #fff8f2) !important;
}

.service-page .service-timeline article span {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 22px !important;
    border-radius: 14px !important;
    background: #0b2340 !important;
    color: #ffffff !important;
    font-size: 0.82rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
}

.service-page .service-timeline article h3 {
    max-width: none !important;
    margin: 0 !important;
    color: #071226 !important;
    font-size: clamp(1.28rem, 1.55vw, 1.65rem) !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.018em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-transform: none !important;
}

.service-page .service-planning {
    background:
        radial-gradient(circle at 8% 12%, rgba(211, 47, 47, 0.1), transparent 28%),
        radial-gradient(circle at 92% 18%, rgba(23, 61, 112, 0.12), transparent 30%),
        linear-gradient(rgba(23, 61, 112, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(23, 61, 112, 0.045) 1px, transparent 1px),
        #f7f9fc !important;
    background-size: auto, auto, 56px 56px, 56px 56px, auto !important;
}

.service-page .service-planning-grid {
    width: min(100% - 56px, 1320px) !important;
    display: grid !important;
    grid-template-columns: minmax(320px, 0.95fr) minmax(320px, 1.05fr) minmax(320px, 1fr) !important;
    gap: clamp(22px, 2.2vw, 34px) !important;
    align-items: stretch !important;
}

.service-page .service-planning-story,
.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    position: relative !important;
    min-height: 500px !important;
    padding: clamp(34px, 3.2vw, 48px) !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    box-shadow: 0 30px 82px rgba(15, 23, 42, 0.11) !important;
}

.service-page .service-planning-story {
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background:
        linear-gradient(145deg, rgba(8, 25, 45, 0.96), rgba(17, 61, 105, 0.92)),
        #0b2340 !important;
    color: #ffffff !important;
}

.service-page .service-planning-story .service-keyword-strip a {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

.service-page .service-planning-checklist {
    border: 1px solid rgba(23, 61, 112, 0.14) !important;
    background:
        radial-gradient(circle at 94% 12%, rgba(23, 61, 112, 0.14), transparent 34%),
        linear-gradient(145deg, #ffffff, #f3f8ff) !important;
}

.service-page .service-rfq-card {
    border: 1px solid rgba(211, 47, 47, 0.18) !important;
    background:
        radial-gradient(circle at 94% 12%, rgba(211, 47, 47, 0.16), transparent 34%),
        linear-gradient(145deg, #ffffff, #fff7f7) !important;
}

.service-page .service-planning-grid > article > span {
    display: inline-flex !important;
    width: 46px !important;
    height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 28px !important;
    border-radius: 14px !important;
    background: #d72f2f !important;
    color: #ffffff !important;
    font-size: 0.82rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.08em !important;
}

.service-page .service-planning-story > span {
    background: rgba(255, 255, 255, 0.14) !important;
}

.service-page .service-planning-grid h3 {
    max-width: none !important;
    margin: 0 0 22px !important;
    color: #071226 !important;
    font-size: clamp(1.85rem, 2.35vw, 2.8rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.032em !important;
}

.service-page .service-planning-story h3,
.service-page .service-planning-story p {
    color: #ffffff !important;
}

.service-page .service-planning-story p {
    opacity: 0.78 !important;
}

.service-page .service-planning-grid ul {
    display: grid !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.service-page .service-planning-grid li {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    padding: 15px 18px 15px 48px !important;
    border: 1px solid rgba(203, 213, 225, 0.62) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    color: #21344f !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045) !important;
}

.service-page .service-planning-grid li::before {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    color: #d72f2f !important;
    font-weight: 900 !important;
}

.service-page .service-rfq-card .service-btn {
    width: 100% !important;
    justify-content: center !important;
    margin-top: auto !important;
}

.service-page .service-stat-row {
    width: min(calc(100vw - 112px), 1320px) !important;
    max-width: 1320px !important;
    grid-template-columns: repeat(3, minmax(300px, 1fr)) !important;
    margin-left: calc((100% - min(1320px, calc(100vw - 112px))) / 2) !important;
    margin-right: 0 !important;
    transform: none !important;
}

.service-page .service-stat-row > *,
.service-page .service-stat-row > div {
    min-height: 210px !important;
    justify-content: center !important;
}

@media (max-width: 1260px) {
    .service-page .service-timeline {
        grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
    }

    .service-page .service-planning-grid {
        grid-template-columns: 1fr !important;
    }

    .service-page .service-planning-story,
    .service-page .service-planning-checklist,
    .service-page .service-rfq-card {
        min-height: auto !important;
    }
}

@media (max-width: 760px) {
    .service-page .service-timeline,
    .service-page .service-stat-row {
        width: min(100% - 30px, 1320px) !important;
        grid-template-columns: 1fr !important;
    }
}

/* Site-wide service QA lock: readable planning modules and mobile-safe section ribbon */
.service-page .service-page-index {
    overflow: hidden !important;
}

.service-page .service-page-index .container {
    justify-content: flex-start !important;
    width: min(100% - 28px, 1320px) !important;
    padding-inline: 0 !important;
    gap: 10px !important;
}

.service-page .service-page-index a {
    display: inline-flex !important;
    min-height: 38px !important;
    align-items: center !important;
    padding: 0 14px !important;
    border: 1px solid rgba(203, 213, 225, 0.74) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    letter-spacing: 0.04em !important;
}

.service-page .service-page-index a::after {
    display: none !important;
}

.service-page .service-planning-grid {
    width: min(100% - 56px, 1320px) !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
    align-items: start !important;
}

.service-page .service-planning-story {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.55fr) !important;
    gap: clamp(22px, 3vw, 46px) !important;
    align-items: end !important;
    min-height: auto !important;
}

.service-page .service-planning-story > span {
    grid-column: 1 / -1 !important;
}

.service-page .service-planning-story h3 {
    max-width: 780px !important;
    font-size: clamp(2.15rem, 3.4vw, 4rem) !important;
}

.service-page .service-planning-story p {
    max-width: 760px !important;
}

.service-page .service-planning-story .service-keyword-strip {
    align-self: end !important;
    justify-content: flex-start !important;
}

.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    min-height: auto !important;
    height: auto !important;
}

.service-page .service-planning-grid li {
    padding-block: 13px !important;
    font-size: 0.98rem !important;
}

.service-page .service-timeline {
    width: min(100% - 56px, 1320px) !important;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important;
}

.service-page .service-timeline article {
    min-height: 220px !important;
}

.service-page .service-stat-row {
    width: min(100% - 56px, 1320px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 900px) {
    .service-page .service-planning-grid,
    .service-page .service-planning-story {
        grid-template-columns: 1fr !important;
    }

    .service-page .service-planning-grid {
        width: min(100% - 30px, 1320px) !important;
    }
}

/* Senior QA polish pass: keep every service detail section readable, balanced and premium */
.service-page .service-hero h1 {
    max-width: 920px !important;
    font-size: clamp(3.25rem, 5.7vw, 6.7rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.045em !important;
}

.service-page .service-hero p,
.service-page .service-hero-copy > p {
    max-width: 820px !important;
}

.service-page .service-page-index {
    border-block: 1px solid rgba(203, 213, 225, 0.64) !important;
    background:
        linear-gradient(90deg, rgba(211, 47, 47, 0.08), rgba(23, 61, 112, 0.06)),
        rgba(255, 255, 255, 0.96) !important;
}

.service-page .service-page-index .container {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}

.service-page .service-page-index .container::-webkit-scrollbar {
    display: none !important;
}

.service-page .service-page-index a {
    flex: 0 0 auto !important;
    color: #0b2340 !important;
    font-size: 0.76rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.service-page .service-page-index a:hover,
.service-page .service-page-index a.is-active {
    border-color: rgba(211, 47, 47, 0.34) !important;
    background: #d72f2f !important;
    color: #ffffff !important;
}

.service-page .service-approach-grid,
.service-page .service-stat-row,
.service-page .service-timeline,
.service-page .service-planning-grid {
    width: min(100% - 64px, 1320px) !important;
    margin-inline: auto !important;
}

.service-page .service-approach-grid,
.service-page .service-stat-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: stretch !important;
}

.service-page .service-approach-grid article,
.service-page .service-stat-row > *,
.service-page .service-stat-row > div {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: clamp(26px, 3vw, 38px) !important;
    border: 1px solid rgba(203, 213, 225, 0.82) !important;
    border-left: 5px solid #d72f2f !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 94% 10%, rgba(211, 47, 47, 0.12), transparent 30%),
        linear-gradient(145deg, #ffffff, #f8fbff) !important;
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden !important;
}

.service-page .service-approach-grid article:nth-child(2n),
.service-page .service-stat-row > :nth-child(2n) {
    border-left-color: #173d70 !important;
    background:
        radial-gradient(circle at 94% 10%, rgba(23, 61, 112, 0.13), transparent 30%),
        linear-gradient(145deg, #ffffff, #f5f9ff) !important;
}

.service-page .service-approach-grid :is(h2, h3),
.service-page .service-stat-row :is(strong, h2, h3),
.service-page .service-planning-grid h3,
.service-page .service-timeline h3 {
    color: #071226 !important;
    font-size: clamp(1.6rem, 2.3vw, 2.35rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.024em !important;
    text-transform: none !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
}

.service-page .service-approach-grid p,
.service-page .service-stat-row :is(p, span, li),
.service-page .service-planning-grid :is(p, li),
.service-page .service-timeline :is(p, span) {
    color: #52637a !important;
    font-size: clamp(0.98rem, 1vw, 1.08rem) !important;
    line-height: 1.62 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.service-page .service-planning-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
    gap: clamp(22px, 2.4vw, 34px) !important;
    align-items: stretch !important;
}

.service-page .service-planning-story {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
    padding: clamp(34px, 4vw, 58px) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-top: 5px solid #d72f2f !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(211, 47, 47, 0.25), transparent 34%),
        linear-gradient(135deg, #071327, #173d70) !important;
    box-shadow: 0 30px 88px rgba(8, 31, 61, 0.19) !important;
}

.service-page .service-planning-story h3 {
    max-width: 880px !important;
    color: #ffffff !important;
    font-size: clamp(2.25rem, 4.2vw, 4.5rem) !important;
}

.service-page .service-planning-story p {
    max-width: 820px !important;
    color: rgba(235, 242, 255, 0.78) !important;
}

.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    min-height: 0 !important;
    padding: clamp(30px, 3.4vw, 46px) !important;
    border-radius: 28px !important;
}

.service-page .service-planning-grid ul {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 12px !important;
}

.service-page .service-timeline {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)) !important;
    gap: clamp(18px, 2vw, 26px) !important;
}

.service-page .service-timeline article {
    min-width: 0 !important;
    min-height: 230px !important;
    padding: clamp(26px, 3vw, 36px) !important;
}

@media (max-width: 760px) {
    .service-page .service-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem) !important;
        letter-spacing: -0.03em !important;
    }

    .service-page .service-approach-grid,
    .service-page .service-stat-row,
    .service-page .service-timeline,
    .service-page .service-planning-grid {
        width: min(100% - 28px, 1320px) !important;
        grid-template-columns: 1fr !important;
    }

    .service-page .service-planning-grid ul {
        grid-template-columns: 1fr !important;
    }
}

/* Senior QA hardening: shared service blocks stay readable on every subpage */
.service-page main,
.service-page section {
    max-width: 100vw !important;
}

.service-page .service-hero {
    height: auto !important;
    min-height: clamp(680px, 78vh, 900px) !important;
    overflow: hidden !important;
    padding-block: clamp(118px, 9vw, 158px) clamp(62px, 7vw, 102px) !important;
}

.service-page .service-hero-grid,
.partner-tech-page .partner-tech-hero-grid {
    width: min(100% - 64px, 1320px) !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(340px, 0.78fr) !important;
    gap: clamp(28px, 4vw, 64px) !important;
    align-items: center !important;
}

.partner-tech-page .partner-tech-hero {
    height: auto !important;
    min-height: clamp(680px, 78vh, 920px) !important;
    overflow: hidden !important;
    padding-block: clamp(118px, 9vw, 158px) clamp(62px, 7vw, 102px) !important;
}

.service-page .service-intro .reveal,
.service-page .service-process .reveal,
.service-page .service-resources .reveal,
.service-page .service-application-grid article,
.service-page .service-feature-grid article,
.service-page .service-case-grid article {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.service-page .service-intro .reveal::before,
.service-page .service-intro .reveal::after,
.service-page .service-process .reveal::before,
.service-page .service-process .reveal::after,
.service-page .service-resources .reveal::before,
.service-page .service-resources .reveal::after,
.service-page .service-application-grid article::before,
.service-page .service-application-grid article::after,
.service-page .service-feature-grid article::before,
.service-page .service-feature-grid article::after,
.service-page .service-case-grid article::before,
.service-page .service-case-grid article::after {
    max-width: 100% !important;
    pointer-events: none !important;
}

.service-page .service-intro .reveal::after,
.service-page .service-process .reveal::after,
.service-page .service-resources .reveal::after {
    right: -10px !important;
    bottom: -10px !important;
}

.service-page .service-intro .reveal :is(h2, h3, p, span),
.service-page .service-process .reveal :is(h2, h3, p, span),
.service-page .service-resources .reveal :is(h2, h3, p, span),
.service-page .service-module-grid :is(h2, h3, p, span),
.service-page .service-method-grid :is(h2, h3, p, span),
.service-page .service-process-grid :is(h2, h3, p, span) {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.service-page .service-module-grid,
.service-page .service-method-grid,
.service-page .service-process-grid {
    width: min(100% - 64px, 1320px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: stretch !important;
}

.service-page .service-module-grid > *,
.service-page .service-method-grid > *,
.service-page .service-process-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(26px, 3vw, 38px) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
}

@media (max-width: 760px) {
    .service-page .service-hero,
    .partner-tech-page .partner-tech-hero {
        min-height: 0 !important;
        padding-block: 96px 58px !important;
    }

    .service-page .service-hero-grid,
    .partner-tech-page .partner-tech-hero-grid,
    .service-page .service-module-grid,
    .service-page .service-method-grid,
    .service-page .service-process-grid {
        width: min(100% - 28px, 1320px) !important;
        grid-template-columns: 1fr !important;
    }
}

/* Absolute final density lock: no large empty service cards or dead vertical gaps */
.service-page .section-padding,
.partner-tech-page .section-padding,
.service-page .service-approach,
.service-page .service-intro,
.service-page .service-planning,
.service-page .service-capabilities,
.service-page .service-applications,
.partner-tech-page .partner-tech-overview,
.partner-tech-page .partner-tech-products,
.partner-tech-page .partner-tech-procurement,
.partner-tech-page .partner-tech-applications {
    padding-block: clamp(64px, 6vw, 92px) !important;
}

.service-page .service-hero,
.partner-tech-page .partner-tech-hero {
    min-height: 0 !important;
    padding-block: clamp(108px, 8vw, 140px) clamp(58px, 6vw, 88px) !important;
}

.service-page .service-approach-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: clamp(16px, 1.8vw, 24px) !important;
}

.service-page .service-approach-grid article,
.service-page .service-capability-card,
.partner-tech-page .partner-tech-product-card,
.partner-tech-page .partner-tech-brand-row {
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(24px, 2.4vw, 34px) !important;
    overflow: visible !important;
}

.service-page .service-approach-grid article::before,
.service-page .service-approach-grid article::after,
.service-page .service-capability-card::before,
.service-page .service-capability-card::after,
.partner-tech-page .partner-tech-product-card::before,
.partner-tech-page .partner-tech-product-card::after {
    display: none !important;
}

.service-page .service-planning-grid {
    align-items: start !important;
    gap: clamp(18px, 2vw, 28px) !important;
}

.service-page .service-planning-story {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr) !important;
    gap: clamp(22px, 3vw, 44px) !important;
    align-items: center !important;
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(34px, 3.5vw, 52px) !important;
    overflow: visible !important;
}

.service-page .service-planning-story > span,
.service-page .service-planning-story .service-keyword-strip {
    grid-column: 1 / -1 !important;
}

.service-page .service-planning-story h3 {
    max-width: 760px !important;
    font-size: clamp(2.1rem, 3.4vw, 3.75rem) !important;
    line-height: 1.02 !important;
}

.service-page .service-planning-story p {
    max-width: 540px !important;
    margin: 0 !important;
}

.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(26px, 2.6vw, 36px) !important;
    overflow: visible !important;
}

.service-page .service-planning-grid ul {
    gap: 8px !important;
}

.service-page .service-planning-grid li {
    padding-block: 9px !important;
    line-height: 1.48 !important;
}

.partner-tech-page .partner-tech-product-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 14px !important;
}

@media (max-width: 900px) {
    .service-page .service-planning-story {
        grid-template-columns: 1fr !important;
    }

    .service-page .service-planning-story p {
        max-width: 760px !important;
    }
}

@media (max-width: 760px) {
    .service-page .service-hero,
    .partner-tech-page .partner-tech-hero {
        padding-block: 92px 54px !important;
    }
}

/* Senior visual QA lock: compact, readable generated service pages */
.service-page .section-padding,
.partner-tech-page .section-padding {
    padding-block: clamp(48px, 4.8vw, 72px) !important;
}

.service-page .service-approach,
.service-page .service-intro,
.service-page .service-planning,
.service-page .service-capabilities,
.service-page .service-applications,
.service-page .service-partners,
.service-page .service-process,
.service-page .service-features,
.service-page .service-projects,
.service-page .service-case-studies,
.service-page .service-gallery,
.service-page .service-resources,
.service-page .service-faq,
.service-page .service-related,
.partner-tech-page .partner-tech-overview,
.partner-tech-page .partner-tech-brand-section,
.partner-tech-page .partner-tech-products,
.partner-tech-page .partner-tech-applications,
.partner-tech-page .partner-tech-procurement {
    padding-block: clamp(50px, 4.8vw, 74px) !important;
}

.service-page .service-hero,
.partner-tech-page .partner-tech-hero {
    min-height: clamp(600px, 70vh, 760px) !important;
    padding-block: clamp(96px, 7vw, 124px) clamp(46px, 4.8vw, 70px) !important;
}

.service-page .service-section-heading {
    max-width: 920px !important;
    margin-bottom: clamp(24px, 3vw, 40px) !important;
}

.service-page .service-section-heading h2,
.partner-tech-page .service-section-heading h2 {
    font-size: clamp(2.35rem, 4.2vw, 4.25rem) !important;
    line-height: 1.03 !important;
}

.service-page .service-approach-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.service-page .service-approach-grid article {
    padding: 26px !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 12px !important;
}

.service-page .service-approach-grid h2,
.service-page .service-approach-grid h3 {
    font-size: clamp(1.65rem, 2vw, 2rem) !important;
    line-height: 1.08 !important;
}

.service-page .service-intro-grid {
    align-items: center !important;
    gap: clamp(28px, 4vw, 56px) !important;
}

.service-page .service-intro-media {
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    max-height: 440px !important;
    overflow: hidden !important;
}

.service-page .service-intro-media img,
.service-page .service-project-card img,
.service-page .service-gallery-grid img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.service-page .service-stat-row {
    margin-top: clamp(18px, 2vw, 28px) !important;
    gap: 16px !important;
}

.service-page .service-planning-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 18px !important;
}

.service-page .service-planning-grid > article,
.service-page .service-planning-story,
.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    grid-column: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(22px, 2.1vw, 30px) !important;
    border-radius: 24px !important;
    gap: 14px !important;
    overflow: visible !important;
}

.service-page .service-planning-story > span,
.service-page .service-planning-story .service-keyword-strip {
    grid-column: auto !important;
}

.service-page .service-planning-grid h3,
.service-page .service-planning-story h3 {
    font-size: clamp(1.35rem, 1.65vw, 1.8rem) !important;
    line-height: 1.12 !important;
    max-width: none !important;
}

.service-page .service-planning-story p,
.service-page .service-planning-grid p,
.service-page .service-planning-grid li {
    font-size: 0.98rem !important;
    line-height: 1.48 !important;
    max-width: none !important;
}

.service-page .service-planning-checklist li:nth-child(n+5) {
    display: none !important;
}

.service-page .service-rfq-card li:nth-child(n+4) {
    display: none !important;
}

.service-page .service-planning-grid ul {
    display: grid !important;
    gap: 8px !important;
}

.service-page .service-keyword-strip {
    display: none !important;
}

.service-page .service-planning-story .service-keyword-strip {
    display: none !important;
}

.service-page .service-keyword-strip a:nth-child(n+6) {
    display: none !important;
}

.service-page .service-card-grid,
.partner-tech-page .partner-tech-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.service-page .service-capability-card,
.partner-tech-page .partner-tech-product-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 26px !important;
    border-radius: 24px !important;
}

.service-page .service-capability-card h3,
.partner-tech-page .partner-tech-product-card h3 {
    font-size: clamp(1.35rem, 1.7vw, 1.75rem) !important;
    line-height: 1.18 !important;
}

.service-page .service-capability-card p,
.partner-tech-page .partner-tech-product-card p {
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.partner-tech-page .partner-tech-product-card {
    gap: 12px !important;
}

.partner-tech-page .partner-tech-product-mark {
    width: 58px !important;
    height: 58px !important;
    margin-bottom: 4px !important;
}

.service-page .service-process .service-timeline,
.service-page .service-feature-grid,
.service-page .service-application-grid,
.service-page .service-partner-grid,
.service-page .service-related-grid {
    gap: 18px !important;
}

.service-page .service-project-card {
    min-height: 0 !important;
    height: auto !important;
}

.service-page .service-project-card img {
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
}

.service-page .service-case-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.service-page .service-case-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.service-page .service-case-step {
    padding: 18px !important;
    min-height: 0 !important;
}

.service-page .service-gallery-grid figure {
    min-height: 0 !important;
}

.service-page .service-gallery-grid img {
    aspect-ratio: 16 / 10 !important;
}

.partner-tech-page .partner-tech-brand-row {
    min-height: 0 !important;
    padding: 22px !important;
    gap: 18px !important;
}

@media (max-width: 1180px) {
    .service-page .service-approach-grid,
    .service-page .service-card-grid,
    .partner-tech-page .partner-tech-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .service-page .service-planning-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .service-page .section-padding,
    .partner-tech-page .section-padding,
    .service-page .service-approach,
    .service-page .service-intro,
    .service-page .service-planning,
    .service-page .service-capabilities,
    .service-page .service-applications,
    .service-page .service-partners,
    .service-page .service-process,
    .service-page .service-features,
    .service-page .service-projects,
    .service-page .service-case-studies,
    .service-page .service-gallery,
    .service-page .service-resources,
    .service-page .service-faq,
    .service-page .service-related {
        padding-block: 44px !important;
    }

    .service-page .service-approach-grid,
    .service-page .service-card-grid,
    .partner-tech-page .partner-tech-product-grid,
    .service-page .service-case-flow {
        grid-template-columns: 1fr !important;
    }
}

/* QA EOF override: keep this block last */
.service-page .service-planning-checklist li,
.service-page .service-rfq-card li {
    padding: 8px 12px 8px 34px !important;
    min-height: 0 !important;
    line-height: 1.35 !important;
}

.service-page .service-planning-grid > article > span {
    margin-bottom: 8px !important;
}

.service-page .service-planning-grid > article h3 {
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
}

.service-page .service-planning-grid > article {
    padding: 24px !important;
}

.service-page .service-keyword-strip {
    display: none !important;
}

/* Absolute final override: service case-study cards must never collapse into skinny columns */
.service-page .service-case-studies .service-case-grid {
    width: min(100% - 56px, 1180px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
}

.service-page .service-case-studies .service-case-grid > article {
    display: grid !important;
    grid-template-columns: minmax(270px, 0.34fr) minmax(0, 1fr) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 26px !important;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 60px rgba(7, 20, 38, 0.08) !important;
}

.service-page .service-case-studies .service-case-grid > article::before,
.service-page .service-case-studies .service-case-grid > article::after {
    display: none !important;
}

.service-page .service-case-studies .service-case-card-head {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: clamp(26px, 3vw, 38px) !important;
    border: 0 !important;
    background: radial-gradient(circle at 100% 0%, rgba(220, 38, 38, 0.22), transparent 36%), linear-gradient(135deg, #071426 0%, #123762 100%) !important;
}

.service-page .service-case-studies .service-case-card-head h3 {
    max-width: 24rem !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(1.55rem, 2vw, 2.1rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
}

.service-page .service-case-studies .service-case-flow {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(18px, 2vw, 24px) !important;
    background: #f4f7fb !important;
}

.service-page .service-case-studies .service-case-step {
    display: block !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    border-left: 4px solid #d72f2f !important;
    border-radius: 18px !important;
    background: #ffffff !important;
}

.service-page .service-case-studies .service-case-step strong {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    color: #d72f2f !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

.service-page .service-case-studies .service-case-step p {
    max-width: none !important;
    margin: 0 !important;
    color: #4d5f76 !important;
    font-size: 0.98rem !important;
    line-height: 1.56 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

@media (max-width: 980px) {
    .service-page .service-case-studies .service-case-grid > article {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    .service-page .service-case-studies .service-case-grid,
    .service-page .service-case-studies .service-case-flow {
        width: min(100% - 28px, 1180px) !important;
        grid-template-columns: 1fr !important;
    }
}

/* Final spacing guardrail: prevent service intro sections from feeling empty */
.service-page .service-intro {
    padding-block: clamp(48px, 5vw, 72px) !important;
}

.service-page .service-intro-grid {
    row-gap: clamp(22px, 2.8vw, 38px) !important;
    align-items: start !important;
}

.service-page .service-intro-media {
    max-height: 360px !important;
}

.service-page .service-stat-row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: start !important;
}

.service-page .service-stat-row > *,
.service-page .service-stat-row > div {
    min-height: 150px !important;
    padding: clamp(22px, 2.2vw, 30px) !important;
}

.service-page .service-stat-row strong,
.service-page .service-stat-row h2,
.service-page .service-stat-row h3 {
    margin-bottom: 10px !important;
}

/* Production service-page QA: readable cards, no skinny columns, no forced blank height. */
.service-page {
    overflow-x: clip !important;
}

.service-page :is(.service-process-grid, .service-planning-grid, .service-capability-grid, .service-case-flow, .service-download-grid, .service-related-grid) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
    align-items: stretch !important;
}

.service-page :is(.service-process-grid > *, .service-planning-grid > *, .service-capability-grid > *, .service-case-flow > *, .service-download-grid > *, .service-related-grid > *) {
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.service-page :is(.service-process-grid, .service-planning-grid, .service-capability-grid, .service-case-flow) :is(h2, h3, p, span, strong, li) {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.service-page :is(.service-process-grid, .service-planning-grid, .service-capability-grid, .service-case-flow) :is(h2, h3) {
    font-size: clamp(1.45rem, 2.2vw, 2.4rem) !important;
    line-height: 1.08 !important;
}

.service-page .service-hero-grid,
.service-page .service-intro-grid,
.service-page .service-proof-grid,
.service-page .service-cta .container {
    min-width: 0 !important;
}

@media (max-width: 760px) {
    .service-page .container {
        width: min(100% - 30px, 1180px) !important;
    }

    .service-page :is(.service-hero-grid, .service-intro-grid, .service-proof-grid, .service-cta .container) {
        grid-template-columns: 1fr !important;
    }

    .service-page :is(.service-process-grid, .service-planning-grid, .service-capability-grid, .service-case-flow, .service-download-grid, .service-related-grid) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .service-page :is(.service-process-grid > *, .service-planning-grid > *, .service-capability-grid > *, .service-case-flow > *) {
        padding: 22px !important;
    }
}

/* Production service final QA: shared service modules must stay clean on every service subpage. */
.service-page .service-planning-grid {
    width: min(100% - 56px, 1220px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: stretch !important;
}

.service-page .service-planning-story,
.service-page .service-planning-checklist,
.service-page .service-rfq-card {
    grid-column: auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(26px, 2.4vw, 34px) !important;
    border-radius: 22px !important;
}

.service-page .service-planning-story {
    background: linear-gradient(135deg, #071426 0%, #173d70 100%) !important;
}

.service-page .service-planning-story h3,
.service-page .service-planning-checklist h3,
.service-page .service-rfq-card h3 {
    max-width: none !important;
    margin: 14px 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: clamp(1.75rem, 2.1vw, 2.45rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.service-page .service-planning-story h3,
.service-page .service-planning-story p {
    color: #ffffff !important;
}

.service-page .service-planning-grid ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.service-page .service-planning-grid li {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    min-height: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(203, 213, 225, 0.82) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    color: #52637a !important;
    font-size: 0.98rem !important;
    line-height: 1.42 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.service-page .service-planning-grid li::before {
    position: static !important;
    display: inline-grid !important;
    width: 22px !important;
    height: 22px !important;
    margin-top: 1px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(211, 47, 47, 0.1) !important;
    color: #d72f2f !important;
    content: "\2713" !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.service-page .service-planning-checklist li::after {
    display: none !important;
    content: none !important;
}

.service-page .service-rfq-card .service-btn {
    margin-top: auto !important;
    width: 100% !important;
}

.service-page .service-card-grid {
    width: min(100% - 56px, 1220px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2vw, 24px) !important;
    align-items: stretch !important;
}

.service-page .service-capability-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(24px, 2vw, 30px) !important;
    border-radius: 22px !important;
}

.service-page .service-capability-card > i:first-child,
.service-page .service-application-grid i,
.service-page .service-feature-grid i,
.service-page .service-download-grid i {
    display: inline-grid !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    place-items: center !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #d72f2f 0%, #ef4444 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(211, 47, 47, 0.18) !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
    font-size: 1.22rem !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.service-page .service-capability-card > i:first-child::before,
.service-page .service-application-grid i::before,
.service-page .service-feature-grid i::before,
.service-page .service-download-grid i::before {
    color: currentColor !important;
}

.service-page .service-capability-card h3 {
    max-width: none !important;
    margin: 14px 0 10px !important;
    color: #071426 !important;
    font-size: clamp(1.25rem, 1.45vw, 1.55rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.02em !important;
}

.service-page .service-capability-card p {
    margin: 0 0 14px !important;
    color: #52637a !important;
    font-size: 0.98rem !important;
    line-height: 1.58 !important;
}

.service-page .service-card-points {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin: auto 0 0 !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid rgba(15, 35, 65, 0.08) !important;
}

.service-page .service-card-points li {
    display: grid !important;
    grid-template-columns: 10px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    padding: 0 !important;
    color: #334155 !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    line-height: 1.34 !important;
}

.service-page .service-card-points li::before {
    position: static !important;
    width: 7px !important;
    height: 7px !important;
    margin-top: 0.48em !important;
    border-radius: 999px !important;
    background: #d72f2f !important;
    content: "" !important;
}

.service-page .service-capability-card > a {
    margin-top: 18px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

@media (max-width: 1180px) {
    .service-page .service-planning-grid,
    .service-page .service-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .service-page .service-planning-grid,
    .service-page .service-card-grid {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        grid-template-columns: 1fr !important;
    }

    .service-page .service-planning-grid > article,
    .service-page .service-card-grid > article {
        width: 100% !important;
    }
}
