:root {
    --svc-burgundy: #6c0c0c;
    --svc-burgundy-soft: #a24949;
    --svc-navy: #171d58;
    --svc-navy-soft: #4f5cb3;
    --svc-ink: rgba(23, 29, 88, 0.78);
    --svc-muted: rgba(23, 29, 88, 0.62);
    --svc-line: rgba(23, 29, 88, 0.09);
    --svc-line-strong: rgba(23, 29, 88, 0.16);
    --svc-surface: rgba(255, 255, 255, 0.9);
    --svc-surface-strong: #ffffff;
    --svc-shadow: 0 28px 72px rgba(17, 23, 61, 0.12);
    --svc-shadow-soft: 0 20px 44px rgba(17, 23, 61, 0.08);
}

main.service-detail-page {
    background:
        radial-gradient(circle at 10% 10%, rgba(255, 231, 218, 0.36) 0%, rgba(255, 231, 218, 0) 24%),
        radial-gradient(circle at 88% 14%, rgba(113, 132, 255, 0.11) 0%, rgba(113, 132, 255, 0) 28%),
        linear-gradient(180deg, #faf9fd 0%, #f5f5fb 38%, #fcfcff 100%);
}

.service-shell {
    width: min(100%, 1290px);
    margin: 0 auto;
    padding-inline: 1rem;
}

.service-hero,
.service-section,
.service-faq,
.service-testimonials,
.service-cta {
    position: relative;
    overflow: hidden;
}

.service-section::before,
.service-faq::before,
.service-testimonials::before,
.service-cta::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(100%, 1080px);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(
        90deg,
        rgba(23, 29, 88, 0) 0%,
        rgba(23, 29, 88, 0.08) 18%,
        rgba(108, 12, 12, 0.16) 50%,
        rgba(23, 29, 88, 0.08) 82%,
        rgba(23, 29, 88, 0) 100%
    );
}

.service-section::after,
.service-faq::after,
.service-testimonials::after,
.service-cta::after {
    content: "";
    position: absolute;
    top: -1px;
    left: 50%;
    width: 5.75rem;
    height: 3px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(108, 12, 12, 0.94) 0%, rgba(40, 40, 112, 0.94) 100%);
    box-shadow: 0 8px 18px rgba(108, 12, 12, 0.12);
}

.service-hero {
    padding: 4.4rem 0 4.8rem;
}

.service-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: 2rem;
    align-items: start;
}

.service-breadcrumb {
    margin-bottom: 1rem;
}

.service-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    padding: 0;
    margin: 0;
    list-style: none;
    color: var(--svc-muted);
    font-size: 0.95rem;
}

.service-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.service-breadcrumb a:hover {
    color: var(--svc-navy);
}

.service-eyebrow,
.service-head__eyebrow,
.service-panel__eyebrow,
.service-cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.72rem;
    color: #8a2f2f;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.service-eyebrow::before,
.service-head__eyebrow::before,
.service-panel__eyebrow::before,
.service-cta__eyebrow::before {
    content: "";
    width: 2.5rem;
    height: 1px;
    background: rgba(138, 47, 47, 0.42);
}

.service-title {
    margin: 1.25rem 0 1.35rem;
    max-width: 12ch;
    color: var(--svc-navy);
    font-size: clamp(2.7rem, 4.9vw, 4.75rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.service-title::after,
.service-head h2::after,
.service-panel h3::after,
.service-cta__title::after {
    content: "";
    display: block;
    width: 5.75rem;
    height: 4px;
    margin-top: 1rem;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(108, 12, 12, 0.94) 0%, rgba(40, 40, 112, 0.94) 100%);
    box-shadow: 0 8px 18px rgba(108, 12, 12, 0.12);
}

.service-lead,
.service-head p,
.service-panel p,
.service-rich p,
.service-faq__intro {
    color: var(--svc-ink);
    font-size: 1.05rem;
    line-height: 1.82;
}

.service-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.8rem;
}

.service-pills span {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(23, 29, 88, 0.1);
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: rgba(23, 29, 88, 0.84);
    font-size: 0.9rem;
    font-weight: 700;
    box-shadow: 0 14px 28px rgba(17, 23, 61, 0.06);
}

.service-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.95rem;
    margin-top: 2rem;
}

.service-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.72rem;
    min-height: 3.55rem;
    padding: 0 1.45rem;
    border-radius: 999px;
    border: 1px solid rgba(23, 29, 88, 0.1);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background 0.28s ease, color 0.28s ease;
}

.service-btn svg {
    width: 1.1rem;
    height: 1.1rem;
}

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

.service-btn--primary {
    color: #fff;
    background: linear-gradient(135deg, #7b1111 0%, #8a1616 100%);
    box-shadow: 0 18px 34px rgba(108, 12, 12, 0.18);
}

.service-btn--secondary {
    color: var(--svc-navy);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 16px 28px rgba(17, 23, 61, 0.06);
}

.service-hero__aside {
    display: grid;
    gap: 1rem;
}

.service-stat,
.service-card,
.service-panel,
.service-faq__item,
.service-links__card {
    border-radius: 1.8rem;
    border: 1px solid var(--svc-line);
    background: var(--svc-surface);
    box-shadow: var(--svc-shadow-soft);
}

.service-stat,
.service-panel,
.service-card,
.service-links__card {
    padding: 1.45rem;
}

.service-stat {
    background:
        radial-gradient(circle at top right, rgba(255, 226, 212, 0.32) 0%, rgba(255, 226, 212, 0) 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 249, 255, 0.98) 100%);
    transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.service-stat:hover,
.service-card:hover,
.service-panel:hover,
.service-links__card:hover {
    transform: translateY(-5px);
    border-color: rgba(108, 12, 12, 0.14);
    box-shadow: var(--svc-shadow);
}

.service-stat__value {
    margin: 0;
    color: var(--svc-navy);
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1;
}

.service-stat__label {
    display: block;
    margin-top: 0.5rem;
    color: var(--svc-ink);
    font-size: 1rem;
    line-height: 1.65;
}

.service-section {
    padding: 4.4rem 0;
}

.service-head {
    max-width: 52rem;
    margin-bottom: 2.1rem;
}

.service-head h2 {
    margin: 1rem 0 1.2rem;
    color: var(--svc-navy);
    font-size: clamp(2rem, 3vw, 3.15rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.05em;
    text-wrap: balance;
}

.service-showcase + .service-section .service-head {
    padding-top: 0.65rem;
}

.service-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem;
    align-items: stretch;
}

.service-compare__card {
    display: grid;
    gap: 0.65rem;
    min-height: 100%;
    padding: 1.6rem 1.7rem;
    border-radius: 1.9rem;
}

.service-compare__card h3 {
    margin: 0;
}

.service-compare__card p {
    margin: 0;
    color: var(--svc-ink);
    line-height: 1.8;
}

.service-grid {
    display: grid;
    gap: 1.25rem;
}

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

.service-rich {
    display: grid;
    gap: 1rem;
}

.service-card h3,
.service-panel h3,
.service-links__card h3,
.service-faq__item summary {
    color: var(--svc-navy);
}

.service-card h3,
.service-panel h3,
.service-links__card h3 {
    margin: 0.9rem 0 0.75rem;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.03em;
}

.service-card p,
.service-links__card p {
    margin: 0;
    color: var(--svc-ink);
    line-height: 1.8;
}

.service-card__kicker {
    color: #8a2f2f;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}


.service-panel__list {
    display: grid;
    gap: 0.82rem;
    padding: 0;
    margin: 1rem 0 0;
    list-style: none;
}


.service-panel__list li {
    position: relative;
    padding-left: 1.2rem;
    color: var(--svc-ink);
    line-height: 1.76;
}


.service-panel__list li::before {
    content: "";
    position: absolute;
    top: 0.72rem;
    left: 0;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(108, 12, 12, 0.92) 0%, rgba(23, 29, 88, 0.92) 100%);
}

.service-panel__list a {
    color: var(--svc-burgundy);
    font-weight: 700;
    text-decoration: none;
}

.service-panel__list a:hover {
    color: var(--svc-navy);
    text-decoration: underline;
    text-underline-offset: 0.16rem;
}

.service-links__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
    align-items: stretch;
}

.service-head + .service-links__grid,
.service-grid + .service-links__grid,
.service-compare + .service-links__grid {
    margin-top: 2rem;
}

.service-links__card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.zones-bridge-section .service-grid {
    gap: 1.8rem;
}

.zones-bridge-links {
    margin-top: 2.75rem !important;
    padding-top: 0.15rem;
    gap: 1.5rem;
}

.ite-local-cluster-section .service-grid {
    gap: 1.8rem;
}

.ite-local-cluster-links {
    margin-top: 2.75rem !important;
    padding-top: 0.15rem;
    gap: 1.5rem;
}

.amenagements-local-cluster-section .service-grid {
    gap: 1.8rem;
}

.amenagements-local-cluster-links {
    margin-top: 2.75rem !important;
    padding-top: 0.15rem;
    gap: 1.5rem;
}

.service-links__card a {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: auto;
    padding-top: 1rem;
    color: var(--svc-burgundy);
    font-weight: 700;
    text-decoration: none;
}

.service-links__card a:hover {
    color: var(--svc-navy);
}

.service-faq {
    padding: 4.3rem 0;
}

.service-testimonials {
    padding: 4.3rem 0;
}

.service-faq__list {
    display: grid;
    gap: 1rem;
}

.service-faq__item {
    padding: 0;
    overflow: hidden;
}

.service-faq__item summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.3rem 1.4rem;
    font-size: 1.12rem;
    font-weight: 800;
}

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

.service-faq__item summary::after {
    content: "+";
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(23, 29, 88, 0.06);
    color: var(--svc-burgundy);
    font-size: 1.35rem;
    font-weight: 500;
}

.service-faq__item[open] summary::after {
    content: "–";
}

.service-faq__answer {
    padding: 0 1.4rem 1.35rem;
    color: var(--svc-ink);
    line-height: 1.82;
}

.service-faq__answer p {
    margin: 0;
}

.service-faq__item[open] summary::after {
    content: "-";
}

.service-testimonials__toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.8rem;
}

.service-testimonials__copy {
    max-width: 42rem;
}

.service-testimonials__copy p {
    margin: 0.9rem 0 0;
    color: var(--svc-ink);
    font-size: 1rem;
    line-height: 1.78;
}

.service-testimonials__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.35rem;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(23, 29, 88, 0.08);
    background: rgba(255, 255, 255, 0.74);
    color: var(--svc-burgundy);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 14px 28px rgba(17, 23, 61, 0.06);
}

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

.service-testimonial {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 100%;
    padding: 1.4rem;
    border-radius: 1.8rem;
    border: 1px solid var(--svc-line);
    background:
        radial-gradient(circle at top right, rgba(255, 226, 212, 0.22) 0%, rgba(255, 226, 212, 0) 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 249, 255, 0.98) 100%);
    box-shadow: var(--svc-shadow-soft);
    transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.service-testimonial:hover {
    transform: translateY(-5px);
    border-color: rgba(108, 12, 12, 0.14);
    box-shadow: var(--svc-shadow);
}

.service-testimonial__stars {
    color: #b5832a;
    letter-spacing: 0.14em;
    font-size: 1rem;
    line-height: 1;
}

.service-testimonial blockquote {
    margin: 0;
    color: var(--svc-ink);
    font-size: 1rem;
    line-height: 1.82;
}

.service-testimonial__meta {
    margin-top: auto;
}

.service-testimonial__meta strong {
    display: block;
    color: var(--svc-navy);
    font-size: 1rem;
    font-weight: 800;
}

.service-testimonial__meta span {
    display: block;
    margin-top: 0.28rem;
    color: var(--svc-muted);
    font-size: 0.9rem;
}

.service-testimonials__cta {
    display: flex;
    justify-content: center;
    margin-top: 1.7rem;
}

.service-cta {
    padding: 4.3rem 0 5rem;
}

.service-cta__panel {
    padding: 2rem;
    border-radius: 2rem;
    border: 1px solid rgba(23, 29, 88, 0.08);
    background:
        radial-gradient(circle at top right, rgba(255, 226, 212, 0.35) 0%, rgba(255, 226, 212, 0) 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 249, 255, 0.98) 100%);
    box-shadow: var(--svc-shadow);
}

.service-cta__title {
    margin: 1rem 0 1.1rem;
    color: var(--svc-navy);
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.service-cta__copy {
    max-width: 55rem;
    color: var(--svc-ink);
    font-size: 1.04rem;
    line-height: 1.82;
}

.service-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.95rem;
    margin-top: 1.7rem;
}

.service-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 1.35rem;
    align-items: stretch;
}

.service-showcase__media,
.service-showcase__copy,
.service-band__panel,
.service-scenario,
.service-proof,
.service-route__step {
    border-radius: 1.8rem;
    border: 1px solid var(--svc-line);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 248, 253, 0.98) 100%);
    box-shadow: var(--svc-shadow-soft);
}

.service-showcase__media {
    position: relative;
    min-height: 28rem;
    overflow: hidden;
}

.service-showcase__media--neutral {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.55rem;
    background:
        radial-gradient(circle at top right, rgba(255, 226, 212, 0.34) 0%, rgba(255, 226, 212, 0) 30%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.99) 0%, rgba(243, 245, 255, 0.99) 100%);
}

.service-showcase__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.service-showcase__neutral-kicker {
    display: inline-flex;
    align-self: flex-start;
    min-height: 2rem;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    background: rgba(23, 29, 88, 0.06);
    color: var(--svc-burgundy);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.service-showcase__neutral-title {
    display: block;
    max-width: 10ch;
    margin-top: 1.35rem;
    color: var(--svc-navy);
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.05em;
    text-wrap: balance;
}

.service-showcase__neutral-copy {
    max-width: 28rem;
    margin: 1rem 0 0;
    color: var(--svc-ink);
    font-size: 1rem;
    line-height: 1.8;
}

.service-showcase__overlay {
    position: absolute;
    inset: auto 1.1rem 1.1rem 1.1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 0.95rem;
    border-radius: 999px;
    background: rgba(10, 15, 56, 0.78);
    color: white;
    font-size: 0.95rem;
    font-weight: 600;
    backdrop-filter: blur(12px);
}

.service-showcase__media--neutral .service-showcase__overlay {
    position: static;
    inset: auto;
    margin-top: auto;
    align-self: flex-start;
}

.service-showcase__copy {
    padding: 1.45rem;
}

.service-showcase__eyebrow,
.service-band__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: var(--svc-burgundy);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.service-showcase__eyebrow::before,
.service-band__eyebrow::before {
    content: "";
    width: 2rem;
    height: 1px;
    background: rgba(108, 12, 12, 0.34);
}

.service-showcase__copy h3,
.service-band__panel h3 {
    margin: 1rem 0 0.9rem;
    color: var(--svc-navy);
    font-size: clamp(1.6rem, 2.3vw, 2.25rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

.service-showcase__copy p,
.service-band__panel p {
    color: var(--svc-ink);
    line-height: 1.82;
}

.service-bullet-list,
.service-route,
.service-scenarios,
.service-proof-grid {
    list-style: none;
    margin: 0;
    padding: 0;
}

.service-bullet-list {
    display: grid;
    gap: 0.8rem;
    margin-top: 1.2rem;
}

.service-bullet-list li {
    position: relative;
    padding-left: 1.55rem;
    color: var(--svc-ink);
    line-height: 1.72;
}

.service-bullet-list li::before {
    content: "";
    position: absolute;
    top: 0.72rem;
    left: 0;
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(108, 12, 12, 0.95) 0%, rgba(23, 29, 88, 0.95) 100%);
}

.service-scenarios,
.service-proof-grid,
.service-route {
    display: grid;
    gap: 1rem;
}

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

.service-scenario,
.service-proof,
.service-route__step {
    padding: 1.3rem;
}

.service-scenario__kicker,
.service-proof__kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.38rem 0.7rem;
    border-radius: 999px;
    background: rgba(23, 29, 88, 0.06);
    color: var(--svc-burgundy);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.service-scenario h3,
.service-proof h3,
.service-route__step h3 {
    margin: 1rem 0 0.75rem;
    color: var(--svc-navy);
    font-size: 1.34rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.service-scenario p,
.service-proof p,
.service-route__step p {
    color: var(--svc-ink);
    line-height: 1.76;
}

.service-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
}

.service-band__panel {
    padding: 1.5rem;
}

.service-band--single .service-band__panel {
    padding: 2rem;
}

.service-band__panel--process {
    background:
        radial-gradient(circle at top right, rgba(255, 231, 218, 0.28) 0%, rgba(255, 231, 218, 0) 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(249, 248, 253, 0.99) 100%);
}

.service-band__panel--dark {
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 34%),
        linear-gradient(135deg, rgba(23, 29, 88, 0.98) 0%, rgba(74, 33, 95, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 28px 72px rgba(17, 23, 61, 0.18);
}

.service-band__panel--dark .service-band__eyebrow,
.service-band__panel--dark h3,
.service-band__panel--dark p,
.service-band__panel--dark .service-bullet-list li {
    color: rgba(255, 255, 255, 0.94);
}

.service-band__panel--dark .service-band__eyebrow::before {
    background: rgba(255, 255, 255, 0.3);
}

.service-band__intro {
    max-width: 60rem;
    margin: 0 0 1.5rem;
    color: var(--svc-ink);
    font-size: 1rem;
    line-height: 1.78;
}

.service-band__panel--process .service-links__grid {
    margin-top: 1.45rem;
}

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

.service-proof__value {
    display: block;
    margin-top: 0.95rem;
    color: var(--svc-burgundy);
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.05em;
}

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

.service-route__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(108, 12, 12, 0.96) 0%, rgba(47, 41, 118, 0.96) 100%);
    color: white;
    font-size: 1rem;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(108, 12, 12, 0.16);
}

.service-city-band__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.2rem;
}

.service-city-band__pill {
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: rgba(23, 29, 88, 0.06);
    color: var(--svc-navy);
    font-size: 0.9rem;
    font-weight: 700;
}

@media (max-width: 1100px) {
    .service-hero__grid,
    .service-links__grid,
    .service-compare,
    .service-scenarios,
    .service-route,
    .service-proof-grid,
    .service-testimonials__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.service-showcase,
    .service-band {
        grid-template-columns: minmax(0, 1fr);
    }

    .service-testimonials__toolbar {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 860px) {
    main.service-detail-page {
        background: linear-gradient(180deg, #faf9fd 0%, #f6f5fb 52%, #fcfcff 100%);
    }

    .service-hero {
        padding: 3.4rem 0 3.7rem;
    }

    .service-hero__grid,
    .service-grid--2,
    .service-links__grid,
    .service-compare,
    .service-scenarios,
    .service-route,
    .service-proof-grid,
    .service-showcase,
    .service-band,
    .service-testimonials__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .service-title {
        max-width: none;
        font-size: clamp(2.4rem, 9vw, 3.4rem);
    }

    .service-hero__aside {
        content-visibility: auto;
        contain-intrinsic-size: 1px 420px;
    }

    .service-pills span {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: 0 10px 18px rgba(17, 23, 61, 0.04);
    }

    .service-stat,
    .service-card,
    .service-panel,
    .service-faq__item,
    .service-links__card {
        box-shadow: 0 12px 24px rgba(17, 23, 61, 0.06);
    }

    .service-btn--primary {
        box-shadow: 0 14px 26px rgba(108, 12, 12, 0.14);
    }

    .service-btn--secondary {
        box-shadow: 0 12px 22px rgba(17, 23, 61, 0.05);
    }

    .service-head h2,
    .service-cta__title {
        font-size: clamp(1.85rem, 8vw, 2.6rem);
    }

    .service-showcase__media {
        min-height: 22rem;
    }

    .zones-bridge-links {
        margin-top: 1.85rem;
        gap: 1.2rem;
    }

    .ite-local-cluster-links {
        margin-top: 1.85rem;
        gap: 1.2rem;
    }

    .amenagements-local-cluster-links {
        margin-top: 1.85rem;
        gap: 1.2rem;
    }
}

@media (max-width: 640px) {
    .service-shell {
        padding-inline: 0.85rem;
    }

    .service-section,
    .service-faq,
    .service-testimonials,
    .service-cta {
        padding: 3.5rem 0;
    }

    .service-card,
    .service-panel,
    .service-stat,
    .service-links__card,
    .service-cta__panel {
        border-radius: 1.45rem;
    }

    .service-faq__item summary,
    .service-faq__answer {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .service-title::after,
    .service-head h2::after,
    .service-panel h3::after,
    .service-cta__title::after,
    .service-section::after,
    .service-faq::after,
    .service-testimonials::after,
    .service-cta::after {
        box-shadow: none;
    }
}


/* Unified home contact model for service pages */
.contact-form-card{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(251,251,255,.98) 100%);border:1px solid rgba(23,29,88,.1);box-shadow:0 24px 60px rgba(17,23,61,.10)}
.contact-info-card{background:radial-gradient(circle at top right,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 26%),linear-gradient(135deg,#171d58 0%,#25286d 52%,#5d1621 100%)!important;box-shadow:0 28px 66px rgba(17,23,61,.18)}
.rgpd-checkbox{display:flex;gap:.7rem;align-items:flex-start;color:rgba(23,29,88,.68);font-size:.95rem;line-height:1.65}.rgpd-checkbox input{width:1rem;height:1rem;margin-top:.2rem;accent-color:#8a2f2f}
.contact-cta-btn{min-height:3.8rem;background:linear-gradient(135deg,#6c0c0c 0%,#7f1010 100%);box-shadow:0 16px 32px rgba(108,12,12,.18);transition:transform .28s ease,box-shadow .28s ease}.contact-cta-btn:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(108,12,12,.22)}
.home-contact{position:relative;margin-top:0;padding:4rem 0!important;background:radial-gradient(circle at top right,rgba(255,229,215,.38) 0%,rgba(255,229,215,0) 26%),radial-gradient(circle at 10% 78%,rgba(113,132,255,.08) 0%,rgba(113,132,255,0) 28%),linear-gradient(180deg,#faf9fd 0%,#f4f2fb 100%)!important}.home-contact:before{content:'';position:absolute;top:0;left:50%;width:min(100%,1080px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(23,29,88,0) 0%,rgba(23,29,88,.08) 18%,rgba(108,12,12,.16) 50%,rgba(23,29,88,.08) 82%,rgba(23,29,88,0) 100%)}.home-contact:after{content:'';position:absolute;top:-1px;left:50%;width:5.75rem;height:3px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(90deg,rgba(108,12,12,.94) 0%,rgba(40,40,112,.94) 100%);box-shadow:0 8px 18px rgba(108,12,12,.12)}
.home-contact__inner{position:relative;z-index:1}.home-contact__header{display:flex;flex-direction:column;align-items:center;gap:.85rem;max-width:900px;margin:0 auto 3rem!important;text-align:center}.home-contact__eyebrow{display:inline-flex;align-items:center;gap:.7rem;color:#8a2f2f;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.home-contact__eyebrow:before{content:'';width:2.6rem;height:1px;background:rgba(138,47,47,.4)}
.home-contact__title{margin:0!important;color:var(--svc-navy)!important;font-size:clamp(2.1rem,3.25vw,3.3rem)!important;font-weight:800!important;line-height:1.05!important;letter-spacing:-.045em!important}.home-contact__title:after{content:'';display:block;width:5.75rem;height:4px;margin:1rem auto 0;border-radius:999px;background:linear-gradient(90deg,rgba(108,12,12,.94) 0%,rgba(40,40,112,.94) 100%);box-shadow:0 8px 18px rgba(108,12,12,.12)}.home-contact__subtitle{max-width:60ch;margin:.1rem auto 0!important;color:rgba(23,29,88,.72)!important;font-size:1.05rem;line-height:1.85}
.home-contact__pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:.35rem}.home-contact__pills span{display:inline-flex;align-items:center;min-height:2.5rem;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(23,29,88,.1);background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:rgba(23,29,88,.8);font-size:.88rem;font-weight:700;box-shadow:0 14px 28px rgba(17,23,61,.06)}
.home-contact__grid{gap:1.65rem!important;align-items:stretch}.home-contact__form,.home-contact__info,.home-contact__map{position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.home-contact__form:hover,.home-contact__info:hover,.home-contact__map:hover{transform:translateY(-6px)}
.home-contact__form{padding:2.35rem 2rem!important;border-radius:2rem!important;border:1px solid rgba(23,29,88,.1);background:radial-gradient(circle at top right,rgba(255,239,230,.9) 0%,rgba(255,239,230,0) 28%),linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(251,251,255,.98) 100%)!important;box-shadow:0 24px 60px rgba(17,23,61,.1)!important}.home-contact__form:hover{box-shadow:0 34px 76px rgba(17,23,61,.14)!important;border-color:rgba(108,12,12,.14)}
.home-contact__card-kicker{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(23,29,88,.1);background:rgba(255,255,255,.78);color:#8a2f2f;font-size:.79rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 12px 22px rgba(17,23,61,.05)}.home-contact__card-kicker--light{color:rgba(255,255,255,.94);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);box-shadow:none}
.home-contact__form-title{margin-top:1rem!important;margin-bottom:.7rem!important;color:var(--svc-navy)!important;font-size:clamp(1.4rem,2.2vw,1.8rem)!important;font-weight:800!important;line-height:1.18!important}.home-contact__form-copy{max-width:54ch;color:rgba(23,29,88,.72);font-size:1rem;line-height:1.82}.home-contact__form-fields{margin-top:2rem!important}.home-contact__aside{display:flex;flex-direction:column;height:100%;gap:1.35rem!important}
.home-contact__info{padding:2.1rem 2rem!important;border-radius:2rem!important;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 66px rgba(17,23,61,.18)!important}.home-contact__info:hover{box-shadow:0 34px 78px rgba(17,23,61,.24)!important}.home-contact__info-title{margin-top:1rem!important;margin-bottom:.75rem!important;color:#fff!important;font-size:clamp(1.45rem,2.15vw,1.95rem)!important;line-height:1.15!important;letter-spacing:-.03em!important}.home-contact__info-copy{margin-bottom:1.2rem!important;color:rgba(255,255,255,.76)!important;text-align:center;line-height:1.72}.home-contact__info-list{display:flex;flex-direction:column;gap:.85rem}
.home-contact__info-link,.home-contact__info-item{display:flex!important;align-items:flex-start;gap:.95rem;padding:1rem 1.05rem!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:1.25rem;background:rgba(255,255,255,.06);transition:transform .28s ease,background .28s ease,border-color .28s ease,color .28s ease}.home-contact__info-link:hover{color:#fff!important;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)!important;transform:translateY(-3px)}.home-contact__info-link svg,.home-contact__info-item svg{flex:0 0 auto;width:1.2rem;height:1.2rem;margin-top:.08rem;color:rgba(255,255,255,.94)}.home-contact__info-link span,.home-contact__info-item span{color:rgba(255,255,255,.92);font-size:1rem;font-weight:600;line-height:1.65}
.home-contact__map{display:flex;flex:1 1 auto;align-items:stretch;min-height:320px;border-radius:2rem!important;border:1px solid rgba(23,29,88,.08)!important;background:#fff!important;box-shadow:0 24px 60px rgba(17,23,61,.1)!important}.home-contact__map:hover{box-shadow:0 34px 76px rgba(17,23,61,.14)!important;border-color:rgba(108,12,12,.12)!important}.home-contact__map-frame{flex:1 1 auto;width:100%;height:100%;min-height:320px;filter:grayscale(.22) saturate(.95) contrast(1.02);transition:filter .45s ease,transform .45s ease}.home-contact__map:hover .home-contact__map-frame{filter:grayscale(0) saturate(1.03) contrast(1.03);transform:scale(1.015)}
.home-contact__map-caption{position:absolute;left:1rem;right:1rem;bottom:1rem;display:grid;gap:.32rem;padding:.95rem 1rem;border-radius:1.2rem;border:1px solid rgba(255,255,255,.16);background:rgba(17,29,88,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 34px rgba(17,23,61,.18)}.home-contact__map-kicker{color:rgba(255,255,255,.74);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.home-contact__map-text{margin:0;color:#fff;font-size:.98rem;font-weight:600;line-height:1.5}
.home-contact input:not([type="checkbox"]),.home-contact textarea{background:rgba(255,255,255,.96)!important;border-color:rgba(23,29,88,.12)!important;color:var(--svc-navy)!important;transition:border-color .28s ease,box-shadow .28s ease}.home-contact input:not([type="checkbox"])::placeholder,.home-contact textarea::placeholder{color:rgba(23,29,88,.40)!important}.home-contact input:not([type="checkbox"]):focus,.home-contact textarea:focus{border-color:rgba(108,12,12,.34)!important;box-shadow:0 0 0 3px rgba(108,12,12,.08)!important;outline:0}
@media (max-width:767px){.home-contact{padding:3.2rem 0!important}.home-contact__header{margin-bottom:2.15rem!important}.home-contact__title{font-size:clamp(2rem,7vw,2.5rem)!important}.home-contact__form,.home-contact__info{padding:1.6rem 1.25rem!important;border-radius:1.45rem!important}.home-contact__map,.home-contact__map-frame{min-height:280px;height:280px}.home-contact__map-caption{left:.8rem;right:.8rem;bottom:.8rem;padding:.8rem .9rem}}


.service-local-jump {
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
}

.service-local-jump__panel {
    padding: 1.65rem;
    border-radius: 1.9rem;
    border: 1px solid var(--svc-line);
    background:
        radial-gradient(circle at top right, rgba(255, 226, 212, 0.28) 0%, rgba(255, 226, 212, 0) 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 248, 253, 0.98) 100%);
    box-shadow: var(--svc-shadow-soft);
}

.service-local-jump__header {
    max-width: 52rem;
    margin-bottom: 1.5rem;
}

.service-local-jump__header h2 {
    margin: 0.95rem 0 1rem;
    color: var(--svc-navy);
    font-size: clamp(1.9rem, 2.8vw, 2.7rem);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.service-local-jump__header h2::after {
    content: "";
    display: block;
    width: 5rem;
    height: 4px;
    margin-top: 0.95rem;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(108, 12, 12, 0.94) 0%, rgba(40, 40, 112, 0.94) 100%);
    box-shadow: 0 8px 18px rgba(108, 12, 12, 0.12);
}

.service-local-jump__header p {
    color: var(--svc-ink);
    font-size: 1rem;
    line-height: 1.8;
}

.service-local-jump__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.service-local-jump__card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 100%;
    padding: 1.35rem;
    border-radius: 1.55rem;
    border: 1px solid rgba(23, 29, 88, 0.08);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 34px rgba(17, 23, 61, 0.06);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.service-local-jump__card:hover {
    transform: translateY(-4px);
    border-color: rgba(108, 12, 12, 0.14);
    box-shadow: var(--svc-shadow-soft);
}

.service-local-jump__card h3 {
    margin: 0;
    color: var(--svc-navy);
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: -0.03em;
}

.service-local-jump__card p {
    margin: 0;
    color: var(--svc-ink);
    line-height: 1.72;
}

.service-local-jump__card a {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: auto;
    color: var(--svc-burgundy);
    font-weight: 700;
    text-decoration: none;
}

.service-local-jump__card a:hover {
    color: var(--svc-navy);
}

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

@media (max-width: 860px) {
    .service-local-jump__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

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

.service-summary-card,
.service-process-step {
    padding: 1.45rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(23, 29, 88, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 34px rgba(17, 23, 61, 0.06);
}

.service-summary-card__label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--svc-burgundy);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.service-summary-card__label::before {
    content: "";
    width: 1.8rem;
    height: 1px;
    background: rgba(138, 47, 47, 0.35);
}

.service-summary-card__value {
    display: block;
    margin-top: 0.85rem;
    color: var(--svc-navy);
    font-size: 1.26rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.service-summary-card p {
    margin: 0.55rem 0 0;
    color: var(--svc-ink);
    line-height: 1.7;
}


.service-process-grid {
    display: grid;
    gap: 1rem;
}

.service-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
    margin-top: 1.15rem;
}

.service-process-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(108, 12, 12, 0.96) 0%, rgba(47, 41, 118, 0.96) 100%);
    color: #fff;
    font-size: 0.96rem;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(108, 12, 12, 0.18);
}

.service-process-step h3 {
    margin: 1rem 0 0.78rem;
    color: var(--svc-navy);
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.service-process-step p {
    margin: 0;
    color: var(--svc-ink);
    line-height: 1.78;
}



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

@media (max-width: 767px) {
    .service-summary-grid,
    .service-process-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .service-summary-card,
    .service-process-step {
        border-radius: 1.3rem;
    }
}

@supports (content-visibility: auto) {
    main.service-detail-page > section:not(:first-of-type) {
        content-visibility: auto;
        contain-intrinsic-size: 1px 980px;
    }
}
