/* Service presentation for phones. The original desktop composition is unchanged. */
.twin-mobile-lead, .twin-mobile-contact, .twin-mobile-sections { display: none; }
@layer content-link-colors {
  @media (max-width: 760px) {
    html body.twin-mobile-landing #main-content .twin-mobile-case h2,
    html body.twin-mobile-landing #main-content .twin-mobile-case h2 :is(a,a:hover,a:focus,a:focus-visible) {
      color: #101214 !important; -webkit-text-fill-color: #101214 !important;
    }
    html body.twin-mobile-landing #main-content :is(h1,h2,h3,h4,h5,h6),
    html body.twin-mobile-landing #main-content :is(h1,h2,h3,h4,h5,h6) :is(a,a:hover,a:focus,a:focus-visible) {
      text-decoration: none !important;
    }
    html body.twin-mobile-landing #main-content .service-hero-actions > .twin-mobile-contact {
      color: #fff !important; -webkit-text-fill-color: #fff !important; text-decoration: none !important;
      background: #0869c9 !important;
    }
    html body.twin-mobile-landing #main-content a:not(.twin-mobile-contact):is(a,:visited,:hover,:focus,:focus-visible) {
      color: #142b3c !important; -webkit-text-fill-color: #142b3c !important;
      text-decoration: none !important;
    }
  }
}
@layer mobile-redesign {
@media (max-width: 760px) {
  html body.twin-mobile-landing #main-content {
    --twin-brand: #0869c9; --twin-ink: #10213a; --twin-copy: #445973;
    --twin-line: #d8e3ed; --twin-soft: #f1f5f9; --twin-paper: #fff;
  }
  html body.twin-mobile-landing #main-content > section > .container {
    width: calc(100% - 40px) !important; max-width: 680px !important;
    margin-inline: auto !important; padding-inline: 0 !important;
  }
  html body.twin-mobile-landing #main-content .pd-motion-item {
    opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important;
  }
  html body.twin-mobile-landing #main-content [id] { scroll-margin-top: 84px !important; }
  html body.twin-mobile-landing #main-content .page-hero.page-hero {
    padding: 18px 0 32px !important; background: #fff !important; border: 0 !important;
  }
  html body.twin-mobile-landing #main-content .page-hero > .container { display: block !important; }
  html body.twin-mobile-landing #main-content .page-hero .eyebrow { display: none !important; }
  html body.twin-mobile-landing #main-content .page-hero h1 {
    margin: 0 0 12px !important; font-size: 28px !important; line-height: 1.3 !important;
    letter-spacing: -.02em !important; font-weight: 750 !important; color: var(--twin-ink) !important;
  }
  html body.twin-mobile-landing #main-content .twin-title-line { display: block; }
  html body.twin-mobile-landing #main-content.twin-mobile-ready .twin-mobile-lead {
    display: block !important; margin: 0 !important;
    font-size: 15px !important; line-height: 1.75 !important; color: var(--twin-copy) !important;
  }
  html body.twin-mobile-landing #main-content .twin-mobile-case {
    width: calc(100% + 40px) !important; margin: 24px -20px 0 !important; padding: 0 !important;
    background: transparent !important;
  }
  html body.twin-mobile-landing #main-content .twin-mobile-case > .container {
    width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
  }
  html body.twin-mobile-landing #main-content .twin-mobile-case figure { margin: 0 !important; }
  html body.twin-mobile-landing #main-content .twin-case-image { display: block; }
  html body.twin-mobile-landing #main-content .twin-case-image img {
    display: block; width: 100% !important; height: auto !important;
    min-height: 0 !important; max-height: none !important; aspect-ratio: 1672/941 !important;
    object-fit: contain !important; border-radius: 0 !important;
  }
  html body.twin-mobile-landing #main-content .twin-mobile-case figcaption { padding: 4px 20px 0; }
  html body.twin-mobile-landing #main-content .twin-mobile-case h2 {
    margin: 0 !important; font-size: 22px !important; line-height: 1.4 !important;
  }
  html body.twin-mobile-landing #main-content .twin-mobile-case figcaption > p {
    margin: 4px 0 0 !important; font-size: 15px !important; line-height: 1.75 !important;
  }
  html body.twin-mobile-landing #main-content .twin-text-link {
    display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600;
  }
  html body.twin-mobile-landing #main-content .twin-mobile-case h2 .twin-text-link { font-size: inherit; font-weight: inherit; line-height: inherit; }
  html body.twin-mobile-landing #main-content .service-hero-actions {
    display: flex !important; flex-direction: column; gap: 4px !important; margin: 24px 0 0 !important;
  }
  html body.twin-mobile-landing #main-content .service-hero-actions > a {
    display: flex !important; justify-content: center; align-items: center; min-height: 48px !important;
    width: 100% !important; max-width: none !important; margin: 0 !important; padding: 10px 16px !important;
    border: 0 !important; border-radius: 8px !important; box-shadow: none !important;
    font-size: 15px !important; font-weight: 650 !important; line-height: 1.5 !important;
  }
  html body.twin-mobile-landing #main-content .service-hero-actions > .twin-mobile-contact {
    order: 1; background: var(--twin-brand) !important; color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
  html body.twin-mobile-landing #main-content .service-hero-actions > .button {
    order: 2; min-height: 44px !important; background: transparent !important;
    color: var(--twin-brand) !important; -webkit-text-fill-color: var(--twin-brand) !important;
    font-size: 14px !important; text-decoration: underline !important; text-underline-offset: 4px;
  }
  html body.twin-mobile-landing #main-content > .section { padding-block: 36px !important; }
  html body.twin-mobile-landing #main-content h2 {
    margin: 0 0 12px !important; font-size: 23px !important; line-height: 1.4 !important;
    color: var(--twin-ink) !important; -webkit-text-fill-color: var(--twin-ink) !important;
    font-weight: 750 !important; text-wrap: pretty !important;
  }
  html body.twin-mobile-landing #main-content .section-heading {
    display: block !important; margin: 0 0 20px !important; padding: 0 !important;
  }
  html body.twin-mobile-landing #main-content .section :is(p,li),
  html body.twin-mobile-landing #main-content .twin-intro-scope {
    font-size: 15px !important; line-height: 1.75 !important; color: var(--twin-copy) !important;
    -webkit-text-fill-color: var(--twin-copy) !important;
  }
  html body.twin-mobile-landing #main-content .grid {
    display: block !important; overflow: visible !important; width: 100% !important;
    margin: 20px 0 0 !important; padding: 0 !important;
  }
  html body.twin-mobile-landing #main-content .grid > .card {
    display: block !important; width: 100% !important; max-width: none !important; min-width: 0 !important;
    min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 16px 0 !important;
    border: 0 !important; border-top: 1px solid var(--twin-line) !important;
    border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
  }
  html body.twin-mobile-landing #main-content .grid > .card::before,
  html body.twin-mobile-landing #main-content .grid > .card::after { display: none !important; }
  html body.twin-mobile-landing #main-content :is(.card,.faq-grid article) h3 {
    width: auto !important; max-width: none !important; min-width: 0 !important; height: auto !important;
    margin: 0 0 6px !important; font-size: 17px !important; line-height: 1.5 !important;
    color: var(--twin-ink) !important; -webkit-text-fill-color: var(--twin-ink) !important;
    white-space: normal !important; overflow: visible !important; text-overflow: clip !important;
  }
  html body.twin-mobile-landing #main-content .card p { margin: 0 !important; }
  html body.twin-mobile-landing #main-content .twin-capabilities { background: var(--twin-soft) !important; }
  html body.twin-mobile-landing #main-content .twin-capabilities .card {
    display: grid !important; grid-template-columns: 96px minmax(0,1fr) !important; align-items: start; gap: 16px !important;
    padding: 20px 0 !important;
  }
  html body.twin-mobile-landing #main-content .twin-capabilities .card h3 { margin: 0 !important; font-size: 16px !important; font-weight: 650 !important; }
  html body.twin-mobile-landing #main-content .twin-capabilities .card p { font-size: 15px !important; }
  html body.twin-mobile-landing #main-content .twin-scope-note {
    margin-top: 24px; padding: 20px; background: var(--twin-soft); border-radius: 8px;
  }
  html body.twin-mobile-landing #main-content .twin-scope-note h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.5; }
  html body.twin-mobile-landing #main-content .twin-scope-note .twin-intro-scope { display: block; }
  /* Keep the main decisions readable; detailed tables open within each chapter. */
  html body.twin-mobile-landing #main-content > :is(.twin-pilot,.twin-materials-section,.twin-delivery) {
    padding-block: 40px !important;
  }
  html body.twin-mobile-landing #main-content .twin-pilot { background: var(--twin-soft) !important; }
  html body.twin-mobile-landing #main-content .twin-materials-section { background: var(--twin-paper) !important; }
  html body.twin-mobile-landing #main-content .twin-pilot .section-heading:empty { display: none !important; }
  html body.twin-mobile-landing #main-content .reading-table-wrap {
    border: 1px solid #cfdae6 !important; border-radius: 8px !important; background: #fff !important;
    overflow-x: auto !important;
  }
  html body.twin-mobile-landing #main-content .reading-table {
    width: 660px !important; min-width: 660px !important; table-layout: fixed !important;
    border-collapse: separate !important; border-spacing: 0 !important;
  }
  html body.twin-mobile-landing #main-content .reading-table col:first-child { width: 112px !important; }
  html body.twin-mobile-landing #main-content .reading-table :is(th,td) {
    position: static !important; padding: 14px 12px !important; font-size: 14px !important;
    line-height: 1.75 !important; text-align: left !important; color: var(--twin-copy) !important;
    -webkit-text-fill-color: var(--twin-copy) !important; background: #fff !important;
    border: 0 !important; border-bottom: 1px solid var(--twin-line) !important;
  }
  html body.twin-mobile-landing #main-content .reading-table thead th,
  html body.twin-mobile-landing #main-content .reading-table tr > :first-child {
    color: var(--twin-ink) !important; -webkit-text-fill-color: var(--twin-ink) !important;
    background: #eaf2f9 !important;
  }
  html body.twin-mobile-landing #main-content :is(.twin-pilot,.twin-materials-section) .reading-table-wrap {
    border: 0 !important; border-radius: 0 !important; background: transparent !important; overflow: visible !important;
  }
  html body.twin-mobile-landing #main-content :is(.twin-pilot,.twin-materials-section) .table-scroll-hint { display: none !important; }
  html body.twin-mobile-landing #main-content .twin-list-table,
  html body.twin-mobile-landing #main-content .twin-list-table tbody {
    display: block !important; width: 100% !important; min-width: 0 !important;
    background: transparent !important;
  }
  html body.twin-mobile-landing #main-content .twin-list-table colgroup { display: none; }
  html body.twin-mobile-landing #main-content .twin-list-table thead {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);
  }
  html body.twin-mobile-landing #main-content .twin-list-table tbody tr {
    display: block; padding: 18px 0; border-top: 1px solid var(--twin-line);
  }
  html body.twin-mobile-landing #main-content .twin-list-table tbody tr > th:first-child {
    display: block; margin-bottom: 10px; padding: 0 !important; border: 0 !important;
    background: transparent !important; font-size: 17px !important; line-height: 1.45 !important;
  }
  html body.twin-mobile-landing #main-content .twin-list-table tbody td {
    display: block;
    padding: 4px 0 !important; border: 0 !important; background: transparent !important;
    font-size: 15px !important; line-height: 1.8 !important;
  }
  html body.twin-mobile-landing #main-content .twin-delivery { background: var(--twin-soft) !important; }
  html body.twin-mobile-landing #main-content .twin-key-points { margin: 0; padding: 0; list-style: none; }
  html body.twin-mobile-landing #main-content .twin-key-points li { padding: 16px 0; border-top: 1px solid var(--twin-line); }
  html body.twin-mobile-landing #main-content .twin-key-points h3 {
    margin: 0 0 6px !important; font-size: 17px !important; line-height: 1.5 !important;
    color: var(--twin-ink) !important; -webkit-text-fill-color: var(--twin-ink) !important;
  }
  html body.twin-mobile-landing #main-content .twin-key-points p { margin: 0; }
  html body.twin-mobile-landing #main-content .twin-industry-index {
    display: flex; flex-wrap: wrap; gap: 0 20px; margin-top: 20px; border-bottom: 1px solid var(--twin-line);
  }
  html body.twin-mobile-landing #main-content .twin-industry-index button {
    padding: 10px 0; min-height: 44px; border: 0; border-bottom: 2px solid transparent;
    background: transparent; border-radius: 0; color: #536a83; font: inherit; font-size: 15px; line-height: 1.5;
  }
  html body.twin-mobile-landing #main-content .twin-industry-index button[aria-selected="true"] {
    color: var(--twin-brand); border-bottom-color: var(--twin-brand); font-weight: 700;
  }
  html body.twin-mobile-landing #main-content .twin-industries .grid { margin-top: 20px !important; }
  html body.twin-mobile-landing #main-content .twin-industries .card {
    padding: 0 !important; border: 0 !important; background: transparent !important; border-radius: 0 !important;
  }
  html body.twin-mobile-landing #main-content .twin-industries .card[hidden] { display: none !important; }
  html body.twin-mobile-landing #main-content .twin-industries .card h3 { display: block !important; margin: 0 0 8px !important; font-size: 20px !important; }
  html body.twin-mobile-landing #main-content .twin-industries .card p + p a {
    display: inline-flex; align-items: center; min-height: 44px; padding-top: 8px;
    font-size: 14px; text-decoration: underline !important; text-underline-offset: 4px;
  }
  html body.twin-mobile-landing #main-content .twin-industries { background: var(--twin-paper) !important; }
  html body.twin-mobile-landing #main-content .twin-fit { background: var(--twin-soft) !important; }
  html body.twin-mobile-landing #main-content .twin-capabilities { background: var(--twin-paper) !important; }
  html body.twin-mobile-landing #main-content .twin-industry-image { margin: 0 0 16px !important; }
  html body.twin-mobile-landing #main-content .twin-industry-image a { display: block; }
  html body.twin-mobile-landing #main-content .twin-industry-image img {
    display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 4px;
  }
  html body.twin-mobile-landing #main-content .twin-material-items { margin: 0; padding: 0; list-style: none; }
  html body.twin-mobile-landing #main-content .twin-material-items li { padding: 12px 0; border-top: 1px solid var(--twin-line); }
  html body.twin-mobile-landing #main-content .twin-list-wrap {
    border: 0 !important; border-radius: 0 !important; background: transparent !important; overflow: visible !important;
  }
  html body.twin-mobile-landing #main-content .twin-reference .table-scroll-hint { display: none !important; }
  html body.twin-mobile-landing #main-content .twin-support { background: var(--twin-soft) !important; }
  html body.twin-mobile-landing #main-content .twin-reference {
    margin: 16px 0 0; padding: 0; border: 0; border-top: 1px solid var(--twin-line);
    border-radius: 0; background: transparent;
  }
  html body.twin-mobile-landing #main-content .twin-reference > summary {
    display: grid; grid-template-columns: minmax(0, 1fr) 18px; align-items: center; gap: 16px;
    min-height: 56px; padding: 14px 0; list-style: none; cursor: pointer;
    color: var(--twin-ink); font-size: 16px; line-height: 1.5; font-weight: 650;
  }
  html body.twin-mobile-landing #main-content .twin-reference > summary::-webkit-details-marker { display: none; }
  html body.twin-mobile-landing #main-content .twin-reference > summary::after {
    content: '+'; flex: 0 0 18px; font-size: 22px; font-weight: 400; color: var(--twin-brand); text-align: center;
  }
  html body.twin-mobile-landing #main-content .twin-reference[open] > summary::after { content: '−'; }
  html body.twin-mobile-landing #main-content .twin-reference > summary h2 {
    min-width: 0; margin: 0 !important; font-size: 16px !important; line-height: 1.5 !important;
  }
  html body.twin-mobile-landing #main-content .twin-reference-body { padding-bottom: 20px; }
  html body.twin-mobile-landing #main-content .twin-reference-body > .section { padding: 0 !important; background: transparent !important; }
  html body.twin-mobile-landing #main-content .twin-reference-body > .section > .container {
    width: 100% !important; margin: 0 !important; padding: 0 !important;
  }
  html body.twin-mobile-landing #main-content .twin-reference-body .section-heading:empty { display: none !important; }
  html body.twin-mobile-landing #main-content .twin-reference-body :is(.twin-intro,.twin-intro-examples) {
    margin: 0 0 16px; font-size: 15px !important; line-height: 1.8 !important; color: var(--twin-copy) !important;
  }
  html body.twin-mobile-landing #main-content .table-scroll-hint { font-size: 13px !important; margin-bottom: 8px !important; }
  html body.twin-mobile-landing #main-content .reading-table-wrap + p { margin-top: 20px !important; }
  html body.twin-mobile-landing #main-content .sd-route-layout { display: block !important; }
  html body.twin-mobile-landing #main-content .sd-materials { margin-top: 24px; padding: 0 !important; background: transparent !important; border: 0 !important; }
  html body.twin-mobile-landing #main-content .faq-grid { display: block !important; margin: 0 !important; }
  html body.twin-mobile-landing #main-content .faq-grid > article {
    margin: 0 !important; padding: 20px 0 !important; border: 0 !important;
    border-top: 1px solid var(--twin-line) !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important;
  }
  html body.twin-mobile-landing #main-content .faq-grid p { margin: 0 !important; }
  html body.twin-mobile-landing #main-content .twin-faq-item { margin: 0 !important; }
  html body.twin-mobile-landing #main-content .twin-faq-item > summary h3 {
    min-width: 0 !important; max-width: 100% !important;
    overflow-wrap: normal !important; word-break: normal !important; line-break: strict !important; text-wrap: balance;
    margin: 0 !important; font-size: 17px !important; line-height: 1.6 !important; font-weight: 650 !important;
  }
  html body.twin-mobile-landing #main-content .twin-faq-item article {
    margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important;
  }
  html body.twin-mobile-landing #main-content .service-reading-actions {
    display: flex !important; flex-direction: column; gap: 0 !important; margin: 8px 0 0 !important;
  }
  html body.twin-mobile-landing #main-content .service-reading-actions a {
    display: inline-flex !important; justify-content: flex-start; align-items: center; width: fit-content !important;
    min-height: 44px !important; margin: 0 !important; padding: 8px 0 !important; border: 0 !important;
    border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
    font-size: 14px !important; line-height: 1.5 !important;
  }
  html body.twin-mobile-landing #main-content .twin-reading-title { margin: 32px 0 0; font-size: 17px; }
  html body.twin-mobile-landing #main-content .twin-mobile-sections {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px;
    margin: 16px 0 0; padding-top: 12px;
    border-top: 1px solid var(--twin-line);
  }
  html body.twin-mobile-landing #main-content .twin-mobile-sections a {
    display: flex !important; align-items: center; justify-content: center; min-height: 44px;
    min-width: 0; margin: 0; padding: 8px 4px; border: 0; border-radius: 0;
    background: transparent; box-shadow: none; font-size: 14px; font-weight: 500; line-height: 1.5;
  }
  html body.twin-mobile-landing #main-content .twin-mobile-sections a::after { content: none !important; display: none !important; }
  html body.twin-mobile-landing #main-content #content-author { padding-top: 0 !important; }
  html body.twin-mobile-landing #main-content .content-author-card {
    display: block !important; min-height: 0 !important; padding: 20px 0 0 !important; margin: 0 !important;
    border: 0 !important; border-top: 1px solid var(--twin-line) !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important;
  }
  html body.twin-mobile-landing #main-content :is(.content-author-mark,.content-author-divider,.content-author-profile-link span[aria-hidden]) { display: none !important; }
  html body.twin-mobile-landing #main-content :is(.content-author-label,.content-author-name) {
    display: inline !important; margin: 0 8px 0 0 !important; font-size: 13px !important; line-height: 1.6 !important;
  }
  html body.twin-mobile-landing #main-content .content-author-line { margin: 8px 0 0 !important; font-size: 12px !important; line-height: 1.7 !important; }
  html body.twin-mobile-landing #main-content .content-author-profile-link {
    display: inline-flex !important; min-height: 44px !important; align-items: center; margin-top: 0 !important;
    padding: 0 !important; font-size: 13px !important;
  }
  html body.twin-mobile-landing #main-content :is(a,button,summary):focus-visible { outline: 2px solid var(--twin-brand) !important; outline-offset: 3px; }
  html body.twin-mobile-landing #main-content .twin-mobile-source { display: none !important; }
  @media (min-width: 380px) {
    html body.twin-mobile-landing #main-content .twin-mobile-sections { grid-template-columns: repeat(4,minmax(0,1fr)); }
  }
  @media (max-width: 420px) {
    html body.twin-mobile-landing #main-content .twin-capabilities .card { grid-template-columns: minmax(0,1fr) !important; gap: 8px !important; }
  }
}
}
