.elementor-1546 .elementor-element.elementor-element-4bdfe57{--display:flex;}.elementor-1546 .elementor-element.elementor-element-1d73f73{--display:flex;}.elementor-1546 .elementor-element.elementor-element-bc115ec{--display:flex;}.elementor-1546 .elementor-element.elementor-element-5002d24{--display:flex;}.elementor-1546 .elementor-element.elementor-element-35de736{--display:flex;}.elementor-1546 .elementor-element.elementor-element-d93a6e5{--display:flex;}/* Start custom CSS */.erfc * { box-sizing: border-box; }
.erfc { font-family: "Roboto", sans-serif; color: #32373c; line-height: 1.65; font-weight: 400; }
.erfc h1, .erfc h2, .erfc h3 { margin: 0 0 .5em; line-height: 1.2; color: #32373c; font-weight: 600; }
.erfc h1 { font-weight: 700; font-size: clamp(2.2rem, 5vw, 3.4rem); letter-spacing: -.01em; }
.erfc h2 { font-size: clamp(1.75rem, 3.2vw, 2.3rem); letter-spacing: -.005em; }
.erfc h3 { font-size: 1.15em; }
.erfc p { margin: 0 0 1em; }
.erfc a { color: #a90707; text-decoration: none; }
.erfc a:hover { text-decoration: underline; }

.erfc-btn { display: inline-block; padding: 14px 34px; background: #32373c; color: #fff !important; border-radius: 9999px; font-size: 1.05em; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; text-decoration: none !important; transition: background .2s, transform .1s; }
.erfc-btn:hover { background: #1f2327; transform: translateY(-1px); }
.erfc-btn-accent { background: #a90707; }
.erfc-btn-accent:hover { background: #8a0505; }
.erfc-btn-light { background: #fff; color: #a90707 !important; border: 2px solid #a90707; padding: 12px 32px; }
.erfc-btn-light:hover { background: #a90707; color: #fff !important; }

.erfc-section { padding: 80px 20px; }
.erfc-section.alt { background: #f7f7f7; }
.erfc-container { max-width: 1060px; margin: 0 auto; }
.erfc-container.narrow { max-width: 820px; }
.erfc-center { text-align: center; }
.erfc-eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .8em; color: #a90707; font-weight: 700; margin-bottom: 14px; display: inline-block; }

/* Hero — full-bleed gradient.
   margin-left/right: calc(50% - 50vw) is the breakout trick that pulls the
   hero to viewport edges regardless of Elementor's container width. */
.sup-hero {
  background: linear-gradient(135deg, #a90707 0%, #32373c 100%);
  padding: 120px 20px 90px;
  text-align: center;
  position: relative;
  overflow: hidden;
  color: #fff;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.sup-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.08) 0%, transparent 50%);
  pointer-events: none;
}
.sup-hero .erfc-container { position: relative; z-index: 2; }
.sup-hero .erfc-eyebrow { color: #ffd6d6; }
.sup-hero h1 { color: #fff; text-shadow: 0 2px 20px rgba(0,0,0,.25); }
.sup-hero .lead { font-size: 1.2em; max-width: 720px; margin: 0 auto 30px; color: rgba(255,255,255,.94); text-shadow: 0 1px 10px rgba(0,0,0,.15); }
.sup-hero .phone-cta { display: inline-flex; align-items: center; gap: 12px; background: #fff; color: #a90707 !important; padding: 16px 34px; border-radius: 9999px; font-size: 1.2em; font-weight: 600; text-decoration: none !important; box-shadow: 0 10px 30px rgba(0,0,0,.25); transition: background .2s, transform .1s, box-shadow .2s; }
.sup-hero .phone-cta:hover { background: #fff3f3; transform: translateY(-2px); box-shadow: 0 14px 36px rgba(0,0,0,.3); }
.sup-hero .phone-cta .num { font-size: 1.1em; letter-spacing: .02em; }

/* Contact cards */
.sup-contact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
@media (max-width: 820px) { .sup-contact { grid-template-columns: 1fr; } }
.sup-contact-card { background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; padding: 32px 28px; text-align: center; transition: transform .15s, box-shadow .15s; }
.sup-contact-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.06); }
.sup-contact-card .icon { width: 58px; height: 58px; border-radius: 50%; background: #fff0f0; color: #a90707; display: inline-flex; align-items: center; justify-content: center; font-size: 1.65em; font-weight: 700; margin-bottom: 16px; }
.sup-contact-card h3 { margin-bottom: 8px; }
.sup-contact-card .detail { color: #555; font-size: 1em; line-height: 1.65; margin-bottom: 6px; }
.sup-contact-card .big-link { font-size: 1.15em; font-weight: 600; color: #a90707; }

/* Self-service */
.sup-selfserve { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
@media (max-width: 820px) { .sup-selfserve { grid-template-columns: 1fr; } }
.sup-selfserve-card { background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; padding: 30px 28px; display: flex; flex-direction: column; }
.sup-selfserve-card .icon { width: 44px; height: 44px; border-radius: 12px; background: #fff0f0; color: #a90707; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3em; font-weight: 700; margin-bottom: 14px; }
.sup-selfserve-card h3 { margin-bottom: 6px; }
.sup-selfserve-card p { font-size: .95em; color: #555; flex: 1; }
.sup-selfserve-card .act { margin-top: 10px; font-weight: 600; color: #a90707; }
.sup-selfserve-card .act:hover { text-decoration: underline; }

/* FAQ */
.sup-faq { max-width: 820px; margin: 40px auto 0; }
.sup-faq details { background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; margin-bottom: 12px; padding: 0; transition: box-shadow .15s; overflow: hidden; }
.sup-faq details[open] { box-shadow: 0 8px 20px rgba(0,0,0,.05); }
.sup-faq summary { padding: 20px 24px; font-weight: 600; font-size: 1.05em; cursor: pointer; list-style: none; position: relative; padding-right: 48px; color: #32373c; }
.sup-faq summary::-webkit-details-marker { display: none; }
.sup-faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 1.5em; font-weight: 400; color: #a90707; transition: transform .2s; line-height: 1; }
.sup-faq details[open] summary::after { content: "–"; }
.sup-faq .answer { padding: 0 24px 22px; color: #555; font-size: .98em; }
.sup-faq .answer p:last-child { margin-bottom: 0; }

/* Troubleshooting */
.sup-trouble { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
@media (max-width: 820px) { .sup-trouble { grid-template-columns: 1fr; } }
.sup-trouble-step { background: #fff; border-radius: 14px; padding: 30px 26px; border-left: 4px solid #a90707; }
.sup-trouble-step .step-num { display: inline-block; font-size: .78em; text-transform: uppercase; letter-spacing: .15em; color: #a90707; font-weight: 700; margin-bottom: 8px; }
.sup-trouble-step h3 { margin-bottom: 8px; }
.sup-trouble-step p { font-size: .95em; color: #555; margin: 0; }

/* Still need help */
.sup-still { background: #32373c; color: #fff; padding: 70px 20px; text-align: center; }
.sup-still h2 { color: #fff; }
.sup-still p { font-size: 1.1em; opacity: .9; max-width: 620px; margin: 0 auto 26px; }
.sup-still .erfc-btn { background: #a90707; }
.sup-still .erfc-btn:hover { background: #8a0505; }/* End custom CSS */