.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-53 .elementor-element.elementor-element-3acacbdc .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-53 .elementor-element.elementor-element-3acacbdc .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-53 .elementor-element.elementor-element-3acacbdc{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-53 .elementor-element.elementor-element-3acacbdc .elementor-icon-list-text{transition:color 0.3s;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-53 .elementor-element.elementor-element-6d453662 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-53 .elementor-element.elementor-element-6d453662 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-53 .elementor-element.elementor-element-6d453662 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-53 .elementor-element.elementor-element-6d453662 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-field-type-html{padding-bottom:0px;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-button[type="submit"]{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-6d453662{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-53 .elementor-element.elementor-element-3c663fd0{text-align:center;}.elementor-53 .elementor-element.elementor-element-584e2d73{text-align:center;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-53 .elementor-element.elementor-element-8f3bc2c .elementor-icon-box-wrapper{gap:15px;}.elementor-53 .elementor-element.elementor-element-5ce00190 .elementor-icon-box-wrapper{gap:15px;}.elementor-53 .elementor-element.elementor-element-7f64d1f7 .elementor-icon-box-wrapper{gap:15px;}.elementor-53 .elementor-element.elementor-element-3b589821 .elementor-icon-box-wrapper{gap:15px;}.elementor-53 .elementor-element.elementor-element-4be85399 .elementor-icon-box-wrapper{gap:15px;}.elementor-53 .elementor-element.elementor-element-e4b15cc .elementor-icon-box-wrapper{gap:15px;}.elementor-53 .elementor-element.elementor-element-4f85916a{text-align:center;}.elementor-53 .elementor-element.elementor-element-726a0a91{text-align:center;}.elementor-53 .elementor-element.elementor-element-79e5a40a{text-align:center;}.elementor-53 .elementor-element.elementor-element-434eddb8{text-align:center;}.elementor-53 .elementor-element.elementor-element-30cd7f7f{text-align:center;}.elementor-widget-accordion .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-title{color:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-accordion-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon, .elementor-widget-accordion .elementor-active .elementor-accordion-title{color:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-accordion-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-accordion .elementor-tab-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-53 .elementor-element.elementor-element-587cbd0d{text-align:center;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-field-type-html{padding-bottom:0px;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-button[type="submit"]{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-53 .elementor-element.elementor-element-1cbfa8b9{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}/* Start custom CSS *//* ==========================================================================
   OLDHAM PLUMBER — Additional CSS (paste into Elementor > Site Settings >
   Custom CSS, or Appearance > Customize > Additional CSS)
   Pairs with: oldham-plumber-elementor.json
   ========================================================================== */

/* ---------- 1. Design tokens ---------- */
:root {
  --op-navy: #0e1c33;
  --op-navy-2: #132540;
  --op-teal: #14b8a6;
  --op-orange: #f2660c;
  --op-orange-hover: #d4560a;

  --op-background: #ffffff;
  --op-surface: #f4f7fa;
  --op-text: #10131a;
  --op-text-secondary: #5b6472;
  --op-text-muted: #8891a0;
  --op-border: #e4e8ee;
  --op-white: #ffffff;

  --op-radius-sm: 8px;
  --op-radius-md: 12px;
  --op-radius-lg: 20px;
  --op-container: 1200px;
}

body { color: var(--op-text); }
.op-teal-heading {
  color: var(--op-teal); font-size: 13px; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 8px;
}

/* ---------- 2. Emergency status bar ---------- */
#op-emergency-bar-section { background: var(--op-navy) !important; padding: 0 !important; }
.op-emergency-bar {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 36px; padding: 8px 16px; color: var(--op-white); font-size: 13px; font-weight: 600;
}
.op-emergency-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--op-orange);
  animation: op-pulse 1.6s ease-in-out infinite; flex-shrink: 0;
}
@keyframes op-pulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:.4;transform:scale(.8);} }
.op-emergency-phone { color: var(--op-white); text-decoration: underline; font-weight: 700; }
@media (max-width: 767px) { .op-emergency-bar { flex-direction: column; gap: 2px; padding: 8px 12px; } }

/* ---------- 3. Header ---------- */
#op-header { background: var(--op-white) !important; border-bottom: 1px solid var(--op-border); position: sticky; top: 0; z-index: 999; }
.op-header-inner {
  max-width: var(--op-container); margin: 0 auto; display: flex; align-items: center;
  justify-content: space-between; min-height: 72px; padding: 8px 32px; flex-wrap: wrap;
}
.op-logo { display: flex; flex-direction: column; line-height: 1.05; font-weight: 800; }
.op-logo-top { font-size: 14px; letter-spacing: 0.06em; color: var(--op-text); }
.op-logo-bottom { font-size: 19px; color: var(--op-orange); }
.op-nav { display: flex; gap: 22px; }
.op-nav a { color: var(--op-text-secondary); font-weight: 600; font-size: 14px; text-decoration: none; }
.op-nav a:hover { color: var(--op-orange); }
.op-header-actions { display: flex; align-items: center; gap: 14px; }
.op-header-phone { font-weight: 700; color: var(--op-text); text-decoration: none; }
.op-header-cta { background: var(--op-orange); color: var(--op-white); padding: 10px 16px; border-radius: var(--op-radius-sm); font-weight: 700; text-decoration: none; font-size: 13px; }
.op-header-cta:hover { background: var(--op-orange-hover); }
@media (max-width: 1023px) { .op-nav { display: none; } }

/* ---------- 4. Hero ---------- */
#op-hero {
  background: linear-gradient(135deg, rgba(14,28,51,.94), rgba(14,28,51,.88)),
    repeating-linear-gradient(45deg, #1b2f4d 0 2px, #16283f 2px 40px) !important;
  padding: 72px 32px 56px !important;
}
#op-hero .elementor-widget-container,
#op-hero h1, #op-hero p, #op-hero .elementor-heading-title { color: var(--op-white); }
#op-hero h1 { font-size: 46px; line-height: 1.12; max-width: 720px; }
#op-hero .op-hl { color: var(--op-teal); }
#op-hero p { color: rgba(255,255,255,.78); font-size: 17px; max-width: 600px; }

.op-hero-badge {
  display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18); padding: 6px 14px; border-radius: 999px;
  font-size: 12px; font-weight: 700; margin-bottom: 20px; color: #cfe8e3;
}
.op-dotsm { width: 7px; height: 7px; border-radius: 50%; background: var(--op-teal); display: inline-block; }

.op-hero-badges { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.op-hero-badge-pill {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: 10px;
  padding: 12px 16px; font-size: 12px; font-weight: 700; color: var(--op-white); text-align: center; min-width: 88px;
}

#op-btn-primary .elementor-button, #op-btn-primary.elementor-button {
  background: var(--op-orange) !important; color: var(--op-white) !important; border-radius: 8px !important;
  min-height: 50px; font-weight: 700; padding: 0 28px;
}
#op-btn-primary .elementor-button:hover { background: var(--op-orange-hover) !important; }

#op-btn-outline .elementor-button, #op-btn-outline.elementor-button {
  background: transparent !important; color: var(--op-white) !important;
  border: 1px solid rgba(255,255,255,.45) !important; border-radius: 8px !important; min-height: 50px; font-weight: 700; padding: 0 28px;
}

#op-btn-navy .elementor-button, #op-btn-navy.elementor-button {
  background: var(--op-navy) !important; color: var(--op-white) !important; border-radius: 8px !important;
  min-height: 50px; font-weight: 700; padding: 0 28px;
}

@media (max-width: 767px) { #op-hero { padding: 40px 20px !important; } #op-hero h1 { font-size: 32px; } }

/* ---------- 5. Trust strip ---------- */
#op-trust { background: var(--op-white) !important; border-bottom: 1px solid var(--op-border); padding: 22px 32px !important; }
#op-trust-list .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px 32px; justify-content: center; }
#op-trust-list .elementor-icon-list-icon i { color: var(--op-teal); }
#op-trust-list .elementor-icon-list-text { font-size: 13px; font-weight: 600; color: var(--op-text-secondary); }

/* ---------- 6. Coverage bar (strip) ---------- */
#op-coverage-bar { background: var(--op-navy-2) !important; padding: 22px 32px !important; }
.op-coverage-bar-inner { max-width: var(--op-container); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.op-coverage-bar-inner p { color: var(--op-white); margin: 0; font-weight: 700; font-size: 15px; }
.op-coverage-bar-btn {
  background: var(--op-orange); color: var(--op-white); padding: 10px 20px; border-radius: 8px;
  font-weight: 700; text-decoration: none; font-size: 14px;
}

/* ---------- 7. Coverage checker (form card) ---------- */
#op-coverage {
  background: var(--op-white) !important; border: 1px solid var(--op-border); border-radius: var(--op-radius-lg);
  max-width: 720px; margin: 64px auto !important; padding: 40px !important; text-align: center;
}
#op-coverage .elementor-button { background: var(--op-orange) !important; border-radius: 8px !important; }

/* ---------- 8. How it works ---------- */
#op-how-it-works { padding-top: 24px !important; }
.op-step-number { font-size: 40px; font-weight: 800; color: var(--op-border); margin-bottom: 4px; }
#op-how-it-works .elementor-column { border: 1px solid var(--op-border); border-radius: var(--op-radius-md); padding: 10px; }

/* ---------- 9. Stats band ---------- */
#op-stats-band { background: var(--op-navy) !important; padding: 48px 32px !important; }
.op-stats-grid { max-width: var(--op-container); margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); text-align: center; }
.op-stats-grid > div { border-right: 1px solid rgba(255,255,255,.14); }
.op-stats-grid > div:last-child { border-right: none; }
.op-stat-num { font-size: 38px; font-weight: 800; color: var(--op-white); }
.op-stat-label { font-size: 13px; color: rgba(255,255,255,.65); font-weight: 600; }
@media (max-width: 767px) { .op-stats-grid { grid-template-columns: 1fr; gap: 18px; } .op-stats-grid > div { border-right: none; } }

/* ---------- 10. Services ---------- */
#op-services { padding: 24px 32px 88px !important; }
.op-service-card, .op-service-card-featured {
  border: 1px solid var(--op-border); border-radius: var(--op-radius-md); padding: 24px; position: relative; background: var(--op-white);
}
.op-service-card-featured { border-color: var(--op-orange); }
.op-service-card .elementor-icon-box-icon i,
.op-service-card-featured .elementor-icon-box-icon i { color: var(--op-orange); }
#op-service-link .elementor-button { background: transparent !important; color: var(--op-orange) !important; font-weight: 700; padding-left: 0 !important; text-decoration: none; }

/* ---------- 11. Landlords & businesses ---------- */
#op-business-landlords { background: var(--op-surface) !important; padding: 80px 32px !important; text-align: center; }

/* ---------- 12. Why choose us — numbered rows ---------- */
#op-why-choose-us { padding: 24px 32px 88px !important; }
.op-why-list { display: flex; flex-direction: column; gap: 18px; max-width: 760px; margin: 0 auto; }
.op-why-row { display: flex; gap: 16px; align-items: flex-start; border: 1px solid var(--op-border); border-radius: var(--op-radius-md); padding: 20px 22px; }
.op-why-num { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 8px; background: var(--op-navy); color: var(--op-white); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px; }
.op-why-row h4 { margin: 0 0 4px; font-size: 16px; }
.op-why-row p { margin: 0; font-size: 14px; }

/* ---------- 13. Areas covered — radial + list ---------- */
#op-areas { padding: 24px 32px 88px !important; }
.op-areas-wrap { display: flex; gap: 48px; align-items: center; flex-wrap: wrap; max-width: var(--op-container); margin: 0 auto; }
.op-areas-radial { flex: 1 1 320px; display: flex; align-items: center; justify-content: center; }
.op-radial {
  width: 260px; height: 260px; border-radius: 50%; position: relative;
  background: radial-gradient(circle, rgba(20,184,166,.15) 0%, rgba(20,184,166,.06) 45%, transparent 70%);
  border: 1px dashed rgba(20,184,166,.35); display: flex; align-items: center; justify-content: center;
}
.op-radial:before, .op-radial:after { content: ""; position: absolute; border-radius: 50%; border: 1px dashed rgba(20,184,166,.3); }
.op-radial:before { width: 175px; height: 175px; }
.op-radial:after { width: 100px; height: 100px; }
.op-radial-center { background: var(--op-navy); color: var(--op-white); width: 70px; height: 70px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 11px; text-align: center; z-index: 2; }
.op-areas-list { flex: 1 1 360px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.op-areas-list a { display: block; padding: 10px 0; border-bottom: 1px solid var(--op-border); color: var(--op-text); text-decoration: none; font-weight: 600; font-size: 14px; }
.op-areas-list a:hover { color: var(--op-orange); }
@media (max-width: 767px) { .op-areas-list { grid-template-columns: 1fr; } }

/* ---------- 14. Reviews ---------- */
#op-reviews { text-align: center; padding: 24px 32px 88px !important; }
.op-review-single { max-width: 640px; margin: 0 auto; }
.op-review-single .op-stars { color: #f5b301; letter-spacing: 3px; font-size: 18px; margin-bottom: 14px; }
.op-review-single blockquote { font-size: 17px; color: var(--op-text); font-style: italic; margin: 0 0 20px; line-height: 1.6; }
.op-review-avatar-row { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 24px; }
.op-avatar-ph { width: 40px; height: 40px; border-radius: 50%; background: var(--op-surface); border: 1px solid var(--op-border); }
.op-review-who { text-align: left; font-size: 13px; }
.op-review-name { font-weight: 700; }
.op-review-meta { color: var(--op-text-muted); }
.op-placeholder-tag { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: var(--op-orange); text-transform: uppercase; margin-bottom: 10px; }

/* ---------- 15. FAQ ---------- */
#op-faq { max-width: 860px; margin: 0 auto !important; padding: 24px 20px 88px !important; }
#op-faq .elementor-accordion-item { border: none !important; border-bottom: 1px solid var(--op-border) !important; border-radius: 0; margin-bottom: 0; }
#op-faq .elementor-tab-title { font-size: 15px !important; font-weight: 700; color: var(--op-navy-2); padding: 18px 4px !important; }
#op-faq .elementor-tab-content { padding: 0 4px 18px !important; color: var(--op-text-secondary); }

/* ---------- 16. Final / emergency CTA band ---------- */
#op-final-cta { background: var(--op-navy) !important; padding: 64px 32px !important; text-align: center; }
.op-emergency-band h2 { color: var(--op-white); }
.op-emergency-band p { color: rgba(255,255,255,.7); }
.op-phone-big { display: block; font-size: 34px; font-weight: 800; color: var(--op-orange); text-decoration: none; margin: 14px 0 22px; }

/* ---------- 17. Callback (split layout) ---------- */
#op-callback-heading { padding-bottom: 0 !important; }
#op-callback-form { max-width: var(--op-container); margin: 0 auto !important; padding: 24px 32px 96px !important; }
#op-callback-info h3 { font-size: 20px; }
.op-callback-info-list { list-style: none; padding: 0; margin: 18px 0; display: flex; flex-direction: column; gap: 14px; }
.op-callback-info-list li { display: flex; gap: 10px; font-size: 14px; color: var(--op-text-secondary); }
.op-callback-info-list li b { color: var(--op-text); display: block; font-size: 13px; }
#op-callback-form-col { background: var(--op-surface); border-radius: var(--op-radius-lg); padding: 12px; }
#op-callback-form-col .elementor-button { background: var(--op-orange) !important; border-radius: 8px !important; min-height: 50px; }
@media (max-width: 900px) { #op-callback-form .elementor-column { width: 100% !important; } }

/* ---------- 18. Footer ---------- */
#op-footer { background: var(--op-navy) !important; color: rgba(255,255,255,.75); padding: 56px 32px 22px !important; }
.op-footer-grid { max-width: var(--op-container); margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.op-footer-brand { color: var(--op-white); font-weight: 800; font-size: 17px; margin-bottom: 8px; }
.op-footer-heading { color: var(--op-white); font-weight: 700; margin-bottom: 12px; font-size: 14px; }
.op-footer-col a { display: block; color: rgba(255,255,255,.7); text-decoration: none; margin-bottom: 8px; font-size: 13px; }
.op-footer-col a:hover { color: var(--op-white); }
.op-footer-bottom { max-width: var(--op-container); margin: 36px auto 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); display: flex; gap: 24px; flex-wrap: wrap; font-size: 12px; color: rgba(255,255,255,.55); }
.op-footer-bottom a { color: rgba(255,255,255,.55); text-decoration: none; }
@media (max-width: 767px) { .op-footer-grid { grid-template-columns: 1fr 1fr; } }

/* ---------- 19. Mobile sticky call bar ---------- */
#op-mobile-sticky-bar-section { display: none !important; }
.op-mobile-sticky-bar { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; height: 64px; padding-bottom: env(safe-area-inset-bottom, 0); }
@media (max-width: 767px) {
  #op-mobile-sticky-bar-section { display: block !important; }
  .op-mobile-sticky-bar { display: flex; }
  body { padding-bottom: 76px; }
}
.op-mobile-sticky-bar a { flex: 1; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; text-decoration: none; letter-spacing: .02em; }
.op-sticky-call { background: var(--op-orange); color: var(--op-white); }
.op-sticky-callback { background: var(--op-navy); color: var(--op-white); }

/* ---------- 20. Typography defaults ---------- */
h1, h2, h3, h4 { color: var(--op-text); font-weight: 800; }
h2 { font-size: 36px; letter-spacing: -0.01em; margin-bottom: 12px; }
h3 { font-size: 20px; }

/* ---------- 21. Accessibility ---------- */
a:focus-visible, button:focus-visible { outline: 3px solid var(--op-orange); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .op-emergency-dot { animation: none; } }/* End custom CSS */