/* =========================================================
   ORBIT INSURANCE SERVICES — BODY SECTIONS (responsive)
   Load AFTER style.css. Max-width breakpoints:
   1199 · 991 · 767 · 479
   ========================================================= */

/* ---------- <= 1199px : small desktop / large tablet ---------- */
@media (max-width: 1199px) {
    .ois-section { padding: 72px 0; }
    .ois-solutions-grid { grid-template-columns: repeat(3, 1fr); }
    .ois-review { flex-basis: 330px; }
}

/* ---------- <= 991px : tablet ---------- */
@media (max-width: 991px) {
    .ois-section { padding: 60px 0; }
    .ois-head { margin-bottom: 40px; }

    /* Solutions */
    .ois-solutions-grid { grid-template-columns: repeat(2, 1fr); }

    /* Benefits */
    .ois-benefits-grid { grid-template-columns: repeat(2, 1fr); }

    /* Scenarios */
    .ois-scenarios-grid { grid-template-columns: 1fr; }

    /* Inline quote bar stacks */
    .ois-quotebar { flex-direction: column; align-items: stretch; text-align: center; }
    .ois-quote-form { justify-content: center; }

    /* Serving CTA stacks */
    .ois-cta-inner { flex-direction: column; align-items: flex-start; }
    .ois-cta-actions { width: 100%; }

    /* Contact */
    .ois-contact-grid { grid-template-columns: repeat(2, 1fr); }

    /* Carrier logos a touch smaller */
    .ois-marquee-track { gap: 48px; }
    .ois-logo { height: 48px; }
}

@media (max-width: 767px) {
    .ois-quote-options .ois-option-img { height: 68px; }
    .ois-quote-options .ois-option-img img { max-height: 60px; max-width: 60px; }
}

/* ---------- <= 767px : mobile ---------- */
@media (max-width: 767px) {
    .ois-section { padding: 48px 0; }
    .ois-container { padding: 0 18px; }

    .ois-eyebrow { font-size: 12px; margin-bottom: 14px; }
    .ois-lead { font-size: 15px; }

    /* Reviews: hide arrows, swipe only */
    .ois-rail-nav { display: none; }
    .ois-rail { gap: 16px; padding-bottom: 12px; }
    .ois-review { flex-basis: 82%; padding: 26px 22px; }

    /* Solutions single column */
    .ois-solutions-grid { grid-template-columns: 1fr; gap: 16px; }
    .ois-solution { flex-direction: row; align-items: center; gap: 18px; padding: 18px; }
    .ois-solution-img { height: 84px; flex: 0 0 84px; margin-bottom: 0; }
    .ois-solution-title { font-size: 18px; }
    .ois-solution-text { display: none; }
    .ois-solution-link { font-size: 13px; }

    /* Quote bar fields full width */
    .ois-quote-form { flex-direction: column; align-items: stretch; }
    .ois-input { min-width: 0; width: 100%; }
    .ois-quote-form .ois-btn { width: 100%; }

    /* Benefits single column */
    .ois-benefits-grid { grid-template-columns: 1fr; gap: 16px; }
    .ois-benefit { padding: 26px 22px; }

    /* Scenarios stack vertically */
    .ois-scenario { flex-direction: column; gap: 16px; padding: 24px 22px; }
    .ois-scenario-media { flex-basis: 72px; height: 72px; }
    .ois-scenario-media img { max-width: 46px; max-height: 46px; }

    /* Serving CTA buttons full width */
    .ois-cta-band { padding: 52px 0; }
    .ois-cta-actions .ois-btn { flex: 1; }
    .ois-cta-text { font-size: 15px; }

    /* Quote card */
    .ois-quote-card { padding: 26px 20px; border-radius: 18px; }
    .ois-quote-options { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .ois-quote-fields { grid-template-columns: 1fr; gap: 14px; }
    .ois-option-label { font-size: 14px; }

    /* Contact single column */
    .ois-contact-grid { grid-template-columns: 1fr; gap: 14px; }
    .ois-contact-card { flex-direction: row; text-align: left; gap: 16px; padding: 20px; }
    .ois-contact-icon { flex: 0 0 52px; width: 52px; height: 52px; margin-bottom: 0; }
    .ois-contact-value { font-size: 15px; }
}

/* ---------- <= 479px : small mobile ---------- */
@media (max-width: 479px) {
    .ois-h2 { font-size: 26px; }
    .ois-review { flex-basis: 88%; }
    .ois-quote-options { grid-template-columns: 1fr 1fr; }
    .ois-contact-card { flex-direction: column; text-align: center; }
    .ois-contact-icon { margin-bottom: 4px; }
}