/* =============================================================================
   OTB THEME — RESPONSIVE STYLESHEET
   All media queries live here only. Base/component styles stay in main.css.
   Breakpoints follow Bootstrap's grid: <576 xs, 576 sm, 768 md, 992 lg, 1200 xl
   ============================================================================= */

/* -----------------------------------------------------------------------
   Large desktops / large screens refinement
   ----------------------------------------------------------------------- */
@media (min-width: 1400px){
  .otb-container{ max-width: 1280px; }
}

/* -----------------------------------------------------------------------
   Tablets & below (max-width: 991.98px)
   ----------------------------------------------------------------------- */
@media (max-width: 991.98px){
  :root{
    --otb-section-pad: 80px;
  }

  .otb-primary-nav{
    position: fixed;
    top: 84px;
    left: 0;
    right: 0;
    background: var(--otb-black-soft);
    border-bottom: 1px solid var(--otb-border);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    z-index: 400;
  }
  .otb-primary-nav.is-open{ max-height: 480px; }
  .otb-primary-nav__list{
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 10px 24px 24px;
  }
  .otb-primary-nav__list li{ width:100%; border-bottom: 1px solid var(--otb-border); }
  .otb-primary-nav__list a{ display:block; padding: 16px 0; }
  .otb-nav-toggle{ display:flex; }

  .otb-home .otb-pillar,
  .otb-home .otb-stat{ border-right:none; border-bottom: 1px solid var(--otb-border); }

  .otb-inner-page .otb-feature-block--reverse .col-lg-6:first-child{ order:0; }
  .otb-inner-page .otb-feature-block__media{ margin-bottom: 32px; }
}

/* -----------------------------------------------------------------------
   Small tablets / large phones (max-width: 767.98px)
   ----------------------------------------------------------------------- */
@media (max-width: 767.98px){
  :root{
    --otb-section-pad: 64px;
  }

  .otb-site-header__inner{ height: 72px; }
  .otb-brand__name{ display:none; }
  .otb-site-header__actions{ gap:10px; }
  .otb-header-icons{ gap:0; }
  .otb-header-icon{ width:34px; height:34px; }

  .otb-home .otb-hero{ padding-top: 60px; }
  .otb-home .otb-hero__heading{ font-size: 30px; }
  .otb-home .otb-hero__media{ margin-top: 40px; }
  .otb-home .otb-hero__frame{ padding: 6px; }

  .otb-cta-strip__inner{ flex-direction: column; text-align:center; }

  .otb-channel-card{ height: 240px; }

  .otb-final-cta,
  .otb-inner-page .otb-page-header{
    background-attachment: scroll; /* fixed backgrounds are unreliable on mobile browsers */
    padding-top: 110px;
    padding-bottom: 70px;
  }

  .otb-site-footer__bottom{ flex-direction:column; text-align:center; }
}

/* -----------------------------------------------------------------------
   Phones (max-width: 575.98px)
   ----------------------------------------------------------------------- */
@media (max-width: 575.98px){
  .otb-container{ padding: 0 18px; }

  .otb-home .otb-hero__mark{ width:64px; height:64px; }
  .otb-home .otb-hero__heading{ font-size: 26px; }
  .otb-home .otb-intro__text{ font-size: 18px; }

  .otb-home .otb-stat{ padding: 28px 12px; }
  .otb-home .otb-stat__number{ font-size: 26px; }

  .otb-btn{ width:100%; }
  .otb-btn-group{ flex-direction: column; align-items:stretch; }

  .otb-service-card,
  .otb-page-contact .otb-contact-info,
  .otb-page-contact .otb-contact-form-wrap{ padding: 28px 22px; }

  .otb-testimonial__author{ flex-direction: column; text-align:center; }
  .otb-testimonial__author span{ text-align:center; }

  .otb-faq__question{ font-size: 16px; gap: 12px; }
  .otb-faq__answer p{ padding-left: 30px; }
}

/* -----------------------------------------------------------------------
   Reduced motion — disable parallax & smooth scroll for accessibility
   ----------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  [data-parallax] , [data-parallax-speed]{ transform:none !important; }
  .otb-final-cta,
  .otb-inner-page .otb-page-header{ background-attachment: scroll; }
}
