/* =========================================================
   Sellora | responsive.css
   Large desktop ≥1600 · Desktop ≤1399 · Laptop ≤1199
   Tablet ≤991 · Small tablet ≤767 · Mobile ≤575 · Small ≤379
   ========================================================= */

/* ---------- Desktop and up ---------- */
@media (min-width: 992px) {
  .stats .col-lg-4 { align-self: flex-start; }
}

/* ---------- Large desktop ---------- */
@media (min-width: 1600px) {
  .hero { padding: 60px 0 30px 0 }
  .sec-title { font-size: 58px; }
  .hero-title { font-size: 68px; }
  .phone-slide { flex-basis: 380px; }
  .phones { gap: 44px; }
  .reality, .partner, .why, .svc-band { padding-top: 70px; padding-bottom: 70px; }
  .svc-card { padding: 40px 32px 36px; }
}

/* ---------- Desktop ---------- */
@media (max-width: 1399.98px) {
  .hdr-wrap { padding: 0 3%; gap: 20px; }
  .hdr-actions { gap: 16px; }
  .main-nav { gap: 28px; }
  .hero-title { font-size: 54px; }
  .sec-title { font-size: 44px; }
  .story-float { right: -18%; }
  .reviews-wrap { margin-left: max(12px, calc((100vw - 1140px) / 2 + 12px)); }
  .promo-emoji-l { left: 5%; }
  .promo-emoji-r { right: 4%; }
}

/* ---------- Laptop ---------- */
@media (max-width: 1199.98px) {
  .hdr-rating { display: none !important; }
  .hero { padding: 56px 0 70px; }
  .hero-title { font-size: 48px; }
  .hero-map { width: 108%; }
  .pin-head { width: 58px; height: 58px; left: -29px; }
  .map-hub { width: 60px; height: 60px; margin: -30px 0 0 -30px; font-size: 22px; }
  .sec-title { font-size: 40px; }
  .promo h2, .final-cta h2 { font-size: 38px; }
  .promo-emoji { font-size: 80px; }
  .story-float { right: -10%; }
  .reviews-wrap { margin-left: max(12px, calc((100vw - 960px) / 2 + 12px)); }
  .stat b { font-size: 44px; }
  .page-hero h1 { font-size: 46px; }
  .srow { grid-template-columns: 50px 200px 1fr 52px; }
  .report-tiles { grid-template-columns: 1fr 1fr; }
  .partner-cta h3 { font-size: 26px; }
  .win-stats b { font-size: 34px; }
  .cal-grid button { width: 30px; height: 30px; font-size: 12px; }
}

/* ---------- Tablet ---------- */

@media (max-width: 1600.98px) {
.video-frame {
    position: relative;
    right: 15%;
}
}
@media (max-width: 991.98px) {
  .brand {
    max-width: 60%;
}
.hdr-platforms {
  display: none;
}
  .topbar { font-size: 12px; }
  .hdr-top .hdr-wrap { height: auto; flex-wrap: wrap; padding: 12px 20px 10px; row-gap: 10px; }
  .is-scrolled .hdr-top .hdr-wrap { height: auto; }
  .brand { font-size: 26px; }
  .hdr-platforms { order: 3; flex: 0 0 calc(100% + 40px); margin: 0 -20px; border-top: 1px solid #EEF0F5; background: #fff; }
  .tick { height: 40px; padding: 0 16px; }

  .hero { padding: 50px 0 60px; }
  .hero-copy { text-align: center; }
  .hero-copy p { margin-left: auto; margin-right: auto; }
  .eyebrow-dot { justify-content: center; }
  .hero-map { width: 100%; margin: 50px 0 0; }

  .reality, .partner, .why, .sec, .winners { padding: 80px 0; }
  .svc-band, .pricing, .results, .needs, .reviews, .faq, .story { padding: 80px 0; }
  .stats { padding-bottom: 60px; }
  .stats-row { padding-top: 50px; }
  .stats-note { margin-left: 0; text-align: center; max-width: none; }
  .story-media { margin: 0 auto; max-width: 380px; }
  .story-float { right: -14%; }
  .story-arrows { margin-top: 24px; justify-content: flex-start; }
  .promo { padding: 100px 0 70px; }
  .promo-emoji { font-size: 56px; }
  .promo-emoji-l { left: 6%; top: 22px; margin: 0; }
  .promo-emoji-r { right: 6%; top: 18px; }
  .why p { max-width: none; }
  .needs-row::before { display: none; }
  .reviews-wrap { margin-left: max(12px, calc((100vw - 720px) / 2 + 12px)); }
  .site-footer { padding-top: 64px; }
  .ftr-bottom { margin-top: 40px; }
  .lp-side { padding: 30px 30px 26px; }
  .lp-side h2 { font-size: 26px; }
  .lp-side > p, .lp-list { display: none; }
  .lp-contact { grid-template-columns: 1fr 1fr; gap: 14px; }
  .lp-main { padding: 36px 30px; }

  .page-hero { padding: 54px 0 60px; }
  .page-hero h1 { font-size: 40px; }
  .side-card { margin-top: 36px; }
  .srow { grid-template-columns: 40px 1fr 52px; }
  .srow .srow-desc { grid-column: 2 / 3; grid-row: 2; }
  .srow-arrow { grid-column: 3; grid-row: 1 / 3; }
  .check-list { grid-template-columns: 1fr; }
  .stage { grid-template-columns: 1fr; gap: 16px; padding: 46px 0; }
  .stage-lab { position: static; display: flex; align-items: center; gap: 18px; }
  .stage-lab .tag { margin-top: 0; }
  .stage-n { font-size: 64px; }
  .num-list { grid-template-columns: 1fr; }
  .contact-side, .legal-toc, .sticky-col { position: static; }
  .legal-toc { margin-bottom: 36px; }
  .form-card { padding: 30px; }
  .brand-strip { margin-top: 40px; }
  .partner-head { margin-bottom: 36px; }
  .partner-cta { padding: 32px 28px; }
  .win-stats { grid-template-columns: repeat(2, 1fr); }
  .win-stats > div:nth-child(2) { border-right: 0; }
  .win-stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.08); }
  .win-cta { justify-content: center; text-align: center; padding: 28px 24px; }
  .phones { gap: 18px; }
  .covered, .cal { max-width: 560px; margin-left: auto; margin-right: auto; }
  .covered { margin-bottom: 20px; }
}

/* ---------- Small tablet ---------- */
@media (max-width: 767.98px) {
  body { padding-bottom: 66px; }
  .hero-title { font-size: 40px; }
  .pin-head { width: 44px; height: 44px; left: -22px; bottom: 6px; }
  .pin-pop { min-width: 136px; padding: 8px 11px; bottom: 40px; }
  .pin-pop b { font-size: 12px; }
  .pin-pop small, .pin-pop em { font-size: 10.5px; }
  .pop-right { left: 26px; } .pop-left { right: 26px; }
  .pin-base { width: 14px; height: 8px; left: -7px; top: -4px; }
  .map-hub { width: 44px; height: 44px; margin: -22px 0 0 -22px; font-size: 17px; box-shadow: 0 0 0 6px rgba(247,128,10,.18), 0 8px 20px rgba(247,128,10,.4); animation: none; }
  .map-pkg { width: 20px; height: 20px; margin: -10px 0 0 -10px; font-size: 9px; }
  .hero-map-lines path { stroke-width: 3; }

  .sec-title { font-size: 34px; }
  .reality-list li { gap: 22px; padding: 22px 8px; }
  .stats-row { flex-direction: column; gap: 22px; }
  .stat { border-right: 0; border-bottom: 1px solid #E3E6EE; padding-bottom: 22px; }
  .stat:last-child { border-bottom: 0; }
  .story-item blockquote { font-size: 21px; }
  .story-float { right: -6px; top: 18px; bottom: auto; width: 190px; padding: 10px 14px; }
  .story-float b { font-size: 22px; }
  .promo h2, .final-cta h2 { font-size: 30px; }
  .price-grid.slick-initialized { margin: 0 -12px; }
  .price-grid .slick-slide { padding: 14px 8px 0; }
  .num-band { grid-template-columns: 1fr; }
  .num-band > div { border-right: 0; border-bottom: 1px solid #E3E6EE; padding: 18px 0; }
  .num-band > div:last-child { border-bottom: 0; }
  .num-band b { font-size: 42px; }
  .case-kpis { grid-template-columns: 1fr; }
  .report-tiles { grid-template-columns: 1fr 1fr; }
  .stage h2 { font-size: 28px; }
  .ftr-watermark { margin-top: 30px; }
  .reviews-wrap { margin-left: max(12px, calc((100vw - 540px) / 2 + 12px)); }

  /* Slick dots */
  .slick-dots { position: static; display: flex !important; justify-content: center; gap: 6px; margin-top: 18px; padding: 0; list-style: none; }
  .slick-dots li { width: auto; height: auto; margin: 0; }
  .slick-dots button { width: 9px; height: 9px; border-radius: 9px; border: 0; padding: 0; font-size: 0; background: #CDD4E3; transition: width .3s, background-color .3s; }
  .slick-dots button::before { display: none; }
  .slick-dots .slick-active button { width: 26px; background: #F7800A; }
  .brand-logo { padding: 0 18px; }
  .brand-logo img { height: 24px; }
  .partner-cta h3 { font-size: 23px; }
  .win-grid.slick-initialized, .partner-grid.slick-initialized { margin: 0 -12px; }
  .win-grid .slick-slide { padding: 0 8px; }
  .win-grid .slick-track, .partner-grid .slick-track { display: flex; }
  .win-grid .slick-slide, .partner-grid .slick-slide { height: auto; }
  .win-grid .slick-slide > div, .partner-grid .slick-slide > div, .win-grid .slick-slide > div > div, .partner-grid .slick-slide > div > div { height: 100%; }
  .partner-grid .slick-slide { padding: 0 8px; }
  .win-stats b { font-size: 28px; }
  .win-cta h3 { font-size: 21px; }
  .phones { display: block; }
  .phone-slide { padding: 0 14px 10px; }
  .phone-slide:nth-child(2) .phone-img { transform: none; }
  .story-kpis b { font-size: 24px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 575.98px) {
  .topbar { font-size: 11.5px; padding: 7px 0; }
  .hero { padding: 40px 0 50px; }
  .hero-title { font-size: 34px; }
  .hero-copy p { font-size: 15px; }
  .btn-offset { padding: 11px 18px; font-size: 14px; }
  .hero-map { margin-top: 40px; }
  .pin-pop { display: none; }

  .reality, .partner, .why, .sec, .svc-band, .pricing, .results, .needs, .reviews, .faq, .story, .winners { padding: 64px 0; }
  .sec-title { font-size: 29px; }
  .svc-head { margin-bottom: 34px; }
  .svc-card { padding: 28px 22px 26px; }
  .need p { font-size: 12.5px; }
  .need-ic { width: 70px; height: 70px; font-size: 22px; }
  .why-card { padding: 24px 22px; }
  .why-card i { margin-bottom: 16px; }
  .promo, .final-cta { padding: 56px 0; }
  .promo { padding-top: 88px; }
  .promo h2, .final-cta h2 { font-size: 26px; }
  .promo-emoji { font-size: 44px; }
  .faq-acc .accordion-item { padding: 6px 8px; }
  .faq-acc .accordion-button { font-size: 14px; padding: 14px 14px; }
  .faq-acc .accordion-body { padding: 14px 14px 6px; }
  .reviews-head .slider-arrows { display: none; }

  .page-hero h1 { font-size: 33px; }
  .page-hero .lead { font-size: 15.5px; }
  .srow { gap: 14px; padding: 24px 4px; }
  .srow h2 { font-size: 24px; }
  .srow-arrow { width: 42px; height: 42px; }
  .form-card { padding: 24px 18px; }
  .form-steps { font-size: 0; }
  .form-steps .fs { gap: 0; }
  .tbl th, .tbl td { padding: 12px 14px; }
  .pull { font-size: 18px; }
  .nf-code { font-size: 120px; }
  .nf h1 { font-size: 34px; }
  .lp-main { padding: 30px 20px; }
  .lp-side { padding: 26px 20px 22px; }
  .lp-side h2 { font-size: 23px; padding-right: 40px; }
  .lp-contact { grid-template-columns: 1fr; gap: 10px; }
  .lead-popup .modal-dialog { margin: 12px; }
  .pcard { padding: 22px 20px; }
  .pcard img { height: 40px; margin-bottom: 16px; }
  .partner-cta { padding: 28px 22px; }
  .covered { padding: 26px 22px; }
  .covered h3 { font-size: 23px; }
  .cal { padding: 22px 14px 16px; }
  .cal-grid button { width: 32px; height: 32px; }
  .cal-foot { flex-direction: column; align-items: flex-start; }
  .mchip { font-size: 11px; }
  .ribbon { width: 190px; }
}

/* ---------- Small mobile ---------- */
@media (max-width: 379.98px) {
  .hero-title { font-size: 30px; }
  .sec-title { font-size: 26px; }
  .btn-consult .tx { font-size: 13px; }
  .btn-offset { font-size: 13px; padding: 10px 14px; }
  .pin-head { width: 38px; height: 38px; left: -19px; }
  .need h3 { font-size: 14.5px; }
  .page-hero h1 { font-size: 29px; }
}
