/* Streben 2026 relaunch. Everything is scoped under #sr so the Elementor kit and theme can't restyle it.
   Page layout lives in inline styles inside each fragment; this file holds resets, hovers and the video modal. */
body.sr-page { margin: 0; background: #0A1C28; }
#sr { font-family: 'DM Sans', system-ui, sans-serif; font-weight: 400; color: #EEF5F7; -webkit-font-smoothing: antialiased; }
#sr *, #sr *::before, #sr *::after { box-sizing: border-box; }
#sr h1, #sr h2, #sr h3, #sr p, #sr blockquote, #sr figure, #sr figcaption, #sr ul, #sr ol, #sr li, #sr label, #sr span {
  color: inherit; font-family: inherit; text-transform: none; letter-spacing: normal;
}
#sr h1, #sr h2, #sr h3 { line-height: 1.2; }
#sr img { max-width: 100%; border: 0; border-radius: 0; box-shadow: none; }
/* The Elementor kit sets Urbanist 16px/500 on every link and weight 500 on body; links here take their section's type instead. */
#sr a { color: #EEF5F7; text-decoration: none; box-shadow: none; font-family: inherit; font-size: inherit; font-weight: inherit; }
#sr a:hover { color: #8AC245; }
#sr button { text-transform: none; letter-spacing: normal; line-height: 1; box-shadow: none; }
#sr select, #sr input, #sr button { font-family: inherit; }
#sr [hidden] { display: none !important; }

#sr details summary { cursor: pointer; list-style: none; }
#sr details summary::-webkit-details-marker { display: none; }
#sr details[open] .c-plus, #sr details[open] .h-plus, #sr details[open] .o-plus,
#sr details[open] .d-plus, #sr details[open] .g-plus { transform: rotate(45deg); }

#sr .c-field:focus, #sr .h-field:focus, #sr .o-field:focus, #sr .d-field:focus, #sr .g-field:focus {
  outline: 2px solid #6EC1E4; outline-offset: 1px;
}
#sr .c-card, #sr .h-card, #sr .o-card, #sr .d-card, #sr .g-card { transition: border-color .2s; }
#sr .c-card:hover, #sr .h-card:hover, #sr .o-card:hover, #sr .d-card:hover, #sr .g-card:hover { border-color: rgba(110,193,228,.5) !important; }
#sr .h-spec:hover { border-color: rgba(138,194,69,.6) !important; background: #12304A !important; }

/* Healthcare dropdown in the nav: hover opens it where hover exists; the caret button toggles .open everywhere. */
#sr .sr-dd { position: relative; display: inline-flex; align-items: center; gap: 2px; }
#sr .sr-dd-btn { background: none; border: 0; color: inherit; padding: 6px 4px; margin: 0; min-height: 32px; cursor: pointer; display: inline-flex; align-items: center; }
#sr .sr-dd-btn svg { transition: transform .2s; }
#sr .sr-dd-menu { display: none; position: absolute; top: calc(100% + 10px); left: -14px; z-index: 50; width: 300px; max-width: calc(100vw - 32px); padding: 8px; background: #0F2635; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.4); }
#sr .sr-dd-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
@media (hover: hover) { #sr .sr-dd:hover .sr-dd-menu { display: block; } }
#sr .sr-dd.open .sr-dd-menu { display: block; }
#sr .sr-dd.open .sr-dd-btn svg { transform: rotate(180deg); }
#sr .sr-dd-menu a { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border-radius: 10px; color: #EEF5F7; }
#sr .sr-dd-menu a:hover, #sr .sr-dd-menu a:focus-visible, #sr .sr-dd-menu a[aria-current="page"] { background: #12304A; }
#sr .sr-dd-menu a:hover .sr-dd-t { color: #8AC245; }
#sr .sr-dd-t { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15px; }
#sr .sr-dd-d { font-size: 13px; line-height: 1.4; font-weight: 400; color: #B7C9D1; }

/* FAQ: one column of full-width questions, each one row tall until opened. */
#sr .sr-faq { display: flex; flex-direction: column; gap: 12px; max-width: 920px; }
#sr .sr-faq summary { align-items: center; }

/* Right side of the nav: Client login (Ellipse sign-in) beside the Check my market button. */
#sr .sr-navr { display: flex; align-items: center; gap: 20px; }
@media (min-width: 641px) { #sr .sr-navr { margin-left: auto; } }
#sr .sr-login { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; font-size: 15px; font-weight: 600; color: #C4D4DB; }

/* Homepage logo strip: equal cells, partial rows centered. 7 across on desktop, 4 + 3 on tablets, 2 per row on phones.
   Each logo's inline width gives every mark the same visible area; max-width keeps it inside its cell. */
#sr .c-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px 24px; }
#sr .c-logo { flex: 0 0 calc((100% - 6 * 24px) / 7); min-height: 52px; display: flex; align-items: center; justify-content: center; }
#sr .c-logo img { display: block; max-width: 100%; height: auto; opacity: .8; }
@media (max-width: 1099px) { #sr .c-logo { flex-basis: calc((100% - 3 * 24px) / 4); } }

#sr [data-sr-form] iframe { display: block; width: 100%; min-height: 720px; border: 0; border-radius: 12px; background: #FFFFFF; }

/* Testimonial video modal */
#sr .sr-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(4,10,15,.88); }
#sr .sr-modal-box { position: relative; width: min(960px, 100%); }
#sr .sr-modal video { display: block; width: 100%; max-height: 80vh; border-radius: 14px; background: #000; }
#sr .sr-modal-x { position: absolute; top: -54px; right: 0; width: 44px; height: 44px; border: 0; border-radius: 999px; background: #EEF5F7; color: #0A1C28; font-size: 26px; cursor: pointer; }

@media (max-width: 640px) {
  #sr nav > div { gap: 14px 18px !important; font-size: 14px !important; }
  #sr .sr-dd-menu { left: 0; }
  #sr .c-logos { gap: 24px 20px; }
  #sr .c-logo { flex-basis: calc((100% - 20px) / 2); }
}
