/* Shared additions; the imported visual styles preserve the existing design. */
/* Shared text face, including unclassified text and hidden form feedback. */
:root { --site-font-sans:'SF-Pro','font',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; }
body { font-family:var(--site-font-sans); }
html { scroll-behavior:smooth; scroll-padding-top:5rem; }
:focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
::selection { background:#2557a7; color:#fff; }
.contact-trap { position:absolute!important; inset-inline-start:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
[hidden] { display:none!important; }
form[aria-busy="true"] { cursor:progress; }
.site-background-video { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:100%; height:100%; min-width:177.78vh; min-height:56.25vw; border:0; pointer-events:none; }
[data-bg-video] { overflow:hidden; }
[data-bg-video] > .container { position:relative; }
.site-language { display:flex; gap:.5rem; justify-content:center; align-items:center; padding:1rem; font:inherit; background:#fff; color:#232323; }
.site-language select { font:inherit; max-width:70vw; padding:.4rem; border:1px solid #aaa; border-radius:.3rem; background:white; color:#232323; }
[dir="rtl"] .site-language { direction:rtl; }
[dir="rtl"] .navbar-nav { padding-inline-start:0; }
[dir="rtl"] .align-left { text-align:right; }
[dir="rtl"] .align-right { text-align:left; }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} *,*::before,*::after {animation-duration:.01ms!important; transition-duration:.01ms!important;} }

/* Native-looking, blue language control, including Safari focus styling. */
.site-language, .site-language select { font-family:var(--site-font-sans); font-size:1rem; line-height:1.4; }
.site-language select { color:#0066cc; border:1px solid #0066cc; padding:.5rem .75rem; border-radius:.5rem; }
.site-language select:focus, .site-language select:focus-visible { border-color:#0066cc!important; outline:2px solid #0066cc!important; outline-offset:3px; box-shadow:none!important; }
/* Real app artwork, sized for high-density displays and aligned with menu labels. */
.navbar .nav-link .nav-app-icon { width:28px; height:28px; max-width:none; flex:0 0 28px; object-fit:contain; margin-inline-end:.5rem; vertical-align:middle; border-radius:6px; }
.navbar .nav-link .nav-app-icon-round { border-radius:50%; }
/* Preserve readable fallback glyphs and local writing direction across app locales. */
html:lang(ar) .aftl-fonts-style { font-family:var(--site-font-sans)!important; }
html:lang(ja) .aftl-fonts-style, html:lang(ko) .aftl-fonts-style, html:lang(zh) .aftl-fonts-style { font-family:var(--site-font-sans)!important; word-break:normal; overflow-wrap:anywhere; }
html[dir="rtl"] .navbar-brand { margin-right:0; margin-inline-end:1rem; }
html[dir="rtl"] .navbar-nav .nav-link { text-align:right; }
html[dir="rtl"] .site-language select { direction:rtl; }

/* User-supplied SF house symbol replaces the English word; accessible text stays intact. */
.home-word { display:inline-block; position:relative; white-space:nowrap; }
.home-symbol { display:inline-block; width:1.08em; height:1em; vertical-align:-.08em; overflow:visible; }
.home-word-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

.isolated-ltr { unicode-bidi:isolate; }
html[dir="rtl"] .source-citation { direction:ltr; text-align:left; unicode-bidi:isolate; overflow-wrap:anywhere; }
html[dir="rtl"] main :is(ul,ol) { padding-left:0; padding-inline-start:1.35rem; }
/* Attribution does not introduce a decorative long dash. */
.blockquote-footer::before { content:""; }

/* Longer local-currency prices keep the three desktop cards within their columns. */
@media (min-width: 768px) {
  #pricing2-4w.pricing-compact .price { font-size: 3.5rem; }
}

/* Readable prices and consistent keyboard focus, without changing the copy. */
html body :focus-visible { outline:3px solid #0066cc !important; outline-offset:4px !important; }
@media (prefers-color-scheme:dark) {
  html body :focus-visible { outline-color:#8bbcff !important; }
}
@media (prefers-color-scheme:light) {
  #pricing2-4w .price { color:#6e6e73; }
  #pricing2-4w .price-term { color:#6e6e73; }
  section[class*="footer"] p { color:#6e6e73; }
}
html body .navbar button.navbar-toggler { width:44px; height:44px; padding:7px; }
html body .navbar-toggler .hamburger { position:relative; width:30px; height:20px; }
.emdr-page main img { height:auto; }
#pricing2-4w .list-group { text-align:start; }
#pricing2-4w .list-group-item.plan-feature { padding-inline-start:2.4rem; }
#pricing2-4w .plan-feature-mark { position:absolute; inset-inline-start:1rem; }
#pricing2-4w .pricing-note-link { display:inline-block; min-width:24px; min-height:24px; text-align:center; text-decoration:underline; text-underline-offset:.15em; }
#connect-note { scroll-margin-block-start:5rem; }
/* Unitless leading continues to scale when visitors enlarge text. */
.emdr-page main :is(h1,h2,h3,h4,h5,h6) { line-height:1.1; }
.emdr-page main :is(p,li,.form-control) { line-height:1.3; }
/* Keep the original App Purpose type size after correcting its heading level. */
.emdr-page #header9-55 .aftl-section-title { font-size:27px; font-weight:400; letter-spacing:.216px; line-height:1.26; }
@media (max-width:767px) {
  .emdr-page #header9-55 .aftl-section-title { font-size:16px; }
}

@media (max-width:767px) {
  html body .navbar.navbar-dropdown .navbar-brand { width:calc(100% - 44px); margin-inline:0; padding-inline-end:1rem; }
}
