/* ============================================================
   DiamondBack Advertising: platform base.
   global.css = this file + the live design system (kit 14 custom CSS: dbns block + LIGHT theme, verbatim)
   + the live header (.dbnav) and footer (.dbft) styles + extras.css. Assembled by tools/build-css.sh.
   Tokens: red #ee223c is the only accent, ink #09090f, paper #f4f4f6. Fonts self-hosted.
   ============================================================ */
@font-face { font-family: 'Plus Jakarta Sans'; src: url('/fonts/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2'); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/fonts/inter-latin-wght-normal.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }

:root {
  --dba-red: #ee223c; --dba-red-deep: #c1282d; --dba-black: #09090f; --dba-ink-900: #101118; --dba-ink-800: #191a27;
  --dba-ink-700: #24242a; --dba-ink-600: #2b2c42; --dba-grey: #94979e; --dba-paper: #f4f4f6; --dba-rule: #e2e2e8;
  --dba-soft: #4a4c55; --dba-faint: #7a7d87;
  --dba-display: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --dba-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Hello Elementor reset, the parts the content relies on */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
*, :after, :before { box-sizing: border-box; }
body { margin: 0; font-family: var(--dba-body); font-size: 1rem; font-weight: 400; line-height: 1.5; color: #101118; background: #fff; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { margin-block-start: .5rem; margin-block-end: 1rem; font-family: inherit; font-weight: 500; line-height: 1.2; color: inherit; }
h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3 { font-size: 1.75rem; } h4 { font-size: 1.5rem; } h5 { font-size: 1.25rem; } h6 { font-size: 1rem; }
p { margin-block-start: 0; margin-block-end: .9rem; }
a { background-color: transparent; text-decoration: none; color: #c36; }
a:active, a:hover { color: #336; }
b, strong { font-weight: bolder; }
img { border-style: none; height: auto; max-width: 100%; }
details { display: block; } summary { display: list-item; }
figcaption { font-size: 16px; color: #333; line-height: 1.4; font-style: italic; font-weight: 400; }
[hidden], template { display: none !important; }
.page-content a { text-decoration: underline; }

/* Hello Elementor: Gutenberg pages are boxed, Elementor pages are full width */
.site-main { margin-inline: auto; width: 100%; }
body:not([class*='elementor-page-']) .site-main { padding-inline: 10px; }
@media (min-width: 576px) { body:not([class*='elementor-page-']) .site-main { max-width: 500px; padding-inline: 0; } }
@media (min-width: 768px) { body:not([class*='elementor-page-']) .site-main { max-width: 600px; } }
@media (min-width: 992px) { body:not([class*='elementor-page-']) .site-main { max-width: 800px; } }
@media (min-width: 1200px) { body:not([class*='elementor-page-']) .site-main { max-width: 1140px; } }
.page-header { display: none; }

/* Elementor containers the content still uses */
.e-con-boxed { padding: 10px; }
.e-con-boxed > .e-con-inner { max-width: 1280px; margin: 0 auto; }
.elementor-widget:not(:last-child) { margin-block-end: 20px; }

/* ===== live header (template 67) + footer (template 65) styles, verbatim; the kit's LIGHT block below overrides them ===== */
.dbnav-spacer { height: 76px; }
.dbnav { position: fixed; top: 0; left: 0; right: 0; z-index: 990; background: rgba(9,9,15,.94); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid #191a27; font-family: 'Inter', sans-serif; }
body.admin-bar .dbnav { top: 32px; }
.dbnav * { box-sizing: border-box; }
.dbnav a { text-decoration: none; }
.dbnav .in { max-width: 1440px; margin: 0 auto; padding: 0 28px; height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.dbnav .logo img { width: 186px; height: 40px; object-fit: contain; display: block; }
.dbnav .logo img.on-light { display: none; }
.dbnav .links { display: flex; align-items: center; gap: 20px; list-style: none; margin: 0; padding: 0; flex-wrap: nowrap; }
.dbnav .links > li { position: relative; }
.dbnav .links > li > a { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 1.3px; text-transform: uppercase; color: #94979e; transition: color .15s; display: inline-block; padding: 27px 0; white-space: nowrap; }
.dbnav .links > li > a:hover, .dbnav .links > li:hover > a, .dbnav .links > li:focus-within > a { color: #fff; }
.dbnav .links > li > a .car { font-size: 9px; color: #ee223c; margin-left: 5px; vertical-align: 1px; }
.dbnav .drop { position: absolute; top: 100%; left: -18px; min-width: 300px; background: #101118; border: 1px solid #191a27; border-top: 2px solid #ee223c; padding: 10px 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .15s, transform .15s, visibility .15s; list-style: none; margin: 0; }
.dbnav .links > li:hover > .drop, .dbnav .links > li:focus-within > .drop { opacity: 1; visibility: visible; transform: none; }
.dbnav .drop a { display: block; padding: 9px 20px; font-size: 13.5px; color: #94979e; transition: color .15s, background .15s; }
.dbnav .drop a:hover { color: #fff; background: #191a27; }
.dbnav .cta { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase; background: #ee223c; color: #fff !important; border-radius: 30px; padding: 12px 24px; white-space: nowrap; transition: background .15s; }
.dbnav .cta:hover { background: #c1282d; }
.dbnav .login { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; border: 1px solid #2b2c42; color: #fff !important; border-radius: 30px; padding: 10px 18px; white-space: nowrap; transition: border-color .15s; }
.dbnav .login:hover { border-color: #ee223c; }
.dbnav .burger { display: none; }
.dbnav input#dbnav-t { display: none; }
@media (max-width: 1180px) {
  .dbnav .links, .dbnav .desk-cta { display: none; }
  .dbnav .burger { display: flex; flex-direction: column; gap: 5px; cursor: pointer; padding: 10px; }
  .dbnav .burger span { width: 24px; height: 2px; background: #fff; transition: transform .2s, opacity .2s; }
  .dbnav input#dbnav-t:checked ~ .in .burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .dbnav input#dbnav-t:checked ~ .in .burger span:nth-child(2) { opacity: 0; }
  .dbnav input#dbnav-t:checked ~ .in .burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .dbnav .mob { display: none; background: #09090f; border-top: 1px solid #191a27; max-height: calc(100vh - 76px); overflow-y: auto; padding: 12px 28px 28px; }
  .dbnav input#dbnav-t:checked ~ .mob { display: block; }
  .dbnav .mob a { display: block; padding: 11px 0; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: #fff; border-bottom: 1px solid #191a27; }
  .dbnav .mob a.sub { font-family: 'Inter', sans-serif; font-weight: 400; text-transform: none; letter-spacing: 0; color: #94979e; padding-left: 16px; font-size: 13.5px; }
  .dbnav .mob .cta { display: inline-block; margin-top: 18px; border-bottom: 0; }
}
@media (min-width: 1181px) { .dbnav .mob { display: none !important; } }
.dbft { --red:#ee223c; --ink9:#101118; --ink8:#191a27; --ink6:#2b2c42; --grey:#94979e; font-family:'Inter',sans-serif; font-size:14px; color:var(--grey); line-height:1.6; }
.dbft * { box-sizing:border-box; }
.dbft a { color:var(--grey); text-decoration:none; transition:color .15s; }
.dbft a:hover { color:#fff; }
.dbft .wrap { max-width:1180px; margin:0 auto; padding:0 28px; }
.dbft .cols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:44px; padding:64px 0 48px; }
.dbft h4 { font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#fff; margin:0 0 16px; }
.dbft ul { list-style:none; margin:0; padding:0; }
.dbft li { margin-bottom:9px; }
.dbft .brand img { width:200px; height:auto; display:block; margin-bottom:18px; }
.dbft .brand p { margin:0 0 20px; max-width:26em; }
.dbft .soc { display:flex; gap:10px; }
.dbft .soc a { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid var(--ink8); border-radius:50%; color:#fff; font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:700; }
.dbft .soc a:hover { border-color:var(--red); color:var(--red); }
.dbft .nap a { color:#fff; }
.dbft .nap a:hover { color:var(--red); }
.dbft .nap li { margin-bottom:11px; }
.dbft .cta { font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; background:var(--red); color:#fff !important; border-radius:30px; padding:12px 24px; display:inline-block; margin-top:6px; }
.dbft .cta:hover { background:#c1282d; }
.dbft .cities { border-top:1px solid var(--ink8); padding:22px 0; font-family:'Plus Jakarta Sans',sans-serif; font-size:12.5px; font-weight:600; line-height:2; }
.dbft .cities b { color:#fff; letter-spacing:1.5px; text-transform:uppercase; font-size:11px; margin-right:10px; }
.dbft .cities span { color:var(--ink6); padding:0 4px; }
.dbft .base { border-top:1px solid var(--ink8); padding:24px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:12.5px; }
.dbft .base .j314 { color:#fff; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; letter-spacing:1.5px; }
.dbft .base .j314 img { height:14px; vertical-align:-2px; margin-left:6px; }
.dbft .base .legal a { margin-left:18px; }
@media (max-width:900px){ .dbft .cols { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .dbft .cols { grid-template-columns:1fr; } }

/* ============================================================
   LIVE DESIGN SYSTEM (Elementor kit 14 custom CSS, diamondbackadvertising.com, 2026-10-30), verbatim.
   Do not edit here: re-run tools/build-css.sh after changing wp-export/kit14.css.
   ============================================================ */
/* dbns consolidated 2026-08-19 */
.dbns { --red:#ee223c; --redd:#c1282d; --black:#09090f; --ink9:#101118; --ink8:#191a27; --ink7:#24242a; --ink6:#2b2c42; --grey:#94979e; --white:#fff; --paper:#fff; --palt:#f6f6f8; --prule:#e2e2e8; --pink:#101118; --psoft:#55575f; --pfaint:#8b8d96; --disp:'Plus Jakarta Sans',sans-serif; --body:'Inter',sans-serif; }
.dbns { background: var(--black); color: var(--grey); font-family: var(--body); font-size: 16px; line-height: 1.55; }
.dbns * { box-sizing: border-box; }
.dbns .wrap { max-width: 1120px; margin: 0 auto; padding: 0 28px; }
.dbns a { text-decoration: none; }
.dbns h1, .dbns h2, .dbns h3 { font-family: var(--disp) !important; margin: 0; }
.dbns .kick { font-family: var(--disp); font-size: 12px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--red); }
.dbns .btn { font-family: var(--disp); font-weight: 600; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; background: var(--red); color: #fff !important; border-radius: 30px; padding: 15px 30px; display: inline-block; transition: background .15s; }
.dbns .btn:hover { background: var(--redd); }
.dbns .btn.ghost { background: transparent; border: 1px solid var(--ink6); color: var(--white) !important; }
.dbns .btn.ghost:hover { border-color: var(--red); }
.dbns .hero { padding: 96px 0 84px; }
.dbns .hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: center; }
.dbns .hero h1 { color: #fff !important; font-size: clamp(38px, 5vw, 56px); font-weight: 700; line-height: 1.04; letter-spacing: -1.5px; margin: 22px 0 24px; }
.dbns .hero h1 em { font-style: normal; color: var(--red); }
.dbns .hero p { font-size: 18px; max-width: 36em; margin: 0 0 32px; }
.dbns .hero .sub { font-size: 13.5px; color: var(--pfaint); margin-top: 14px; }
.dbns .hero .sub a { color: #fff; }
.dbns .score-card { background: var(--ink9); border: 1px solid var(--ink8); padding: 34px 30px; }
.dbns .score-row { margin-top: 26px; }
.dbns .score-label { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--disp); font-size: 13px; font-weight: 600; color: #fff; margin-bottom: 8px; }
.dbns .score-label .num { font-size: 22px; font-weight: 700; }
.dbns .track { height: 10px; background: var(--ink7); overflow: hidden; }
.dbns .fill { height: 100%; background: var(--red); }
.dbns .score-note { margin: 22px 0 0; font-size: 13px; }
.dbns .score-note strong { color: #fff; }
.dbns .stats { background: var(--ink9); border-top: 1px solid var(--ink8); border-bottom: 1px solid var(--ink8); }
.dbns .stats-in { display: grid; grid-template-columns: repeat(4, 1fr); }
.dbns .stat { padding: 38px 26px; border-left: 1px solid var(--ink8); }
.dbns .stat:first-child { border-left: 0; }
.dbns .stat .n { font-family: var(--disp); font-size: 38px; font-weight: 700; color: var(--red); letter-spacing: -1px; }
.dbns .stat .l { font-size: 12.5px; margin-top: 6px; }
.dbns .band { padding: 92px 0; }
.dbns .band.paper { background: var(--paper); color: var(--psoft); }
.dbns .band.paper h2 { color: var(--pink) !important; }
.dbns .band h2 { color: #fff !important; font-size: clamp(30px, 3.6vw, 38px); font-weight: 700; letter-spacing: -.5px; line-height: 1.15; margin: 14px 0 18px; }
.dbns .band .lede { font-size: 17px; max-width: 38em; margin: 0; }
.dbns .ladder { margin-top: 44px; border-top: 1px solid var(--prule); }
.dbns .rung { display: grid; grid-template-columns: 64px 1.25fr .8fr 1.6fr; gap: 22px; padding: 24px 0; border-bottom: 1px solid var(--prule); align-items: baseline; }
.dbns .rung.pop { background: var(--palt); margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
.dbns .r-num { font-family: var(--disp); font-size: 26px; font-weight: 700; color: var(--red); }
.dbns .r-name { font-family: var(--disp); font-size: 19px; font-weight: 700; color: var(--pink); }
.dbns .r-name small { display: block; font-family: var(--body); font-size: 13px; font-weight: 400; color: var(--pfaint); margin-top: 3px; }
.dbns .chip { display: inline-block; background: var(--red); color: #fff; font-family: var(--disp); font-size: 10px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; padding: 4px 10px; border-radius: 30px; margin-left: 8px; vertical-align: 2px; }
.dbns .r-price { font-family: var(--disp); font-size: 19px; font-weight: 700; color: var(--pink); }
.dbns .r-price small { display: block; font-family: var(--body); font-size: 12px; font-weight: 400; color: var(--pfaint); margin-top: 3px; }
.dbns .r-desc { font-size: 14px; }
.dbns .r-desc i { display: block; color: var(--pfaint); margin-top: 4px; }
.dbns .lane2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 30px; }
.dbns .lane { background: var(--palt); border-left: 3px solid var(--red); padding: 18px 20px; font-size: 13.5px; }
.dbns .lane strong { color: var(--pink); }
.dbns .svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
.dbns .svc { background: var(--ink9); border: 1px solid var(--ink8); border-top: 3px solid var(--ink8); padding: 28px 26px; transition: border-color .15s; display: block; }
.dbns .svc:hover { border-top-color: var(--red); }
.dbns .svc h3 { color: #fff !important; font-size: 18px; font-weight: 600; margin: 0 0 10px; }
.dbns .svc p { font-size: 14px; margin: 0; color: var(--grey); }
.dbns .checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
.dbns .chk { border: 1px solid var(--prule); border-top: 3px solid var(--red); padding: 26px 24px; background: #fff; }
.dbns .chk h3 { color: var(--pink) !important; font-size: 16.5px; font-weight: 600; margin: 0 0 8px; }
.dbns .chk p { font-size: 13.5px; margin: 0; }
.dbns .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
.dbns .step { background: var(--ink9); border: 1px solid var(--ink8); padding: 30px 26px; }
.dbns .step .n { font-family: var(--disp); font-size: 34px; font-weight: 700; color: var(--red); }
.dbns .step h3 { color: #fff !important; font-size: 17px; font-weight: 600; margin: 10px 0 8px; }
.dbns .step p { font-size: 14px; margin: 0; }
.dbns .honest { background: var(--palt); border-left: 3px solid var(--red); padding: 20px 24px; margin-top: 40px; font-size: 14.5px; }
.dbns .honest strong { color: var(--pink); }
.dbns .faq { margin-top: 34px; border-top: 1px solid var(--prule); }
.dbns .faq details { border-bottom: 1px solid var(--prule); }
.dbns .faq summary { font-family: var(--disp); font-size: 16.5px; font-weight: 600; color: var(--pink); padding: 20px 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.dbns .faq summary::after { content: "+"; color: var(--red); font-size: 22px; font-weight: 400; flex-shrink: 0; }
.dbns .faq details[open] summary::after { content: "\2212"; }
.dbns .faq details .a { margin: 0 0 20px; font-size: 14.5px; max-width: 56em; }
.dbns .faq details .a p { margin: 0 0 10px; }
.dbns .cta-band { padding: 110px 0; }
.dbns .cta-band h2 { color: #fff !important; font-size: clamp(32px, 4.4vw, 48px); font-weight: 700; letter-spacing: -1px; line-height: 1.08; }
.dbns .cta-band h2 em { font-style: normal; color: var(--red); display: block; }
.dbns .cta-band p { margin: 20px 0 36px; max-width: 36em; font-size: 17px; }
.dbns .team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 44px; }
.dbns .tm { border: 1px solid var(--prule); padding: 26px 22px; text-align: center; background: #fff; }
.dbns .tm img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin: 0 auto 16px; display: block; filter: grayscale(1); }
.dbns .tm h3 { color: var(--pink) !important; font-size: 16.5px; font-weight: 700; margin: 0 0 4px; }
.dbns .tm p { font-size: 12.5px; margin: 0; color: var(--pfaint); }
.dbns .pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.dbns .pill { font-family: var(--disp); font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; border: 1px solid var(--ink6); color: #fff; border-radius: 30px; padding: 9px 18px; transition: border-color .15s; }
.dbns .pill:hover { border-color: var(--red); }
.dbns .cgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
.dbns .ccard { background: var(--ink9); border: 1px solid var(--ink8); padding: 30px 26px; display: block; transition: border-color .15s; }
.dbns .ccard:hover { border-color: var(--red); }
.dbns .ccard h3 { color: #fff !important; font-size: 17px; font-weight: 600; margin: 0 0 8px; }
.dbns .ccard p { font-size: 14px; margin: 0; }
.dbns .ccard .big { color: var(--red); font-family: var(--disp); font-size: 20px; font-weight: 700; }
.dbns .formbox { background: #fff; border: 1px solid var(--prule); border-top: 3px solid var(--red); padding: 38px 34px; margin-top: 44px; max-width: 760px; }
.dbns .two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 44px; }
.dbns .vcard { border: 1px solid var(--prule); border-top: 3px solid var(--red); background: #fff; padding: 30px 28px; }
.dbns .vcard h3 { color: var(--pink) !important; font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.dbns .vcard p { font-size: 14.5px; margin: 0; }
@media (max-width: 900px) {
  .dbns .hero-grid, .dbns .lane2, .dbns .two { grid-template-columns: 1fr; }
  .dbns .stats-in { grid-template-columns: 1fr 1fr; }
  .dbns .svc-grid, .dbns .checks, .dbns .steps, .dbns .cgrid { grid-template-columns: 1fr; }
  .dbns .team { grid-template-columns: 1fr 1fr; }
  .dbns .rung { grid-template-columns: 40px 1fr; }
  .dbns .rung .r-desc { grid-column: 2; }
}

/* home extras */
.dbns .hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; }
.dbns .case-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 44px; }
.dbns .case { border: 1px solid var(--prule); padding: 30px 28px; background:#fff; }
.dbns .case .n { font-family: var(--disp); font-size: 46px; font-weight: 700; color: var(--red); letter-spacing: -1.5px; }
.dbns .case h3 { color: var(--pink) !important; font-size: 17px; font-weight: 600; margin: 8px 0 10px; }
.dbns .case p { font-size: 14px; margin: 0; }
.dbns .cities { margin: 36px 0 0; font-family: var(--disp); font-size: 14px; font-weight: 600; line-height: 2.2; max-width: 56em; }
.dbns .cities b { color: #fff; }
.dbns .cities span { color: var(--ink6); padding: 0 6px; }
.dbns .reveal { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.dbns .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .dbns .reveal { opacity: 1; transform: none; transition: none; } }
@media (max-width: 900px) { .dbns .case-grid { grid-template-columns: 1fr; } }
/* a11y */
.dbns a:focus-visible, .dbnav a:focus-visible, .dbft a:focus-visible, .dbps a:focus-visible, .dbsa a:focus-visible { outline: 2px solid #ee223c; outline-offset: 3px; border-radius: 2px; }
.dbnav .burger:focus-visible { outline: 2px solid #ee223c; outline-offset: 3px; }
.dba-skip { position:absolute; left:-9999px; top:0; z-index:9999; background:#ee223c; color:#fff; padding:12px 20px; font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:600; }
.dba-skip:focus { left:0; }


/* consistency pass 2026-08-19b */
/* 1. Full-bleed bands on Gutenberg-built pages (.dbps industries/case studies, .dbsa hub) */
body { overflow-x: hidden; }
.site-main .dbps .hero, .site-main .dbps .band, .site-main .dbsa .hero, .site-main .dbsa .band {
  width: 100vw; position: relative; left: 50%; transform: translateX(-50%);
}
.site-main .dbps, .site-main .dbsa { background: #09090f; }
/* neutralize theme content padding around our custom-HTML pages */
.site-main .dbps, .site-main .dbsa { margin-top: 0; }

/* 2. Blog grid (better-blog widget) — homepage card language */
.better-blog.style-1 { margin: 0 -10px; }
.better-blog.style-1 [class*="col-"] { padding: 10px; }
.better-blog .blog-col-inner { background: #101118; border: 1px solid #191a27; border-top: 3px solid #191a27;
  transition: border-color .15s; height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.better-blog .blog-col-inner:hover { border-top-color: #ee223c; }
.better-blog .blog-link-img { aspect-ratio: 16/9; overflow: hidden; background: #191a27; }
.better-blog .blog-link-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.better-blog .excerpt-box { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.better-blog .excerpt-box h3 { font-family: 'Plus Jakarta Sans', sans-serif !important; color: #fff !important;
  font-size: 16.5px; font-weight: 600; line-height: 1.35; letter-spacing: -.2px; margin: 0 0 10px; }
.better-blog .excerpt-box a:hover h3 { color: #ee223c !important; }
.better-blog .excerpt { color: #94979e !important; font-family: 'Inter', sans-serif; font-size: 13.5px; line-height: 1.55; margin: 0 0 16px; }
.better-blog .content-btn { margin-top: auto; align-self: flex-start; font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11.5px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #ee223c !important;
  background: none !important; border: 0 !important; padding: 0 !important; }
.better-blog .content-btn:hover { color: #fff !important; }

/* 3. Archive template posts (elementor-posts) — same card language */
.elementor-posts .elementor-post { background: #fff; border: 1px solid #e2e2e8; border-top: 3px solid #e2e2e8; transition: border-color .15s; }
.elementor-posts .elementor-post:hover { border-top-color: #ee223c; }
.elementor-posts .elementor-post__title, .elementor-posts .elementor-post__title a { font-family: 'Plus Jakarta Sans', sans-serif !important; color: #101118 !important; font-weight: 600 !important; letter-spacing: -.2px; }
.elementor-posts .elementor-post__title a:hover { color: #ee223c !important; }
.elementor-posts .elementor-post__excerpt p { color: #55575f; font-family: 'Inter', sans-serif; font-size: 14px; }
.elementor-posts .elementor-post__read-more { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #ee223c !important; }
.elementor-posts .elementor-post__text { padding: 6px 20px 20px; }
.elementor-posts .elementor-post__thumbnail__link { overflow: hidden; }

/* hide theme-printed title on Gutenberg-built pages */
.page .page-header { display: none; }

/* free tools UI */
.dbtool { background:#fff; border:1px solid #e2e2e8; border-top:3px solid #ee223c; padding:34px 32px; max-width:760px; }
.dbtool label { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:#55575f; margin:18px 0 6px; }
.dbtool label:first-child { margin-top:0; }
.dbtool input, .dbtool select { width:100%; box-sizing:border-box; background:#fff; border:1px solid #c9c9d2; border-radius:0; padding:13px 14px; font-family:'Inter',sans-serif; font-size:15px; color:#101118; }
.dbtool input:focus, .dbtool select:focus { border-color:#ee223c; outline:none; }
.dbtool .row2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.dbtool .go { margin-top:24px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:13px; letter-spacing:2px; text-transform:uppercase; background:#ee223c; color:#fff; border:0; border-radius:30px; padding:15px 30px; cursor:pointer; transition:background .15s; }
.dbtool .go:hover { background:#c1282d; }
.dbtool .res { margin-top:28px; border-top:1px solid #e2e2e8; padding-top:22px; display:none; }
.dbtool .res.show { display:block; }
.dbtool .bignum { font-family:'Plus Jakarta Sans',sans-serif; font-size:44px; font-weight:700; color:#ee223c; letter-spacing:-1px; line-height:1; }
.dbtool .stat-row { display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid #eeeef2; font-size:14.5px; color:#55575f; }
.dbtool .stat-row b { color:#101118; font-family:'Plus Jakarta Sans',sans-serif; }
.dbtool .note { font-size:12.5px; color:#8b8d96; margin-top:16px; line-height:1.55; }
.dbtool .prompt { background:#f6f6f8; border-left:3px solid #ee223c; padding:14px 16px; margin:12px 0; font-size:14px; color:#101118; position:relative; }
.dbtool .prompt .acts { margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
.dbtool .prompt .acts a, .dbtool .prompt .acts button { font-family:'Plus Jakarta Sans',sans-serif; font-size:10.5px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; border:1px solid #c9c9d2; background:#fff; color:#55575f; border-radius:30px; padding:7px 14px; cursor:pointer; text-decoration:none; transition:all .15s; }
.dbtool .prompt .acts a:hover, .dbtool .prompt .acts button:hover { border-color:#ee223c; color:#ee223c; }
.dbtool .quiz-q { padding:16px 0; border-bottom:1px solid #eeeef2; }
.dbtool .quiz-q p { margin:0 0 10px; font-size:15px; color:#101118; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; }
.dbtool .quiz-q small { display:block; color:#8b8d96; font-size:12.5px; margin:-6px 0 10px; }
.dbtool .yn { display:flex; gap:10px; }
.dbtool .yn button { font-family:'Plus Jakarta Sans',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; border:1px solid #c9c9d2; background:#fff; color:#55575f; border-radius:30px; padding:8px 20px; cursor:pointer; }
.dbtool .yn button.sel-yes { background:#101118; border-color:#101118; color:#fff; }
.dbtool .yn button.sel-no { background:#ee223c; border-color:#ee223c; color:#fff; }
.dbtool .meter { height:10px; background:#eeeef2; margin:14px 0 6px; }
.dbtool .meter i { display:block; height:100%; background:#ee223c; transition:width .4s; }
@media (max-width:640px){ .dbtool .row2 { grid-template-columns:1fr; } .dbtool { padding:24px 20px; } }
.dbns .tool-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
@media (max-width:900px){ .dbns .tool-grid { grid-template-columns:1fr; } }

/* tool page layout: tool + proof panel */
.dbns .tool-2col { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:26px; align-items:start; margin-top:26px; }
.dbtool { max-width:none; }
.dbproof { background:#101118; border:1px solid #191a27; border-top:3px solid #ee223c; padding:28px 26px; position:sticky; top:96px; }
.dbproof .pk { font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#ee223c; margin-bottom:16px; }
.dbproof svg { width:100%; height:auto; display:block; margin-bottom:16px; }
.dbproof .ph { font-family:'Plus Jakarta Sans',sans-serif; color:#fff; font-size:17px; font-weight:700; letter-spacing:-.2px; margin:0 0 8px; }
.dbproof p { color:#94979e; font-family:'Inter',sans-serif; font-size:13.5px; line-height:1.55; margin:0 0 16px; }
.dbproof .pstats { border-top:1px solid #191a27; margin-bottom:18px; }
.dbproof .pstat { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid #191a27; font-size:12.5px; color:#94979e; }
.dbproof .pstat b { color:#fff; font-family:'Plus Jakarta Sans',sans-serif; }
.dbproof .book { display:block; text-align:center; font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; background:#ee223c; color:#fff !important; border-radius:30px; padding:14px 22px; text-decoration:none; transition:background .15s; }
.dbproof .book:hover { background:#c1282d; }
.dbproof .more { display:block; text-align:center; margin-top:12px; font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:#94979e !important; text-decoration:none; }
.dbproof .more:hover { color:#fff !important; }
@media (max-width:1000px){ .dbns .tool-2col { grid-template-columns:1fr; } .dbproof { position:static; } }

/* dbtool dark inputs (consistent) */
.dbtool input, .dbtool select { background:#101118 !important; color:#fff !important; border:1px solid #2b2c42 !important; }
.dbtool input::placeholder { color:#8b8d96 !important; }
.dbtool input:focus, .dbtool select:focus { border-color:#ee223c !important; }
.dbtool select option { background:#101118; color:#fff; }

/* hubspot form label fix — audit item 1: labels were white-on-white (2026-08-21) */
.formbox .hs-form label, .formbox .hs-form legend, .formbox .hs-form .hs-form-booleancheckbox-display > span,
.formbox .hs-form .hs-richtext, .formbox .hs-form .hs-richtext p, .formbox .hs-form .hs-field-desc,
.formbox .hs-form .hs-error-msg, .formbox .hs-form .hs-form-required {
  color: #101118 !important;
}
.formbox .hs-form .hs-error-msg, .formbox .hs-form .hs-form-required { color: #ee223c !important; }
.formbox .hs-form input[type="text"], .formbox .hs-form input[type="email"], .formbox .hs-form input[type="tel"],
.formbox .hs-form select, .formbox .hs-form textarea {
  border: 1px solid #c9c9d2 !important; color: #101118 !important; background: #fff !important;
}

/* ===== DiamondBack LIGHT theme 2026-10-14 =====
   Flips the dbns design system from dark ground to white ground.
   Loads AFTER the consolidated dbns block in kit 14 (or inline on a page during the mock phase).
   Red #ee223c stays the only accent. Header goes white, footer stays black. */

/* --- tokens: dark surfaces become light surfaces --- */
.dbns { --black:#ffffff; --ink9:#ffffff; --ink8:#e2e2e8; --ink7:#eceef2; --ink6:#c9c9d2; --grey:#4a4c55; --white:#09090f;
        --paper:#f4f4f6; --palt:#ffffff; --prule:#dedfe5; --pink:#09090f; --psoft:#4a4c55; --pfaint:#7a7d87; }
body { background:#fff; }
.dbns { background:#fff; color:var(--grey); }

/* --- hardcoded whites in the base system -> ink --- */
.dbns .hero h1, .dbns .band h2, .dbns .cta-band h2, .dbns .svc h3, .dbns .step h3, .dbns .ccard h3,
.dbns .score-label, .dbns .score-note strong, .dbns .cities b, .dbns .pill, .dbns .hero .sub a,
.dbns .stat-card .n, .dbns .stat-card .l, .dbns .dark .tile h3, .dbns .prose h2, .dbns .prose h3 { color:#09090f !important; }
.dbns .pill { border-color:#c9c9d2; }
.dbns .pill:hover { border-color:#ee223c; color:#ee223c !important; }
.dbns .btn.ghost { border-color:#c9c9d2; color:#09090f !important; }
.dbns .btn.ghost:hover { border-color:#ee223c; }
.dbns .cities span { color:#c9c9d2; }
.dbns .cities a { color:#09090f !important; }
.dbns .score-card, .dbns .svc, .dbns .step, .dbns .ccard, .dbns .stat-card, .dbns .dark .tile {
  background:#fff; border-color:#e2e2e8; box-shadow:0 10px 30px rgba(9,9,15,.06); }
.dbns .svc { border-top-color:#e2e2e8; }
.dbns .svc p, .dbns .step p, .dbns .ccard p, .dbns .stat-card .s, .dbns .dark .tile p { color:#4a4c55; }
.dbns .track { background:#eceef2; }
.dbns .stats { background:#fff; border-color:#e2e2e8; }
.dbns .stat { border-left-color:#e2e2e8; }
.dbns .stat .l { color:#4a4c55; }
.dbns .band.paper { background:#f4f4f6; }
.dbns .chk, .dbns .tile, .dbns .case, .dbns .tm, .dbns .vcard, .dbns .formbox, .dbns .city { background:#fff; }
.dbns .rung.pop, .dbns .lane, .dbns .honest, .dbns .toc, .dbns .prose blockquote { background:#fff; }
.dbns .prose pre { background:#101118; color:#e8e8ee; }
.dbns .prose code { background:#eceef2; }
.dbns .prose th { border-bottom-color:#09090f; }
.dbns .svc-more a, .dbns .band a:not(.btn):not(.svc):not(.ccard):not(.pill):not(.tile a) { color:#09090f; }

/* CTA band: light by default; photo version when the page supplies --cta-img */
.dbns .cta-band { background:#f4f4f6; }
.dbns .cta-band p { color:#4a4c55; }
.dbns .cta-band.photo { background:linear-gradient(rgba(9,9,15,.74),rgba(9,9,15,.74)), var(--cta-img) center/cover no-repeat #09090f; }
.dbns .cta-band.photo h2 { color:#fff !important; }
.dbns .cta-band.photo p { color:#d6d7dc; }

/* --- photo components (new) --- */
.dbns img { max-width:100%; height:auto; }
.dbns .hero-photo { position:relative; }
.dbns .hero-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; border-radius:4px; }
.dbns .hero-photo::after { content:""; position:absolute; left:0; bottom:-6px; width:84px; height:6px; background:#ee223c; }
.dbns .hero-photo .score-card { position:absolute; left:-36px; bottom:-88px; width:min(320px, 76%); padding:20px 22px; }
.dbns .hero-photo .score-card .kick { font-size:10.5px; letter-spacing:2px; }
.dbns .hero-photo .score-card .score-row { margin-top:18px; }
.dbns .hero.with-photo { padding-bottom:168px; }
.dbns .hero.with-photo .hero-grid { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; }
.dbns figure.ph { margin:0; }
.dbns figure.ph img { width:100%; height:auto; display:block; border-radius:4px; }
.dbns figure.ph.cover img { aspect-ratio:4/3; object-fit:cover; }
.dbns figure.ph figcaption { font-size:12.5px; color:#7a7d87; margin-top:8px; }
.dbns .split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; margin-top:44px; }
.dbns .split.rev > figure { order:-1; }
.dbns .split h3 { color:#09090f !important; font-size:22px; font-weight:700; margin:0 0 10px; }
.dbns .split p { font-size:15.5px; margin:0 0 14px; }
.dbns .photo-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:44px; }
.dbns .photo-strip img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; border-radius:4px; }
.dbns .svc.has-img { padding:0; overflow:hidden; }
.dbns .svc.has-img img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.dbns .svc.has-img .svc-body { padding:22px 24px 26px; }
.dbns .case.has-img { padding:0; overflow:hidden; }
.dbns .case.has-img img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.dbns .case.has-img .case-body { padding:24px 28px 30px; }
.dbns .band.photo-bg { background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)), var(--band-img) center/cover no-repeat; }
.dbns .step.has-img { padding:0; overflow:hidden; }
.dbns .step.has-img img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.dbns .step.has-img .step-body { padding:22px 24px 26px; }
.dbns .turf { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:56px; align-items:center; }
.dbns .turf figure.ph img { aspect-ratio:3/2; object-fit:cover; }
@media (max-width:900px) {
  .dbns .hero.with-photo .hero-grid { grid-template-columns:1fr; gap:40px; }
  .dbns .hero.with-photo { padding-bottom:84px; }
  .dbns .hero-photo .score-card { position:static; width:auto; margin-top:22px; }
  .dbns .split, .dbns .turf { grid-template-columns:1fr; gap:28px; }
  .dbns .split.rev > figure { order:0; }
  .dbns .photo-strip { grid-template-columns:1fr; }
}

/* --- header: white --- */
.dbnav { background:rgba(255,255,255,.96) !important; border-bottom:1px solid #e2e2e8 !important; box-shadow:0 1px 0 rgba(9,9,15,.03); }
.dbnav .logo { flex-shrink:0; }
@media (min-width:1181px) and (max-width:1400px) {
  .dbnav .links { gap:16px; }
  .dbnav .links > li > a { font-size:11.5px; letter-spacing:1.1px; }
  .dbnav .login.desk-cta { display:none; }
}
.dbnav .logo img.on-dark { display:none !important; }
.dbnav .logo img.on-light { display:block !important; }
.dbnav .links > li > a { color:#3d3f47 !important; }
.dbnav .links > li > a:hover, .dbnav .links > li:hover > a, .dbnav .links > li:focus-within > a { color:#09090f !important; }
.dbnav .drop { background:#fff !important; border-color:#e2e2e8 !important; border-top-color:#ee223c !important; box-shadow:0 18px 40px rgba(9,15,15,.10); }
.dbnav .drop a { color:#3d3f47 !important; }
.dbnav .drop a:hover { color:#09090f !important; background:#f4f4f6 !important; }
.dbnav .login { border-color:#c9c9d2 !important; color:#09090f !important; }
.dbnav .login:hover { border-color:#ee223c !important; }
.dbnav .burger span { background:#09090f !important; }
.dbnav .mob { background:#fff !important; border-top-color:#e2e2e8 !important; }
.dbnav .mob a { color:#09090f !important; border-bottom-color:#eceef2 !important; }
.dbnav .mob a.sub { color:#55575f !important; }

/* exit-intent modal: white card */
#dbexit > div { background:#fff !important; border-color:#e2e2e8 !important; border-top-color:#ee223c !important; }
#dbexit h3 { color:#09090f !important; }
#dbexit p { color:#4a4c55 !important; }
#dbexit-x { color:#7a7d87 !important; }

/* --- footer stays black (explicit, body is now white) --- */
.elementor-location-footer, .elementor-element-1d267f4 { background:#09090f; }
.dbft { background:#09090f; }

/* --- Gutenberg-built pages (.dbps industries / case studies, .dbsa service-areas hub) --- */
.site-main .dbps, .site-main .dbsa { background:#fff; }
.dbps .hero, .dbsa .hero { background:#fff !important; background-image:none !important; color:#09090f !important; }
.dbps .hero h1, .dbsa .hero h1 { color:#09090f !important; }
.dbps .hero p, .dbsa .hero p { color:#4a4c55 !important; }
.dbps .hero .eyebrow { color:#ee223c !important; }
.dbps .hero .meta, .dbps .back { color:#4a4c55 !important; }
.dbps .back:hover { color:#09090f !important; }
.dbps .band { background:#f4f4f6; }
.dbps .band.alt { background:#fff; }

/* --- blog cards (better-blog + archive) --- */
.better-blog .blog-col-inner { background:#fff; border-color:#e2e2e8; border-top-color:#e2e2e8; box-shadow:0 10px 30px rgba(9,9,15,.06); }
.better-blog .blog-link-img { background:#eceef2; }
.better-blog .excerpt-box h3 { color:#09090f !important; }
.better-blog .excerpt { color:#4a4c55 !important; }
.better-blog .content-btn:hover { color:#09090f !important; }

/* --- free tools: proof panel + inputs on white --- */
.dbproof { background:#fff; border-color:#e2e2e8; border-top-color:#ee223c; box-shadow:0 10px 30px rgba(9,9,15,.06); }
.dbproof .ph, .dbproof .pstat b { color:#09090f; }
.dbproof p, .dbproof .pstat { color:#4a4c55; }
.dbproof .pstats, .dbproof .pstat { border-color:#e2e2e8; }
.dbproof .more { color:#4a4c55 !important; }
.dbproof .more:hover { color:#09090f !important; }
.dbtool input, .dbtool select { background:#fff !important; color:#09090f !important; border:1px solid #c9c9d2 !important; }
.dbtool input::placeholder { color:#7a7d87 !important; }
.dbtool select option { background:#fff; color:#09090f; }
.dbtool .yn button.sel-yes { background:#09090f; border-color:#09090f; }

/* --- scan page hero (page 739 root container is dark via Elementor settings) --- */
.dbns-scan-hero { background:#fff !important; }

/* --- leftovers found on the live flip (2026-10-14) --- */
body.elementor-kit-14, .elementor-kit-14 { background:#fff; }
.dbps .cta { background:#f4f4f6 !important; background-image:none !important; color:#09090f !important; }
.dbps .cta h2, .dbps .cta h3 { color:#09090f !important; }
.dbps .cta p { color:#4a4c55 !important; }
.dbps .cta .btn { background:#ee223c !important; color:#fff !important; }
.dbps .cta .btn:hover { background:#c1282d !important; color:#fff !important; }
.dbns.pk summary, .dbns.pk .say, .dbns.pk .row b, .dbns.pk .obj b, .dbns.pk .foot a { color:#09090f !important; }
.dbns.pk .say { background:#fff; box-shadow:0 10px 30px rgba(9,9,15,.06); }
.dbns.pk details, .dbns.pk details:last-of-type, .dbns.pk .row, .dbns.pk .obj { border-color:#e2e2e8 !important; }
.dbns.pk input, .dbns input[style*="var(--ink9)"] { background:#fff !important; color:#09090f !important; border:1px solid #c9c9d2 !important; }
.dbns [style*="background:var(--ink9)"] { background:#fff !important; border:1px solid #e2e2e8; box-shadow:0 10px 30px rgba(9,9,15,.06); }
.dbns [style*="background:var(--ink9)"], .dbns [style*="background:var(--ink9)"] b, .dbns [style*="background:var(--ink9)"] strong { color:#09090f !important; }
.dbns [style*="color:#fff"]:not(.btn):not(.chip) { color:#09090f !important; }
.dbns .cta-band.photo [style*="color:#fff"], .dbns .cta-band.photo h2 { color:#fff !important; }

/* --- blog post bodies: inline dark stat figures / asides written into post content --- */
.elementor-widget-theme-post-content figure.db-stat, .elementor-widget-theme-post-content figure[style*="background:#101118"],
.elementor-widget-theme-post-content aside[style*="background:#09090f"], .elementor-widget-theme-post-content div[style*="background:#101118"],
.elementor-widget-theme-post-content div[style*="background:#09090f"] { background:#f4f4f6 !important; }
.elementor-widget-theme-post-content figure.db-stat [style*="color:#fff"], .elementor-widget-theme-post-content figure[style*="background:#101118"] [style*="color:#fff"],
.elementor-widget-theme-post-content aside[style*="background:#09090f"] [style*="color:#fff"], .elementor-widget-theme-post-content div[style*="background:#101118"] [style*="color:#fff"],
.elementor-widget-theme-post-content div[style*="background:#09090f"] [style*="color:#fff"],
.elementor-widget-theme-post-content aside[style*="background:#09090f"] h2, .elementor-widget-theme-post-content aside[style*="background:#09090f"] h3 { color:#09090f !important; }
.elementor-widget-theme-post-content figure.db-stat [style*="color:#8b8d96"], .elementor-widget-theme-post-content aside[style*="background:#09090f"] [style*="color:#94979e"],
.elementor-widget-theme-post-content aside[style*="background:#09090f"] [style*="color:#8b8d96"] { color:#55575f !important; }

/* hero bottom air: only the home hero (score card overlaps the photo) needs the deep padding */
.dbns .hero.with-photo { padding-bottom:92px; }
.dbns .hero.with-photo:has(.score-card) { padding-bottom:168px; }
@media (max-width:900px) { .dbns .hero.with-photo:has(.score-card) { padding-bottom:84px; } }

/* ============================================================
   Extras: what the Astro build adds beyond the live kit (forms, blog, archive, posts, gate, container shims).
   ============================================================ */

/* Elementor flex container shim (free-ai-scan + chatgpt: copy left, white form card right) */
@media (max-width: 900px) { .econ-row > .econ { flex: 0 0 100% !important; max-width: 100% !important; } }
.dbns-scan-hero { background: #fff; }

/* Mobile sticky scan CTA (live header template 67) */
.dbmob-cta { display: none; }
@media (max-width: 767px) {
  body:not(.page-id-739) .dbmob-cta { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 980; background: #ee223c; padding: 0; padding-bottom: env(safe-area-inset-bottom); }
  .dbmob-cta a { display: block; text-align: center; color: #fff; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; padding: 15px 20px; text-decoration: none; }
  body:not(.page-id-739) { padding-bottom: 52px; }
}

/* Native forms: the HubSpot look the live embeds were restyled to (contact, support) + the Elementor scan form */
.dbform { font-family: 'Inter', sans-serif; }
.dbform .f { margin: 0 0 16px; }
.dbform label { display: block; color: #101118; font-size: 13px; font-weight: 700; margin: 0 0 6px; }
.dbform label .req { color: #ee223c; }
.dbform input[type='text'], .dbform input[type='email'], .dbform input[type='tel'], .dbform select, .dbform textarea {
  width: 100%; box-sizing: border-box; border: 1px solid #c9c9d2; border-radius: 8px; background: #fff; color: #101118;
  font-family: 'Inter', sans-serif; font-size: 15px; padding: 12px 14px; }
.dbform textarea { min-height: 120px; resize: vertical; }
.dbform input:focus, .dbform select:focus, .dbform textarea:focus { outline: none; border-color: #ee223c; box-shadow: 0 0 0 3px rgba(238, 34, 60, .12); }
.dbform ::placeholder { color: #7a7d87; }
.dbform .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 640px) { .dbform .row2 { grid-template-columns: 1fr; } }
.dbform .legal { font-size: 12px; color: #5a5c66; line-height: 1.5; }
.dbform .legal p { margin: 0 0 8px; }
.dbform .check { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; margin: 0 0 10px; }
.dbform .check input { margin: 3px 0 0; width: 16px; height: 16px; accent-color: #ee223c; }
.dbform .check label { font-weight: 400; color: #101118; font-size: 13px; margin: 0; }
.dbform .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dbform button { background: #ee223c; color: #fff; border: 0; border-radius: 999px; padding: 13px 28px; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 15px; cursor: pointer; transition: background .15s; }
.dbform button:hover { background: #c1282d; }
.dbform button:disabled { opacity: .6; cursor: progress; }
.dbform .msg { display: none; margin: 14px 0 0; padding: 12px 14px; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.dbform .msg.show { display: block; }
.dbform .msg.ok { background: #e6f6ec; color: #0f5a2e; }
.dbform .msg.err { background: #fde8eb; color: #c1282d; }
.dbform .note { font-size: 12.5px; color: #7a7d87; margin: 0 0 14px; }
/* scan form: Elementor's field look inside the white card */
.dbform.scan label { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: #09090f; }
.dbform.scan input { border-radius: 0; border-color: #c9c9d2; }
.dbform.scan button { width: 100%; border-radius: 30px; font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 15px 30px; }
.dbform.scan .f { margin-bottom: 14px; }

/* Blog index (/news-and-blog/): the better-blog grid, card language from the kit */
.better-blog.style-1 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 3em 0 0; }
@media (max-width: 1024px) { .better-blog.style-1 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .better-blog.style-1 { grid-template-columns: 1fr; } }
.better-blog .blog-col-inner { height: 100%; }
.better-blog .excerpt-box a { text-decoration: none; }
.blog-index-wrap { max-width: 1280px; margin: 0 auto; padding: 0 28px 60px; }

/* Category archive (/category/uncategorized/): the Elementor archive-posts cards skin */
.elementor-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px 30px; margin: 0 0 40px; }
@media (max-width: 1024px) { .elementor-posts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .elementor-posts { grid-template-columns: 1fr; } }
.elementor-posts .elementor-post { display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 10px 30px rgba(9, 9, 15, .06); }
.elementor-posts .elementor-post__thumbnail__link { display: block; aspect-ratio: 16/9; overflow: hidden; background: #eceef2; }
.elementor-posts .elementor-post__thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; }
.elementor-posts .elementor-post__title { font-size: 17px; line-height: 1.35; margin: 14px 0 8px; }
.elementor-posts .elementor-post__excerpt p { margin: 0 0 12px; line-height: 1.55; }
.elementor-posts .elementor-post__read-more { margin-top: auto; text-decoration: none; }
.elementor-posts .elementor-post__meta-data { font-size: 12.5px; color: #7a7d87; margin: 0 0 8px; }
.archive-wrap { max-width: 1280px; margin: 0 auto; padding: 0 28px 60px; }

/* Single post (template 63) */
.single-post .elementor-heading-title { font-family: 'Plus Jakarta Sans', sans-serif; color: #09090f; font-size: clamp(32px, 4.2vw, 46px); font-weight: 700; letter-spacing: -1px; line-height: 1.1; margin: 10px 0 14px; }
.single-post .elementor-post-info { list-style: none; margin: 0 0 20px; padding: 0; display: flex; gap: 16px; font-size: 13.5px; color: #55575f; }
.single-post .elementor-post-info a { color: #55575f; }
.single-post .elementor-post-info svg { width: 14px; height: 14px; vertical-align: -2px; margin-right: 6px; fill: #ee223c; }
.single-post .featured { width: 100%; height: 500px; object-fit: cover; border-radius: 15px; display: block; margin: 0 0 20px; }
@media (max-width: 1024px) { .single-post .featured { height: 450px; } }
@media (max-width: 767px) { .single-post .featured { height: 225px; } }
.single-post .elementor-widget-theme-post-content { margin-bottom: 20px; }
.single-post .elementor-widget-theme-post-content > :first-child { margin-top: 0; }
.single-post .elementor-widget-theme-post-content ul, .single-post .elementor-widget-theme-post-content ol { padding-left: 1.4em; }
.single-post .elementor-widget-theme-post-content figure { margin: 1.4em 0; }
.single-post .elementor-widget-theme-post-content table { border-collapse: collapse; width: 100%; }
.elementor-share-buttons { display: flex; gap: 10px; margin: 0 0 20px; }
.elementor-share-btn { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #ee223c; color: #fff; text-decoration: none; }
.elementor-share-btn:hover { background: #c1282d; color: #fff; }
.elementor-share-btn svg { width: 19px; height: 19px; fill: currentColor; }
.elementor-post-navigation { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; border-top: 1px solid #e2e2e8; border-bottom: 1px solid #e2e2e8; padding: 18px 0; margin: 10px 0 30px; font-family: 'Inter', sans-serif; }
.elementor-post-navigation a { color: #ee223c; text-decoration: none; display: grid; gap: 2px; }
.elementor-post-navigation__next { text-align: right; }
.elementor-post-navigation__separator { width: 1px; height: 36px; background: #e2e2e8; }
.post-navigation__prev--label, .post-navigation__next--label { font-size: 11.5px; letter-spacing: 1.5px; text-transform: uppercase; color: #7a7d87; }
.post-navigation__prev--title, .post-navigation__next--title { font-weight: 600; font-size: 14.5px; color: #09090f; }
.keep-reading { display: grid; gap: 14px; margin: 0 0 60px; }
.keep-reading a { display: grid; grid-template-columns: 25% 1fr; gap: 14px; align-items: center; text-decoration: none; color: #09090f; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600; font-size: 16px; }
.keep-reading a:hover { color: #ee223c; }
.keep-reading img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 7px; display: block; }

/* Client review area gate (password fallback when Cloudflare Access is not attached) */
.dba-gate { max-width: 460px; margin: 40px auto 80px; padding: 34px 32px; border: 1px solid #e2e2e8; border-top: 3px solid #ee223c; background: #fff; box-shadow: 0 10px 30px rgba(9, 9, 15, .06); font-family: 'Plus Jakarta Sans', Inter, system-ui, sans-serif; }
.dba-gate .eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #ee223c; margin: 0 0 6px; }
.dba-gate h1 { font-size: 26px; margin: 0 0 8px; color: #101118; }
.dba-gate p { color: #55575f; font-size: 15px; margin: 0 0 18px; }
.dba-gate .err { color: #c1282d; font-size: 14px; margin: 0 0 12px; }
.dba-hub h2, .dba-hub .lede { color: inherit; }
.dba-hub h2 { color: #101118 !important; }
.dba-hub .lede { color: #55575f !important; }
