: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:"Barlow Condensed",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:22px;font-weight:700;color:var(--color-carbon);line-height:1.1}

/* ---------- Buttons ---------- */
.hm-btn-ghost .elementor-button{background:transparent!important;color:#fff!important;border:2px solid 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:2px solid var(--color-carbon)!important}
.hm-btn-outline .elementor-button:hover{background:var(--color-carbon)!important;color:#fff!important}
.elementor-button{transition:transform var(--transition-fast),background var(--transition-fast)!important}
.elementor-button:hover{transform:translateY(-2px)}

/* ---------- 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(7rem,16vw,15rem);line-height:.8;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:14px 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:18px;letter-spacing:.04em;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}
.hm-promo-in strong{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.06em;font-size:14px;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:100%}
.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:14px;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(3rem,6vw,4rem);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:22px;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:24px;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:16px;letter-spacing:.04em;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}}
