/* Service scope: mobile composition only. Desktop rules and controllers stay intact. */
@media screen and (max-width: 767px) {
  html body.service-scope-page main > .section {
    padding: 2.75rem 0 !important;
  }

  html body.service-scope-page main .container {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 40rem !important;
    padding-inline: 20px !important;
    margin-inline: auto !important;
  }

  html body.service-scope-page main .common-heading-div {
    gap: 0.75rem !important;
    min-width: 0;
  }

  html body.service-scope-page main .common-heading-div.text-center,
  html body.service-scope-page main .v1-service-heading-wrapper {
    margin-bottom: 1.75rem !important;
  }

  html body.service-scope-page main h2 {
    margin: 0 !important;
    font-size: clamp(1.85rem, 8vw, 2.25rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em;
    text-wrap: balance;
  }

  html body.service-scope-page main .paragraph,
  html body.service-scope-page main .v1-service-hero-paragraph {
    font-size: 0.94rem;
    line-height: 1.56;
  }

  html body.service-scope-page main .common-heading-div > .large-paragraph.black-500-text {
    font-size: 0.72rem !important;
    line-height: 1.4 !important;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  html body.service-scope-page main .button {
    justify-content: center;
    min-height: 48px;
    height: auto;
    padding: 0.85rem 1rem;
    border-radius: 6px;
    font-size: 0.86rem;
  }

  /* A compact hero with a single, edge-filled mobile image. */
  html body.service-scope-page .v1-common-hero-section {
    padding: 6rem 0 2.5rem !important;
    min-height: 0 !important;
    overflow: hidden;
  }

  html body.service-scope-page .v1-common-hero-section .common-heading-wrapper {
    gap: 1.25rem !important;
    max-width: 36rem;
    margin: 0 auto 1.5rem !important;
  }

  html body.service-scope-page #scope-hero-kicker.tdl-about-hero-kicker {
    padding: 0.65rem 0.85rem !important;
    font-size: 0.69rem !important;
    line-height: 1.3 !important;
    box-shadow: 0 8px 22px rgba(5, 37, 29, 0.1) !important;
  }

  html body.service-scope-page .common-hero-sub-heading-div {
    margin-bottom: 0.5rem !important;
  }

  html body.service-scope-page .v1-service-hero-heading-div {
    width: 100% !important;
    max-width: 31rem !important;
    margin-inline: auto;
  }

  html body.service-scope-page #scope-hero-title {
    margin: 0;
    font-size: clamp(2rem, 8.8vw, 2.65rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.025em;
    text-wrap: balance;
  }

  html body.service-scope-page #scope-hero-copy {
    max-width: 34rem !important;
    margin: 0.4rem auto 0 !important;
    font-size: 0.94rem !important;
    line-height: 1.56 !important;
    text-wrap: pretty;
  }

  html body.service-scope-page .v1-common-hero-section .common-button-div {
    width: 100%;
    max-width: 22rem;
    margin: 0 auto;
  }

  html body.service-scope-page .v1-common-hero-section .button {
    width: 100%;
    min-height: 52px;
  }

  html body.service-scope-page .v1-service-hero-image-wrapper {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  html body.service-scope-page .v1-service-hero-image-div:not(.mobile-hide) {
    position: relative;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    isolation: isolate;
  }

  html body.service-scope-page .v1-service-hero-image-div.mobile-hide {
    display: none !important;
  }

  html body.service-scope-page .v1-service-hero-image {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 44% !important;
    animation: tdl-scope-mobile-float 9s ease-in-out infinite alternate;
  }

  @keyframes tdl-scope-mobile-float {
    from { transform: scale(1.018); }
    to { transform: scale(1.055) translateY(-3px); }
  }

  /* Touch users can read the whole scope without relying on hover expansion. */
  html body.service-scope-page .v1-service-heading-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
    text-align: center;
  }

  html body.service-scope-page .v1-service-heading-wrapper .common-heading-div {
    align-items: center !important;
    text-align: center !important;
  }

  html body.service-scope-page .v1-service-heading-wrapper .common-button-div,
  html body.service-scope-page .v1-service-heading-wrapper .button {
    width: 100%;
    max-width: 22rem;
  }

  html body.service-scope-page .tdl-scope-cards-pin .v1-service-wrapper,
  html body.service-scope-page .tdl-scope-cards-pin .tdl-scope-cards-stage {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  html body.service-scope-page .tdl-scope-cards-stage::before,
  html body.service-scope-page .tdl-scope-cards-stage::after {
    content: none !important;
  }

  html body.service-scope-page .tdl-scope-cards-track {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.25rem !important;
    width: 100% !important;
    transform: none !important;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(5, 37, 29, 0.1);
    border-radius: 16px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(5, 37, 29, 0.06) !important;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-image-div {
    order: -1;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-image {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    filter: none !important;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-detail-wrapper {
    display: grid !important;
    gap: 1rem !important;
    width: 100% !important;
    padding: 1.25rem !important;
    min-width: 0;
  }

  html body.service-scope-page .tdl-scope-cards-track .tdl-scope-card-kicker {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
    color: #006039;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  html body.service-scope-page .tdl-scope-cards-track .tdl-scope-card-step {
    display: grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    background: #e8f5ee;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-detail-div {
    display: grid;
    gap: 0.7rem;
    width: 100%;
  }

  html body.service-scope-page .tdl-scope-cards-track .h4-heading,
  html body.service-scope-page .w-layout-grid.v1-process-grid .h6-heading {
    margin: 0 !important;
    font-size: clamp(1.4rem, 6vw, 1.7rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.015em;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-text {
    margin: 0;
    font-size: 0.9rem !important;
    line-height: 1.56 !important;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-info-wrapper {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-info-div {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
  }

  html body.service-scope-page .tdl-scope-cards-track .v1-service-label-text {
    width: auto !important;
    margin: 0;
    padding: 0.45rem 0.65rem !important;
    border-radius: 6px;
    background: #f1f7f4;
    color: #006039;
    font-size: 0.72rem !important;
    line-height: 1.3 !important;
  }

  /* Timeline stays in normal document flow; images retain their scroll color reveal. */
  html body.service-scope-page .v1-process-wrapper {
    gap: 1.25rem;
  }

  html body.service-scope-page .w-layout-grid.v1-process-grid {
    border-radius: 16px;
  }

  html body.service-scope-page .w-layout-grid.v1-process-grid .v1-process-image-div {
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    aspect-ratio: 16 / 9 !important;
  }

  html body.service-scope-page .w-layout-grid.v1-process-grid .v1-process-image {
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  html body.service-scope-page .w-layout-grid.v1-process-grid .v1-process-text {
    font-size: 0.9rem;
  }

  html body.service-scope-page .w-layout-grid.v1-process-grid .v1-process-list-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  html body.service-scope-page .w-layout-grid.v1-process-grid .v1-process-list-div {
    padding: 0 !important;
    background: transparent !important;
    align-items: start;
    gap: 0.4rem;
  }

  html body.service-scope-page .w-layout-grid.v1-process-grid .v1-process-list-div .paragraph {
    font-size: 0.78rem;
    line-height: 1.4;
  }

  /* Evidence and communication: consistent gutters and readable nested cards. */
  html body.service-scope-page .tdl-trace-wrapper {
    width: calc(100% - 40px);
    max-width: 37.5rem;
  }

  html body.service-scope-page :is(.tdl-trace-panel, .tdl-comm-grid, .tdl-comm-flow) {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  html body.service-scope-page :is(.tdl-trace-record, .tdl-trace-side, .tdl-comm-panel, .tdl-comm-flow-card) {
    min-width: 0;
    min-height: 0;
    padding: 1.1rem;
    gap: 1rem;
    border-radius: 14px;
  }

  html body.service-scope-page :is(.tdl-trace-title, .tdl-trace-side-title, .tdl-comm-title) {
    font-size: 1.45rem;
    line-height: 1.15;
  }

  html body.service-scope-page :is(.tdl-trace-copy, .tdl-trace-rule, .tdl-trace-note, .tdl-comm-copy, .tdl-comm-text, .tdl-comm-flow-copy, .tdl-comm-note) {
    font-size: 0.88rem;
    line-height: 1.55;
  }

  html body.service-scope-page .tdl-trace-step {
    min-height: 0;
    grid-template-columns: 1.5rem minmax(0, 1fr);
    gap: 0.4rem;
    padding: 0.85rem;
  }

  html body.service-scope-page .tdl-trace-step-index {
    padding-top: 0.2rem;
  }

  html body.service-scope-page .tdl-trace-step-copy {
    grid-column: 2;
    font-size: 0.82rem;
  }

  html body.service-scope-page .tdl-trace-cell-value {
    font-size: 0.86rem;
  }

  html body.service-scope-page .tdl-trace-title {
    margin-bottom: 0.65rem;
  }

  html body.service-scope-page .tdl-comm-method-head {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
  }

  html body.service-scope-page .tdl-comm-chip {
    font-size: 0.62rem;
    padding: 0.45rem 0.55rem;
  }

  html body.service-scope-page :is(.tdl-comm-note, .tdl-trace-note, .tdl-comm-method) {
    padding: 0.85rem;
  }

  html body.service-scope-page .faq-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.75rem !important;
  }

  html body.service-scope-page .faq-contact-logo {
    margin-left: 0;
  }

  html body.service-scope-page .faq-contact-glasscard {
    flex-direction: row;
    gap: 0.65rem;
  }

  html body.service-scope-page .faq-contact-glass-icon {
    width: 2rem;
    height: 2rem;
  }

  html body.service-scope-page .faq-contact-glass-icon svg {
    width: 1rem;
    height: 1rem;
  }

  html body.service-scope-page .faq-contact-glass-title {
    font-size: 1rem;
  }

  html body.service-scope-page .faq-contact-glass-copy {
    font-size: 0.82rem;
  }

  html body.service-scope-page .accordion-card {
    padding: 1rem !important;
    min-height: 48px;
  }

  html body.service-scope-page .accordion-heading-div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 1.5rem;
    gap: 0.65rem;
    font-size: 0.96rem !important;
    line-height: 1.35 !important;
  }

  html body.service-scope-page .accordion-icon-box {
    width: 1.5rem;
    height: 1.5rem;
  }

  html body.service-scope-page .accordion-detail-div,
  html body.service-scope-page .accordion-paragraph {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-inline: 0 !important;
    overflow-wrap: anywhere;
  }

  html body.service-scope-page .accordion-paragraph {
    margin: 0;
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
  }

  /* Match the approved WCAG mobile closing CTA, including its edge-to-edge image. */
  html body.service-scope-page #scope-ongoing-summary {
    padding: 2.75rem 0 0 !important;
  }

  html body.service-scope-page #scope-ongoing-summary > .container {
    max-width: none !important;
    padding: 0 !important;
  }

  html body.service-scope-page #scope-ongoing-summary .v1-cta-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.75rem !important;
  }

  html body.service-scope-page #scope-ongoing-summary .v1-cta-div:first-child {
    box-sizing: border-box;
    padding-inline: 20px !important;
    width: 100% !important;
    max-width: 38rem !important;
    margin-inline: auto !important;
    text-align: center;
  }

  html body.service-scope-page #scope-ongoing-summary .v1-cta-wrapper {
    display: grid !important;
    justify-items: center;
    width: 100% !important;
    height: auto !important;
    gap: 1.1rem !important;
  }

  html body.service-scope-page #scope-ongoing-summary .review-main-div {
    margin: 0 !important;
    transform: none !important;
  }

  html body.service-scope-page #scope-ongoing-summary .common-rating-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center;
    gap: 0.65rem;
    max-width: 19rem;
    text-align: left;
  }

  html body.service-scope-page #scope-ongoing-summary .common-rating-div {
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
  }

  html body.service-scope-page #scope-ongoing-summary .common-rating-text {
    white-space: normal;
  }

  html body.service-scope-page #scope-ongoing-summary .common-rating-logo {
    width: 36px !important;
    height: 36px !important;
  }

  html body.service-scope-page #scope-ongoing-summary .common-rating-logo img {
    width: 22px !important;
    height: 22px !important;
  }

  html body.service-scope-page #scope-ongoing-summary .common-rating-text {
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
  }

  html body.service-scope-page #scope-ongoing-summary .common-heading-wrapper {
    width: 100% !important;
    max-width: none !important;
    align-items: center !important;
    gap: 1.25rem !important;
    margin: 0 !important;
  }

  html body.service-scope-page #scope-ongoing-summary .common-heading-div,
  html body.service-scope-page #scope-ongoing-summary .v1-cta-heading-div {
    width: 100% !important;
    max-width: none !important;
    align-items: center !important;
    margin: 0 !important;
  }

  html body.service-scope-page #scope-ongoing-summary h2 {
    font-size: clamp(2rem, 9vw, 2.3rem) !important;
    line-height: 1.08 !important;
    width: 100%;
    max-width: 17ch;
    margin: 0 auto !important;
    text-align: center !important;
    text-wrap: balance;
  }

  html body.service-scope-page #scope-ongoing-summary .v3-cta-paragraph {
    width: 100% !important;
    max-width: 32rem !important;
    margin: 0.35rem auto 0 !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #cbded4 !important;
    text-align: center !important;
    text-wrap: pretty;
  }

  html body.service-scope-page #scope-ongoing-summary .common-button-div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.6rem !important;
    width: 100% !important;
    max-width: 22rem !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  html body.service-scope-page #scope-ongoing-summary .common-button-div > a {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    align-items: center;
    margin: 0;
    border-radius: 6px;
    font-size: 0.82rem;
  }

  html body.service-scope-page #scope-ongoing-summary .common-button-div > .button {
    border-color: #d5e5dc !important;
    background: #edf4f0 !important;
    color: #006039 !important;
    box-shadow: none !important;
  }

  html body.service-scope-page #scope-ongoing-summary .common-button-div > .button:hover,
  html body.service-scope-page #scope-ongoing-summary .common-button-div > .button:focus-visible {
    background: #d4eddf !important;
    border-color: #d4eddf !important;
  }

  html body.service-scope-page #scope-ongoing-summary a[href^="tel:"] {
    background: transparent;
    border: 1px solid rgba(203, 222, 212, 0.4);
    color: #eff9f2 !important;
    padding: 0.75rem;
  }

  html body.service-scope-page #scope-ongoing-summary .tdl-cta-expectation {
    font-size: 0.72rem;
    line-height: 1.45;
    text-align: center;
    margin-top: 0.45rem;
    color: #b4cabe;
  }

  html body.service-scope-page #scope-ongoing-summary .v1-cta-image-div {
    position: relative;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 22rem !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  html body.service-scope-page #scope-ongoing-summary .v1-cta-image {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.018) !important;
    transform-origin: center !important;
  }

  html body.service-scope-page .footer .newsletter-heading {
    color: #fff !important;
  }

  html[data-tdl-a11y-reduced-motion="true"] body.service-scope-page .v1-service-hero-image,
  html[data-tdl-a11y-pause-media="true"] body.service-scope-page .v1-service-hero-image {
    animation: none !important;
  }
}

@media screen and (max-width: 359px) {
  html body.service-scope-page main .container {
    padding-inline: 16px !important;
  }

  html body.service-scope-page .tdl-trace-wrapper {
    width: calc(100% - 32px);
  }

  html body.service-scope-page .w-layout-grid.v1-process-grid .v1-process-list-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  html body.service-scope-page #scope-ongoing-summary > .container {
    padding: 0 !important;
  }
}

@media screen and (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html body.service-scope-page .v1-service-hero-image {
    animation: none !important;
  }
}
