/* Accessible type scale shared by the public website. */
body.site-body, body.site-body button, body.site-body input, body.site-body select, body.site-body textarea { font-size: 16px; }
body.site-body main p, body.site-body .site-footer p { font-size: 16px; line-height: 1.7; }
body.site-body main small, body.site-body main [class*="eyebrow"], body.site-body main [class*="caption"],
body.site-body main [class*="date"], body.site-body main [class*="count"], body.site-body main [class*="note"],
body.site-body main [class*="signature"], body.site-body main [class*="footnote"], body.site-body main [class*="meta"],
body.site-body main [class*="label"], body.site-body main [class*="category"], body.site-body main [class*="period"],
body.site-body main [class*="index"], body.site-body main [class*="number"], body.site-body .footer-bottom,
body.site-body .announcement { font-size: 14px; line-height: 1.5; }
body.site-body main .button, body.site-body main button, body.site-body main .text-link,
body.site-body .header-cta, body.site-body .whatsapp-float, body.site-body .ai-chat-launcher,
body.site-body .ai-chat-window, body.site-body .site-footer a { font-size: 15px; }
body.site-body .main-nav > a, body.site-body .nav-dropdown-heading,
body.site-body .nav-dropdown-heading > a { font-size: 15px; }
body.site-body .footer-heading, body.site-body .footer-col > a,
body.site-body .footer-social-link, body.site-body .footer-email,
body.site-body .footer-topline-note, body.site-body .footer-note,
body.site-body .footer-bottom { font-size: 14px; }
body.site-body main h1, body.site-body main h2, body.site-body main h3 { text-wrap: balance; }
body.site-body main a:focus-visible, body.site-body main button:focus-visible { outline: 3px solid #efb43e; outline-offset: 3px; }
@media (max-width: 760px) {
  body.site-body main p, body.site-body .site-footer p { font-size: 15px; }
  body.site-body main .service-card h3, body.site-body main .person-card h3,
  body.site-body main .blog-card h3, body.site-body main .home-package h3,
  body.site-body main .price-card h3 { font-size: 19px; line-height: 1.3; }
  .announcement { min-height: 36px; justify-content: center; gap: 8px; padding: 4px 8px; overflow: hidden; white-space: nowrap; }
  .announcement-message, .announcement-contact, .announce-close { display: none !important; }
  .announcement-contacts { display: flex; width: 100%; justify-content: center; gap: 12px; white-space: nowrap; }
  .announcement-contacts .announcement-phone ~ .announcement-phone { display: none !important; }
  .announcement-email span:last-child { display: inline-block; max-width: 48vw; overflow: hidden; text-overflow: ellipsis; }
}
/* Preserve the original Home service callout art with its compact overlay card. */
body.site-body main .service-grid-complete > .service-next-step {
    position: relative !important;
    display: block !important;
    min-height: 340px;
    height: 100%;
    padding: 0 !important;
    overflow: hidden;
}
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-visual {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden;
}
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-visual > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    opacity: 1 !important;
}
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-content {
    position: absolute !important;
    inset: 12px 10px 10px auto !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: min(212px, calc(100% - 24px)) !important;
    min-width: 0;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px !important;
    overflow: visible;
    border: 1px solid #ffffff35 !important;
    border-radius: 12px 6px 6px 6px !important;
    background: #263f91 !important;
    color: #fff !important;
    opacity: 1 !important;
    box-shadow: 0 12px 30px #10235655 !important;
    backdrop-filter: none !important;
}
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-content > .service-card-eyebrow { color: #ffd16e !important; font-size: 12px !important; }
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-content > strong { max-width: 20ch; margin: 12px 0 8px; color: #fff !important; font-size: 19px !important; line-height: 1.18; }
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-content > p { max-width: 28ch; margin: 0; color: #f5f7ff !important; font-size: 15px !important; line-height: 1.6 !important; opacity: 1 !important; text-shadow: 0 1px 2px #101d5070; }
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-content > .service-next-step-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; margin-top: auto; padding-top: 14px; color: #fff !important; font-size: 14px !important; }
@media (max-width: 560px) {
    body.site-body main .service-grid-complete > .service-next-step { min-height: 320px; }
    body.site-body main .service-grid-complete > .service-next-step > .service-next-step-content { inset: 12px 10px 10px auto !important; }
}
/* Keep the Home service callout compact and anchored at the lower right. */
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-content { inset: auto 10px 10px auto !important; height: auto !important; }
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-content > .service-next-step-link { margin-top: 18px; }
/* Fit the complete 3D service illustration without cropping its edges. */
body.site-body main .service-grid-complete > .service-next-step > .service-next-step-visual > img { object-fit: contain !important; object-position: left center !important; }

/* Make the digital marketing package introduction easy to spot and read. */
body.site-body main .package-showcase-head .eyebrow { visibility: visible; opacity: 1; color: #f1dcae !important; font-size: 14px !important; }
body.site-body main .package-showcase-head > div > p { visibility: visible; opacity: 1; max-width: 58ch; color: #f4f6ff !important; font-size: 16px !important; line-height: 1.7 !important; }
