/* LeadsGeeks — phone layout layer. Everything in here is inside a max-width query (or hides
   phone-only UI), so tablet/desktop rendering is untouched. */
.mdots,.hm,.mcall,.feat-m{display:none}
.feats .feat-m{display:none}
.pcar{display:contents}

/* ---------- homepage diagram connectors (the icon list only exists at <=900px) ---------- */
@media (max-width:900px){
  .dg-list{position:relative}
  .dg-list > li{position:relative;z-index:1}
  .dg-list::before{content:"";position:absolute;left:50%;top:40px;bottom:40px;border-left:2px dashed rgba(255,95,31,.6);margin-left:-1px;z-index:0}
  .dg-list::after{content:"";position:absolute;left:50%;top:40px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#FF5F1F;box-shadow:0 0 0 5px rgba(255,95,31,.18);z-index:0;animation:lgDgDrop 3.2s cubic-bezier(.45,0,.55,1) infinite}
  .dg-list > li:not(.lb):not(.jb)::before{content:"";position:absolute;top:35px;border-top:2px dashed rgba(255,95,31,.6);z-index:-1}
  .dg-list > li:not(.lb):not(.jb):nth-child(even)::before{left:calc(50% + 40px);right:-11px}
  .dg-list > li:not(.lb):not(.jb):nth-child(odd)::before{right:calc(50% + 40px);left:-11px}
  @keyframes lgDgDrop{0%{top:40px;opacity:0}10%{opacity:1}88%{opacity:1}100%{top:calc(100% - 50px);opacity:0}}
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){.dg-list::after{display:none}}
@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .formbox .ai-chips .ai-chip{animation:none !important;opacity:0 !important}
  .formbox .ai-chips .ai-chip.c1{opacity:1 !important}
}

/* ---------- homepage header menu (tablet + phone; desktop nav is unchanged) ---------- */
@media (max-width:900px){
  .hdr .wrap,.hdr-r{position:static !important}
  .hdr-r{gap:10px !important}
  .hm{display:block}
  .hm > summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;box-sizing:border-box;border-radius:12px;border:1px solid rgba(248,249,250,.3);color:#F8F9FA;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .hm > summary::-webkit-details-marker{display:none}
  .hm > summary svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .hm .hm-x,.hm[open] .hm-o{display:none}
  .hm[open] .hm-x{display:block}
  .hm .lgh-m{position:absolute;left:0;right:0;top:100%;z-index:70;max-height:calc(100dvh - 72px);overflow:auto;-webkit-overflow-scrolling:touch;background:#FFFFFF;color:#131313;padding:12px 20px 28px;box-shadow:0 30px 60px -20px rgba(19,19,19,.5);border-top:3px solid #FF5F1F;text-align:left}
  .hm .lgh-m details{border-bottom:1px solid rgba(19,19,19,.08)}
  .hm .lgh-m summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:14px 0;box-sizing:border-box;font-family:'DM Mono',ui-monospace,monospace;font-weight:500;font-size:17px;color:#131313}
  .hm .lgh-m summary::-webkit-details-marker{display:none}
  .hm .lgh-m summary::after{content:"+";font-size:22px;color:#FF5F1F}
  .hm .lgh-m details[open] summary::after{content:"\2013"}
  .hm .lgh-m .mm-list{padding-bottom:12px}
  .hm .lgh-m .mm-h{margin:12px 0 6px}
  .hm .lgh-m .mm-list{list-style:none;margin:0;padding:0 0 12px;display:grid;gap:2px}
  .hm .lgh-m .mm-link{display:flex !important;flex-direction:row !important;align-items:center;gap:12px;padding:12px 10px !important;margin:0 -10px;border-radius:10px;
    color:#131313 !important;font-family:'DM Sans',system-ui,sans-serif !important;font-size:16px !important;line-height:22px !important;font-weight:400 !important;letter-spacing:0 !important;text-transform:none !important;text-decoration:none}
  .hm .lgh-m .mm-link::after{display:none !important}
  .hm .lgh-m .mm-link img{width:24px !important;height:24px !important;flex:none}
  .hm .lgh-m .mm-link svg{width:22px;height:22px;flex:none;fill:none;stroke:#FF5F1F;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .hm .lgh-m summary{color:#131313 !important}
  .hm .lgh-m details[open] > summary{color:#FF5F1F !important}
  .hm .lgh-m > a{display:block;min-height:52px;box-sizing:border-box;padding:14px 0;border-bottom:1px solid rgba(19,19,19,.08);font-family:'DM Mono',ui-monospace,monospace;font-weight:500;font-size:17px;color:#131313 !important;text-decoration:none}
  .hm .lgh-m > a::after{display:none !important}
  .hm .lgh-m .btn{display:flex;margin-top:20px;height:54px;width:100%;align-items:center;justify-content:center;border-radius:6px;color:#F8F9FA !important;border:0;border-bottom:0;text-decoration:none;font-family:'DM Mono',ui-monospace,monospace;font-size:15px}
}

@media (max-width:760px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{overflow-x:hidden}

  /* ---------- swipe carousels ---------- */
  .mcar{display:flex !important;flex-wrap:nowrap !important;grid-template-columns:none !important;
    overflow-x:auto !important;overflow-y:hidden !important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px !important;align-items:stretch !important;
    scroll-padding-inline:var(--mpad,0px);row-gap:0 !important;transform:none !important}
  .mcar::-webkit-scrollbar{display:none}
  .mcar > *{flex:0 0 var(--mw,86%) !important;width:auto !important;max-width:none !important;min-width:0 !important;
    scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;margin-top:0 !important;margin-bottom:0 !important}
  .mcar,.mcar *{animation-timeline:auto !important}
  .mcar > *{opacity:1 !important;translate:none !important}
  .mcar.mpad{--mpad:20px;padding-top:8px !important;padding-bottom:8px !important}
  .mcar.mpad + .mdots{margin-bottom:56px}
  /* page-level lists run edge to edge; first card lines up with the page text */
  .mcar.mfull{box-sizing:border-box !important;width:100vw !important;max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;
    padding-left:calc(50vw - 50%) !important;padding-right:calc(50vw - 50%) !important}
  /* lists inside a rounded card run to the card edge */
  .mcar.mcard{margin-left:-20px !important;margin-right:-20px !important;padding-left:20px !important;padding-right:20px !important;--mpad:20px}
  .partner .pcar,.partner .pcar + .mdots{grid-column:1 / -1 !important}
  .ptags span{font-size:12px !important}
  .mcar.w70{--mw:72%}
  .mcar.w62{--mw:62%}
  .mdots{display:flex;justify-content:center;align-items:center;gap:2px;margin:10px auto 0;padding:0;height:36px;position:relative;z-index:2}
  .mdots button{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:14px 5px;margin:0;cursor:pointer;line-height:0}
  .mdots button::before{content:"";display:block;width:7px;height:7px;border-radius:7px;background:rgba(19,19,19,.22);transition:width .25s,background .25s}
  .mdots button[aria-current="true"]::before{width:24px;background:#FF5F1F}
  .mdots.on-dark button::before{background:rgba(248,249,250,.3)}
  .mdots.on-dark button[aria-current="true"]::before{background:#FF5F1F}

  /* ---------- small text floor for inline-styled templates ---------- */
  [style*="font-size: 10px"],[style*="font-size: 10.5px"],[style*="font-size: 11px"],[style*="font-size: 11.5px"]{font-size:12px !important}

  /* ---------- homepage header: logo · call · menu ---------- */
  .hdr,.hdr .wrap{height:72px !important}
  .hdr .wrap > a img{width:96px;height:auto}
  .hdr-r .btn-ghost{display:none !important}
  .mcall{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#FF5F1F;box-shadow:0 8px 20px -10px rgba(255,95,31,.9)}
  .mcall svg{width:20px;height:20px;fill:none;stroke:#FFFFFF;stroke-width:1.8;stroke-linejoin:round}
  .mcall::after{display:none !important}

  /* ---------- homepage hero ---------- */
  .hero-copy{padding-top:28px !important}
  .feats{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px !important;margin-top:32px !important}
  .feats .vline{display:none !important}
  .feat{gap:12px !important;min-width:0}
  .feat-m{display:flex !important}

  /* ---------- homepage hero: "AI at work" cards become a rotating notification above the form ---------- */
  .formbox{margin-top:28px !important}
  .formbox .ai-chips{display:block !important;position:relative !important;inset:auto !important;height:66px;margin:0 0 26px;pointer-events:none}
  .formbox .ai-chips::before,.formbox .ai-chips::after{content:"";position:absolute;left:50%;transform:translateX(-50%);border-radius:14px;background:rgba(255,255,255,.55);box-shadow:0 10px 24px -16px rgba(120,40,0,.4)}
  .formbox .ai-chips::before{top:12px;width:86%;height:62px}
  .formbox .ai-chips::after{top:20px;width:74%;height:60px;background:rgba(255,255,255,.35)}
  .formbox .ai-chips .ai-chip{display:flex !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;bottom:auto !important;z-index:1;
    width:auto !important;max-width:none !important;margin:0 auto;box-sizing:border-box;padding:11px 14px 11px 11px;background:rgba(255,255,255,.96);
    opacity:0;animation:lgChipCycle 9s cubic-bezier(.2,.7,.2,1) infinite backwards !important}
  .formbox .ai-chips .ai-chip.c1{animation-delay:0s !important}
  .formbox .ai-chips .ai-chip.c2{animation-delay:3s !important}
  .formbox .ai-chips .ai-chip.c3{animation-delay:6s !important}
  .formbox .ai-chips .ai-chip b{font-size:15px;line-height:20px}
  .formbox .ai-chips .ai-chip div span{font-size:13.5px;line-height:18px}
  @keyframes lgChipCycle{0%{opacity:0;transform:translateY(16px) scale(.97)}5%,30%{opacity:1;transform:none}35%,100%{opacity:0;transform:translateY(-12px) scale(.97)}}

  /* ---------- homepage video reviews: one video per swipe ---------- */
  .vtrack-win{overflow-x:auto !important;overflow-y:hidden !important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;
    -webkit-overflow-scrolling:touch;margin-top:24px !important;padding:0 16px 6px !important;scroll-padding-inline:16px}
  .vid .ctrl button{width:44px;height:44px}
  .vid .ctrl{justify-content:center !important;margin-left:auto;margin-right:auto}
  .vtrack-win::-webkit-scrollbar{display:none}
  .vtrack{transform:none !important;transition:none !important;padding-left:0 !important;gap:24px !important}
  .vtrack::after{content:"";flex:0 0 0}
  .vcard{width:calc(100vw - 32px) !important;height:auto !important;aspect-ratio:4 / 5;margin-top:0 !important;scroll-snap-align:start;scroll-snap-stop:always}
  .vcard:hover{transform:none !important}

  /* ---------- homepage "growth connected" stage pills: 2 x 2, one line each ---------- */
  .stage{flex:1 1 45% !important;min-width:0 !important;white-space:nowrap !important;letter-spacing:1.2px !important;font-size:13px !important;gap:8px !important}
  .stage .sq{width:40px !important;height:40px !important}
  .stage .sq img{width:30px;height:30px}

  /* ---------- homepage "be part of the answer": centered ---------- */
  .answer-head{align-items:center !important;text-align:center}
  .answer-head h2{margin-left:auto;margin-right:auto}
  .answer-head .btn{align-self:center}

  /* ---------- industry pages: one video per swipe, arrows visible ---------- */
  .lgv-ctrl{display:flex !important;width:100%;justify-content:center}
  .lgv-head{align-items:flex-start !important}
  .lgv-card{flex:0 0 100% !important;scroll-snap-stop:always}
  .lgv-row{gap:12px !important}

  /* ---------- shared header (inner pages): tap-to-call icon ---------- */
  .lgh .lgh-phone{display:inline-flex !important;width:46px;height:46px;padding:0;justify-content:center;border-radius:12px;
    background:#FF5F1F;color:#FFFFFF !important;font-size:0 !important;gap:0 !important;box-shadow:0 8px 20px -10px rgba(255,95,31,.9)}
  .lgh .lgh-phone svg{width:20px;height:20px;fill:none;stroke:#FFFFFF;stroke-width:1.8;stroke-linejoin:round}
  .lgh-in > div:last-child{gap:10px !important}
  .lgh-m{max-height:calc(100dvh - 72px) !important;-webkit-overflow-scrolling:touch}
  .lgh-m .mm-link{padding:12px 10px !important;font-size:16px !important}
  .lgh-m summary,.lgh-m > a{min-height:52px;box-sizing:border-box}

  /* ---------- industry pages ---------- */
  .lg-logos{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important}
  .lg-logo{height:84px !important;padding:10px !important;border-radius:12px !important}
  .lg-logo img{max-height:56px !important;max-width:90% !important}
  .lg-logo span{font-size:10px !important;letter-spacing:.08em !important}
  .mcar.msys{border:0 !important;border-radius:0 !important;overflow-x:auto !important}
  .mcar.msys > li{border:1px solid #E2E2E4 !important;border-radius:14px !important;background:#FFFFFF}
  .mcar.msteps > li{border-right:0 !important}
  .mcar.msteps > li::after,.mcar.msteps > li::before{display:none !important}
  .mcar.mjr > li{background:transparent}

  /* ---------- service pages: comparison table fits the screen ---------- */
  .sp-table{min-width:0 !important;width:100% !important;table-layout:fixed;font-size:13px !important}
  .sp-table th,.sp-table td{padding:12px 4px !important;line-height:1.3 !important;overflow-wrap:normal;word-break:normal;hyphens:manual}
  .sp-table thead th{font-size:12px !important}
  .sp-table thead th:first-child{width:31%}
  .sp-table thead th:last-child{width:25%}
  .sp-table th[scope="row"]{padding-left:0 !important}
  .sp-table td{font-size:13px !important}

  /* ---------- audit forms: first + last name side by side ---------- */
  .fgrid,.af-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;column-gap:12px !important}
  .fgrid > *,.af-grid > *{grid-column:1 / -1 !important}
  .fgrid > :nth-child(-n+2),.af-grid > :nth-child(-n+2){grid-column:auto !important}

  /* ---------- case studies ---------- */
  .cs-peak{display:none}
  .cs-step{grid-template-columns:1fr !important;gap:4px !important}

  /* ---------- results page logos ---------- */
  .mgrid2{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:18px 16px !important}
}
