/* GENERATED by build/gen-elementor-fix.mjs — do not hand-edit.
 *
 * Restores design rules that Elementor or Astra outrank for
 * img/video/a/hr/p/blockquote.
 * Elementor's .elementor img { height:auto } is specificity (0,1,1) and beats
 * the design's .accred__img { height:52px } at (0,1,0). Prefixing with
 * .elementor makes these (0,2,0), which wins.
 *
 * Regenerate:
 *   node build/gen-elementor-fix.mjs wordpress/themes/repulse/assets/css \
 *        wordpress/themes/repulse/assets/css/elementor-fix.css .
 */

.elementor blockquote { border: 0; padding: 0; font-style: inherit; position: static; }
.elementor label { line-height: inherit; }
.elementor button.btn { color: var(--fg); }
.elementor button.btn:hover { background: var(--bg); border-color: var(--bd); color: var(--fg); }
.elementor button.btn:focus { background: var(--bg); border-color: var(--bd); color: var(--fg); }
.elementor .btn--primary { box-shadow: var(--sh-1); }
.elementor .btn--primary:hover { box-shadow: var(--sh-2); }
.elementor .card__mark img { height: 100%; width: auto; }
.elementor .card--link:hover { box-shadow: var(--sh-2); }
.elementor .card--dark.card--link:hover { box-shadow: var(--sh-3); }
.elementor .card__media img { width: 100%; height: 100%; object-fit: cover; }
.elementor .field__label { font-size: var(--fs-sm); font-weight: 600; color: var(--label-fg, var(--t-strong)); }
.elementor .input { width: 100%; min-height: 50px; padding: var(--sp-3) var(--sp-4); background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-ctl); color: var(--t-strong); font-size: var(--fs-base); line-height: 1.4; }
.elementor .select { width: 100%; min-height: 50px; padding: var(--sp-3) var(--sp-4); background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-ctl); color: var(--t-strong); font-size: var(--fs-base); line-height: 1.4; }
.elementor .input::placeholder { color: var(--t-faint); }
.elementor .input:hover { border-color: var(--violet-bright); }
.elementor .select:hover { border-color: var(--violet-bright); }
.elementor .input:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(147, 0, 211, .14); }
.elementor .select:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(147, 0, 211, .14); }
.elementor .select { appearance: none; }
.elementor .field.is-invalid .input { border-color: var(--danger); }
.elementor .field.is-invalid .select { border-color: var(--danger); }
.elementor .tab { min-height: 44px; padding: var(--sp-2) var(--sp-5); background: transparent; border: 1px solid var(--line); border-radius: var(--r-pill); color: var(--t-muted); font-size: var(--fs-sm); font-weight: 600; }
.elementor .tab:hover { border-color: var(--violet-bright); color: var(--t-strong); }
.elementor .tab[aria-selected='true'] { background: var(--ink); border-color: var(--ink); color: #fff; }
.elementor .logo__img { height: 32px; width: auto; }
.elementor .burger { width: 46px; height: 46px; padding: 0; background: transparent; border: 1px solid var(--line-2); border-radius: var(--r-ctl); color: var(--t-strong); }
.elementor body.has-dark-hero .header:not(.is-stuck) .burger { border-color: rgba(255,255,255,.3); color: #fff; }
.elementor .drawer__close { width: 46px; height: 46px; padding: 0; background: transparent; border: 1px solid rgba(255,255,255,.24); border-radius: var(--r-ctl); color: #fff; }
.elementor .hero__video { width: 100%; height: 100%; object-fit: cover; }
.elementor .hero__lead { margin-bottom: var(--sp-8); }
.elementor .beam__col { margin: 0; padding: 0; list-style: none; }
.elementor .coverage-band__intro .sec-head__text { margin-bottom: 0; }
.elementor .coverage-band__proof { margin: clamp(1.75rem, 1rem + 2vw, 2.5rem) 0 0; padding: 0; list-style: none; }
.elementor .coverage-band__cities-label { margin-bottom: var(--sp-3); }
.elementor .coverage-band__cities { margin: 0 0 var(--sp-3); padding: 0; list-style: none; }
.elementor .coverage-band__note { margin: 0; }
.elementor .quote-card__foot { margin-top: var(--sp-4); }
.elementor .quote-card__switch { width: 100%; min-height: 46px; padding: var(--sp-4) 0 0; border: 0; background: none; color: var(--violet); font-size: var(--fs-sm); font-weight: 600; }
.elementor .quote-card__switch:hover { color: var(--violet-bright); }
.elementor .accred__img { height: 52px; width: auto; }
.elementor .tcard__quote { margin: 0 0 var(--sp-5); }
.elementor .service-list__thumb img { width: 100%; height: 100%; object-fit: cover; }
.elementor .sector-panel__media img { width: 100%; height: 100%; object-fit: cover; }
.elementor .sector-panel__text { margin-bottom: var(--sp-6); }
.elementor .sector-panel__points { margin-bottom: var(--sp-8); }
.elementor .careers-head__points { margin: var(--sp-8) 0 0; padding: 0; list-style: none; }
.elementor .careers-head__media img { width: 100%; height: 100%; object-fit: cover; }
.elementor .role__meta { margin: 0; padding: var(--sp-4) 0 0; list-style: none; }
.elementor .prose a { text-decoration: underline; }
.elementor .mobile-bar__btn--primary { background: var(--violet); }
.elementor video { margin: 0; }
.elementor hr { margin: 0; }
.elementor p { margin: 0; }
.elementor blockquote { margin: 0; }
.elementor ul { margin: 0; }
.elementor ol { margin: 0; }
.elementor img { max-width: 100%; }
.elementor video { max-width: 100%; }
.elementor input { font: inherit; color: inherit; letter-spacing: inherit; }
.elementor textarea { font: inherit; color: inherit; letter-spacing: inherit; }
.elementor select { font: inherit; color: inherit; letter-spacing: inherit; }
.elementor button { font: inherit; letter-spacing: inherit; }
.elementor ul { list-style: none; padding: 0; }
.elementor ol { list-style: none; padding: 0; }
.elementor a { text-decoration: none; }
.elementor .modal__backdrop { background: rgba(8, 8, 13, .68); border: 0; }
.elementor .modal__close { width: 44px; height: 44px; padding: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--r-ctl); color: var(--t-muted); }
.elementor .modal__close:hover { color: var(--t-strong); border-color: var(--line-2); }
.elementor .wizard__eyebrow { margin-bottom: var(--sp-4); }
.elementor .wizard__head .modal__close { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.elementor .wizard__head .modal__close:hover { background: rgba(255,255,255,.16); color: #fff; }
.elementor .wizard__back { min-height: 46px; background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-ctl); color: var(--t-muted); font-size: var(--fs-sm); font-weight: 600; }
.elementor .wizard__back:hover { border-color: var(--violet); color: var(--violet); }
.elementor .assistant__fab { width: 56px; height: 56px; border-radius: 50%; padding: 0; background: var(--violet); border: 0; color: #fff; box-shadow: var(--sh-3); }
.elementor .assistant__fab:hover { background: #A216E8; }
.elementor .assistant__close { width: 38px; height: 38px; padding: 0; background: transparent; border: 1px solid rgba(255,255,255,.22); border-radius: var(--r-ctl); color: #fff; }
.elementor .msg__bubble a { text-decoration: underline; }
.elementor .assistant__input { min-height: 44px; padding: var(--sp-2) var(--sp-4); background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-ctl); color: var(--t-strong); font-size: var(--fs-sm); }
.elementor .assistant__input:focus { border-color: var(--violet); }
.elementor .assistant__send { width: 44px; height: 44px; padding: 0; border-radius: var(--r-ctl); background: var(--violet); border: 0; color: #fff; }
.elementor .assistant__send:hover { background: #A216E8; }
.elementor .exit__text { margin-bottom: var(--sp-6); }
.elementor .exit__dismiss { background: none; border: 0; color: var(--t-muted); font-size: var(--fs-sm); min-height: 44px; }
.elementor .exit__dismiss:hover { color: var(--t-strong); }

@media (min-width: 640px) {
  .elementor .logo__img { height: 36px; }
}

