/* Small native additions. The original visual stylesheet remains unchanged. */
[hidden] { display: none !important; }
.th-skip-link { position: absolute; top: 0; left: 12px; z-index: 100; transform: translateY(-140%); padding: 10px 15px; background: #fff; color: #17346e; }
.th-skip-link:focus { transform: translateY(0); }
.th-menu-toggle { display: none; cursor: pointer; }
.th-preview-notice { margin-bottom: 20px; border: 1px solid #b8cae9; border-radius: 8px; padding: 12px 14px; color: #153c73; background: #eff5ff; font-size: 13px; line-height: 1.8; }
.th-demo-status { margin-top: 12px; color: #234a80; font-size: 13px; line-height: 1.8; }
.hero-stagger > * { opacity: 1; animation: none; }
main { min-width: 0; }
.geo-home-image-grid { display: grid; gap: 20px; margin-top: 44px; }
.geo-home-image-card { min-width: 0; border: 1px solid #e0e3f1; border-radius: 18px; overflow: hidden; background: #fff; transition: border-color .2s, box-shadow .2s; }
.geo-home-image-card:hover { border-color: #9798e6; box-shadow: 0 10px 28px #4143b414; }
.geo-home-image-card figure { margin: 0; height: 100%; display: flex; flex-direction: column; }
.geo-home-image-frame { position: relative; aspect-ratio: 8 / 5; background: #f7f8ff; overflow: hidden; }
.geo-home-image-frame img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.geo-home-image-card figcaption { flex: 1; display: flex; flex-direction: column; padding: 22px; }
.geo-home-image-card h3 { color: #172039; font-size: 1.1rem; font-weight: 700; line-height: 1.55; }
.geo-home-image-card p { flex: 1; margin-top: 12px; font-size: .925rem; line-height: 1.85; color: #505c73; }
.geo-home-image-card figcaption span { margin-top: 18px; color: #4143b4; font-size: .85rem; line-height: 1.7; font-weight: 600; }
@media (min-width: 640px) { .geo-home-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .geo-home-image-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.geo-text-link { display: inline-block; color: #4143b4; font-size: .875rem; font-weight: 600; line-height: 1.7; text-underline-offset: 4px; }
.geo-text-link:hover, .geo-link-row a:hover, .geo-sources a:hover { text-decoration: underline; }
.geo-breadcrumbs { border-bottom: 1px solid #e6eaf2; background: #f8f9fc; color: #535d73; font-size: .8rem; }
.geo-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 10px; padding-block: 13px; list-style: none; }
.geo-breadcrumbs li { min-width: 0; overflow-wrap: anywhere; }
.geo-breadcrumbs li + li::before { content: '/'; color: #8d96ab; margin-right: 10px; }
.geo-breadcrumbs a:hover { color: #4143b4; text-decoration: underline; }
.geo-article-byline { margin-top: 20px; font-size: .8rem; color: #566077; }
.geo-sources { margin-top: 36px; padding-top: 24px; border-top: 1px solid #e6eaf2; font-size: .875rem; color: #535d73; }
.geo-sources h2 { font-size: 1rem; font-weight: 600; color: #172039; }
.geo-sources ul { margin-top: 12px; display: grid; gap: 10px; }
.geo-sources a { color: #4143b4; overflow-wrap: anywhere; }
.geo-related-services { margin-top: 44px; border: 1px solid #d9def5; border-radius: 18px; padding: 30px; background: #f6f7ff; }
.geo-related-services h2 { font-size: 1.35rem; font-weight: 700; line-height: 1.5; margin-top: 10px; color: #11192f; }
.geo-related-services > p:not(.geo-eyebrow) { color: #4d5770; line-height: 1.85; margin-top: 12px; }
.geo-eyebrow { color: #4143b4; font-size: .75rem; font-weight: 600; letter-spacing: .06em; }
.geo-link-row { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-block: 20px; }
.geo-link-row a { color: #4143b4; font-weight: 600; line-height: 1.7; }
.geo-article-body { overflow-wrap: break-word; }
:is(a, button, input, textarea):focus-visible { outline: 2px solid #4143b4; outline-offset: 4px; }
@media (max-width: 480px) { .geo-related-services { padding: 22px; } .geo-related-services h2 { font-size: 1.2rem; } }
@media (max-width: 1279px) { .th-js .th-menu-toggle { display: flex; } }
@media (min-width: 1280px) { .th-mobile-navigation { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .marquee-track, .banner-particles .dot { animation: none !important; } }
/* Article content written with the local rich-text editor. */
.geo-rich-text{color:#46516b;line-height:1.9;overflow-wrap:anywhere}
.geo-rich-text::after{content:"";display:table;clear:both}
.geo-rich-text h2,.geo-rich-text h3,.geo-rich-text h4,.geo-rich-text h5,.geo-rich-text h6{color:#172039;font-weight:700;line-height:1.45;margin:1.8em 0 .7em}
.geo-rich-text h2{font-size:1.5rem}.geo-rich-text h3{font-size:1.25rem}.geo-rich-text h4{font-size:1.125rem}
.geo-rich-text p{margin:.8em 0}.geo-rich-text strong,.geo-rich-text b{font-weight:700;color:#172039}
.geo-rich-text em,.geo-rich-text i{font-style:italic}.geo-rich-text u{text-decoration:underline}.geo-rich-text s,.geo-rich-text strike{text-decoration:line-through}
.geo-rich-text a{color:#3158c9;text-decoration:underline;text-underline-offset:3px}.geo-rich-text a:hover{color:#17398f}
.geo-rich-text ul,.geo-rich-text ol{padding-left:1.8em;margin:1em 0}.geo-rich-text ul{list-style:disc}.geo-rich-text ol{list-style:decimal}.geo-rich-text li{margin:.35em 0}.geo-rich-text li>ul,.geo-rich-text li>ol{margin:.3em 0}
.geo-rich-text blockquote{margin:1.3em 0;padding:.7em 1.2em;border-left:4px solid #6f7bdf;background:#f1f3fd;border-radius:0 8px 8px 0;color:#37415d}
.geo-rich-text img{max-width:100%;height:auto;border-radius:8px;object-fit:contain}.geo-rich-text figure{max-width:100%;margin:1.4em 0}.geo-rich-text figcaption{margin-top:.5em;color:#63708a;font-size:.875rem;text-align:center}
.geo-rich-text table{display:block;max-width:100%;width:max-content;overflow-x:auto;border-collapse:collapse;margin:1.5em 0;font-size:.95rem}.geo-rich-text td,.geo-rich-text th{min-width:70px;border:1px solid #d5dcec;padding:.6em .85em;vertical-align:top}.geo-rich-text th{font-weight:700;color:#172039;background:#f1f3fb}
.geo-rich-text hr{border:0;border-top:1px solid #d8deee;margin:2em 0}.geo-rich-text pre{max-width:100%;overflow:auto;background:#f2f4fa;padding:1em;border-radius:8px;white-space:pre-wrap}.geo-rich-text code{font-family:ui-monospace,monospace;font-size:.9em}
@media(max-width:600px){.geo-rich-text h2{font-size:1.3rem}.geo-rich-text h3{font-size:1.15rem}.geo-rich-text blockquote{padding:.6em .9em}.geo-rich-text table{font-size:.875rem}}
