/* ==========================================================================
   TrackTicks — mobile layer
   Every rule in this file sits inside a max-width media query, so the
   desktop site (861px+) is completely untouched. Loaded after each page's
   own <style> block, so it wins ties.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Tablet + phone (<=860px): the desktop nav links are hidden at this width,
   so this is where the mobile menu takes over.
   -------------------------------------------------------------------------- */
/* elements added by mobile.js stay out of the desktop layout entirely */
.m-menu,.m-menu-btn{display:none;}

@media (max-width:1080px){

  /* background glows were spilling past the viewport (page was 680px wide on
     a 390px phone), which let the page drag sideways */
  html,body{overflow-x:clip;}

  /* ---- mobile menu ---- */
  .m-menu-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:42px;height:42px;flex-shrink:0;margin-left:10px;
    background:#fff;border:1px solid var(--border2,#CDD2DE);border-radius:10px;box-shadow:0 3px 0 var(--skirt,#D7DBE5);
    color:var(--text);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;
  }
  .m-menu-btn span{position:relative;display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:background .2s ease;}
  .m-menu-btn span::before,.m-menu-btn span::after{
    content:'';position:absolute;left:0;width:18px;height:2px;border-radius:2px;background:currentColor;
    transition:transform .25s cubic-bezier(.22,.61,.36,1),top .25s cubic-bezier(.22,.61,.36,1);
  }
  .m-menu-btn span::before{top:-6px;}
  .m-menu-btn span::after{top:6px;}
  body.m-menu-open .m-menu-btn span{background:transparent;}
  body.m-menu-open .m-menu-btn span::before{top:0;transform:rotate(45deg);}
  body.m-menu-open .m-menu-btn span::after{top:0;transform:rotate(-45deg);}

  .nav-right{display:flex;align-items:center;}

  .m-menu{
    display:block;position:fixed;left:0;right:0;top:var(--m-head-h,74px);bottom:0;z-index:19;
    background:rgba(255,255,255,0.97);
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    padding:14px 22px 32px;overflow-y:auto;
    opacity:0;transform:translateY(-8px);pointer-events:none;visibility:hidden;
    transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;
  }
  body.m-menu-open{overflow:hidden;}
  body.m-menu-open .m-menu{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .22s ease,transform .22s ease;}
  .m-menu-label{font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;}
  .m-menu a{
    display:flex;align-items:center;justify-content:space-between;
    padding:15px 2px;border-bottom:1px solid var(--border);
    color:var(--text);text-decoration:none;font-size:17px;font-weight:700;letter-spacing:-0.2px;
  }
  .m-menu a::after{content:'\2192';color:var(--muted);font-weight:400;}
  .m-menu a.active{color:var(--hot2);}
  .m-menu a.active::after{color:var(--hot2);}
  .m-menu .m-menu-cta{
    display:block;margin-top:26px;text-align:center;border:none;border-radius:10px;padding:16px;
    background:var(--accent);color:#fff;font-weight:700;font-size:16px;box-shadow:0 4px 0 var(--accent-deep);
  }
  .m-menu .m-menu-cta::after{content:none;}
}

/* --------------------------------------------------------------------------
   Phone (<=700px): layout + density
   -------------------------------------------------------------------------- */
@media (max-width:700px){

  /* ---- header ---- */
  header{padding:12px 0!important;}
  .nav{padding:0 16px!important;gap:10px!important;}
  .nav-left img{height:28px!important;}
  .nav a.cta{padding:10px 14px!important;font-size:13px!important;}

  /* ---- global rhythm ---- */
  .wrap{padding:0 18px!important;}
  section{padding:46px 0!important;}
  .section-head{margin:0 auto 26px!important;}
  .section-head .eyebrow{font-size:11.5px!important;margin-bottom:8px!important;}
  .section-head h2{font-size:28px!important;line-height:1.15!important;letter-spacing:-0.6px!important;margin-bottom:10px!important;}
  .section-head p{font-size:15.5px!important;line-height:1.55!important;}

  /* ---- buttons: full-width, thumb-sized ---- */
  .hero-actions{flex-direction:column!important;align-items:stretch!important;gap:10px!important;}
  .hero-actions a{text-align:center;}

  /* ======================= HOME ======================= */

  /* hero: headline in 4 lines instead of 6, secondary proof line hidden */
  .hero-a{padding:34px 0 40px!important;}
  .hero-a h1{font-size:34px!important;line-height:1.12!important;letter-spacing:-1px!important;margin-bottom:14px!important;}
  .hero-a p{font-size:16px!important;margin-bottom:22px!important;}
  .hero-a .trust{display:none!important;}
  .hero-a-visual{margin-top:28px!important;}

  /* how it works: three compact numbered rows */
  .howitworks .section-head p{display:none;}
  .steps3{margin-top:0!important;gap:0!important;
    border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden;}
  .step3{display:grid!important;grid-template-columns:34px 1fr;column-gap:14px;align-items:start;
    background:transparent!important;border:none!important;border-radius:0!important;padding:16px 16px!important;transform:none!important;}
  .step3 + .step3{border-top:1px solid var(--border)!important;}
  .step3 .step-num{grid-row:1 / span 2;width:32px!important;height:32px!important;font-size:14px!important;margin:0!important;}
  .step3 h4{margin:3px 0 4px!important;font-size:16px!important;}
  .step3 p{font-size:14px!important;line-height:1.5!important;}
  .step3-arrow{display:none!important;}

  /* suite: swipeable cards, bullets live on each indicator's own page */
  #suite .section-head p{display:none;}
  .suite-rows{
    display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    margin:0 -18px;padding:4px 18px 6px;scroll-padding:0 18px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  }
  .suite-rows::-webkit-scrollbar{display:none;}
  .suite-row,.suite-rows .card-soon{
    flex:0 0 84%;scroll-snap-align:start;
    display:flex!important;flex-direction:column;gap:0!important;
    padding:0!important;margin:0!important;border:1px solid var(--border)!important;border-radius:16px!important;
    background:var(--panel);overflow:hidden;
  }
  .suite-row > .suite-media{order:0!important;border:none!important;border-radius:0!important;box-shadow:none!important;
    padding:12px!important;background:var(--panel2,#15181d)!important;transform:none!important;border-bottom:1px solid var(--border)!important;}
  .suite-media img{border-radius:6px!important;}
  .suite-row > .suite-copy{order:1!important;padding:16px 18px 18px;display:flex;flex-direction:column;flex:1 1 auto;}
  .suite-copy .card-top{margin-bottom:10px!important;}
  .suite-copy .icon{width:32px!important;height:32px!important;font-size:12px!important;}
  .suite-copy h3{font-size:19px!important;margin-bottom:6px!important;}
  .suite-copy .subhead{font-size:14px!important;line-height:1.5!important;margin:0 0 12px!important;}
  .suite-copy ul.feat{display:none!important;}
  .suite-copy .learn-more{margin-top:auto!important;padding-top:4px;}
  .suite-rows .card-soon{justify-content:space-between;padding:20px 18px!important;border-style:dashed!important;background:transparent;}
  .suite-rows .card-soon .soon-left{flex-direction:column;gap:12px;}
  .suite-rows .card-soon h3{font-size:18px!important;}
  .suite-rows .card-soon p{font-size:14px!important;}
  .suite-rows .card-soon .tag-soon{align-self:flex-start;margin-top:14px;}

  .m-dots{display:flex;justify-content:center;gap:7px;margin-top:16px;}
  .m-dots button{width:7px;height:7px;border-radius:99px;border:none;padding:0;background:var(--border);cursor:pointer;transition:width .25s ease,background .25s ease;}
  .m-dots button.on{width:22px;background:var(--hot2);}

  /* maker note */
  .maker-band{padding-bottom:34px!important;}
  .maker-note{padding-top:22px!important;}
  .maker-note blockquote{font-size:15px!important;line-height:1.55!important;}

  /* pricing: one card at a time behind a Monthly / Annual switch */
  #pricing .section-head p{display:none;}
  .m-plan-toggle{
    display:grid;grid-template-columns:1fr 1fr;position:relative;
    max-width:340px;margin:0 auto 30px;padding:4px;border-radius:999px;
    background:var(--panel);border:1px solid var(--border);
  }
  .m-plan-toggle::before{
    content:'';position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;
    background:var(--accent);box-shadow:0 2px 0 var(--accent-deep);transition:transform .28s cubic-bezier(.22,.61,.36,1);
  }
  .m-plan-toggle.annual::before{transform:translateX(100%);}
  .m-plan-toggle button{
    position:relative;z-index:1;background:none;border:none;cursor:pointer;
    padding:11px 8px;border-radius:999px;font:inherit;font-size:14px;font-weight:800;color:var(--muted);
    transition:color .2s ease;-webkit-tap-highlight-color:transparent;
  }
  .m-plan-toggle button.on{color:#fff;}
  .m-plan-toggle button small{font-size:11px;font-weight:800;margin-left:4px;opacity:.85;}
  .pricing[data-m-plan="monthly"] .price-card:nth-child(2),
  .pricing[data-m-plan="annual"] .price-card:nth-child(1){display:none!important;}
  .pricing .price-card{padding:30px 22px 24px!important;transform:none!important;}
  .price-card h3{font-size:18px!important;}
  .price-row{margin:12px 0 2px!important;}
  .price{font-size:42px!important;}
  .price-note{margin-bottom:18px!important;}
  .price-card ul{margin-bottom:22px!important;}
  .price-card li{padding:8px 0!important;font-size:14px!important;}
  .pricing .price-card .renewal-note{min-height:0!important;}

  /* FAQ: every question kept, tighter rows */
  .faq-grouped{width:calc(100% - 32px)!important;padding:22px 18px 14px!important;border-radius:16px!important;}
  .faq-group{margin-bottom:22px!important;}
  .faq-group > h4{padding-bottom:10px!important;font-size:11px!important;}
  .faq-grouped .qa{padding:14px 0!important;}
  .faq-grouped .qa summary{font-size:15px!important;}
  .faq-grouped .qa p{font-size:14px!important;}

  /* closing CTA */
  .cta-band{padding:30px 20px!important;border-radius:16px!important;}
  .cta-band .section-head{margin-bottom:20px!important;}

  /* risk & disclaimer: full text kept, folded behind a tap on the home page */
  .disclaimer{width:calc(100% - 32px)!important;padding:22px 18px!important;border-radius:14px!important;}
  .disclaimer .section-head{margin-bottom:0!important;text-align:left!important;}
  .disclaimer .section-head h2{font-size:18px!important;margin:0!important;}
  .disclaimer.m-foldable .legal-body,
  .disclaimer.m-foldable details.more-legal{display:none;}
  .disclaimer.m-foldable.m-open .legal-body{display:block;margin-top:16px;}
  .disclaimer.m-foldable.m-open details.more-legal{display:block;}
  .m-fold-btn{
    display:flex;align-items:center;justify-content:space-between;width:100%;
    margin-top:14px;padding:12px 0 0;border:none;border-top:1px solid var(--border);background:none;cursor:pointer;
    font:inherit;font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);
  }
  .m-fold-btn::after{content:'+';font-size:18px;font-weight:400;color:var(--hot2);letter-spacing:0;}
  .disclaimer.m-open .m-fold-btn::after{content:'\2212';}

  /* works-with + footer */
  .works-with{padding:4px 0 28px!important;}
  footer{padding-left:18px!important;padding-right:18px!important;}

  /* ================== INDICATOR PAGES ==================
     Layout only. No copy is hidden on these pages. */

  .ihero{padding:30px 0 30px!important;}
  .ihero h1{font-size:28px!important;}
  .ihero .plain-lead{font-size:16.5px!important;line-height:1.45!important;}
  .ihero .subhead{font-size:15px!important;line-height:1.6!important;}
  .ihero-actions{flex-direction:column!important;align-items:stretch!important;gap:10px!important;}
  .ihero-actions a{text-align:center;}
  section h2{font-size:26px!important;line-height:1.16!important;}
  .section-eyebrow{font-size:11.5px!important;margin-bottom:8px!important;}
  p.lead{font-size:15.5px!important;}

  /* how it works: centred circles become left-aligned rows */
  .how-flow{gap:0!important;margin-top:24px!important;
    border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden;}
  .how-flow::before{display:none!important;}
  .how-step{display:grid!important;grid-template-columns:40px 1fr;column-gap:14px;text-align:left!important;padding:18px 16px;}
  .how-step + .how-step{border-top:1px solid var(--border);}
  .how-num{grid-row:1 / span 2;width:38px!important;height:38px!important;margin:0!important;font-size:16px!important;}
  .how-step h3{font-size:17px!important;margin:6px 0 6px!important;}
  .how-step p{margin:0!important;max-width:none!important;font-size:14.5px!important;line-height:1.55!important;}

  /* feature cards */
  .kf-pair{gap:14px!important;margin-top:24px!important;}
  .kf-card{padding:22px 20px!important;border-radius:14px!important;transform:none!important;}
  .kf-icon{width:78px!important;height:44px!important;margin-bottom:14px!important;}
  .kf-card h3{font-size:18px!important;margin-bottom:8px!important;}
  .kf-card > p{font-size:14.5px!important;line-height:1.58!important;}
  .how-divider{margin:34px 0 16px!important;}
  .kf-custom{padding:22px 16px!important;}
  .kf-custom-head{font-size:16px!important;margin-bottom:14px!important;}
  .kf-tags{gap:7px!important;}
  .kf-tags span{font-size:12px!important;padding:6px 11px!important;}
  .kf-mini{padding:18px 18px!important;}
  .kf-mini h4{font-size:15px!important;}

  /* what-it-does lists + alternating rows */
  .wid-list{gap:16px!important;}
  .wid b{font-size:15.5px!important;}
  .wid span{font-size:14.3px!important;line-height:1.58!important;}
  .frow{gap:22px!important;}
  .frow-media figcaption{font-size:12.5px!important;margin-top:9px!important;}

  /* who it's for */
  .fit-row{padding:18px 16px!important;}
  .fit-row b{font-size:15px!important;margin-bottom:5px!important;}
  .fit-row span{font-size:14px!important;line-height:1.55!important;}

  /* Profile+ modes and Bar Depth stats: two per row instead of one */
  .mode-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:24px!important;}
  .mode-card{padding:14px 13px!important;}
  .stat-grid{gap:10px!important;margin-top:24px!important;}

  /* requirements, video, suite links */
  .req-box{padding:18px 16px!important;}
  .video-box{padding:18px!important;}
  .video-embed{height:auto!important;aspect-ratio:16/9;}
  .suite-grid{gap:10px!important;}
  .suite-card{padding:15px 16px!important;}
}
