/*
Theme Name: QR
Theme URI: https://www.elegantthemes.com/gallery/divi/
Description: Divi 5 child theme for Quality Restoration. Holds the site design system (rebuilt from denver.wildcatsites.com). Add the qr-* classes below to Divi sections, rows and modules (Advanced > CSS ID & Classes).
Author: Wildcat SEO
Template: Divi
Version: 2.0.0
Text Domain: qr
Requires at least: 6.5
Requires PHP: 7.4
*/

/* =========================================================
   1. TOKENS + BASE
   ========================================================= */
:root {
  --qr-navy: #1f4f8e;
  --qr-navy-d: #0f294d;
  --qr-red: #c72929;
  --qr-red-h: #a81f1f;
  --qr-red-l: #ff6b6b;
  --qr-gold: #f1c84b;
  --qr-slate: #475569;
  --qr-dark: #1e293b;
  --qr-ink: #0f172a;
  --qr-muted: #f1f5f9;
  --qr-bg: #f8fafc;
  --qr-line: #e5e7eb;
  --qr-line-2: #e2e8f0;
  --qr-font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

body,
body input, body textarea, body select, body button,
#page-container h1, #page-container h2, #page-container h3,
#page-container h4, #page-container h5, #page-container h6,
.et_pb_module, .et_pb_button, .et_pb_menu, .et_pb_text {
  font-family: var(--qr-font) !important;
}
body { color: var(--qr-dark); font-size: 16px; line-height: 1.6; background: #fff; }
#page-container h1, #page-container h2, #page-container h3,
#page-container h4, #page-container h5, #page-container h6 {
  font-weight: 800; letter-spacing: -.01em; line-height: 1.15; padding-bottom: 0;
}
.et_pb_text p:last-child { padding-bottom: 0; }
#main-content .container:before { display: none; }
.et_pb_section { background-color: transparent; }

/* Rows: 1400px wrap with 32px gutters (home) — subpages use qr-boxed sections (1150px) */
#page-container .et_pb_row { width: calc(100% - 64px); max-width: 1336px; padding: 0; }
#page-container .qr-boxed .et_pb_row { max-width: 1150px; }
#page-container .et_pb_row + .et_pb_row { margin-top: 32px; }

/* Section rhythm */
#page-container .qr-sec { padding: 80px 0; }
#page-container .qr-sec-sm { padding: 48px 0; }
.qr-alt { background: var(--qr-muted) !important; border-top: 1px solid var(--qr-line-2); border-bottom: 1px solid var(--qr-line-2); }
.qr-bg { background: var(--qr-bg) !important; }
.qr-bg-top { border-top: 1px solid var(--qr-line-2); }
.qr-white { background: #fff !important; }
.qr-navy { background: var(--qr-navy) !important; }
.qr-navy h1, .qr-navy h2, .qr-navy h3, .qr-navy h4 { color: #fff !important; }
.qr-navy p, .qr-navy li { color: rgba(255,255,255,.88); }
.qr-grad { background: linear-gradient(135deg, #1f4f8e, #1a4480 60%, #0f294d) !important; }
.qr-grad h2, .qr-grad h3 { color: #fff !important; }
.qr-grad p { color: rgba(255,255,255,.8); }
.qr-vcenter .et_pb_column { display: flex; flex-direction: column; justify-content: center; }

/* =========================================================
   2. TYPE HELPERS (text / heading modules)
   ========================================================= */
.qr-h2 h1, .qr-h2 h2, .qr-h2 .et_pb_heading_container > * { font-size: clamp(28px, 4vw, 48px) !important; color: var(--qr-navy) !important; margin: 0; }
.qr-h2-dark h2, .qr-h2-dark .et_pb_heading_container > * { font-size: clamp(28px, 3.4vw, 44px) !important; color: var(--qr-dark) !important; margin: 0; }
.qr-h2-sm h2, .qr-h2-sm .et_pb_heading_container > * { font-size: clamp(26px, 3.2vw, 38px) !important; color: var(--qr-navy) !important; margin: 0; }
.qr-h2 h2 span, .qr-h2-dark h2 span { color: var(--qr-red); }
.qr-center, .qr-center * { text-align: center !important; }
.qr-center.et_pb_module, .qr-maxw { margin-left: auto !important; margin-right: auto !important; max-width: 780px; }
.qr-lead p, p.qr-lead { font-size: 18px; color: var(--qr-slate); }
.qr-navy .qr-lead p, .qr-grad .qr-lead p { color: rgba(255,255,255,.85); }
.qr-eyebrow p, .qr-eyebrow { font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #1d4ed8; }
.qr-eyebrow-navy p { color: var(--qr-navy); }
.qr-tag p { display: inline-block; padding: 6px 16px; background: #fee2e2; color: #b91c1c; font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; border-radius: 999px; }
.qr-prose p { font-size: 17px; color: var(--qr-slate); line-height: 1.7; padding-bottom: 18px; }
.qr-prose h2 { color: var(--qr-navy); font-size: clamp(24px, 3vw, 34px); margin: 8px 0 18px; }
.qr-prose h3 { color: var(--qr-navy); font-size: 22px; margin: 8px 0 12px; }
.qr-prose ul, .qr-prose ol { padding: 0 0 18px 22px; color: var(--qr-slate); }
.qr-prose li { margin: 6px 0; }
.qr-callout p { background: #fee2e2; border: 1px solid #fecaca; border-radius: 10px; padding: 14px 18px !important; color: #991b1b; font-weight: 600; }

/* =========================================================
   3. BUTTONS
   ========================================================= */
#page-container .et_pb_button.qr-btn,
#page-container .qr-btn .et_pb_button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--qr-red) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
  font-size: 18px !important; font-weight: 700 !important; line-height: 1.2 !important;
  padding: 16px 32px !important; box-shadow: 0 10px 20px rgba(0,0,0,.15); transition: background .2s, transform .2s;
}
#page-container .et_pb_button.qr-btn:hover { background: var(--qr-red-h) !important; transform: translateY(-1px); }
#page-container .et_pb_button.qr-btn:after { display: none !important; }
#page-container .et_pb_button.qr-btn:before {
  content: "" !important; position: static !important; opacity: 1 !important; margin: 0 !important;
  display: inline-block; width: 20px; height: 20px; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain;
}
#page-container .et_pb_button.qr-btn.qr-noicon:before { display: none !important; }
#page-container .et_pb_button.qr-btn-lg { font-size: 20px !important; padding: 20px 40px !important; }
#page-container .et_pb_button.qr-btn-ghost { background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.3) !important; box-shadow: none; }
#page-container .et_pb_button.qr-btn-ghost:hover { background: rgba(255,255,255,.22) !important; }
#page-container .et_pb_button.qr-btn-navy { background: var(--qr-navy) !important; }
#page-container .et_pb_button.qr-btn-navy:hover { background: var(--qr-navy-d) !important; }
#page-container .et_pb_button.qr-btn-block { width: 100%; }
.qr-btnrow .et_pb_button_module_wrapper { display: inline-block; margin: 0 12px 12px 0; }

/* =========================================================
   4. HEROES (section classes)
   ========================================================= */
.qr-hero { position: relative; display: flex; align-items: center; min-height: 55vh; overflow: hidden; background-size: cover !important; background-position: center !important; }
.qr-hero:before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(to right, rgba(31,79,142,1) 0%, rgba(31,79,142,0) 100%); }
.qr-hero.qr-hero-sub { min-height: 35vh; }
.qr-hero.qr-hero-sub:before { background: linear-gradient(to right, rgba(15,41,77,.82), rgba(15,41,77,.5)); }
.qr-hero > .et_pb_row { position: relative; z-index: 2; width: calc(100% - 64px) !important; padding: 60px 0 !important; }
.qr-hero h1, .qr-hero h2.qr-hero-title, .qr-hero .qr-hero-h h1, .qr-hero .qr-hero-h h2 {
  font-size: clamp(34px, 5vw, 60px) !important; font-weight: 800 !important; color: #fff !important; line-height: 1.1 !important;
  letter-spacing: -.02em; margin: 0; text-shadow: 0 2px 10px rgba(0,0,0,.4); max-width: 900px;
}
.qr-hero-sub h1 { font-size: clamp(34px, 5vw, 58px) !important; max-width: 760px; }
.qr-hero h1 span { color: var(--qr-red-l); }
.qr-hero .qr-hero-p p { font-size: clamp(18px, 2.2vw, 24px); color: #e5e7eb; font-weight: 500; max-width: 640px; }
.qr-hero-sub .qr-hero-p p { font-size: clamp(18px, 2vw, 22px); }
.qr-hero .qr-ticks ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 16px 32px; }
.qr-hero .qr-ticks li { display: flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; font-size: 18px; }
.qr-ticks li:before {
  content: ""; width: 20px; height: 20px; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c72929' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center / contain;
}
.qr-pill p { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: rgba(199,41,41,.2); color: #fff; border: 1px solid rgba(199,41,41,.4); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.qr-pill p:before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--qr-red); }
@media (max-width: 768px) {
  .qr-hero:before, .qr-hero.qr-hero-sub:before { background: linear-gradient(rgba(15,41,77,.72), rgba(15,41,77,.55)); }
  .qr-hero { min-height: auto; }
  .qr-hero > .et_pb_row { padding: 40px 0 !important; }
}

/* Trust bar under home hero */
.qr-trust { border-bottom: 1px solid #eef2f7; }
.qr-trust .qr-trust-text p { font-size: 22px; font-weight: 700; color: var(--qr-navy); line-height: 1.5; max-width: 900px; margin: 0 auto; text-align: center; }
.qr-logos .et_pb_column { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 52px; }
.qr-logos .et_pb_image { margin: 0 !important; width: auto !important; }
.qr-logos .et_pb_image img { height: 88px; width: auto; object-fit: contain; }

/* =========================================================
   5. CARDS & BLURBS
   ========================================================= */
/* Service card: blurb in image mode */
.qr-card { background: #fff; border: 1px solid var(--qr-line); border-radius: 16px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.05); transition: box-shadow .3s, transform .3s, border-color .3s; height: 100%; margin-bottom: 0 !important; }
.qr-card:hover { box-shadow: 0 25px 50px rgba(0,0,0,.15); transform: translateY(-6px); border-color: rgba(31,79,142,.3); }
.qr-card .et_pb_blurb_content { max-width: none !important; display: flex; flex-direction: column; height: 100%; text-align: left; }
.qr-card .et_pb_main_blurb_image { margin: 0 !important; width: 100%; height: 224px; overflow: hidden; }
.qr-card .et_pb_main_blurb_image a, .qr-card .et_pb_image_wrap { display: block; width: 100% !important; max-width: none !important; height: 100%; }
.qr-card .et_pb_main_blurb_image img { width: 100%; height: 224px; object-fit: cover; transition: transform .6s; }
.qr-card:hover .et_pb_main_blurb_image img { transform: scale(1.08); }
.qr-card .et_pb_blurb_container { padding: 32px; display: flex; flex-direction: column; flex: 1; }
.qr-card .et_pb_module_header, .qr-card .et_pb_module_header a { font-size: 22px !important; font-weight: 800; color: var(--qr-navy) !important; padding-bottom: 12px !important; }
.qr-card .et_pb_blurb_description { color: var(--qr-slate); display: flex; flex-direction: column; flex: 1; }
.qr-card .et_pb_blurb_description p:first-child { flex: 1; padding-bottom: 24px; }
.qr-more a, a.qr-more { display: inline-flex; align-items: center; gap: 8px; color: var(--qr-navy) !important; font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.qr-more a:after, a.qr-more:after { content: "\2192"; font-size: 16px; letter-spacing: 0; }
.qr-more a:hover { color: var(--qr-red) !important; }

/* Equal-height grids (rows with make_equal) */
.qr-grid .et_pb_column > .et_pb_module { height: 100%; }
.qr-grid.et_pb_row { display: flex; flex-wrap: wrap; }

/* Icon blurbs — shared icon tile */
.qr-ico .et_pb_main_blurb_image { margin-bottom: 0 !important; width: auto !important; }
.qr-ico .et_pb_image_wrap { width: 48px; height: 48px; border-radius: 10px; background: rgba(31,79,142,.1); display: flex !important; align-items: center; justify-content: center; }
.qr-ico .et-pb-icon { font-size: 22px !important; color: var(--qr-navy) !important; }
.qr-ico .et_pb_blurb_content { display: flex !important; gap: 16px; max-width: none !important; text-align: left; align-items: flex-start; }
.qr-ico .et_pb_main_blurb_image, .qr-ico .et_pb_blurb_container { display: block !important; padding: 0 !important; }
.qr-ico .et_pb_blurb_container { flex: 1; min-width: 0; }
.qr-ico .et_pb_module_header { font-size: 19px !important; font-weight: 700 !important; color: var(--qr-dark) !important; padding-bottom: 6px !important; }
.qr-ico .et_pb_blurb_description, .qr-ico .et_pb_blurb_description p { color: var(--qr-slate); }
.qr-ico.et_pb_blurb { margin-bottom: 24px !important; }
.qr-ico-red .et_pb_image_wrap { background: #fee2e2; } .qr-ico-red .et-pb-icon { color: var(--qr-red) !important; }
.qr-ico-orange .et_pb_image_wrap { background: #fff7ed; } .qr-ico-orange .et-pb-icon { color: #ea580c !important; }
.qr-ico-blue .et_pb_image_wrap { background: #eff6ff; } .qr-ico-blue .et-pb-icon { color: #2563eb !important; }

/* Home "feats" — small white boxes with icon */
.qr-featbox.et_pb_blurb { background: #fff; border: 1px solid #f1f5f9; padding: 16px 20px; border-radius: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.05); margin-bottom: 14px !important; }
.qr-featbox .et_pb_blurb_content { align-items: center; }
.qr-featbox .et_pb_module_header { font-size: 16px !important; color: var(--qr-ink) !important; padding: 0 !important; }

/* Floating badge (over image) */
.qr-imgwrap { position: relative; }
.qr-shadow-img img, .qr-shadow-img .et_pb_image_wrap { border-radius: 14px; }
.qr-shadow-img .et_pb_image_wrap { box-shadow: 0 20px 40px rgba(0,0,0,.18); border: 4px solid #fff; overflow: hidden; }
.qr-float.et_pb_blurb { position: relative; z-index: 3; margin: -110px 0 0 -24px !important; max-width: 260px; background: #fff; border: 1px solid var(--qr-line); border-radius: 12px; box-shadow: 0 16px 32px rgba(0,0,0,.14); padding: 20px; }
.qr-float .et_pb_blurb_content { flex-wrap: wrap; gap: 6px 12px !important; align-items: center !important; }
.qr-float .et_pb_image_wrap { width: auto; height: auto; background: none !important; }
.qr-float .et-pb-icon { font-size: 28px !important; color: var(--qr-red) !important; }
.qr-float .et_pb_module_header { font-size: 18px !important; font-weight: 800 !important; color: var(--qr-ink) !important; padding: 0 !important; }
.qr-float .et_pb_blurb_description p { font-size: 13px; line-height: 1.5; }
/* Home emergency photo */
.qr-photo-xl .et_pb_image_wrap { border-radius: 32px; overflow: hidden; box-shadow: 0 25px 50px rgba(0,0,0,.25); display: block; }
.qr-photo-xl img { width: 100%; height: 500px; object-fit: cover; }
.qr-badge.et_pb_blurb { position: relative; z-index: 3; margin: -64px 32px 0 !important; background: #fff; border-radius: 16px; box-shadow: 0 20px 40px rgba(0,0,0,.15); padding: 24px; border: 1px solid #f1f5f9; }
.qr-badge .et_pb_blurb_content { align-items: center !important; gap: 24px !important; }
.qr-badge .et_pb_image_wrap { width: 64px !important; height: 64px !important; border-radius: 50% !important; background: #fee2e2 !important; }
.qr-badge .et-pb-icon { color: var(--qr-red) !important; font-size: 30px !important; }
.qr-badge .et_pb_module_header { font-size: 20px !important; font-weight: 800 !important; color: var(--qr-ink) !important; padding: 0 !important; }

/* Plain problem cards / mini process cards */
.qr-pcard.et_pb_module { background: #fff; border: 1px solid var(--qr-line); border-radius: 12px; padding: 28px; box-shadow: 0 1px 3px rgba(0,0,0,.05); height: 100%; margin-bottom: 0 !important; }
.qr-pcard h3, .qr-pcard .et_pb_module_header { font-size: 19px !important; font-weight: 700 !important; color: var(--qr-navy) !important; padding-bottom: 10px !important; }
.qr-pcard p { color: var(--qr-slate); }
.qr-pmini.et_pb_module { background: rgba(31,79,142,.05); border: 1px solid rgba(31,79,142,.1); border-radius: 12px; padding: 22px; height: 100%; margin-bottom: 0 !important; }
.qr-pmini h4 { color: var(--qr-navy) !important; font-size: 22px !important; font-weight: 700 !important; padding-bottom: 6px !important; }
.qr-pmini p { font-size: 14px; color: var(--qr-slate); }
.qr-pgrid .et_pb_column { margin-bottom: 16px !important; }

/* Check list (text module holding a UL of <strong>Title</strong><span>text</span>) */
.qr-check ul { list-style: none !important; padding: 0 !important; margin: 24px 0 0; display: flex; flex-direction: column; gap: 16px; }
.qr-check li { position: relative; padding-left: 36px; }
.qr-check li:before {
  content: ""; position: absolute; left: 0; top: 2px; width: 24px; height: 24px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c72929' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center / contain;
}
.qr-check li strong { display: block; color: var(--qr-dark); }
.qr-check li span { color: var(--qr-slate); font-size: 14px; }
.qr-navy .qr-check li strong { color: #fff; }
.qr-navy .qr-check li span { color: rgba(255,255,255,.8); }

/* City-hub service cards (icon top, link footer) */
.qr-scard.et_pb_blurb { background: #fff; border: 1px solid var(--qr-line); border-radius: 12px; padding: 28px; height: 100%; margin-bottom: 0 !important; transition: box-shadow .2s, border-color .2s; }
.qr-scard:hover { box-shadow: 0 10px 25px rgba(0,0,0,.08); border-color: var(--qr-navy); }
.qr-scard .et_pb_blurb_content { max-width: none !important; text-align: left; display: flex; flex-direction: column; height: 100%; }
.qr-scard .et_pb_main_blurb_image { margin: 0 0 20px !important; width: auto !important; text-align: left; }
.qr-scard .et_pb_image_wrap { width: 56px; height: 56px; border-radius: 10px; background: rgba(31,79,142,.1); display: flex !important; align-items: center; justify-content: center; }
.qr-scard .et-pb-icon { font-size: 26px !important; color: var(--qr-navy) !important; }
.qr-scard.qr-red .et_pb_image_wrap { background: rgba(199,41,41,.1); }
.qr-scard.qr-red .et-pb-icon { color: var(--qr-red) !important; }
.qr-scard .et_pb_blurb_container { display: flex; flex-direction: column; flex: 1; }
.qr-scard .et_pb_module_header { font-size: 20px !important; font-weight: 700 !important; color: var(--qr-navy) !important; padding-bottom: 10px !important; }
.qr-scard .et_pb_blurb_description { display: flex; flex-direction: column; flex: 1; color: var(--qr-slate); font-size: 15px; }
.qr-scard .et_pb_blurb_description p:first-child { flex: 1; padding-bottom: 16px; }
.qr-scard .qr-more a { border-top: 1px solid var(--qr-line); padding-top: 14px; width: 100%; text-transform: none; letter-spacing: 0; font-size: 14px; }

/* =========================================================
   6. HOME SECTIONS
   ========================================================= */
/* Process steps */
.qr-steps .et_pb_column { position: relative; }
.qr-step.et_pb_blurb { text-align: center; }
.qr-step .et_pb_blurb_content { max-width: none !important; }
.qr-step .et_pb_main_blurb_image { margin-bottom: 24px !important; }
.qr-step .et_pb_image_wrap { width: 96px; height: 96px; border-radius: 50%; background: #fff; border: 4px solid rgba(255,255,255,.2); display: inline-flex !important; align-items: center; justify-content: center; box-shadow: 0 0 30px rgba(255,255,255,.15); position: relative; z-index: 1; transition: transform .25s, box-shadow .25s, border-color .25s; }
.qr-step .et-pb-icon { font-size: 38px !important; color: var(--qr-navy) !important; }
.qr-step:hover .et_pb_image_wrap { transform: translateY(-6px) scale(1.04); box-shadow: 0 14px 34px rgba(0,0,0,.32); border-color: var(--qr-red); }
.qr-step .et_pb_module_header { color: #fff !important; font-size: 20px !important; font-weight: 700 !important; padding-bottom: 8px !important; }
.qr-step .et_pb_blurb_description p { color: rgba(255,255,255,.8); }
@media (min-width: 981px) {
  .qr-steps .et_pb_column:not(.et-last-child):not(:last-child):after { content: ""; position: absolute; top: 48px; left: calc(50% + 48px); width: calc(100% - 64px); height: 3px; background: rgba(255,255,255,.28); z-index: 0; }
}

/* Cert logo boxes */
.qr-cert.et_pb_image { background: #fff; padding: 24px; border-radius: 12px; border: 1px solid #f1f5f9; box-shadow: 0 2px 10px rgba(0,0,0,.04); height: 160px; display: flex !important; align-items: center; justify-content: center; margin-bottom: 0 !important; }
.qr-cert img { height: 112px !important; width: auto !important; object-fit: contain; }

/* Areas */
.qr-area.et_pb_blurb { border: 1px solid var(--qr-line); border-radius: 8px; padding: 14px 16px; background: #fff; margin-bottom: 16px !important; transition: border-color .2s, box-shadow .2s; }
.qr-area:hover { border-color: var(--qr-navy); box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.qr-area .et_pb_blurb_content { align-items: center !important; gap: 8px !important; }
.qr-area .et_pb_image_wrap { width: auto !important; height: auto !important; background: none !important; }
.qr-area .et-pb-icon { font-size: 18px !important; color: var(--qr-red) !important; }
.qr-area .et_pb_module_header, .qr-area .et_pb_module_header a { font-size: 16px !important; font-weight: 700 !important; color: var(--qr-ink) !important; padding: 0 !important; }
.qr-map { position: relative; height: 400px; border-radius: 16px; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,.15); border: 4px solid #fff; }
.qr-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.qr-mapcard { position: absolute; top: 14px; left: 14px; z-index: 5; background: #fff; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,.18); padding: 12px 16px; max-width: 270px; }
.qr-mapcard strong { display: block; font-size: 15px; font-weight: 800; color: var(--qr-navy); line-height: 1.25; }
.qr-mapcard span { display: block; font-size: 12.5px; color: #64748b; margin-top: 3px; }
.qr-office.et_pb_blurb { margin-top: 18px; background: var(--qr-bg); border: 1px solid var(--qr-line-2); border-radius: 14px; padding: 16px 20px; }
.qr-office .et_pb_blurb_content { align-items: center !important; gap: 14px !important; }
.qr-office .et_pb_image_wrap { width: 46px !important; height: 46px !important; background: #fee2e2 !important; }
.qr-office .et-pb-icon { color: var(--qr-red) !important; font-size: 20px !important; }
.qr-office .et_pb_module_header { font-size: 17px !important; font-weight: 800 !important; color: var(--qr-navy) !important; padding: 0 0 2px !important; }
.qr-office p { font-size: 14px; color: var(--qr-slate); line-height: 1.5; }

/* Testimonials (text modules) */
.qr-tcard.et_pb_text { background: #fff; padding: 32px; border-radius: 16px; border: 1px solid #f1f5f9; box-shadow: 0 1px 3px rgba(0,0,0,.05); height: 100%; margin-bottom: 0 !important; }
.qr-tcard .et_pb_text_inner { display: flex; flex-direction: column; height: 100%; }
.qr-tcard .qr-tc-top { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; padding: 0; }
.qr-tcard .qr-av { width: 64px; height: 64px; border-radius: 50%; background: rgba(31,79,142,.1); color: var(--qr-navy); border: 2px solid var(--qr-navy); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 20px; flex-shrink: 0; }
.qr-tcard h4 { margin: 0; font-size: 20px !important; font-weight: 700 !important; color: var(--qr-dark) !important; }
.qr-tcard .qr-quote { color: var(--qr-slate); flex: 1; padding-bottom: 24px; }
.qr-tcard .qr-stars { color: var(--qr-navy); font-size: 20px; letter-spacing: 2px; line-height: 1; padding: 0; }

/* FAQ accordion */
.qr-faq.et_pb_accordion { max-width: 70%; margin: 0 auto !important; }
.qr-faq .et_pb_toggle { background: #fff !important; border: 1px solid var(--qr-line-2) !important; border-radius: 14px; margin-bottom: 14px !important; padding: 0 !important; overflow: hidden; }
.qr-faq .et_pb_toggle_title, .qr-faq h5.et_pb_toggle_title { padding: 20px 60px 20px 26px !important; font-size: 18px !important; font-weight: 800 !important; color: var(--qr-navy) !important; line-height: 1.4 !important; cursor: pointer; }
.qr-faq .et_pb_toggle_title:before { content: "+" !important; font-family: var(--qr-font) !important; font-size: 26px !important; font-weight: 400 !important; color: var(--qr-red) !important; right: 26px !important; margin-top: -14px !important; transition: transform .2s; }
.qr-faq .et_pb_toggle_open .et_pb_toggle_title:before { transform: rotate(45deg); display: block !important; }
.qr-faq .et_pb_toggle_content { padding: 0 26px 22px !important; font-size: 15px; line-height: 1.6; color: var(--qr-slate); }
@media (max-width: 760px) { .qr-faq.et_pb_accordion { max-width: 100%; } }

/* CTA band */
.qr-cta.et_pb_section { background: var(--qr-navy) !important; padding: 56px 0 !important; }
.qr-cta .et_pb_row { display: flex; align-items: center; gap: 48px; }
.qr-cta h2 { color: #fff !important; font-size: 30px !important; font-weight: 800 !important; line-height: 1.22 !important; margin: 0 0 12px; }
.qr-cta p { color: rgba(255,255,255,.85); font-size: 17px; line-height: 1.6; }
.qr-cta .et_pb_column:last-child { text-align: right; }
.qr-cta-center .et_pb_row { display: block; text-align: center; }
.qr-cta-center h2 { font-size: clamp(34px, 5vw, 60px) !important; }
.qr-cta-center p { font-size: 20px; max-width: 680px; margin: 0 auto; }
.qr-cta-center .et_pb_column:last-child { text-align: center; }

/* =========================================================
   7. SUBPAGE PATTERNS (city hubs, why, contact, leadership)
   ========================================================= */
.qr-why .qr-links a { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.3); border-radius: 8px; padding: 12px 20px; color: #fff !important; font-size: 14px; font-weight: 600; margin: 0 12px 12px 0; }
.qr-whitecard.et_pb_module { background: #fff; color: var(--qr-dark); border-radius: 14px; padding: 32px; box-shadow: 0 16px 32px rgba(0,0,0,.2); }
.qr-whitecard h3 { color: var(--qr-navy) !important; font-size: 24px !important; font-weight: 800 !important; padding-bottom: 14px !important; }
.qr-whitecard p { color: var(--qr-slate) !important; }
.qr-nearbox.et_pb_module { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 16px; padding: 32px; }
.qr-nearbox h2 { color: #fff !important; font-size: 26px !important; margin-bottom: 16px; }
.qr-nearbox ul { list-style: none !important; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.qr-nearbox li a, .qr-nearbox li { color: #fff !important; font-weight: 600; font-size: 15px; }
.qr-nearbox li:before { content: "\25B8"; color: var(--qr-gold); margin-right: 8px; }
.qr-whylist ul { list-style: none !important; padding: 0 !important; display: flex; flex-direction: column; gap: 22px; }
.qr-whylist li { position: relative; padding-left: 46px; }
.qr-whylist li:before { content: "\2713"; position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--qr-gold); color: var(--qr-navy); font-weight: 900; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.qr-whylist li strong { display: block; color: #fff; font-size: 18px; margin-bottom: 4px; }
.qr-whylist li span { color: rgba(255,255,255,.8); font-size: 15px; }

/* Contact box */
.qr-cbox.et_pb_row { max-width: 1000px !important; background: #fff; border: 1px solid var(--qr-line); border-radius: 18px; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,.08); display: flex; }
.qr-cbox .et_pb_column { margin: 0 !important; padding: 36px; }
.qr-cbox .et_pb_column:first-child { background: var(--qr-navy); width: 40% !important; }
.qr-cbox .et_pb_column:last-child { width: 60% !important; }
.qr-cleft h3 { color: #fff !important; font-size: 22px !important; margin-bottom: 24px; }
.qr-cleft ul { list-style: none !important; padding: 0 !important; display: flex; flex-direction: column; gap: 20px; }
.qr-cleft li strong { display: block; color: #fff; }
.qr-cleft li span, .qr-cleft li a { color: rgba(255,255,255,.8) !important; font-size: 14px; }
.qr-form .et_pb_contact_field { margin-bottom: 18px !important; }
.qr-form input.input, .qr-form textarea.input { background: #fff !important; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; padding: 12px 14px !important; font-size: 15px !important; color: var(--qr-dark) !important; }
.qr-form .et_pb_contact_submit { background: var(--qr-red) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; font-weight: 700 !important; padding: 14px 30px !important; width: 100%; }
.qr-form .et_contact_bottom_container { float: none; margin: 0; width: 100%; }
.qr-form .et_pb_contact_submit:after { display: none; }
@media (max-width: 980px) {
  .qr-cbox.et_pb_row { flex-direction: column; }
  .qr-cbox .et_pb_column:first-child, .qr-cbox .et_pb_column:last-child { width: 100% !important; }
}

/* Leadership */
.qr-lbadges ul { list-style: none !important; padding: 26px 0 0 !important; margin-top: 30px; border-top: 1px solid rgba(255,255,255,.22); display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 760px; }
.qr-lbadges li { color: rgba(255,255,255,.92); font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; line-height: 1.3; display: flex; align-items: center; gap: 10px; }
.qr-lbadges li:before { content: "\2605"; color: var(--qr-red); font-size: 20px; }
.qr-leaderphoto img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 18px; border: 4px solid #fff; box-shadow: 0 25px 50px rgba(0,0,0,.2); }
.qr-role p { color: var(--qr-red); font-size: 22px; font-weight: 800; }
.qr-lstat.et_pb_blurb { background: var(--qr-bg); border: 1px solid var(--qr-line-2); border-radius: 10px; padding: 15px 18px; margin-bottom: 16px !important; }
.qr-lstat .et_pb_blurb_content { align-items: center !important; gap: 12px !important; }
.qr-lstat .et_pb_image_wrap { width: auto !important; height: auto !important; background: none !important; }
.qr-lstat .et-pb-icon { color: var(--qr-red) !important; font-size: 22px !important; }
.qr-lstat .et_pb_module_header { font-size: 16px !important; font-weight: 700 !important; color: var(--qr-ink) !important; padding: 0 !important; }
.qr-lcard.et_pb_blurb { background: #fff; border: 1px solid var(--qr-line); border-radius: 16px; padding: 28px; height: 100%; margin-bottom: 0 !important; transition: transform .3s, box-shadow .3s, border-color .3s; }
.qr-lcard:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,0,0,.1); border-color: rgba(199,41,41,.3); }
.qr-lcard .et_pb_blurb_content { max-width: none !important; text-align: left; }
.qr-lcard .et_pb_main_blurb_image { margin: 0 0 18px !important; text-align: left; width: auto !important; }
.qr-lcard .et_pb_image_wrap { width: 58px; height: 58px; border-radius: 14px; background: #eff6ff; display: flex !important; align-items: center; justify-content: center; transition: background .3s; }
.qr-lcard .et-pb-icon { color: var(--qr-navy) !important; font-size: 26px !important; transition: color .3s; }
.qr-lcard:hover .et_pb_image_wrap { background: var(--qr-red); }
.qr-lcard:hover .et-pb-icon { color: #fff !important; }
.qr-lcard .et_pb_module_header { font-size: 19px !important; color: var(--qr-navy) !important; padding-bottom: 10px !important; }
.qr-lcard p { color: var(--qr-slate); font-size: 15px; }
.qr-statcard.et_pb_text { height: 220px; border-radius: 14px; padding: 24px; display: flex; flex-direction: column; justify-content: center; color: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.12); margin-bottom: 16px !important; }
.qr-statcard.qr-s-navy { background: var(--qr-navy); } .qr-statcard.qr-s-red { background: var(--qr-red); }
.qr-statcard h4 { margin: 0 0 8px; font-size: 40px !important; font-weight: 900 !important; color: #fff !important; line-height: 1 !important; }
.qr-statcard p { color: rgba(255,255,255,.9); font-weight: 500; font-size: 14px; }
.qr-tile img { width: 100%; height: 220px; object-fit: cover; border-radius: 14px; box-shadow: 0 10px 24px rgba(0,0,0,.1); }
.qr-tile.et_pb_image { margin-bottom: 16px !important; }
.qr-quote-box.et_pb_text { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25); border-radius: 14px; padding: 18px 20px; margin: -110px 22px 0 !important; position: relative; z-index: 2; }
.qr-quote-box p { color: #fff !important; font-style: italic; font-size: 16px; line-height: 1.5; }
.qr-ce-img img { width: 100%; height: 460px; object-fit: cover; border-radius: 18px; box-shadow: 0 25px 50px rgba(0,0,0,.3); }

/* Blog cards + sidebar */
.qr-blog .et_pb_post { background: #fff; border: 1px solid var(--qr-line); border-radius: 12px; padding: 28px; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.qr-blog .et_pb_post .entry-featured-image-url { margin: -28px -28px 16px; border-radius: 12px 12px 0 0; overflow: hidden; }
.qr-blog .et_pb_post h2 a { color: var(--qr-navy) !important; font-size: 19px; font-weight: 700; }
.qr-side-cta.et_pb_module { background: var(--qr-navy); color: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.qr-side-cta h3 { color: #fff !important; font-size: 22px !important; margin-bottom: 12px; }
.qr-side-cta p, .qr-side-cta li { color: rgba(255,255,255,.88); font-size: 15px; }
.qr-side-box.et_pb_module { background: #fff; border: 1px solid var(--qr-line); border-radius: 16px; padding: 28px; }
.qr-side-box h3 { font-size: 18px !important; color: var(--qr-navy) !important; border-bottom: 1px solid var(--qr-line); padding-bottom: 14px !important; margin-bottom: 16px; }
.qr-side-box ul { list-style: none !important; padding: 0 !important; display: flex; flex-direction: column; gap: 14px; }
.qr-side-box a { color: var(--qr-slate) !important; font-weight: 600; font-size: 15px; }
.qr-side-box a:hover { color: var(--qr-red) !important; }

/* =========================================================
   8. GLOBAL HEADER (Theme Builder)
   ========================================================= */
.qr-header.et_pb_section { background: #fff !important; border-bottom: 1px solid var(--qr-line); box-shadow: 0 1px 3px rgba(0,0,0,.06); padding: 0 !important; transition: background .25s, box-shadow .25s; }
.qr-header .et_pb_row { display: flex; align-items: center; min-height: 120px; }
.qr-header .et_pb_column { margin-bottom: 0 !important; }
.qr-header .qr-hdr-menu-col { flex: 1; }
.qr-header .qr-hdr-cta-col { width: auto !important; flex: 0 0 auto; text-align: right; }
.qr-menu .et_pb_menu__logo img { max-height: 84px; width: auto; }
.qr-menu .et_pb_menu__logo-wrap { flex: 0 0 auto; }
.qr-menu .et_pb_menu__wrap { justify-content: flex-end; }
.qr-menu .et-menu > li { padding-left: 2px !important; padding-right: 2px !important; }
.qr-menu .et-menu > li > a { padding: 10px 13px !important; color: var(--qr-navy) !important; font-weight: 600 !important; font-size: 15px !important; border-radius: 6px; opacity: 1 !important; }
.qr-menu .et-menu > li:hover > a { background: rgba(31,79,142,.08); }
.qr-menu .et-menu > li.menu-item-has-children > a { padding-right: 28px !important; }
.qr-menu .et-menu > li.menu-item-has-children > a:after { right: 10px !important; color: var(--qr-navy); font-size: 14px; }
.qr-menu .nav li ul { border-top: 0 !important; background: #fff !important; border: 1px solid var(--qr-line); border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.14) !important; width: 280px !important; padding: 8px !important; }
.qr-menu .nav li li { padding: 0 !important; width: 100%; }
.qr-menu .nav li li a { width: 100% !important; padding: 10px 12px !important; border-radius: 6px; color: #1f2937 !important; font-size: 14px !important; font-weight: 500 !important; }
.qr-menu .nav li li a:hover { background: var(--qr-navy) !important; color: #fff !important; opacity: 1 !important; }
.qr-hcta p { line-height: 1.2; text-align: right; }
.qr-hcta .qr-hcta-lbl { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--qr-red); display: block; }
.qr-hcta a { font-size: 20px; font-weight: 800; color: var(--qr-navy) !important; }
.qr-header.qr-scrolled { background: var(--qr-navy) !important; box-shadow: 0 2px 14px rgba(0,0,0,.22); border-bottom-color: rgba(255,255,255,.14); }
.qr-header.qr-scrolled .et-menu > li > a, .qr-header.qr-scrolled .et-menu > li > a:after { color: #fff !important; }
.qr-header.qr-scrolled .et-menu > li:hover > a { background: rgba(255,255,255,.16); }
.qr-header.qr-scrolled .qr-hcta .qr-hcta-lbl, .qr-header.qr-scrolled .qr-hcta a { color: #fff !important; }
.qr-header.qr-scrolled .mobile_menu_bar:before { color: #fff !important; }
#et-boc > .et-l:first-child { position: sticky; top: 0; z-index: 99; }
body.admin-bar #et-boc > .et-l:first-child { top: 32px; }
@media (max-width: 782px) { body.admin-bar #et-boc > .et-l:first-child { top: 0; } }
.qr-menu .et_pb_menu__logo img { height: 84px !important; max-height: 84px !important; width: auto !important; }
.qr-menu .et_pb_menu__logo { max-width: none !important; }
.qr-menu .et_pb_menu_inner_container { display: flex; align-items: center; }
.qr-menu .et_pb_menu__wrap { flex: 1; }
.qr-menu .et-menu { flex-wrap: nowrap !important; }
.qr-header .qr-hdr-menu-col { width: auto !important; margin-right: 24px !important; }
.qr-menu .mobile_menu_bar:before { color: var(--qr-navy) !important; font-size: 40px; }
.qr-menu .et_mobile_menu { border-top: 3px solid var(--qr-red) !important; }
.qr-menu .et_mobile_menu li a { color: var(--qr-navy) !important; font-weight: 600; }
@media (max-width: 980px) {
  .qr-header .et_pb_row { min-height: 92px; }
  .qr-header .qr-hdr-cta-col { display: none !important; }
  .qr-menu .et_pb_menu__logo img { max-height: 62px; }
}

/* =========================================================
   9. GLOBAL FOOTER (Theme Builder)
   ========================================================= */
.qr-footer.et_pb_section { background: linear-gradient(rgba(0,0,0,.75), rgba(0,0,0,.75)), url("/wp-content/uploads/2026/09/tucson-skyline-with-a-mountain-at-sunset.jpg") center top / cover no-repeat !important; padding: 64px 0 32px !important; color: #fff; }
.qr-footer, .qr-footer p, .qr-footer li, .qr-footer a { color: #e5e7eb !important; }
.qr-footer h3, .qr-footer h4 { color: #fff !important; font-size: 18px !important; font-weight: 700 !important; margin-bottom: 20px; }
.qr-footer .qr-flogo img { height: 96px; width: auto; }
.qr-footer .qr-fabout p { font-size: 15px; line-height: 1.7; max-width: 420px; }
.qr-footer .qr-badges p { display: flex; flex-wrap: wrap; gap: 10px; }
.qr-footer .qr-badges span { display: inline-flex; align-items: center; border-radius: 999px; background: rgba(255,255,255,.1); padding: 6px 16px; font-size: 13px; font-weight: 500; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); color: #fff; }
.qr-footer ul { list-style: none !important; padding: 0 !important; display: flex; flex-direction: column; gap: 14px; }
.qr-footer ul a { font-size: 14px; }
.qr-footer ul a:hover { color: #fff !important; }
.qr-fcontact ul { gap: 18px; }
.qr-fcontact li { display: flex; gap: 12px; font-size: 14px; }
.qr-fcontact li .qr-fi { width: 20px; flex-shrink: 0; opacity: .9; }
.qr-fcontact .qr-fphone a { font-size: 18px; font-weight: 700; color: #fff !important; }
.qr-footer .et_pb_social_media_follow li a.icon { background: rgba(255,255,255,.1) !important; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.qr-footer .et_pb_social_media_follow li a.icon:hover { background: var(--qr-red) !important; }
.qr-fbottom.et_pb_row { border-top: 1px solid rgba(255,255,255,.2); padding-top: 32px !important; margin-top: 64px !important; display: flex; align-items: center; }
.qr-fbottom p { font-size: 14px; }
.qr-fbottom .et_pb_column:last-child { text-align: right; }
.qr-fbottom .qr-sep { color: rgba(255,255,255,.4); margin: 0 10px; }
@media (max-width: 980px) {
  .qr-fbottom.et_pb_row { flex-direction: column; text-align: center; }
  .qr-fbottom .et_pb_column:last-child { text-align: center; }
}

/* =========================================================
   10. RESPONSIVE GRID HELPERS
   ========================================================= */
@media (max-width: 980px) {
  #page-container .qr-sec { padding: 56px 0; }
  .qr-cta .et_pb_row { flex-direction: column; align-items: flex-start; gap: 24px; }
  .qr-cta .et_pb_column:last-child { text-align: left; }
  .qr-float.et_pb_blurb { margin: -60px 0 0 12px !important; }
  .qr-badge.et_pb_blurb { margin: -40px 0 0 !important; }
  .qr-photo-xl img { height: 380px; }
  .qr-logos .et_pb_column { gap: 32px; }
  .qr-logos .et_pb_image img { height: 72px; }
}
/* =========================================================
   11. FIXES AFTER FIRST RENDER (Divi 5 compat mode)
   ========================================================= */
/* Divi's load-in animations never fire in compat mode — keep images and icons visible */
#page-container .et_pb_main_blurb_image img,
#page-container .et_pb_main_blurb_image .et-pb-icon,
#page-container .et_pb_image.et_animated, #page-container .et_pb_image .et_pb_image_wrap img,
#page-container .et-waypoint.et_pb_animation_top, #page-container .et_pb_animation_top { opacity: 1 !important; animation: none !important; transform: none; }
#page-container .et_pb_text { line-height: 1.6; }
.qr-hero .qr-hero-p p { line-height: 1.55; }
.qr-trust .qr-trust-text h1 { font-size: 22px !important; font-weight: 700 !important; color: var(--qr-navy) !important; line-height: 1.5 !important; max-width: 900px; margin: 0 auto; text-align: center; letter-spacing: 0; }
.qr-featgrid.et_pb_column { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 14px; align-content: start; }
.qr-featgrid > .et_pb_module:not(.qr-featbox) { grid-column: 1 / -1; }
.qr-emerg-img.et_pb_column { padding-top: 54px; }
.qr-areagrid.et_pb_column { display: grid !important; grid-template-columns: repeat(3, 1fr); column-gap: 16px; align-content: center; }
.qr-areagrid > .et_pb_module:not(.qr-area) { grid-column: 1 / -1; }
.et_pb_row.qr-faq { max-width: 940px !important; }
.qr-lead p { line-height: 1.6; }
.qr-center.qr-lead, .qr-lead.qr-maxw { max-width: 780px; margin-left: auto !important; margin-right: auto !important; }
.qr-menu.et_pb_menu, .qr-menu .et_pb_menu_inner_container { background: transparent !important; }
.qr-grad .qr-h2 h2, .qr-navy .qr-h2 h2, .qr-navy .qr-h2-sm h2 { color: #fff !important; }
.qr-step.et_pb_blurb, .qr-step .et_pb_blurb_content, .qr-step .et_pb_module_header, .qr-step .et_pb_blurb_description { text-align: center !important; }
.qr-footer ul.et_pb_social_media_follow { flex-direction: row; gap: 12px; margin-top: 8px; }
.qr-footer ul.et_pb_social_media_follow li { margin: 0 !important; }
.qr-flogo .et_pb_image_wrap { display: inline-block; }
@media (max-width: 767px) {
  .qr-featgrid.et_pb_column, .qr-areagrid.et_pb_column { grid-template-columns: 1fr; }
  .qr-emerg-img.et_pb_column { padding-top: 0; }
}

/* =========================================================
   12. SUBPAGE COMPONENTS (second pass)
   ========================================================= */
/* Vertically centred two-column rows */
.qr-vcenter.et_pb_row { display: flex; align-items: center; flex-wrap: wrap; }
.qr-vcenter .et_pb_column { margin-bottom: 0 !important; }
/* 2x2 grid of mini process cards inside one column */
.qr-pgrid-col.et_pb_column { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; }
.qr-pgrid-col > .et_pb_module { margin: 0 !important; }
/* White card column (Get Immediate Help / Areas) */
.qr-wcard.et_pb_column { background: #fff; border-radius: 16px; padding: 32px !important; box-shadow: 0 20px 40px rgba(0,0,0,.2); }
.qr-wcard h3 { color: var(--qr-navy) !important; font-size: 24px !important; font-weight: 800 !important; padding-bottom: 10px !important; }
.qr-wcard p, .qr-navy .qr-wcard p { color: var(--qr-slate) !important; }
.qr-wcard .et_pb_button_module_wrapper { margin-top: 12px; }
/* Smaller image cards (About services grid) */
.qr-card-sm .et_pb_main_blurb_image, .qr-card-sm .et_pb_main_blurb_image img { height: 170px !important; }
.qr-card-sm .et_pb_blurb_container { padding: 22px !important; }
.qr-card-sm .et_pb_module_header, .qr-card-sm .et_pb_module_header a { font-size: 18px !important; }
.qr-card-sm .et_pb_blurb_description p { font-size: 14px; }
/* Alert problem card */
.qr-pcard.qr-pcard-alert { background: #fef2f2; border-color: #fecaca; border-left: 4px solid var(--qr-red); }
.qr-pcard-alert h3 { color: var(--qr-red) !important; }
.qr-pcard-alert p { color: #7f1d1d; }
/* Quote cards (testimonials on service pages) */
.qr-quotecard.et_pb_text { position: relative; padding-top: 48px; }
.qr-quotecard:before { content: "\201C"; position: absolute; top: 6px; left: 24px; font-size: 64px; line-height: 1; color: var(--qr-red); font-family: Georgia, serif; opacity: .35; }
.qr-quotecard p { font-style: italic; }
.qr-quotecard p strong, .qr-quotecard p:last-child { font-style: normal; color: var(--qr-navy); font-weight: 700; }
/* Contact cards */
.qr-ccard.et_pb_blurb { background: #fff; border: 1px solid var(--qr-line); border-radius: 16px; padding: 34px 26px; text-align: center; height: 100%; box-shadow: 0 1px 3px rgba(0,0,0,.05); margin-bottom: 0 !important; transition: box-shadow .25s, transform .25s; }
.qr-ccard:hover { box-shadow: 0 16px 32px rgba(0,0,0,.1); transform: translateY(-4px); }
.qr-ccard .et_pb_blurb_content, .qr-ccard .et_pb_blurb_container, .qr-ccard .et_pb_module_header, .qr-ccard .et_pb_blurb_description, .qr-ccard p { max-width: none !important; text-align: center !important; }
.qr-ccard .et_pb_blurb_content { display: block !important; }
/* Divi sets overflow-y:hidden on #page-container, which breaks the sticky header */
#page-container { overflow: visible !important; overflow-x: clip !important; }
.qr-ccard .et_pb_main_blurb_image { margin: 0 auto 18px !important; width: auto !important; }
.qr-ccard .et_pb_image_wrap { width: 64px; height: 64px; border-radius: 50%; background: rgba(31,79,142,.1); display: inline-flex !important; align-items: center; justify-content: center; }
.qr-ccard .et-pb-icon { font-size: 26px !important; color: var(--qr-navy) !important; }
.qr-ccard.qr-red .et_pb_image_wrap { background: #fee2e2; } .qr-ccard.qr-red .et-pb-icon { color: var(--qr-red) !important; }
.qr-ccard .et_pb_module_header { font-size: 20px !important; font-weight: 800 !important; color: var(--qr-navy) !important; padding-bottom: 10px !important; }
.qr-ccard p { color: var(--qr-slate); }
.qr-ccard .qr-cbig a { font-size: 24px; font-weight: 900; color: var(--qr-red) !important; }
.qr-ccard .qr-csmall { font-size: 13px; color: #64748b; padding-top: 8px; }
.qr-map.qr-map-lg { height: 480px; }
/* IICRC badge overlapping About image */
.qr-iicrc-badge.et_pb_image { position: relative; z-index: 3; width: 150px !important; margin: -90px 0 0 auto !important; right: -16px; background: #fff; border-radius: 50%; padding: 10px; box-shadow: 0 14px 30px rgba(0,0,0,.18); }
.qr-iicrc-badge img { width: 100%; height: auto; border-radius: 50%; }
/* Bio page */
.qr-bio-photo.et_pb_image, .qr-bio-photo .et_pb_image_wrap { width: 100% !important; max-width: 100% !important; display: block; }
.qr-bio-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.qr-quotecard p:last-child { padding-top: 14px; margin-top: auto; }
.qr-wcard .et_pb_text { margin-bottom: 18px !important; }
#page-container .qr-wcard .et_pb_button.qr-btn { font-size: 16px !important; padding: 15px 18px !important; white-space: nowrap; }
.qr-blog .et_pb_post .post-meta, .qr-blog .et_pb_post .post-meta a { color: var(--qr-red) !important; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.qr-blog .et_pb_post .more-link { display: inline-block; margin-top: 12px; color: var(--qr-navy) !important; font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.qr-blog .et_pb_post .more-link:after { content: " \2192"; }
.qr-blog .et_pb_post .post-content p { color: var(--qr-slate); font-size: 15px; }
.qr-kicker p { display: inline-block; padding: 6px 16px; background: #fee2e2; color: var(--qr-red); font-weight: 800; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; border-radius: 999px; }
/* Certification list on navy */
.qr-celist ul { list-style: none !important; padding: 0 !important; margin-top: 24px; display: flex; flex-direction: column; gap: 20px; }
.qr-celist li { position: relative; padding-left: 44px; }
.qr-celist li:before { content: "\2713"; position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--qr-red); color: #fff; font-weight: 900; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.qr-celist li strong { display: block; color: #fff; font-size: 18px; margin-bottom: 2px; }
.qr-celist li span { color: rgba(255,255,255,.8); font-size: 15px; }
/* Blog hero without photo */
.qr-hero.qr-hero-plain { background: linear-gradient(135deg, #1f4f8e, #0f294d) !important; min-height: 0; }
.qr-hero.qr-hero-plain:before { display: none; }
/* Blog sidebar */
.qr-blogside.et_pb_column { position: sticky; top: 150px; }
.qr-blogside > .et_pb_module { margin-bottom: 24px !important; }
.qr-side-phone a { display: block; text-align: center; background: var(--qr-red); color: #fff !important; font-weight: 800; font-size: 17px; border-radius: 8px; padding: 14px 18px; margin-top: 8px; }
.qr-side-phone a:hover { background: var(--qr-red-h); }
.qr-side-box.qr-side-head { border-radius: 16px 16px 0 0; border-bottom: 0; margin-bottom: 0 !important; padding-bottom: 0; }
.qr-side-head h3 { margin-bottom: 0; }
.qr-side-recent.et_pb_blog_grid_wrapper, .qr-side-recent.et_pb_posts { background: #fff; border: 1px solid var(--qr-line); border-top: 0; border-radius: 0 0 16px 16px; padding: 4px 28px 22px; }
.qr-side-recent .et_pb_post { margin: 0 !important; padding: 10px 0 !important; border-bottom: 1px solid #f1f5f9; background: none; box-shadow: none; }
.qr-side-recent .et_pb_post:last-child { border-bottom: 0; }
.qr-side-recent .entry-title { font-size: 15px !important; line-height: 1.4; padding: 0 !important; }
.qr-side-recent .entry-title a { color: var(--qr-slate) !important; font-weight: 600; }
.qr-side-recent .entry-title a:hover { color: var(--qr-red) !important; }
/* Logo swap when header turns navy */
.qr-header.qr-scrolled .et_pb_menu__logo img { content: url(/wp-content/uploads/2026/09/quality-restoration-logo-silver.png); }
/* Left-aligned icon tiles on cards (Divi centres the wrap with auto margins) */
.qr-scard .et_pb_image_wrap, .qr-lcard .et_pb_image_wrap { margin-left: 0 !important; margin-right: auto !important; }
.qr-fbottom .et_pb_column:last-child .et_pb_text, .qr-fbottom .et_pb_column:last-child p { text-align: right !important; }
@media (max-width: 980px) { .qr-fbottom .et_pb_column:last-child .et_pb_text, .qr-fbottom .et_pb_column:last-child p { text-align: center !important; } }
/* Why-choose list: plain indented items like the source */
.qr-whylist li { padding-left: 34px; }
.qr-whylist li:before { display: none; }
/* Nearby box: larger type + outline map-pin icons */
.qr-nearbox h2 { font-size: clamp(28px, 3vw, 38px) !important; line-height: 1.15 !important; }
.qr-nearbox p { font-size: 17px; color: rgba(255,255,255,.88); }
.qr-nearbox ul { gap: 12px 18px; margin-top: 12px; }
.qr-nearbox li { display: flex; align-items: center; gap: 8px; }
.qr-nearbox li:before { content: ""; width: 16px; height: 16px; flex-shrink: 0; margin: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") no-repeat center / contain; }
/* Footer contact: outline SVG icons instead of text glyphs */
.qr-fcontact li .qr-fi { font-size: 0 !important; width: 20px; height: 20px; flex-shrink: 0; display: inline-block; background: no-repeat center / contain; }
.qr-fcontact li:nth-child(1) .qr-fi { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.qr-fcontact li:nth-child(2) .qr-fi { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.qr-fcontact li:nth-child(3) .qr-fi { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
@media (max-width: 980px) {
  .qr-blogside.et_pb_column { position: static; }
  .qr-iicrc-badge.et_pb_image { width: 110px !important; margin-top: -60px !important; right: 0; }
}
@media (max-width: 767px) {
  .qr-pgrid-col.et_pb_column { grid-template-columns: 1fr; }
  .qr-map.qr-map-lg { height: 360px; }
}

/* =========================================================
   13. SINGLE BLOG POST (Theme Builder body template)
   ========================================================= */
.qr-post-hero.qr-hero { background-color: var(--qr-navy-d); background-size: cover !important; background-position: center !important; }
.qr-post-hero .qr-hero-h h1 { max-width: 760px; }
.qr-postwrap.et_pb_row { max-width: 1160px !important; }
.qr-postbody { color: var(--qr-slate); font-size: 16px; line-height: 1.65; }
.qr-postbody p { font-size: 16px; line-height: 1.65; color: var(--qr-slate); padding-bottom: 16px; }
.qr-postbody h2 { font-size: clamp(24px, 2.6vw, 30px); font-weight: 800; color: var(--qr-dark); line-height: 1.2; margin: 18px 0 6px; padding: 0; }
.qr-postbody h3 { font-size: 22px; font-weight: 500; color: var(--qr-dark); line-height: 1.3; margin: 14px 0 10px; padding: 0; }
.qr-postbody ul, .qr-postbody ol { padding: 0 0 16px 18px !important; list-style-position: outside; }
.qr-postbody ul { list-style-type: disc !important; }
.qr-postbody li { font-size: 14.5px; line-height: 1.55; color: #334155; margin: 0 0 10px; padding: 0; }
.qr-postbody strong { color: var(--qr-ink); font-weight: 700; }
.qr-postbody a { color: var(--qr-red); }
.qr-postbody a:hover { color: var(--qr-red-h); text-decoration: underline; }
.qr-postbody img { width: 100%; height: auto; border-radius: 12px; margin: 28px 0; display: block; }
.qr-post-cta.et_pb_text { margin-top: 40px !important; padding: 28px; background: var(--qr-navy); border-radius: 14px; }
.qr-post-cta h3 { color: #fff !important; font-size: 20px !important; font-weight: 600 !important; margin: 0 0 6px; padding: 0 !important; }
.qr-post-cta p { color: rgba(255,255,255,.85) !important; font-size: 15px; padding-bottom: 18px !important; }
.qr-post-cta a.qr-inline-btn, .qr-side-cta a.qr-inline-btn { display: inline-flex; align-items: center; gap: 10px; background: var(--qr-red); color: #fff !important; font-weight: 700; font-size: 16px; border-radius: 8px; padding: 14px 26px; box-shadow: 0 10px 20px rgba(0,0,0,.18); transition: background .2s, transform .2s; }
.qr-post-cta a.qr-inline-btn:hover, .qr-side-cta a.qr-inline-btn:hover { background: var(--qr-red-h); transform: translateY(-1px); }
.qr-inline-btn:before { content: ""; width: 18px; height: 18px; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain; }
/* Post sidebar */
.qr-postside.et_pb_column { position: sticky; top: 150px; }
.qr-postside > .et_pb_module { margin-bottom: 20px !important; }
.qr-side-cta a.qr-inline-btn { display: flex; justify-content: center; margin: 6px 0 18px; font-size: 15px; }
.qr-side-cta ul.qr-side-ticks { list-style: none !important; padding: 0 !important; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.qr-side-ticks li { display: flex; align-items: center; gap: 8px; font-size: 13px !important; color: rgba(255,255,255,.9) !important; padding: 0; }
.qr-side-ticks li:before { content: ""; width: 14px; height: 14px; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6b6b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center / contain; }
.qr-related ul { gap: 0 !important; }
.qr-related li { border-bottom: 1px solid #f1f5f9; }
.qr-related li:last-child { border-bottom: 0; }
.qr-related li a { display: flex; justify-content: space-between; align-items: center; padding: 11px 0; font-size: 14px !important; color: var(--qr-dark) !important; }
.qr-related li a:after { content: "\2192"; color: var(--qr-slate); font-size: 15px; }
.qr-related li a:hover { color: var(--qr-red) !important; }
/* Estimate section: contact box with form */
.qr-cleft .qr-cl-item { display: flex; gap: 12px; margin-bottom: 20px; }
.qr-cleft .qr-cl-item:before { content: ""; width: 22px; height: 22px; flex-shrink: 0; margin-top: 2px; background: no-repeat center / contain; }
.qr-cleft .qr-cl-time:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E"); }
.qr-cleft .qr-cl-pin:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.qr-cleft .qr-cl-item strong { display: block; color: #fff; font-size: 16px; }
.qr-cleft .qr-cl-item span { display: block; color: rgba(255,255,255,.75); font-size: 13px; }
.qr-form .et_pb_contact_field_options_title, .qr-form label { color: var(--qr-dark); font-weight: 600; font-size: 14px; }
@media (max-width: 980px) {
  .qr-postside.et_pb_column { position: static; }
}
/* Full-width photo modules: stop the inline-block wrapper collapsing around a 100%-wide image */
.qr-leaderphoto.et_pb_image, .qr-leaderphoto .et_pb_image_wrap,
.qr-ce-img.et_pb_image, .qr-ce-img .et_pb_image_wrap,
.qr-tile.et_pb_image, .qr-tile .et_pb_image_wrap,
.qr-photo-xl.et_pb_image, .qr-photo-xl .et_pb_image_wrap,
.qr-shadow-img.et_pb_image, .qr-shadow-img .et_pb_image_wrap { display: block !important; width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
.qr-shadow-img img { width: 100%; height: auto; display: block; }
@media (max-width: 767px) {
  .qr-lbadges ul { grid-template-columns: 1fr; gap: 12px; }
  .qr-hero .qr-ticks li { font-size: 16px; }
}
/* Blog grid cards (Divi blog module, grid layout) */
.qr-blog .et_pb_salvattore_content { display: flex !important; gap: 22px; align-items: flex-start; }
.qr-blog .et_pb_salvattore_content > .column { flex: 1 1 0; width: auto !important; margin: 0 !important; display: flex; flex-direction: column; gap: 22px; }
.qr-blog .et_pb_salvattore_content[data-columns]::before { display: none !important; }
.qr-blog.et_pb_blog_grid_wrapper .et_pb_blog_grid article.et_pb_post,
.qr-blog .et_pb_post { display: flex; flex-direction: column; padding: 0 !important; margin: 0 !important; background: #fff; border: 1px solid var(--qr-line); border-radius: 14px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.05); transition: box-shadow .25s, transform .25s; }
.qr-blog .et_pb_post:hover { box-shadow: 0 18px 36px rgba(0,0,0,.1); transform: translateY(-4px); }
.qr-blog .et_pb_post .et_pb_image_container { order: 0; margin: 0 !important; }
.qr-blog .et_pb_post .entry-featured-image-url { margin: 0 !important; border-radius: 0; display: block; }
.qr-blog .et_pb_post .entry-featured-image-url img { width: 100%; height: 150px; object-fit: cover; display: block; }
.qr-blog .et_pb_post .post-meta { order: 1; margin: 16px 22px 10px !important; padding: 4px 10px !important; background: #e8edf5; border-radius: 999px; font-size: 10px !important; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; color: var(--qr-navy) !important; }
.qr-blog .et_pb_post .post-meta a { color: var(--qr-navy) !important; font-size: 10px !important; }
.qr-blog .et_pb_post .entry-title { order: 2; margin: 0 22px 8px !important; padding: 0 !important; font-size: 17px !important; line-height: 1.3 !important; font-weight: 700; }
.qr-blog .et_pb_post .entry-title a { color: var(--qr-navy) !important; font-size: 17px !important; }
.qr-blog .et_pb_post .post-content { order: 3; margin: 0 22px 22px; display: flex; flex-direction: column; flex: 1; }
.qr-blog .et_pb_post .post-content-inner { flex: 1; }
.qr-blog .et_pb_post .post-content p { color: var(--qr-slate); font-size: 14px; line-height: 1.55; padding-bottom: 16px; }
.qr-blog .et_pb_post .more-link { display: block; border-top: 1px solid var(--qr-line); padding-top: 14px; margin-top: auto; color: var(--qr-navy) !important; font-weight: 700; font-size: 13.5px; text-transform: none; letter-spacing: 0; }
.qr-blog .et_pb_post .more-link:after { content: " \2192"; }
.qr-blog .et_pb_post .more-link:hover { color: var(--qr-red) !important; }
.qr-blog .et_pb_post .post-content p .more-link { margin-top: 0; }
/* Blog sidebar lists */
.qr-side-box ul.qr-sidelist { gap: 0 !important; }
.qr-sidelist li { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid #f1f5f9; font-size: 14px; }
.qr-sidelist li:last-child { border-bottom: 0; }
.qr-sidelist li a { color: var(--qr-dark) !important; font-weight: 600; font-size: 14px !important; line-height: 1.35; }
.qr-sidelist li a:hover { color: var(--qr-red) !important; }
.qr-sidelist .qr-count { color: var(--qr-slate); font-size: 11px; font-weight: 600; flex-shrink: 0; }
.qr-blogmain .qr-h2-sm, .qr-blogmain .qr-lead { max-width: none; }
@media (max-width: 767px) {
  .qr-blog .et_pb_salvattore_content { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .qr-card, .qr-card img, .qr-lcard, .qr-step .et_pb_image_wrap, .et_pb_button.qr-btn { transition: none !important; }
}
