.app-install-button { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 70; display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 7px 16px 7px 7px; border: 1px solid rgba(255,255,255,.72); border-radius: 99px; color: white; background: #0f75bd; box-shadow: 0 15px 38px rgba(3,44,70,.3); cursor: pointer; transition: transform .2s, background .2s, box-shadow .2s; }
.app-install-button:hover, .app-install-button:focus-visible, .app-install-button.ready { background: #075788; box-shadow: 0 18px 44px rgba(3,44,70,.38); transform: translateY(-2px); }
.app-install-button:focus-visible { outline: 3px solid #8bd4f2; outline-offset: 3px; }
.app-install-button > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: #0f75bd; background: white; font: 900 12px/1 "Avenir Next", "Segoe UI", sans-serif; letter-spacing: -.04em; }
.app-install-button strong { font: 800 14px/1 "Avenir Next", "Segoe UI", sans-serif; }
.install-app-dialog { width: min(470px, calc(100% - 30px)); padding: 38px; border: 0; border-radius: 24px; color: #173b52; background: white; box-shadow: 0 35px 100px rgba(3,44,70,.42); }
.install-app-dialog::backdrop { background: rgba(3,44,70,.72); backdrop-filter: blur(5px); }
.install-dialog-close { position: absolute; right: 15px; top: 15px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: white; background: #075788; font-size: 25px; line-height: 1; cursor: pointer; }
.install-dialog-icon { width: 72px; height: 72px; display: grid; place-items: center; margin-bottom: 25px; border-radius: 20px; color: white; background: linear-gradient(145deg, #2897d3, #075788); box-shadow: 0 13px 30px rgba(15,117,189,.25); font: 900 24px/1 "Avenir Next", "Segoe UI", sans-serif; letter-spacing: -.06em; }
.install-dialog-kicker { margin: 0; color: #0f75bd; font-size: 10px !important; font-weight: 900; letter-spacing: .17em; }
.install-app-dialog h2 { margin: 11px 0 13px; color: #173b52; font: 750 32px/1.15 "Avenir Next", "Segoe UI", sans-serif; letter-spacing: -.035em; }
.install-app-dialog p, .install-app-dialog li { color: #5d7282; font-size: 16px; line-height: 1.6; }
.install-app-dialog ol { display: grid; gap: 10px; margin: 22px 0; padding-left: 23px; }
.install-private-note { padding: 12px 14px; border-radius: 10px; color: #075788 !important; background: #e2f0f9; font-size: 14px !important; }
.install-dialog-done { width: 100%; min-height: 48px; margin-top: 8px; border: 0; border-radius: 9px; color: white; background: #0f75bd; font-weight: 800; cursor: pointer; }

.app-message-button { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: max(82px, calc(env(safe-area-inset-bottom) + 82px)); z-index: 70; display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 7px 16px 7px 7px; border: 1px solid rgba(255,255,255,.72); border-radius: 99px; color: #075788; background: white; box-shadow: 0 15px 38px rgba(3,44,70,.25); cursor: pointer; transition: transform .2s, color .2s, box-shadow .2s; }
.app-message-button:hover, .app-message-button:focus-visible { color: #043d61; box-shadow: 0 18px 44px rgba(3,44,70,.34); transform: translateY(-2px); }
.app-message-button:focus-visible { outline: 3px solid #8bd4f2; outline-offset: 3px; }
.app-message-button > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: white; background: #0f75bd; font-size: 17px; }
.app-message-button strong { font: 800 14px/1 "Avenir Next", "Segoe UI", sans-serif; }
.app-standalone .app-message-button { bottom: max(18px, env(safe-area-inset-bottom)); }
.app-message-dialog { width: min(470px, calc(100% - 30px)); padding: 38px; border: 0; border-radius: 24px; color: #173b52; background: white; box-shadow: 0 35px 100px rgba(3,44,70,.42); }
.app-message-dialog::backdrop { background: rgba(3,44,70,.72); backdrop-filter: blur(5px); }
.message-dialog-close { position: absolute; right: 15px; top: 15px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: white; background: #075788; font-size: 25px; line-height: 1; cursor: pointer; }
.message-dialog-icon { width: 72px; height: 72px; display: grid; place-items: center; margin-bottom: 25px; border-radius: 20px; color: white; background: linear-gradient(145deg, #2897d3, #075788); box-shadow: 0 13px 30px rgba(15,117,189,.25); font-size: 27px; }
.message-dialog-kicker { margin: 0; color: #0f75bd; font-size: 10px !important; font-weight: 900; letter-spacing: .17em; }
.app-message-dialog h2 { margin: 11px 0 13px; color: #173b52; font: 750 32px/1.15 "Avenir Next", "Segoe UI", sans-serif; letter-spacing: -.035em; }
.app-message-dialog p { color: #5d7282; font-size: 16px; line-height: 1.6; }
.message-dialog-actions { display: grid; gap: 10px; margin-top: 24px; }
.message-dialog-actions a { min-height: 49px; display: grid; place-items: center; padding: 10px 18px; border-radius: 9px; font-weight: 800; text-decoration: none; }
.message-email { color: white; background: #0f75bd; }
.message-consultation { border: 1px solid #b7d8ea; color: #075788; background: #edf7fc; }

@media (max-width: 640px) {
  .app-install-button { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); min-height: 48px; padding-right: 13px; }
  .app-install-button > span { width: 33px; height: 33px; }
  .app-message-button { right: max(12px, env(safe-area-inset-right)); bottom: max(72px, calc(env(safe-area-inset-bottom) + 72px)); min-height: 48px; padding-right: 13px; }
  .app-message-button > span { width: 33px; height: 33px; }
  .app-standalone .app-message-button { bottom: max(12px, env(safe-area-inset-bottom)); }
  .install-app-dialog, .app-message-dialog { padding: 31px 23px 24px; }
  .install-app-dialog h2, .app-message-dialog h2 { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .app-install-button, .app-message-button { transition: none; }
}

/* The tawk.to Performance Coach owns the lower-right messaging position. */
.app-message-button { display: none; }
.app-install-button {
  right: auto;
  left: max(18px, env(safe-area-inset-left));
}

@media (max-width: 620px) {
  .app-install-button {
    right: auto;
    left: max(12px, env(safe-area-inset-left));
  }
}

/* Consistent chat access across English and Spanish pages. */
.app-install-button, .install-app-dialog { display: none !important; }
.jw-chat-link { position: fixed; z-index: 900; left: max(14px, env(safe-area-inset-left)); bottom: max(18px, env(safe-area-inset-bottom)); padding: 12px 18px; border-radius: 28px; color: white; background: #075788; text-decoration: none; font: 600 15px/1.4 Arial,sans-serif; box-shadow: 0 4px 16px #0003; }
.jw-chat-link:hover { background: #06416a; color: white; }
.jw-chat-link:focus-visible { outline: 3px solid #ffc75b; outline-offset: 4px; }
.chat-access { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 32px; padding-bottom: 70px; }
.chat-access p { max-width: 740px; line-height: 1.6; margin: 10px 0; }
.chat-access a:not(.button) { color: #075788; text-decoration: underline; }
.founder-profile { padding-top: 48px; padding-bottom: 24px; }
.founder-profile p { max-width: 850px; line-height: 1.7; }
.privacy-note a { color: inherit; text-decoration: underline; }
@media(max-width:640px) { .chat-access { flex-direction: column; align-items: flex-start; } .jw-chat-link { font-size:14px; padding:10px 14px; } }
