/* LeadRecoverly mobile navigation polish */
html,body{max-width:100%;overflow-x:hidden}
.lr-mobile-nav-button{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;border:1px solid #DCE4DD;background:#fff;color:#0B1418;box-shadow:0 8px 24px rgba(11,20,24,.08);cursor:pointer;flex:none}
.lr-mobile-nav-button svg{width:22px;height:22px;display:block}
.lr-mobile-nav-button:focus-visible{outline:3px solid rgba(12,125,91,.35);outline-offset:2px}
@media(max-width:760px){
  body{overflow-x:hidden}
  .wrap,.shell,.container{max-width:100%}
  header .brand,header .lr-global-brand,header .lr-footer-brand{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 92px)}
  header .mark,header svg.mark{flex:none}

  /* Homepage header: keep only logo + hamburger on small screens. */
  .nav{z-index:90}
  .nav-in{height:64px!important;min-height:64px;padding-left:18px!important;padding-right:18px!important;gap:12px!important;position:relative}
  .nav-links{display:none!important}
  .nav-cta{margin-left:auto!important;padding-left:0!important;border-left:0!important;gap:8px!important;flex:none!important}
  .nav-cta .signin,.nav-cta > .btn:not(.burger){display:none!important}
  .burger{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;border:1px solid #DCE4DD;background:#fff;color:#0B1418;box-shadow:0 8px 24px rgba(11,20,24,.08)}
  .mobile-menu{position:fixed!important;top:76px!important;left:16px!important;right:16px!important;width:auto!important;max-height:calc(100vh - 96px)!important;overflow:auto!important;background:#fff!important;border:1px solid #E1E5DD!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(11,20,24,.18)!important;padding:14px!important;z-index:1000!important}
  .mobile-menu.show{display:flex!important;flex-direction:column!important;gap:4px!important}
  .mobile-menu .btn{width:100%;justify-content:center;margin-top:8px}

  /* Generic headers that previously tried to squeeze every action into one row. */
  header[data-lr-mobile-enhanced]{overflow:visible;z-index:100;position:sticky;top:0}
  header[data-lr-mobile-enhanced] .topin,
  header[data-lr-mobile-enhanced] .topbar-in,
  header[data-lr-mobile-enhanced] .brandbar-in,
  header[data-lr-mobile-enhanced] .lr-global-inner{min-height:64px;height:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding-top:12px!important;padding-bottom:12px!important;position:relative!important}
  header[data-lr-mobile-enhanced] .lr-mobile-nav-button{display:inline-flex!important;margin-left:auto}
  header[data-lr-mobile-enhanced] .actions:not(.lr-mobile-open),
  header[data-lr-mobile-enhanced] .top-actions:not(.lr-mobile-open),
  header[data-lr-mobile-enhanced] .navlinks:not(.lr-mobile-open),
  header[data-lr-mobile-enhanced] .lr-global-links:not(.lr-mobile-open){display:none!important}
  header[data-lr-mobile-enhanced] .actions.lr-mobile-open,
  header[data-lr-mobile-enhanced] .top-actions.lr-mobile-open,
  header[data-lr-mobile-enhanced] .navlinks.lr-mobile-open,
  header[data-lr-mobile-enhanced] .lr-global-links.lr-mobile-open{display:flex!important;position:absolute!important;top:calc(100% + 8px)!important;left:16px!important;right:16px!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;background:#fff!important;border:1px solid #E1E5DD!important;border-radius:16px!important;padding:14px!important;box-shadow:0 24px 70px rgba(11,20,24,.18)!important;z-index:1000!important;max-height:calc(100vh - 96px)!important;overflow:auto!important}
  header[data-lr-mobile-enhanced] .actions.lr-mobile-open .btn,
  header[data-lr-mobile-enhanced] .top-actions.lr-mobile-open .btn,
  header[data-lr-mobile-enhanced] .navlinks.lr-mobile-open a,
  header[data-lr-mobile-enhanced] .lr-global-links.lr-mobile-open a{width:100%!important;justify-content:center!important;text-align:center!important;white-space:normal!important}

  /* Free scan/sample report sections should stack instead of forcing two columns. */
  #sample-preview>div[style*="grid-template-columns:1fr 1fr"],
  #sample-preview div[style*="grid-template-columns:repeat(2,1fr)"],
  #sample-preview div[style*="grid-template-columns: repeat(2,1fr)"]{grid-template-columns:1fr!important}
  .trustRow{grid-template-columns:1fr!important}
  .hero{padding-top:42px!important}
}
@media(max-width:420px){
  header .brand,header .lr-global-brand{font-size:17px!important;max-width:calc(100vw - 82px)}
  .nav-in{padding-left:14px!important;padding-right:14px!important}
  .mobile-menu{left:10px!important;right:10px!important}
  header[data-lr-mobile-enhanced] .actions.lr-mobile-open,
  header[data-lr-mobile-enhanced] .top-actions.lr-mobile-open,
  header[data-lr-mobile-enhanced] .navlinks.lr-mobile-open,
  header[data-lr-mobile-enhanced] .lr-global-links.lr-mobile-open{left:10px!important;right:10px!important}
}


/* v84 extra mobile fixes */
@media(max-width:760px){
  header[data-lr-mobile-enhanced]{box-shadow:0 8px 30px rgba(11,20,24,.06)}
  header[data-lr-mobile-enhanced] .actions.lr-mobile-open,
  header[data-lr-mobile-enhanced] .top-actions.lr-mobile-open,
  header[data-lr-mobile-enhanced] .navlinks.lr-mobile-open,
  header[data-lr-mobile-enhanced] .lr-global-links.lr-mobile-open,
  .mobile-menu.show{max-height:calc(100dvh - 88px)!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  header[data-lr-mobile-enhanced] .actions.lr-mobile-open a,
  header[data-lr-mobile-enhanced] .actions.lr-mobile-open button,
  header[data-lr-mobile-enhanced] .top-actions.lr-mobile-open a,
  header[data-lr-mobile-enhanced] .top-actions.lr-mobile-open button,
  header[data-lr-mobile-enhanced] .navlinks.lr-mobile-open a,
  header[data-lr-mobile-enhanced] .lr-global-links.lr-mobile-open a,
  .mobile-menu.show a,.mobile-menu.show button{min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .nav-cta{min-width:auto!important}.brand{flex:0 1 auto!important}.lr-mobile-nav-button,.burger{flex:0 0 42px!important}
}

/* v90: tame mobile disclosure/caret markers */
@media(max-width:760px){
  details summary{position:relative;list-style:none!important;cursor:pointer;padding-right:32px!important}
  details summary::-webkit-details-marker{display:none!important}
  details summary::marker{font-size:0!important;color:transparent!important}
  details summary::after{content:'⌄';position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:16px!important;line-height:1!important;font-weight:700;color:#50615B;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:transparent}
  details[open] summary::after{transform:translateY(-50%) rotate(180deg)}
  select{background-size:14px!important}
}
/* LeadRecoverly launch usability polish */
:root{--lr-tap:44px}
button,a.btn,.btn,input,select,textarea{touch-action:manipulation}
button,.btn{min-height:var(--lr-tap)}
.card.module{content-visibility:auto;contain-intrinsic-size:360px}
.hero,.top,.nav,.brandbar,.lr-global-header,.side,.modal,.mobile-menu,.accountStrip,.plainBrief{content-visibility:visible;contain-intrinsic-size:auto}
.clientBrief{border:1px solid #C8E5D9;background:linear-gradient(180deg,#F8FCFA,#FFFFFF);border-radius:18px;padding:18px 20px;margin-bottom:16px;box-shadow:0 12px 32px -28px rgba(11,20,24,.22)}
.clientBrief h3{margin:8px 0 6px}.clientBrief p{color:#455B59;margin:0 0 12px;max-width:880px}.meaningGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.meaningTile{background:#fff;border:1px solid #E1E5DD;border-radius:14px;padding:13px 14px}.meaningTile span{display:block;font-family:var(--mono,monospace);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5A6B6A;margin-bottom:5px}.meaningTile b{display:block;font-size:17px;color:#0B1418;line-height:1.18}.meaningTile small{display:block;margin-top:5px;color:#455B59;line-height:1.4}.doNextList{margin:10px 0 0 20px;color:#455B59;line-height:1.58}.doNextList b{color:#0B1418}.interpretHelp{background:#FFF8EA;border:1px solid #F0D8AD;color:#664400;border-radius:13px;padding:12px 14px;margin-top:12px;font-size:13.5px;line-height:1.48}.moduleExplain{background:#F8FCFA;border:1px solid #D9E8DE;border-radius:13px;padding:10px 12px;margin:10px 0 12px;color:#36504A;font-size:13.5px;line-height:1.48}.moduleExplain b{color:#0B1418}.launchChecklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.launchChecklist div{background:#fff;border:1px solid #E1E5DD;border-radius:12px;padding:12px}.launchChecklist b{display:block;margin-bottom:4px;color:#0B1418}.launchChecklist span{color:#455B59;font-size:13.5px;line-height:1.45}
@media(max-width:760px){
  .card.module{contain-intrinsic-size:520px}
  .hero h1{font-size:clamp(31px,10vw,42px)!important;line-height:1.05!important}.hero p{font-size:16px!important}
  .btn,button{min-height:44px}.moduleActions,.actions{gap:8px!important}.moduleActions .btn,.actions .btn{white-space:normal;text-align:center}
  .topin,.topbar-in,.brandbar-in,.lr-global-inner,.nav-in{padding-left:max(16px,env(safe-area-inset-left,16px))!important;padding-right:max(16px,env(safe-area-inset-right,16px))!important}
  .tablewrap{margin-left:-2px;margin-right:-2px}.tablewrap:before{content:'Scroll sideways to view more columns';display:block;position:sticky;left:0;background:#FFF8EA;color:#6A4400;border-bottom:1px solid #F0D8AD;padding:8px 10px;font-size:12px;font-weight:800;z-index:2}
  .kpis,.meaningGrid,.plainBriefGrid,.recordCounts{grid-template-columns:1fr!important}.clientBrief,.plainBrief{padding:15px}.triageRow,.actionPlanRow{gap:10px}.triageRank{flex-basis:28px;width:28px;height:28px}.side{padding:18px!important}.score{width:150px!important;height:150px!important}.scorein{width:116px!important;height:116px!important}.scorein b{font-size:38px!important}
}
@media(max-width:480px){
  .wrap{padding-left:max(14px,env(safe-area-inset-left,14px))!important;padding-right:max(14px,env(safe-area-inset-right,14px))!important}.module,.bar{padding:16px!important}.clientBrief h3,.module h3{font-size:20px!important}.btn{width:100%;justify-content:center}.top .btn,.nav .btn,header .btn{width:auto}.topin .actions.lr-mobile-open .btn,header[data-lr-mobile-enhanced] .actions.lr-mobile-open .btn,.mobile-menu .btn{width:100%!important}
}


/* v111 shared interaction, accessibility, and perceived-performance layer */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(12,125,91,.42)!important;outline-offset:3px!important}
:where(button,.btn,a[role="button"])[aria-disabled="true"],:where(button,.btn)[disabled]{cursor:wait;opacity:.72;pointer-events:none}
.lr-is-loading{position:relative;gap:9px!important}
.lr-spinner{display:inline-block;width:1em;height:1em;flex:0 0 1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:lr-spin .7s linear infinite;vertical-align:-.12em}
@keyframes lr-spin{to{transform:rotate(360deg)}}
.lr-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.lr-network-notice{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2147483000;max-width:min(620px,calc(100vw - 28px));padding:11px 16px;border-radius:12px;background:#0B1418;color:#fff;box-shadow:0 12px 36px rgba(0,0,0,.22);font-size:14px;font-weight:700;text-align:center}
.lr-network-notice[hidden]{display:none!important}
img{max-width:100%;height:auto}
main{min-height:55vh}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.lr-spinner{animation-duration:.9s!important}}
@media(max-width:760px){input,select,textarea{font-size:16px!important}.lr-network-notice{font-size:13px}}
