/* Managed security services: the suite page, the section on the services page, the delivery label and the package table.
   Navy and gold like the rest of the services pages; light and dark; right-to-left through logical properties. Full width. */
.msv, .msv-band {
  --m-navy: #0F294C; --m-navy-2: #16386A; --m-line-d: #2E4B7D; --m-gold: #D4A03A; --m-gold-ink: #8A6212;
  --m-ink: #12161F; --m-muted: #4A5363; --m-ground: #F4F5F8; --m-card: #FFFFFF; --m-line: #E3E6EC; --m-tag: #EEF1F6;
  --m-on-navy: #FFFFFF; --m-on-navy-2: #C3CEE3; --m-on-navy-3: #9FB0CF; --m-pad: clamp(20px, 5vw, 80px);
  --m-own-bg: #E3EDF9; --m-own-ink: #0F3566; --m-ov-bg: #FBF0D6; --m-ov-ink: #6E4B08; --m-pa-bg: #E2F3EC; --m-pa-ink: #14513A;
  --m-note-bg: #FFF8E6; --m-note-line: #E8C879; --m-rec-bg: #FFF6DD;
  color: var(--m-ink);
}
[data-theme="dark"] .msv, [data-theme="dark"] .msv-band {
  --m-navy: #0A1B33; --m-navy-2: #10264A; --m-line-d: #29446F; --m-gold-ink: #E3B45A;
  --m-ink: #E6EBF4; --m-muted: #A8B4C8; --m-ground: #061326; --m-card: #0C1E3A; --m-line: #1D3456; --m-tag: #142B4D;
  --m-own-bg: #143255; --m-own-ink: #BFD9FA; --m-ov-bg: #4A3910; --m-ov-ink: #F4D78F; --m-pa-bg: #11382B; --m-pa-ink: #9FE0C2;
  --m-note-bg: #2B2410; --m-note-line: #8A6B22; --m-rec-bg: #2A2411;
}
.msv { background: var(--m-ground); }
.msv [hidden], .msv-band [hidden] { display: none !important; }
.msv a, .msv-band a { text-decoration: none; }

/* the band at the top of the suite page */
.msv-hero { background: var(--m-navy); color: var(--m-on-navy); padding: clamp(40px, 6vw, 80px) var(--m-pad) clamp(32px, 4vw, 52px); display: flex; flex-direction: column; gap: 1.1rem; }
.msv-crumbs { display: flex; gap: .5rem; font-size: .85rem; color: var(--m-on-navy-3); }
.msv-crumbs a { color: var(--m-on-navy-2); }
.msv-eyebrow { margin: 0; font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--m-gold); }
.msv-title { margin: 0; font-size: clamp(2rem, 4.2vw, 3.4rem); font-weight: 600; line-height: 1.1; letter-spacing: -.02em; color: var(--m-on-navy); text-wrap: balance; max-width: 22ch; }
.msv-lead { margin: 0; font-size: 1.1rem; line-height: 1.65; color: var(--m-on-navy-2); max-width: 66ch; }
.msv-acts { display: flex; flex-wrap: wrap; gap: .75rem; }
.msv-btn { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .7rem 1.4rem; border-radius: 8px; font-weight: 600; font-size: .95rem; border: 1px solid transparent; }
.msv-btn-gold { background: var(--m-gold); color: #0B1630; }
.msv-btn-line { border-color: var(--m-line-d); color: #fff; }
.msv-btn:focus-visible, .msv-card:focus-visible, .msv-tab:focus-visible { outline: 2px solid var(--m-gold); outline-offset: 2px; }
.msv-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1px; margin: 1rem 0 0; background: var(--m-line-d); border: 1px solid var(--m-line-d); border-radius: 10px; overflow: hidden; max-width: 46rem; }
.msv-facts > div { background: var(--m-navy-2); padding: .9rem 1.1rem; }
.msv-facts dt { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--m-on-navy-3); }
.msv-facts dd { margin: .2rem 0 0; font-size: 1.1rem; font-weight: 600; color: var(--m-on-navy); }

/* the delivery notice */
.msv-notice { display: flex; gap: 1rem; align-items: flex-start; margin: 0; padding: 1.1rem var(--m-pad); background: var(--m-note-bg); border-block: 1px solid var(--m-note-line); }
.msv-notice-mark { flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-family: Georgia, serif; background: var(--m-gold); color: #0B1630; }
.msv-notice h2 { margin: 0 0 .2rem; font-size: 1rem; }
.msv-notice p { margin: 0; line-height: 1.6; max-width: 90ch; color: var(--m-ink); }

/* sections */
.msv-sec { padding: clamp(32px, 4.5vw, 56px) var(--m-pad) 0; }
.msv-sec:last-of-type { padding-bottom: clamp(32px, 4.5vw, 56px); }
.msv-sec-head { margin-bottom: 1.25rem; }
.msv-h { margin: 0 0 .35rem; font-size: clamp(1.35rem, 2.2vw, 1.8rem); font-weight: 600; letter-spacing: -.01em; text-wrap: balance; }
.msv-sub { margin: 0; color: var(--m-muted); line-height: 1.6; max-width: 70ch; }
.msv-del { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; margin-top: 1rem; }
.msv-del-card { background: var(--m-card); border: 1px solid var(--m-line); border-radius: 12px; padding: 1.2rem; display: flex; flex-direction: column; gap: .7rem; align-items: flex-start; }
.msv-del-card p { margin: 0; color: var(--m-muted); line-height: 1.55; }
.msv-count { margin-top: auto; font-size: .8rem; color: var(--m-muted); }
.msv-badge { display: inline-block; font-size: .78rem; font-weight: 600; line-height: 1.3; padding: .3rem .7rem; border-radius: 999px; }
.msv-b-own { background: var(--m-own-bg); color: var(--m-own-ink); }
.msv-b-overseen { background: var(--m-ov-bg); color: var(--m-ov-ink); }
.msv-b-partner { background: var(--m-pa-bg); color: var(--m-pa-ink); }

/* cards */
.msv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(18.5rem, 1fr)); gap: 1rem; }
.msv-card { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; padding: 1.3rem; background: var(--m-card); border: 1px solid var(--m-line); border-radius: 12px; color: var(--m-ink); transition: border-color .2s, transform .2s; min-width: 0; }
.msv-card:hover { border-color: var(--m-gold); transform: translateY(-2px); }
.msv-card-ico { width: 2.5rem; height: 2.5rem; border-radius: 10px; display: grid; place-items: center; background: var(--m-tag); color: var(--m-gold-ink); }
.msv-card-t { margin: 0; font-size: 1.05rem; font-weight: 600; line-height: 1.3; }
.msv-card-d { color: var(--m-muted); font-size: .9rem; line-height: 1.55; }
.msv-card-f { margin-top: auto; padding-top: .6rem; width: 100%; display: flex; justify-content: space-between; gap: .75rem; font-size: .8rem; color: var(--m-muted); border-top: 1px solid var(--m-line); }
.msv-go { color: var(--m-gold-ink); font-weight: 600; white-space: nowrap; }
[dir="rtl"] .msv-arrow, .rtl .msv-arrow { display: inline-block; transform: scaleX(-1); }

/* packages */
.msv-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.msv-tab { font: inherit; font-size: .9rem; font-weight: 600; padding: .55rem 1.1rem; border-radius: 999px; border: 1px solid var(--m-line); background: var(--m-card); color: var(--m-ink); cursor: pointer; }
.msv-tab[aria-selected="true"] { background: var(--m-navy); border-color: var(--m-navy); color: #fff; }
.msv-panel-note { margin: 0 0 .6rem; font-size: .85rem; color: var(--m-muted); }
.msv-scroll { overflow-x: auto; border: 1px solid var(--m-line); border-radius: 12px; background: var(--m-card); }
.msv-table { width: 100%; border-collapse: collapse; min-width: 36rem; font-size: .92rem; }
.msv-table th, .msv-table td { padding: .85rem 1rem; text-align: start; border-bottom: 1px solid var(--m-line); vertical-align: top; line-height: 1.5; }
.msv-table thead th, .msv-table thead td { background: var(--m-tag); font-weight: 600; }
.msv-table tbody th { font-weight: 600; width: 28%; }
.msv-table tbody tr:last-child > * { border-bottom: 0; }
.msv-tiers .is-rec { background: var(--m-rec-bg); }
.msv-tiers thead .is-rec { box-shadow: inset 0 3px 0 var(--m-gold); }
.msv-rec { display: block; margin-top: .15rem; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--m-gold-ink); }
.msv-corner { width: 28%; }

/* steps, chips, questions */
.msv-steps { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; counter-reset: s; }
.msv-steps li { background: var(--m-card); border: 1px solid var(--m-line); border-radius: 12px; padding: 1.1rem; display: flex; flex-direction: column; gap: .4rem; }
.msv-steps li > span:last-child { color: var(--m-muted); font-size: .9rem; line-height: 1.55; }
.msv-n { width: 1.9rem; height: 1.9rem; border-radius: 50%; display: grid; place-items: center; background: var(--m-navy); color: #fff; font-weight: 600; font-size: .85rem; }
.msv-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 0; }
.msv-chip { font-size: .85rem; padding: .35rem .8rem; border-radius: 999px; background: var(--m-tag); border: 1px solid var(--m-line); }
.msv-faqs { display: grid; gap: .6rem; margin-top: 1rem; }
.msv-faq { background: var(--m-card); border: 1px solid var(--m-line); border-radius: 10px; padding: .9rem 1.1rem; }
.msv-faq summary { cursor: pointer; font-weight: 600; }
.msv-faq p { margin: .6rem 0 0; color: var(--m-muted); line-height: 1.6; }
.msv-cta { margin-top: clamp(32px, 4.5vw, 56px); padding: clamp(28px, 4vw, 48px) var(--m-pad); background: var(--m-navy); color: var(--m-on-navy); display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: space-between; align-items: center; }
.msv-cta h2 { margin: 0 0 .3rem; font-size: 1.5rem; } .msv-cta p { margin: 0; color: var(--m-on-navy-2); max-width: 56ch; }

/* the section on the services page */
.msv-band { background: var(--m-card); border-block: 1px solid var(--m-line); padding: clamp(28px, 4vw, 48px) var(--m-pad); display: flex; flex-direction: column; gap: 1.25rem; }
.msv-band-top { display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; align-items: flex-end; }
.msv-band-top > div { flex: 1 1 34rem; min-width: 0; }
.msv-band .msv-h { margin-bottom: .3rem; }
.msv-band-note { margin: 0; padding: .8rem 1rem; border-radius: 10px; background: var(--m-note-bg); border: 1px solid var(--m-note-line); font-size: .9rem; line-height: 1.55; }
.msv-band-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; }
.msv-band-group { border: 1px solid var(--m-line); border-radius: 12px; padding: 1.1rem; background: var(--m-ground); min-width: 0; }
.msv-band-group h3 { margin: 0 0 .6rem; font-size: .95rem; }
.msv-band-group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.msv-band-group a { color: var(--m-ink); font-size: .9rem; display: block; padding: .15rem 0; }
.msv-band-group a:hover { color: var(--m-gold-ink); }

/* on a service page and in forms */
.msv-delivery { display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; margin: .75rem 0; }
.msv-delivery p { margin: 0; font-size: .88rem; line-height: 1.55; color: var(--m-muted); }
.msv-flag { margin: 0 0 1rem; padding: .9rem 1rem; border-radius: 10px; background: var(--m-note-bg); border: 1px solid var(--m-note-line); line-height: 1.55; font-size: .92rem; color: var(--m-ink); }
.msv-flag b { display: block; margin-bottom: .2rem; }
.msv-tiers-sec .msv-table { min-width: 34rem; }
@media (max-width: 640px) { .msv-card-f { flex-direction: column; } .msv-table th, .msv-table td { padding: .7rem .75rem; } }
@media (prefers-reduced-motion: reduce) { .msv-card { transition: none; } .msv-card:hover { transform: none; } }

/* find your fit */
.msv-fit-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; }
.msv-fit-f { display: grid; gap: 6px; min-width: 220px; flex: 1 1 220px; font-size: 13px; color: var(--m-muted); }
.msv-fit-f select { width: 100%; }
.msv-fit-count { margin: 12px 0 0; font-size: 13px; color: var(--m-muted); min-height: 1.2em; }
.msv-ai { margin-top: 18px; padding: 16px; border: 1px solid var(--m-line); border-radius: 10px; display: grid; gap: 10px; }
.msv-ai-l { font-weight: 600; display: flex; align-items: center; gap: 8px; }
.msv-ai-tag { font-size: 11px; font-weight: 700; letter-spacing: .06em; padding: 2px 7px; border-radius: 4px; background: var(--m-gold); color: var(--m-navy); }
.msv-ai textarea { width: 100%; min-height: 64px; resize: vertical; padding: 10px 12px; border-radius: 8px; border: 1px solid var(--m-line); background: transparent; color: inherit; font: inherit; }
.msv-ai-act { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.msv-ai-n { font-size: 12px; color: var(--m-muted); flex: 1 1 240px; }
.msv-ai-out { margin: 0; padding: 10px 12px; border-inline-start: 3px solid var(--m-gold); background: var(--m-note-bg); border-radius: 6px; }
.msv-card.msv-pick { outline: 2px solid var(--m-gold); outline-offset: 2px; }
.msv-fit-f .sms-btn, .msv-fit-f select { min-height: 42px; padding: 0 12px; border: 1px solid var(--m-line-d); border-radius: 8px; background: var(--m-card); color: var(--m-ink); font: inherit; text-align: start; width: 100%; }
.msv-experts { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.msv-experts a { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid var(--m-line); border-radius: 10px; background: var(--m-card); color: var(--m-ink); text-decoration: none; }
.msv-experts a span { font-size: 13px; color: var(--m-muted); }
.msv-more { font-weight: 600; color: var(--m-gold-ink); }
.msv-card-x { font-size: 12px; color: var(--m-muted); }
.msv-mf { padding: 18px 20px; border: 1px solid var(--m-line); border-radius: 12px; background: var(--m-card); display: grid; gap: 14px; }
.msv-mf-head h2 { margin: 0 0 4px; font-size: 18px; }
.msv-mf-head p { margin: 0; font-size: 13px; color: var(--m-muted); }
.msv-mf-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.msv-mf-list a { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--m-line); border-radius: 8px; color: var(--m-ink); text-decoration: none; }
.msv-mf-list a:hover { border-color: var(--m-gold); }
.msv-mf[hidden] { display: none; }
.msv-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.msv-tags li { padding: 4px 10px; border-radius: 999px; background: var(--m-tag); font-size: 13px; }
