:root{
  --color-logo-red:#F90507;--color-action-red:#E30613;--color-deep-red:#A90000;
  --color-carbon:#050505;--color-graphite:#181818;--color-steel:#2B2B2B;
  --color-white:#FFFFFF;--color-workshop-grey:#F4F4F4;--color-soft-grey:#E9E9E9;
  --color-border:#D7D7D7;--color-border-card:#E1E1E1;
  --color-heading:#050505;--color-body:#242424;--color-muted:#646464;
  --surface-page:#FFFFFF;--surface-alt:#F4F4F4;--surface-panel:#E9E9E9;
  --surface-dark:#050505;--surface-dark-card:#181818;
  --text-heading:#050505;--text-body:#242424;--text-muted:#646464;--text-on-dark:#FFFFFF;
  --text-link:#A90000;--text-link-hover:#E30613;--text-accent:#E30613;
  --action-bg:#E30613;--action-bg-hover:#A90000;--action-fg:#FFFFFF;
  --border-default:#D7D7D7;--border-card:#E1E1E1;--border-dark:#2B2B2B;
  --focus-ring:rgba(227,6,19,0.15);
  --gradient-brand:linear-gradient(135deg,#F90507 0%,#E30613 48%,#A90000 100%);
  --overlay-image:linear-gradient(90deg,rgba(5,5,5,0.82) 0%,rgba(5,5,5,0.55) 45%,rgba(5,5,5,0.12) 100%);
  --font-heading:"Schibsted Grotesk",sans-serif;--font-body:"Manrope",sans-serif;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;
  --space-6:32px;--space-7:48px;--space-8:64px;--space-9:80px;--space-10:112px;
  --radius-badge:3px;--radius-button:4px;--radius-field:6px;--radius-card:8px;--radius-image:12px;
  --shadow-card:0 12px 32px rgba(0,0,0,0.08);--shadow-hover:0 18px 40px rgba(0,0,0,0.12);
  --shadow-sticky:0 2px 12px rgba(0,0,0,0.10);
  --container-width:1240px;--text-width:680px;--intro-width:780px;--faq-width:860px;
  --header-height:88px;--utility-bar-height:40px;--angle-cut:10px;
  --transition-fast:180ms ease;--transition-standard:300ms ease;
}
@media(max-width:767px){:root{--header-height:72px}}

body{background:var(--surface-page);color:var(--text-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}

/* ---------- Utility bar ---------- */
.hm-utilbar{background:var(--color-carbon);color:rgba(255,255,255,.72);font-family:var(--font-body);font-size:13px;font-weight:500}
.hm-utilbar .elementor-icon-list-text,.hm-utilbar a{color:rgba(255,255,255,.72)!important}
.hm-utilbar svg,.hm-utilbar i{color:var(--color-action-red)!important;fill:var(--color-action-red)!important}

/* ---------- Header ---------- */
.hm-header{box-shadow:var(--shadow-sticky);background:#fff}
.hm-header .xpro-nav-menu>li>a,.hm-header .xpro-menu-item>a{font-family:var(--font-body)!important;font-weight:600!important;font-size:15px!important;letter-spacing:0}
.hm-phone-block{font-family:var(--font-body)}
.hm-phone-block em{display:block;font-style:normal;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:600}
.hm-phone-block strong{display:block;font-family:var(--font-heading);font-size:19px;font-weight:700;color:var(--color-carbon);line-height:1.1}

/* ---------- Buttons ---------- */
.elementor-button{border:2px solid var(--color-action-red)!important;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)!important}
.elementor-button:hover{transform:translateY(-2px);border-color:var(--color-deep-red)!important}
.hm-btn-ghost .elementor-button{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.45)!important}
.hm-btn-ghost .elementor-button:hover{background:#fff!important;color:var(--color-carbon)!important;border-color:#fff!important}
.hm-btn-outline .elementor-button{background:transparent!important;color:var(--color-carbon)!important;border-color:var(--color-carbon)!important}
.hm-btn-outline .elementor-button:hover{background:var(--color-carbon)!important;color:#fff!important;border-color:var(--color-carbon)!important}
.hm-svc-card .elementor-button{background:transparent!important;color:#FFFFFF!important;border-color:rgba(255,255,255,.42)!important}
.hm-svc-card .elementor-button:hover{background:#E30613!important;border-color:#E30613!important;color:#FFFFFF!important}
/* button pair rows: buttons sit as direct siblings */
.hm-btn-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px}
.hm-btn-row>.elementor-widget-button{width:auto!important;max-width:none!important;flex:0 0 auto}
@media(max-width:767px){
  .hm-btn-row{flex-direction:column;align-items:stretch;width:100%}
  .hm-btn-row>.elementor-widget-button{width:100%!important}
  .hm-btn-row .elementor-button{width:100%;justify-content:center}
}

/* ---------- Eyebrow ---------- */
.hm-eyebrow{color:var(--text-accent)!important}
.hm-eyebrow-dark,.hm-eyebrow-dark *{color:#FF3B3B!important}

/* ---------- Section watermark ---------- */
.hm-watermark{position:relative;overflow:hidden}
.hm-wm-why-us:before{content:'Why us'}
.hm-wm-symptoms:before{content:'Symptoms'}
.hm-wm-services:before{content:'Services'}
.hm-wm-all-services:before{content:'All services'}
.hm-wm-about-us:before{content:'About us'}
.hm-wm-about:before{content:'About'}
.hm-wm-reviews:before{content:'Reviews'}
.hm-watermark:before{content:"";position:absolute;top:-.18em;right:-.02em;font-family:var(--font-heading);font-weight:800;font-size:clamp(5rem,12vw,10rem);line-height:.85;letter-spacing:-.03em;color:rgba(5,5,5,.035);pointer-events:none;z-index:0;text-transform:capitalize}
.hm-watermark.hm-dark:before{color:rgba(255,255,255,.04)}
.hm-watermark>*{position:relative;z-index:1}

/* ---------- Marquee ---------- */
.hm-marquee{background:var(--color-carbon);color:#fff;overflow:hidden;padding:16px 0;border-block:1px solid var(--color-steel)}
.hm-marquee-track{display:flex;width:max-content;animation:hm-scroll 38s linear infinite}
.hm-marquee-row{display:flex;gap:0;margin:0;padding:0;list-style:none}
.hm-marquee-row li{font-family:var(--font-heading);font-weight:700;font-size:17px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;padding:0 28px;display:flex;align-items:center;color:rgba(255,255,255,.9)}
.hm-marquee-row li:after{content:"";width:7px;height:7px;background:var(--color-action-red);border-radius:50%;margin-left:28px}
@keyframes hm-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hm-marquee:hover .hm-marquee-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hm-marquee-track{animation:none}}

/* ---------- Promo bar ---------- */
.hm-promo{background:var(--gradient-brand);color:#fff;padding:16px 0}
.hm-promo-in{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;font-family:var(--font-body);font-size:15px;text-align:center}
.hm-promo-in>*{text-align:center}
.hm-promo-in strong{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.06em;font-size:12px;background:rgba(0,0,0,.22);padding:5px 12px;border-radius:3px}
.hm-promo-in a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* ---------- Cards ---------- */
.hm-card{background:#fff;border:1px solid var(--border-card);border-radius:var(--radius-card);overflow:hidden;transition:transform var(--transition-standard),box-shadow var(--transition-standard);height:auto;align-self:stretch}
.hm-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.hm-card-dark{background:var(--surface-dark-card);border-color:var(--border-dark)}
.hm-num{font-family:var(--font-heading);font-weight:800;font-size:12px;letter-spacing:.1em;color:var(--color-action-red)}

/* ---------- Image slots (empty placeholders) ---------- */
.hm-slot{position:relative;background:var(--surface-panel);border:1px dashed var(--border-default);border-radius:var(--radius-image);display:flex;align-items:center;justify-content:center;overflow:hidden}
.hm-slot:after{content:attr(data-slot);font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-muted);text-align:center;padding:16px;max-width:80%}
.hm-slot-dark{background:var(--color-graphite);border-color:var(--color-steel)}
.hm-slot-dark:after{color:rgba(255,255,255,.45)}

/* ---------- Stats ---------- */
.hm-stat strong{display:block;font-family:var(--font-heading);font-weight:800;font-size:clamp(2.4rem,5vw,3.1rem);line-height:.92;color:var(--color-action-red);letter-spacing:-.015em}
.hm-stat span{display:block;margin-top:8px;font-family:var(--font-body);font-size:14px;font-weight:500;color:rgba(255,255,255,.66);line-height:1.5}

/* ---------- Ticks ---------- */
.hm-ticks .elementor-icon-list-item{align-items:flex-start!important}
.hm-ticks .elementor-icon-list-icon{margin-top:3px}

/* ---------- Area pills ---------- */
.hm-areas{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0;justify-content:center}
.hm-areas li{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-body);background:#fff;border:1px solid var(--border-default);border-radius:999px;padding:9px 18px}

/* ---------- Empty widget slots (reviews / forms) ---------- */
.hm-empty-slot{border:2px dashed var(--border-default);border-radius:var(--radius-card);background:var(--surface-alt);padding:40px 32px;text-align:center}
.hm-empty-slot h4{font-family:var(--font-heading);font-size:19px;color:var(--text-muted);margin:0 0 8px}
.hm-empty-slot p{font-family:var(--font-body);font-size:14px;color:var(--text-muted);margin:0}
.hm-form-slot{min-height:420px}

/* ---------- Pricing table ---------- */
.hm-price-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--border-card)}
.hm-price-row:last-child{border-bottom:0}
.hm-price-row .hm-price-name{font-family:var(--font-body);font-weight:600;font-size:16px;color:var(--text-heading)}
.hm-price-row .hm-price-val{font-family:var(--font-heading);font-weight:700;font-size:20px;color:var(--color-action-red);white-space:nowrap}

/* ---------- Band CTA ---------- */
.hm-band{background:var(--gradient-brand)}
.hm-band h2,.hm-band p{color:#fff!important}

/* ---------- Accordion (FAQ) ---------- */
.hm-faq .xpro-accordion-title,.hm-faq .elementor-tab-title{font-family:var(--font-heading)!important;font-weight:700!important}

/* ---------- Mobile sticky call bar ---------- */
.hm-mobile-bar{display:none}
@media(max-width:767px){
  .hm-mobile-bar{display:grid;grid-template-columns:1fr 1.35fr;position:fixed;left:0;right:0;bottom:0;z-index:9999;box-shadow:0 -2px 16px rgba(0,0,0,.18)}
  .hm-mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-family:var(--font-heading);font-weight:700;font-size:14px;letter-spacing:.03em;text-transform:uppercase;text-decoration:none}
  .hm-mobile-bar a:first-child{background:var(--color-carbon);color:#fff}
  .hm-mobile-bar a:last-child{background:var(--color-action-red);color:#fff}
  body{padding-bottom:56px}
}

/* ---------- Footer ---------- */
.hm-footer{background:var(--color-carbon);color:rgba(255,255,255,.7)}
.hm-footer h4,.hm-footer .elementor-heading-title{color:#fff!important;font-family:var(--font-heading)!important;text-transform:uppercase;letter-spacing:.05em}
.hm-footer a{color:rgba(255,255,255,.7)!important;text-decoration:none;transition:color var(--transition-fast)}
.hm-footer a:hover{color:var(--color-action-red)!important}
.hm-footer .elementor-icon-list-icon svg,.hm-footer .elementor-icon-list-icon i{fill:var(--color-action-red)!important;color:var(--color-action-red)!important}
.hm-hours li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.09);font-family:var(--font-body);font-size:14px;list-style:none}
.hm-hours{margin:0;padding:0}
.hm-hours li:last-child{border-bottom:0}
.hm-hours li span:last-child{color:#fff;font-weight:600}
.hm-footbar{border-top:1px solid rgba(255,255,255,.1);font-family:var(--font-body);font-size:13px;color:rgba(255,255,255,.5)}

/* ---------- Map ---------- */
.hm-map iframe{width:100%;border:0;display:block;border-radius:var(--radius-card);filter:grayscale(.25) contrast(1.05)}

/* ---------- Reveal ---------- */
.hm-reveal{opacity:0;transform:translateY(22px);transition:opacity 420ms ease,transform 420ms ease}
.hm-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.hm-reveal{opacity:1;transform:none}}

/* ---------- Service image cards ---------- */
.hm-svc-card{position:relative;overflow:hidden;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;transition:transform var(--transition-standard),box-shadow var(--transition-standard)}
.hm-svc-card:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(5,5,5,.42) 0%,rgba(5,5,5,.74) 52%,rgba(5,5,5,.93) 100%);transition:background var(--transition-standard)}
.hm-svc-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--color-action-red);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-standard);z-index:2}
.hm-svc-card>*{position:relative;z-index:1}
.hm-svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}
.hm-svc-card:hover:before{background:linear-gradient(180deg,rgba(5,5,5,.30) 0%,rgba(5,5,5,.66) 52%,rgba(5,5,5,.92) 100%)}
.hm-svc-card:hover:after{transform:scaleX(1)}
.hm-svc-card h3,.hm-svc-card .elementor-heading-title{color:#FFFFFF!important}
.hm-svc-card p{color:rgba(255,255,255,.76)!important}
.hm-svc-card .hm-num{color:#FF3B3B}
.hm-photo-hint{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.62);background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.28);border-radius:999px;padding:6px 12px}
.hm-photo-hint:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-action-red);flex:none}
@media(max-width:767px){.hm-svc-card{min-height:340px!important}}

/* ---------- Pricing packages ---------- */
.hm-pkg-card{background:#181818!important;border:1px solid #2B2B2B!important;border-radius:10px!important;transition:transform var(--transition-standard),border-color var(--transition-standard),box-shadow var(--transition-standard)}
.hm-pkg-card:hover{transform:translateY(-5px);border-color:var(--color-action-red)!important;box-shadow:0 20px 44px rgba(0,0,0,.45)}
.hm-pkg-card .elementor-button{width:100%;justify-content:center}
.hm-pkg h3{font-family:var(--font-heading);font-size:21px;font-weight:700;color:#fff;margin:0 0 14px;letter-spacing:-.01em}
.hm-pkg-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #2B2B2B}
.hm-pkg-price .cur{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-action-red);line-height:1}
.hm-pkg-price .amt{font-family:var(--font-heading);font-size:28px;font-weight:800;color:var(--color-action-red);line-height:1;letter-spacing:-.02em}
.hm-pkg-price .off{font-family:var(--font-heading);font-size:16px;font-weight:700;font-style:italic;color:#fff;line-height:1}
.hm-pkg-price .was{font-family:var(--font-body);font-size:15px;font-weight:600;color:rgba(255,255,255,.38);text-decoration:line-through;line-height:1}
.hm-pkg-group{margin-bottom:20px}
.hm-pkg-group:last-child{margin-bottom:0}
.hm-pkg-group h4{font-family:var(--font-body);font-size:14px;font-weight:700;color:#fff;margin:0 0 10px;letter-spacing:.01em}
.hm-pkg-list{list-style:none;margin:0;padding:0}
.hm-pkg-list li{position:relative;padding-left:16px;margin-bottom:7px;font-family:var(--font-body);font-size:14px;line-height:1.5;color:rgba(255,255,255,.7)}
.hm-pkg-list li:last-child{margin-bottom:0}
.hm-pkg-list li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--color-action-red)}
.hm-pkg-note{text-align:center;font-family:var(--font-body);font-size:13px;color:rgba(255,255,255,.45);margin:0}
.hm-extra-card{background:#181818!important;border:1px solid #2B2B2B!important;border-radius:10px!important}
.hm-extra-card .elementor-icon-box-title,.hm-extra-card .elementor-icon-box-title *{color:#fff!important}
.hm-extra-card .elementor-icon-box-description{color:rgba(255,255,255,.68)!important}
@media(max-width:1024px){.hm-pkg h3{font-size:19px}.hm-pkg-price .amt{font-size:25px}}

.hm-phone-block{display:flex;align-items:center;gap:11px;text-decoration:none}
.hm-phone-ico{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--color-action-red);flex:none}
.hm-header-actions{flex:0 0 auto}
@media(max-width:1024px){.hm-phone-block em{display:none!important}.hm-phone-block strong{font-size:18px}}

/* ---------- Header phone block ---------- */
.hm-phone-box{flex:0 0 auto}
.hm-phone-box .elementor-icon-box-wrapper{display:flex;align-items:center;gap:11px;text-align:left}
.hm-phone-box .elementor-icon-box-title{margin:0;font-family:var(--font-heading)!important;font-size:22px!important;font-weight:700!important;line-height:1.1!important;color:var(--color-carbon)!important;order:2}
.hm-phone-box .elementor-icon-box-description{margin:0 0 1px;font-family:var(--font-body)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)!important;order:1}
.hm-phone-box .elementor-icon-box-content{display:flex;flex-direction:column}
.hm-phone-box .elementor-icon-box-title a{color:inherit}
@media(max-width:1100px){.hm-phone-box .elementor-icon-box-description{display:none}.hm-phone-box .elementor-icon-box-title{font-size:19px!important}}

/* ---------- Button icons ---------- */
/* Elementor ships no fill rule for button icon SVGs, so they fall back to the
   raw SVG default and disappear against matching backgrounds. Tie them to the
   button's own text colour so they are always legible. */
.elementor-button .elementor-button-icon svg,
.elementor-button .elementor-button-icon i{fill:currentColor;color:currentColor}
.elementor-button .elementor-button-icon svg *{fill:currentColor}

/* Outline buttons: black icon at rest, white on hover */
.hm-btn-outline .elementor-button .elementor-button-icon svg,
.hm-btn-outline .elementor-button .elementor-button-icon svg *{fill:var(--color-carbon)}
.hm-btn-outline .elementor-button:hover .elementor-button-icon svg,
.hm-btn-outline .elementor-button:hover .elementor-button-icon svg *{fill:#FFFFFF}

/* Ghost buttons sit on dark panels: white icon at rest, black on hover */
.hm-btn-ghost .elementor-button .elementor-button-icon svg,
.hm-btn-ghost .elementor-button .elementor-button-icon svg *{fill:#FFFFFF}
.hm-btn-ghost .elementor-button:hover .elementor-button-icon svg,
.hm-btn-ghost .elementor-button:hover .elementor-button-icon svg *{fill:var(--color-carbon)}

/* Service cards and pricing cards keep white icons on their dark surfaces */
.hm-svc-card .elementor-button .elementor-button-icon svg,
.hm-svc-card .elementor-button .elementor-button-icon svg *,
.hm-pkg-card .elementor-button .elementor-button-icon svg,
.hm-pkg-card .elementor-button .elementor-button-icon svg *{fill:#FFFFFF}

/* ---------- Equal-height card rows ---------- */
/* A percentage height on a flex item cancels align-items:stretch, so cards
   must keep height:auto and stretch via align-self instead. */
.hm-card,.hm-extra-card,.hm-pkg-card{height:auto;align-self:stretch}
.hm-card>.elementor-widget-button,.hm-extra-card>.elementor-widget-button{margin-top:auto}
.hm-card>.elementor-widget-icon-box{width:100%}
@media(max-width:767px){.hm-card,.hm-extra-card{align-self:auto}}

/* ---------- FAQ accordion icon ---------- */
/* Elementor sizes the +/- at 1em of the title, which is 28px here. Pin it small
   and lay the row out as flex so the icon stays vertically centred. */
.hm-faq .elementor-accordion .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:18px}
.hm-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon{float:none;width:auto;flex:none;order:2;line-height:1;display:flex;align-items:center}
.hm-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon-closed{display:flex;align-items:center}
.hm-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon-opened{display:none}
.hm-faq .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}
.hm-faq .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:flex;align-items:center}
.hm-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:15px;height:15px;display:block;transition:transform var(--transition-fast)}
.hm-faq .elementor-accordion .elementor-tab-title:hover .elementor-accordion-icon svg{transform:scale(1.12)}
.hm-faq .elementor-accordion .elementor-tab-title .elementor-accordion-title{order:1;flex:1 1 auto}
@media(max-width:767px){.hm-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:13px;height:13px}}

/* ---------- Dark cards (matches the service page info card) ---------- */
.hm-card{background:var(--color-body)!important;border-color:#3A3A3A!important}
.hm-card:hover{box-shadow:0 18px 40px rgba(0,0,0,.30)}

.hm-card .elementor-heading-title,
.hm-card .elementor-icon-box-title,
.hm-card .elementor-icon-box-title *,
.hm-card strong,
.hm-card h1,.hm-card h2,.hm-card h3,.hm-card h4,.hm-card h5,.hm-card h6{color:#FFFFFF!important}

.hm-card .elementor-icon-box-description,
.hm-card .elementor-widget-text-editor,
.hm-card .elementor-icon-list-text,
.hm-card p,
.hm-card li,
.hm-card span:not(.hm-num):not(.hm-photo-hint){color:rgba(255,255,255,.72)!important}

/* inline colours baked into HTML widgets */
.hm-card [style*="#050505"]{color:#FFFFFF!important}
.hm-card [style*="#646464"],.hm-card [style*="#242424"]{color:rgba(255,255,255,.72)!important}
.hm-card [style*="border-top"],.hm-card [style*="border-bottom"],.hm-card [style*="border:"]{border-color:#3A3A3A!important}
.hm-card p{border-top-color:#3A3A3A!important}

/* links read as white with a red underline rather than dark red on dark */
.hm-card a{color:#FFFFFF!important;text-decoration:none;border-bottom:1px solid rgba(227,6,19,.7)}
.hm-card a:hover{border-bottom-color:#FFFFFF}
.hm-card .elementor-button,.hm-card .elementor-button:hover{border-bottom:0}

/* keep the accent badge and numerals loud */
.hm-card .hm-num{color:#FF3B3B!important}

/* outline buttons cannot stay black on a dark card */
.hm-card .elementor-button{background:transparent!important;color:#FFFFFF!important;border:2px solid rgba(255,255,255,.42)!important}
.hm-card .elementor-button:hover{background:var(--color-action-red)!important;border-color:var(--color-action-red)!important;color:#FFFFFF!important}
.hm-card .elementor-button .elementor-button-icon svg,
.hm-card .elementor-button .elementor-button-icon svg *{fill:#FFFFFF!important}

/* icon-box icons stay red */
.hm-card .elementor-icon svg,.hm-card .elementor-icon i{fill:var(--color-action-red)!important;color:var(--color-action-red)!important}

/* ---------- MTA Assured badge ---------- */
.hm-mta{position:fixed;left:20px;bottom:20px;z-index:9998;line-height:0;pointer-events:none}
.hm-mta img{display:block;width:120px;height:120px}
@media(max-width:1024px){.hm-mta{left:16px;bottom:16px}.hm-mta img{width:104px;height:104px}}
/* clear the mobile call bar */
@media(max-width:767px){.hm-mta{left:12px;bottom:66px}.hm-mta img{width:84px;height:84px}}
