/* Pricing page phone layout; desktop and tablet retain their existing styles. */
.pricing-page .webdev-mobile-controls { display: none; }
.tdl-billing-mobile-icon { display: none; }
@media screen and (max-width: 767px) {
  html body.pricing-page main .container { width: 100% !important; max-width: 600px !important; padding-inline: 20px !important; box-sizing: border-box; }
  html body.pricing-page main :is(.section, .tdl-other-services) { padding-block: 3rem !important; }
  html body.pricing-page main h2 { font-size: clamp(1.85rem, 8vw, 2.5rem); line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
  html body.pricing-page main .paragraph { font-size: .94rem !important; line-height: 1.6 !important; }
  html body.pricing-page main .margin-bottom { margin-bottom: 1.75rem !important; }
  html body.pricing-page main .common-heading-div { min-width: 0; }
  html body.pricing-page .v1-pricing-hero-section { padding: 6rem 0 2.5rem !important; }
  html body.pricing-page .pricing-heading-div h1 { font-size: clamp(2rem, 8.7vw, 2.75rem) !important; line-height: 1.08 !important; letter-spacing: -.025em; }
  html body.pricing-page .pricing-paragraph { margin-top: 1rem; }
  html body.pricing-page .tdl-healthcare-pricing-callout { padding: 1.1rem; gap: 1rem; border-radius: 10px; }
  html body.pricing-page .tdl-healthcare-pricing-callout h2 { font-size: 1.2rem; line-height: 1.25; text-wrap: pretty; }
  html body.pricing-page .tdl-healthcare-pricing-callout p { font-size: .86rem; line-height: 1.6; }
  html body.pricing-page .tdl-healthcare-pricing-eyebrow { font-size: .68rem; }
  html body.pricing-page main :is(.button, .tdl-healthcare-pricing-link) { min-height: 48px; height: auto; border-radius: 8px; font-size: .86rem; padding: .85rem 1rem; text-align: center; }
  html body.pricing-page .v1-pricing-hero-section .pricing-grid { width: 100% !important; margin: 0 !important; padding: 12px 0 16px !important; gap: 14px !important; mask-image: none !important; -webkit-mask-image: none !important; scroll-padding-inline: 0; }
  html body.pricing-page .v1-pricing-hero-section .pricing-div { flex: 0 0 90% !important; width: 90% !important; max-width: 360px !important; opacity: 1 !important; transform: none !important; }
  html body.pricing-page .v1-pricing-hero-section .v1-pricing-card { padding: 1.25rem !important; border-radius: 10px; box-shadow: none !important; backdrop-filter: none !important; }
  html body.pricing-page .v1-pricing-detail-div { gap: .6rem; }
  html body.pricing-page .v1-pricing-detail-div .large-paragraph { font-size: 1rem; }
  html body.pricing-page .v1-pricing-detail-div .h4-heading { font-size: 1.8rem; line-height: 1.15; }
  html body.pricing-page .v1-pricing-card .small-paragraph { font-size: .84rem !important; line-height: 1.55 !important; }
  html body.pricing-page .v1-pricing-card .button { width: 100%; }
  html body.pricing-page .webdev-mobile-controls { display: flex; align-items: center; gap: 8px; color: #c5e5d5; font-size: .8rem; }
  .pricing-page .webdev-mobile-controls span { margin-right: auto; }
  .pricing-page .webdev-mobile-controls button { width: 44px; height: 44px; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: inherit; font: inherit; font-size: 1.2rem; cursor: pointer; }
  .pricing-page .webdev-mobile-controls button:disabled { opacity: .35; cursor: default; }
  .pricing-page :is(.webdev-mobile-controls button, .webdev-mobile-rail, summary):focus-visible { outline: 2px solid #168757; outline-offset: 3px; }
  html body.pricing-page .pricing-client-logo-wrapper { margin-top: 1.25rem; }
  html body.pricing-page .tdl-standards-strip { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; width: 100%; }
  html body.pricing-page .tdl-standards-badge { min-width: 0; padding: .45rem; font-size: .72rem; white-space: normal; text-align: center; box-shadow: none; }
  html body.pricing-page .tdl-other-services-grid { gap: .6rem; }
  html body.pricing-page .tdl-other-services-link { padding: 1rem; border-radius: 8px; }
  html body.pricing-page .tdl-other-services-lede { font-size: .94rem; line-height: 1.6; }
  html body.pricing-page .tdl-cmp { width: 100%; max-width: 100%; margin: 0; }
  html body.pricing-page :is(.tdl-cmp-stack-intro, .tdl-cmp-mcard) { border-radius: 10px; box-shadow: none !important; }
  html body.pricing-page .tdl-cmp-stack-intro { padding: 1rem; background: #edf4f0; }
  html body.pricing-page .tdl-cmp-mcard-head { padding: 1.15rem; background: #fff; }
  html body.pricing-page .tdl-cmp-mcard-active .tdl-cmp-mcard-head { padding-top: 2.7rem; background: #f1f7f3; }
  html body.pricing-page .tdl-cmp-mcard-copy { font-size: .86rem; line-height: 1.55; }
  html body.pricing-page .tdl-cmp-mcard-head .tdl-cmp-cta { width: 100%; justify-content: center; min-height: 48px; padding: .8rem; border: 1px solid #d5e5dc !important; border-radius: 8px; background: #edf4f0 !important; color: #006039 !important; }
  html body.pricing-page .tdl-cmp-mobile-details summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; color: #006039; font-size: .88rem; font-weight: 600; cursor: pointer; list-style: none; }
  .tdl-cmp-mobile-details summary::-webkit-details-marker { display: none; }
  .tdl-cmp-mobile-details summary::after { content: '+'; display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 50%; background: #edf4f0; font-size: 1.2rem; }
  .tdl-cmp-mobile-details[open] summary::after { content: '−'; }
  html body.pricing-page .tdl-cmp-mli { font-size: .82rem; line-height: 1.5; }
  html body.pricing-page .tdl-billing-section .tdl-billing-grid { grid-template-columns: minmax(0,1fr); gap: .75rem; }
  html body.pricing-page .tdl-billing-section .tdl-billing-card { padding: 1rem; border-radius: 10px; display: grid; grid-template-columns: 80px minmax(0,1fr); column-gap: 1rem; align-content: start; }
  html body.pricing-page .tdl-billing-section .tdl-billing-visual { grid-column: 1; grid-row: 1 / 4; width: 80px; height: 88px; min-height: 0; margin: 0; overflow: visible; }
  html body.pricing-page .tdl-billing-section .tdl-billing-visual { display: grid; place-items: center; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none; color: #006039; }
  html body.pricing-page .tdl-billing-visual > :not(.tdl-billing-mobile-icon) { display: none; }
  html body.pricing-page .tdl-billing-visual > .tdl-billing-mobile-icon { display: block; width: 80px; height: 80px; transform: none; filter: drop-shadow(0 5px 4px rgba(5,55,33,.14)); }
  html body.pricing-page .tdl-billing-section :is(.tdl-billing-kicker, .tdl-billing-title, .tdl-billing-copy) { grid-column: 2; }
  html body.pricing-page .tdl-billing-section .tdl-billing-kicker { font-size: .6rem; margin-bottom: .5rem; justify-self: start; }
  html body.pricing-page .tdl-billing-section .tdl-billing-title { font-size: 1rem; line-height: 1.25; margin-bottom: .4rem; }
  html body.pricing-page .tdl-billing-section .tdl-billing-copy { font-size: .8rem; line-height: 1.5; }
  html body.pricing-page .tdl-billing-section .tdl-billing-note { margin-top: 1rem; padding: 1rem; border-radius: 10px; }
  html body.pricing-page .tdl-billing-note-copy { font-size: .86rem; }
  html body.pricing-page .faq-grid { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  html body.pricing-page .faq-div { min-width: 0; }
  html body.pricing-page .faq-div .common-button-div { width: 100%; }
  html body.pricing-page .faq-div .button { width: 100%; }
  html body.pricing-page .accordion-wrapper { gap: .6rem; }
  html body.pricing-page .accordion-card { padding: .85rem !important; border-radius: 8px; box-shadow: none !important; }
  html body.pricing-page .accordion-card:focus:not(:focus-visible) { outline: none !important; }
  html body.pricing-page .accordion-heading-div { min-height: 1.8rem; font-size: .88rem; line-height: 1.4; gap: .65rem; }
  html body.pricing-page .accordion-icon-box { flex: 0 0 1.7rem; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: #edf4f0 !important; box-shadow: none !important; }
  html body.pricing-page .accordion-icon-box .accordion-icon-box { display: contents; }
  html body.pricing-page .accordion-icon { width: .8rem; height: .8rem; }
  html body.pricing-page .accordion-detail-div .accordion-paragraph { font-size: .84rem !important; line-height: 1.55 !important; margin-top: .7rem; }
  html body.pricing-page .v1-cta-grid { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  html body.pricing-page .v1-cta-wrapper { gap: 1.25rem; }
  html body.pricing-page .v1-cta-grid :is(.v1-cta-div, .v1-cta-heading-div, .common-button-div, .button) { width: 100%; max-width: 100%; min-width: 0; }
  html body.pricing-page .v1-cta-image-div { height: auto; border-radius: 10px; }
  html body.pricing-page .v1-cta-image { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; }
}

@media screen and (max-width: 767px) {
  /* Footer — retain every link in a two-column directory */
  html body.pricing-page .footer {
    padding-top: 2.5rem !important;
  }

  html body.pricing-page .footer .container,
  html body.pricing-page .footer .w-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    box-sizing: border-box !important;
  }

  html body.pricing-page .newsletter-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
  }

  html body.pricing-page .newsletter-heading {
    font-size: 1.45rem !important;
    line-height: 1.12 !important;
  }

  html body.pricing-page .newsletter-paragraph {
    margin-top: 0.55rem !important;
    font-size: 0.82rem !important;
    line-height: 1.52 !important;
  }

  html body.pricing-page .newsletter-form-div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 0.5rem !important;
  }

  html body.pricing-page .newsletter-input,
  html body.pricing-page .newsletter-form-div .contact-button {
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
  }

  html body.pricing-page .newsletter-form-div .contact-button {
    width: auto !important;
    padding-right: 0.85rem !important;
    padding-left: 0.85rem !important;
    font-size: 0.72rem !important;
  }

  html body.pricing-page .newsletter-form .small-paragraph {
    margin-top: 0.55rem !important;
    font-size: 0.7rem !important;
    line-height: 1.45 !important;
  }

  html body.pricing-page .footer-line {
    margin-top: 1.75rem !important;
    margin-bottom: 1.75rem !important;
  }

  html body.pricing-page .footer-wrapper {
    gap: 1.5rem !important;
  }

  html body.pricing-page .footer-logo-div,
  html body.pricing-page .footer-logo-link {
    width: 8.5rem !important;
  }

  html body.pricing-page .footer-detail-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.6rem 1rem !important;
    width: 100% !important;
  }

  html body.pricing-page .footer-detail-div {
    min-width: 0 !important;
  }

  html body.pricing-page .footer-detail-div:last-child {
    grid-column: 1 / -1 !important;
  }

  html body.pricing-page .footer-detail-div:last-child .footer-link-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.55rem 1rem !important;
  }

  html body.pricing-page .footer-detail-div > .white-400-text {
    margin-bottom: 0.7rem !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  html body.pricing-page .footer-link-wrapper {
    gap: 0.55rem !important;
  }

  html body.pricing-page .footer-link-wrapper .paragraph {
    font-size: 0.75rem !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  html body.pricing-page .footer-main-div > .text-center {
    margin-top: 1.8rem !important;
    margin-bottom: 0.9rem !important;
  }

  html body.pricing-page .footer-main-div > .text-center .paragraph {
    font-size: 0.68rem !important;
    line-height: 1.5 !important;
  }

  html body.pricing-page .tdl-footer-watermark-wrap {
    margin-top: 0 !important;
  }
}


@media screen and (max-width: 767px) {
 html body.pricing-page .footer-detail-div:last-child .footer-link-wrapper { grid-template-columns: minmax(0,1fr) !important; }
}
@media screen and (max-width: 767px) {
  html body.pricing-page .tdl-billing-section .tdl-billing-card { min-height: 0; row-gap: .2rem; box-shadow: none !important; }
  html body.pricing-page .accordion-heading-div { color: #19191d !important; }
  html body.pricing-page .accordion-heading-div > .accordion-icon-box { display: grid; place-items: center; transform: none !important; }
  html body.pricing-page .accordion-heading-div > .accordion-icon-box > * { display: none !important; }
  html body.pricing-page .accordion-heading-div > .accordion-icon-box::after { content: '+'; color: #006039; font-size: 1.15rem; line-height: 1; }
  html body.pricing-page .accordion-card.w--current .accordion-heading-div > .accordion-icon-box::after { content: '−'; }
  html body.pricing-page .accordion-card .accordion-detail-div { display: none !important; }
  html body.pricing-page .accordion-card.w--current .accordion-detail-div { display: block !important; height: auto !important; opacity: 1 !important; }
  html body.pricing-page .tdl-healthcare-pricing-link { background: #edf4f0; color: #006039; border-color: #d5e5dc; }
}
