/* ============================================================
   KINDELEN MEDIA HOMEPAGE v4 — FULL STYLES
   ============================================================ */

/* HIDE KADENCE THEME HEADER / FOOTER / PAGE TITLE */
header.site-header,
.site-header,
.kadence-top-bar,
.kadence-header { display: none !important; }
footer.site-footer,
.site-footer,
.kadence-footer { display: none !important; }
.entry-header,
.page-header,
.entry-title,
.wp-block-post-title { display: none !important; }
/* Shift our fixed nav down when WP admin bar is visible */
.admin-bar .km-nav { top: 32px !important; }
@media (max-width: 782px) { .admin-bar .km-nav { top: 46px !important; } }

.km * { box-sizing: border-box; }
.km { font-family: 'Now', sans-serif; color: #f7f7f7; }
.km a { text-decoration: none; color: inherit; }

/* ── BUTTONS ─────────────────────────────────────── */
.km-btn-primary {
  display: inline-block !important; background: #BD944A; color: #23203c;
  font-family: 'Now', sans-serif; font-weight: 700; font-size: 14px;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 16px 36px; border-radius: 999px; cursor: pointer;
  transition: opacity 0.2s, transform 0.2s;
  width: auto !important; max-width: fit-content !important;
}
.km-btn-primary:hover { opacity: 0.88; transform: translateY(-1px); color: #23203c; }
.km-btn-secondary {
  display: inline-block; background: transparent; color: #f7f7f7;
  font-family: 'Now', sans-serif; font-weight: 500; font-size: 14px;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 14px 36px; border-radius: 999px;
  border: 2px solid rgba(247,247,247,0.45); cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
}
.km-btn-secondary:hover { border-color: #BD944A; color: #BD944A; }

/* ── NAV ─────────────────────────────────────────── */
.km-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: #404171; height: 72px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 40px;
}
.km-nav-brand { display: flex; align-items: center; gap: 12px; }
.km-nav-brand img { width: 38px; height: 38px; object-fit: contain; }
.km-nav-brand-name { font-size: 15px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #f7f7f7; }
.km-nav-links { display: flex; align-items: center; gap: 32px; }
.km-nav-links a {
  font-size: 13px; font-weight: 500; letter-spacing: 0.08em;
  text-transform: uppercase; color: rgba(247,247,247,0.80); transition: color 0.2s;
}
.km-nav-links a:hover { color: #BD944A; }
.km-nav-cta {
  background: #BD944A; color: #23203c !important; font-weight: 700;
  padding: 10px 24px; border-radius: 999px; letter-spacing: 0.08em;
}
.km-nav-cta:hover { opacity: 0.88; color: #23203c !important; }

/* ── HERO ────────────────────────────────────────── */
.km-hero {
  position: relative; background: #23203c;
  min-height: 86vh; overflow: hidden;
  padding: 72px 0 0 0;
}
.km-hero-inner {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 48% 52%; gap: 24px;
  align-items: center;
  max-width: 1440px; margin: 0 auto;
  min-height: calc(86vh - 72px);
  padding: 0 0 0 40px;
}
.km-hero-content { display: flex; flex-direction: column; gap: 20px; padding-right: 24px; }

/* FIX: eyebrow as block span — avoids WordPress p-tag margin injection */
.km-hero-badge { display: flex; flex-direction: column; gap: 20px; }
.km .km-eyebrow {
  display: block !important;
  font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.20em !important;
  text-transform: uppercase !important; color: #BD944A !important;
  margin: 0 !important; padding: 0 !important; line-height: 1.2 !important;
}
.km .km-gold-rule { width: 56px; height: 2px; background: #BD944A; border-radius: 2px; margin: 0 !important; }
.km-hero h1 {
  font-family: 'Now', sans-serif; font-size: clamp(44px,5.5vw,80px);
  font-weight: 900; line-height: 1.04; letter-spacing: -0.02em; color: #f7f7f7; margin: 0;
}
.km-hero-body { font-size: 17px; font-weight: 400; line-height: 1.7; color: rgba(247,247,247,0.82); max-width: 480px; margin: 0; }
.km-hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.km-hero-visual {
  display: flex; align-items: center; justify-content: flex-end;
  overflow: visible; align-self: stretch;
}
.km-hero-logo {
  width: 115%; height: 86vh; min-height: 700px;
  object-fit: contain; object-position: center center;
  transform: translateX(28%) scale(1.15);
  transform-origin: center right;
  filter: drop-shadow(0 8px 100px rgba(64,65,113,0.8)) drop-shadow(0 0 60px rgba(189,148,74,0.30));
}

/* ── BAND — INDIGO ───────────────────────────────── */
.km-band { background: #404171; padding: 28px 40px; text-align: center; }
.km-band p {
  font-family: 'Now', sans-serif; font-size: clamp(15px,1.4vw,18px);
  font-style: italic; color: rgba(247,247,247,0.90);
  max-width: 860px; margin: 0 auto; line-height: 1.6;
}

/* ── SECTIONS ────────────────────────────────────── */
.km-sec { padding: 100px 56px; position: relative; overflow: hidden; }
.km-sec-inner { max-width: 1300px; margin: 0 auto; }

/* FIX: label-block wrapper — flex column with gap, same pattern as .km-hero-badge and .km-about-col */
.km-label-block { display: flex; flex-direction: column; gap: 20px; margin-bottom: 14px; }

/* FIX: label → rule spacing — 20px gap to match The Spark's flex-gap appearance */
.km-sec-label {
  font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.20em !important;
  text-transform: uppercase !important; color: #BD944A !important;
  margin: 0 0 20px 0 !important; display: block !important; line-height: 1.2 !important;
}
.km-sec-rule { width: 40px; height: 2px; background: #BD944A; border-radius: 2px; margin: 0 0 14px 0 !important; }
.km-sec h2 {
  font-family: 'Now', sans-serif; font-size: clamp(32px,3.5vw,52px);
  font-weight: 900; line-height: 1.08; color: #f7f7f7; margin: 0 0 10px;
}
.km-sec-sub { font-size: 17px; font-weight: 400; color: rgba(247,247,247,0.70); margin-bottom: 48px; }

/* ── SERVICES ────────────────────────────────────── */
.km-services { background: #23203c; }
.km-svc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.km-svc-card {
  border-radius: 20px; border: 1px solid; overflow: hidden;
  display: flex; flex-direction: column; transition: transform 0.25s, box-shadow 0.25s;
}
.km-svc-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.3); }
.km-svc-bar { height: 4px; width: 100%; }
.km-svc-body { padding: 28px 24px 32px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.km-svc-icon {
  width: 54px; height: 54px; border-radius: 14px; border: 1px solid;
  display: flex; align-items: center; justify-content: center;
}
.km-svc-card h3 { font-family: 'Now', sans-serif; font-size: 17px; font-weight: 700; color: #f7f7f7; line-height: 1.3; margin: 0; }
.km-svc-card p { font-size: 16px; font-weight: 400; line-height: 1.6; color: rgba(247,247,247,0.80); margin: 0; }

/* ── KINDLED — INDIGO with diagonal texture ──────── */
.km-kindled { background: #404171 !important; }
.km-kindled::before,
.km-diagonal::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2260%22%20height%3D%2260%22%3E%3Cline%20x1%3D%220%22%20y1%3D%2260%22%20x2%3D%2260%22%20y2%3D%220%22%20stroke%3D%22%23f7f7f7%22%20stroke-width%3D%220.6%22%20opacity%3D%220.07%22/%3E%3Cline%20x1%3D%22-30%22%20y1%3D%2260%22%20x2%3D%2230%22%20y2%3D%220%22%20stroke%3D%22%23f7f7f7%22%20stroke-width%3D%220.6%22%20opacity%3D%220.07%22/%3E%3Cline%20x1%3D%2230%22%20y1%3D%2260%22%20x2%3D%2290%22%20y2%3D%220%22%20stroke%3D%22%23f7f7f7%22%20stroke-width%3D%220.6%22%20opacity%3D%220.07%22/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
}
.km-stats-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin: 40px 0 36px; }
.km-stat-item { border-radius: 20px; padding: 36px 28px; position: relative; overflow: hidden; }
.km-stat-ocean { background: linear-gradient(135deg,rgba(30,146,190,0.40) 0%,rgba(30,146,190,0.14) 100%); }
.km-stat-ash   { background: linear-gradient(135deg,rgba(137,138,168,0.40) 0%,rgba(137,138,168,0.14) 100%); }
.km-stat-teal  { background: linear-gradient(135deg,rgba(71,160,164,0.40) 0%,rgba(71,160,164,0.14) 100%); }
.km-stat-dusk  { background: linear-gradient(135deg,rgba(59,106,139,0.40) 0%,rgba(59,106,139,0.14) 100%); }
.km-stat-num {
  font-family: 'Now', sans-serif; font-size: clamp(40px,4.5vw,64px);
  font-weight: 900; line-height: 1; position: relative; z-index: 1;
}
.km-stat-label {
  font-size: 13px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase;
  color: rgba(247,247,247,0.70); margin-top: 8px; position: relative; z-index: 1;
}

/* CASE STUDY CARD */
.km-cs-card {
  background: rgba(35,32,60,0.55); border: 1px solid rgba(189,148,74,0.22);
  border-radius: 20px; padding: 40px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start;
}
.km-cs-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #BD944A; }
.km-cs-card h3 { font-family: 'Now', sans-serif; font-size: 22px; font-weight: 700; color: #f7f7f7; line-height: 1.3; margin: 12px 0 16px; }
.km-cs-card p { font-size: 15px; font-weight: 400; line-height: 1.75; color: rgba(247,247,247,0.78); margin: 0; }
.km-cs-link {
  display: inline-block; margin-top: 20px; font-size: 13px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase; color: #BD944A;
  border-bottom: 1px solid rgba(189,148,74,0.4); padding-bottom: 2px;
}
.km-cs-metrics { display: flex; flex-direction: column; gap: 28px; }
.km-cs-metric-num { font-family: 'Now', sans-serif; font-size: 44px; font-weight: 900; line-height: 1; }
.km-cs-metric-label { font-size: 13px; font-weight: 400; line-height: 1.6; color: rgba(247,247,247,0.65); margin-top: 6px; }

/* ── THE SPARK ───────────────────────────────────── */
.km-spark { background: #23203c; padding-bottom: 60px !important; }
.km-about-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px;
  align-items: stretch; margin-bottom: 40px;
}
.km-about-col { display: flex; flex-direction: column; gap: 20px; }
.km-about-col h2 { margin-bottom: 0; }
.km-about-body {
  font-size: 16px; font-weight: 400; line-height: 1.8; color: rgba(247,247,247,0.80); margin: 0;
}
.km-about-pull {
  border-left: 3px solid #BD944A; padding-left: 22px;
  font-size: 19px; font-weight: 600; font-style: italic; line-height: 1.55;
  color: #f7f7f7; margin: 0;
}
.km-about-col .km-btn-primary { align-self: flex-start; }
/* FIX: Spark section keeps flex-gap (20px) for spacing — reduce label margin back to 6px */
.km-about-col .km-sec-label { margin-bottom: 6px !important; }
.km-about-col .km-sec-rule { margin-top: 0 !important; }

.km-values-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr; gap: 16px; height: 100%;
}
.km-value-card {
  border: 1px solid rgba(64,65,113,0.58); border-top: 3px solid #BD944A;
  border-radius: 14px; padding: 32px 24px;
  display: flex; flex-direction: column; gap: 10px;
  position: relative; overflow: hidden;
  transition: transform 0.2s;
}
.km-value-card:hover { transform: translateY(-3px); }
.km-vc-ocean { background: linear-gradient(145deg, rgba(30,146,190,0.20) 0%, rgba(30,146,190,0.05) 70%, transparent 100%); }
.km-vc-teal  { background: linear-gradient(145deg, rgba(71,160,164,0.20) 0%, rgba(71,160,164,0.05) 70%, transparent 100%); }
.km-vc-ash   { background: linear-gradient(145deg, rgba(137,138,168,0.22) 0%, rgba(137,138,168,0.06) 70%, transparent 100%); }
.km-vc-dusk  { background: linear-gradient(145deg, rgba(59,106,139,0.22) 0%, rgba(59,106,139,0.06) 70%, transparent 100%); }
.km-value-card::after {
  content: '';
  position: absolute;
  bottom: -28px; right: -28px;
  width: 90px; height: 90px;
  border-radius: 50%;
  background: #BD944A;
  opacity: 0.20;
  pointer-events: none;
}
.km-value-name { font-family: 'Now', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: #BD944A; margin-bottom: 4px; position: relative; z-index: 1; }
.km-value-rule { width: 32px; height: 2px; background: #BD944A; border-radius: 2px; position: relative; z-index: 1; }
.km-value-text { font-size: 13px; font-weight: 400; line-height: 1.65; color: rgba(247,247,247,0.70); position: relative; z-index: 1; }

/* THE NAME sidebar */
.km-name-origin {
  margin-top: 32px; border-left: 4px solid #BD944A;
  border-radius: 0 14px 14px 0; background: rgba(64,65,113,0.28);
  padding: 28px 36px; display: flex; gap: 32px;
}
.km-name-origin-label {
  font-size: 14px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: #BD944A; min-width: 100px; padding-top: 4px;
}
.km-name-origin-text p { font-size: 16px; font-weight: 400; line-height: 1.7; color: rgba(247,247,247,0.85); margin-bottom: 14px; max-width: 65ch; }
.km-name-origin-text p:last-child { margin-bottom: 0; }

/* ── FOOTER CTA ──────────────────────────────────── */
.km-footer-cta {
  background: #404171; position: relative; overflow: hidden;
  padding: 120px 40px; text-align: center;
}
.km-fcta-inner {
  position: relative; z-index: 2; max-width: 800px; margin: 0 auto;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
}
.km-fcta-pre { font-size: 18px; font-weight: 400; color: rgba(247,247,247,0.65); letter-spacing: 0.04em; }
.km-fcta-line1 { font-family: 'Now', sans-serif; font-size: clamp(32px,4vw,56px); font-weight: 900; color: #f7f7f7; line-height: 1.1; }
.km-fcta-line2 { font-family: 'Now', sans-serif; font-size: clamp(32px,4vw,56px); font-weight: 900; color: #BD944A; line-height: 1.1; margin-bottom: 8px; }
.km-fcta-sub { font-size: 18px; font-weight: 400; color: rgba(247,247,247,0.78); margin-bottom: 8px; }

/* ── FOOTER ──────────────────────────────────────── */
.km-footer {
  background: #23203c; padding: 72px 56px 0;
  border-top: 2px solid #BD944A;
}
.km-footer-inner {
  max-width: 1300px; margin: 0 auto;
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px;
  padding-bottom: 56px;
  border-bottom: 2px solid rgba(189,148,74,0.45);
}
.km-footer-brand-name { font-size: 16px; font-weight: 700; color: #f7f7f7; margin-bottom: 6px; }
.km-footer-brand-tag { font-size: 13px; font-weight: 400; color: rgba(247,247,247,0.55); line-height: 1.6; }
.km-footer-col-title {
  font-size: 11px; font-weight: 700; letter-spacing: 0.18em;
  text-transform: uppercase; color: #BD944A; margin-bottom: 20px;
  text-align: left; display: block; padding-left: 0; margin-left: 0;
}
.km-footer-links { list-style: none; padding: 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 10px; text-align: left; }
.km-footer-links li { padding-left: 0; margin-left: 0; }
.km-footer-links a { font-size: 14px; font-weight: 400; color: rgba(247,247,247,0.65); transition: color 0.2s; }
.km-footer-links a:hover { color: #BD944A; }
.km-footer-contact { font-size: 14px; font-weight: 400; color: rgba(247,247,247,0.65); margin-bottom: 10px; text-align: left; padding-left: 0; }
.km-footer-contact a:hover { color: #BD944A; }
.km-footer-bottom {
  max-width: 1300px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  padding: 24px 0; font-size: 12px; color: rgba(247,247,247,0.65); letter-spacing: 0.06em;
}

/* ── MOBILE ──────────────────────────────────────── */
@media (max-width: 900px) {
  .km-nav { padding: 0 20px; }
  .km-nav-links a:not(.km-nav-cta) { display: none; }
  .km-hero { padding: 72px 0 0 0; }
  .km-hero-inner { grid-template-columns: 1fr; padding: 40px 24px; min-height: auto; }
  .km-hero-visual { display: none; }
  .km-sec { padding: 72px 24px; }
  .km-svc-grid { grid-template-columns: 1fr; }
  .km-stats-row { grid-template-columns: 1fr 1fr; }
  .km-cs-card { grid-template-columns: 1fr; gap: 32px; }
  .km-about-grid { grid-template-columns: 1fr; }
  .km-footer-inner { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  .km-sec { padding: 56px 20px; }
  .km-stats-row { grid-template-columns: 1fr; }
  .km-values-grid { grid-template-columns: 1fr; }
  .km-footer { padding: 48px 24px 0; }
  .km-footer-inner { grid-template-columns: 1fr; }
  .km-footer-cta { padding: 80px 24px; }
  .km-hero-ctas { flex-direction: column; align-items: flex-start; }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .km-svc-grid { grid-template-columns: repeat(2,1fr); }
  .km-stats-row { grid-template-columns: repeat(2,1fr); }
}

/* ── FULL WIDTH OVERRIDE ─────────────────────────── */
.entry-content > * { max-width: 100% !important; }
.km-nav, .km-hero, .km-band, .km-sec, .km-kindled, .km-spark, .km-footer-cta, .km-footer, .km-page-hero {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}
body { padding-top: 0 !important; }

/* ── LABEL + EYEBROW — two-class selectors, backup rules ─ */
.km .km-sec-label {
  font-size: 13px; font-weight: 700; letter-spacing: 0.20em;
  text-transform: uppercase; color: #BD944A;
  margin: 0 0 20px 0; display: block; line-height: 1.2; padding: 0;
}
.km .km-eyebrow {
  font-size: 13px; font-weight: 700; letter-spacing: 0.20em;
  text-transform: uppercase; color: #BD944A;
  margin: 0; display: block; line-height: 1.2; padding: 0;
}

/* ============================================================
   SERVICE PAGES — shared template styles
   ============================================================ */

/* ── PAGE HERO ───────────────────────────────────────────── */
.km-page-hero {
  background: #23203c; position: relative; overflow: hidden;
  padding:72px 56px 100px;
}
.km-page-hero-inner {
  max-width: 1300px; margin: 0 auto;
  position: relative; z-index: 2;
  display: flex; flex-direction: column; gap: 20px;
  align-items: flex-start;
}

/* Service icon — large watermark behind hero text */
.km-hero-watermark {
  position: absolute;
  right: 110px; top: 50%;
  transform: translateY(-50%);
  width: 480px; height: 480px;
  object-fit: contain;
  opacity: 0.40;
  pointer-events: none;
  z-index: 1;
}
.km-page-h1 {
  font-family: 'Now', sans-serif;
  font-size: clamp(48px, 6vw, 88px);
  font-weight: 900; line-height: 1.02;
  letter-spacing: -0.02em; color: #f7f7f7;
  margin: 0 !important;
}
.km-page-tagline {
  font-size: 20px; font-weight: 600;
  color: rgba(247,247,247,0.90); line-height: 1.4; margin: 0;
}
.km-page-body {
  font-size: 17px; font-weight: 400; line-height: 1.75;
  color: rgba(247,247,247,0.75); max-width: 620px; margin: 0;
}

/* ── WHAT'S INCLUDED — Spark value-card style in blue ────── */
.km-svc-card-blue {
  border: 1px solid rgba(30,146,190,0.28);
  border-top: 3px solid #1e92be;
  border-radius: 14px;
  padding: 32px 24px;
  display: flex; flex-direction: column; gap: 12px;
  background: linear-gradient(145deg, rgba(30,146,190,0.18) 0%, rgba(30,146,190,0.05) 70%, transparent 100%);
  position: relative; overflow: hidden;
  transition: transform 0.2s;
}
.km-svc-card-blue:hover { transform: translateY(-3px); }
.km-svc-card-blue::after {
  content: ''; position: absolute; bottom: -28px; right: -28px;
  width: 90px; height: 90px; border-radius: 50%;
  background: #1e92be; opacity: 0.12; pointer-events: none;
}
.km-svc-card-blue h3 { font-family: 'Now', sans-serif; font-size: 17px; font-weight: 700; color: #f7f7f7; line-height: 1.3; margin: 0; position: relative; z-index: 1; }
.km-svc-card-blue p { font-size: 14px; font-weight: 400; line-height: 1.7; color: rgba(247,247,247,0.75); margin: 0; position: relative; z-index: 1; }

/* ── PROCESS STEPS — Kindled stat-card style ─────────────── */
.km-process-steps {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 20px; margin-top: 16px;
}
.km-process-card {
  border-radius: 20px; padding: 36px 28px;
  background: linear-gradient(135deg, rgba(30,146,190,0.28) 0%, rgba(30,146,190,0.07) 100%);
  border: 1px solid rgba(30,146,190,0.25);
  display: flex; flex-direction: column; gap: 14px;
  position: relative; z-index: 1; transition: transform 0.2s;
}
.km-process-card:hover { transform: translateY(-3px); }
.km-process-card-num {
  font-family: 'Now', sans-serif; font-size: clamp(40px,4vw,56px);
  font-weight: 900; line-height: 1; color: #1e92be;
}
.km-process-card h3 { font-family: 'Now', sans-serif; font-size: 17px; font-weight: 700; color: #f7f7f7; margin: 0; }
.km-process-card p { font-size: 14px; font-weight: 400; line-height: 1.7; color: rgba(247,247,247,0.72); margin: 0; }

/* ── WHO IT'S FOR ────────────────────────────────────────── */
.km-svc-who-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: center;
}
.km-who-list { display: flex; flex-direction: column; gap: 20px; }
.km-who-item { display: flex; gap: 14px; align-items: flex-start; }
.km-who-check { flex-shrink: 0; margin-top: 2px; width: 32px; height: 32px; object-fit: contain; }
.km-who-item p {
  font-size: 18px; font-weight: 400; line-height: 1.65;
  color: rgba(247,247,247,0.82); margin: 0;
}

/* ── PULL QUOTE ──────────────────────────────────────────── */
.km-pull-quote {
  border-left: 3px solid #BD944A; padding-left: 22px;
  font-size: 18px; font-weight: 600; font-style: italic;
  line-height: 1.55; color: #f7f7f7;
}

/* ── SERVICE PAGE CTA TAGLINE ────────────────────────────── */
.km-fcta-tagline {
  font-size: 13px; font-weight: 700; letter-spacing: 0.20em;
  text-transform: uppercase; color: #1e92be; margin-bottom: 4px;
}

/* ── SERVICE PAGE RESPONSIVE ─────────────────────────────── */
@media (max-width: 900px) {
  .km-page-hero { padding: 120px 24px 80px; }
  .km-process-steps { grid-template-columns: 1fr 1fr; gap: 28px; }
  .km-svc-who-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .km-page-hero { padding: 100px 20px 60px; }
  .km-page-h1 { font-size: clamp(40px, 10vw, 56px); }
  .km-process-steps { grid-template-columns: 1fr; }
  .km-page-tagline { font-size: 17px; }
}

/* ── COMPREHENSIVE MOBILE FIXES (768px) ─────────────────── */
@media (max-width: 768px) {
  #km-page img { max-width: 100% !important; width: auto !important; height: auto !important; object-fit: contain !important; }
  #km-page { overflow-x: hidden !important; }
  #km-page section, #km-page .km-sec { padding-left: 20px !important; padding-right: 20px !important; overflow-x: hidden !important; }
  #km-page .km-page-hero { overflow: hidden !important; padding: 80px 20px 48px !important; min-height: unset !important; }
  #km-page .km-page-hero-inner { padding: 0 !important; max-width: 100% !important; }
  #km-page .km-page-h1 { font-size: 32px !important; line-height: 1.2 !important; }
  #km-page .km-hero-h1 { font-size: 34px !important; line-height: 1.15 !important; }
  #km-page .km-hero-inner { padding: 80px 20px 48px !important; flex-direction: column !important; text-align: center !important; align-items: center !important; }
  #km-page .km-hero-text { max-width: 100% !important; }
  #km-page .km-hero-logo { width: 80px !important; height: auto !important; margin: 0 auto 24px !important; display: block !important; }
  #km-page .km-hero-logo img { width: 80px !important; height: auto !important; object-fit: contain !important; }
  #km-page .km-btn-primary, #km-page .km-btn-secondary { white-space: normal !important; word-break: break-word !important; text-align: center !important; padding: 14px 22px !important; font-size: 13px !important; display: inline-block !important; }
  #km-page .km-hero-ctas { flex-direction: column !important; align-items: center !important; gap: 12px !important; width: 100% !important; }
  #km-page .km-hero-ctas .km-btn-primary, #km-page .km-hero-ctas .km-btn-secondary { width: 100% !important; max-width: 300px !important; }
  #km-page .km-svc-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  #km-page .km-svc-card, #km-page .km-svc-card-blue { padding: 28px 22px !important; }
  #km-page .km-svc-card img, #km-page .km-svc-card-blue img { max-width: 100% !important; height: auto !important; object-fit: contain !important; }
  #km-page .km-stats-row, #km-page .km-stats-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
  #km-page .km-process-steps, #km-page .km-process-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  #km-page .km-process-card { padding: 28px 22px !important; }
  #km-page .km-who-grid, #km-page .km-who-list { display: flex !important; flex-direction: column !important; gap: 12px !important; }
  #km-page .km-who-item { padding: 18px 20px !important; display: flex !important; align-items: flex-start !important; gap: 12px !important; }
  #km-page .km-who-check { width: 20px !important; height: 20px !important; flex-shrink: 0 !important; object-fit: contain !important; }
  #km-page .km-value-grid, #km-page .km-value-cards, #km-page .km-values-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  #km-page .km-team-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  #km-page .km-team-photo, #km-page .km-team-photo img { width: 100% !important; max-width: 260px !important; height: auto !important; margin: 0 auto !important; display: block !important; object-fit: cover !important; }
  #km-page .km-bio-wrap { flex-direction: column !important; align-items: center !important; text-align: center !important; }
  #km-page .km-cs-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  #km-page .km-cs-card { padding: 28px 22px !important; }
  #km-page .km-cs-metrics, #km-page .km-cs-metric-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  #km-page .km-cs-hero-split, #km-page .km-cs-split { flex-direction: column !important; gap: 24px !important; }
  #km-page .km-inside-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  #km-page .km-inside-step { padding: 28px 22px !important; }
  #km-page .km-kit-grid, #km-page .km-ember-grid, #km-page .km-howkit-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  #km-page .km-kit-card, #km-page .km-ember-card, #km-page .km-howkit-card { padding: 28px 22px !important; }
  #km-page .km-approach-grid, #km-page .km-philosophy-grid, #km-page .km-trust-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  #km-page .km-signup-form { flex-direction: column !important; gap: 10px !important; width: 100% !important; }
  #km-page .km-signup-input { width: 100% !important; box-sizing: border-box !important; }
  #km-page .km-signup-btn { width: 100% !important; }
  #km-page .km-form-panel { padding: 28px 18px !important; margin: 0 !important; }
  #km-page .km-form-row { grid-template-columns: 1fr !important; gap: 12px !important; }
  #km-page .km-contact-paths { grid-template-columns: 1fr !important; gap: 16px !important; }
  #km-page .km-path-divider { width: 100% !important; justify-content: center !important; }
  #km-page .km-expect-steps { grid-template-columns: 1fr !important; }
  #km-page .km-form-layout { grid-template-columns: 1fr !important; }
  #km-page .km-footer-cta, #km-page .km-fcta { padding: 60px 20px !important; overflow: hidden !important; }
  #km-page .km-fcta-inner { padding: 0 !important; text-align: center !important; align-items: center !important; }
  #km-page .km-fcta-line1, #km-page .km-fcta-line2 { font-size: 26px !important; line-height: 1.2 !important; }
  #km-page h2 { font-size: 26px !important; line-height: 1.2 !important; }
  #km-page h3 { font-size: 18px !important; }
  #km-page .km-name-origin-inner, #km-page .km-about-split, #km-page .km-about-grid, #km-page .km-svc-who-grid { flex-direction: column !important; gap: 24px !important; }
  #km-page .km-about-grid { display: flex !important; }
  #km-page .km-band { padding: 32px 20px !important; }
  #km-page .km-pull-quote { font-size: 18px !important; padding: 24px 20px !important; }
}
@media (max-width: 480px) {
  #km-page .km-page-h1, #km-page .km-hero-h1 { font-size: 26px !important; line-height: 1.15 !important; }
  #km-page h2 { font-size: 22px !important; }
  #km-page h3 { font-size: 16px !important; }
  #km-page .km-stats-row, #km-page .km-stats-grid { grid-template-columns: 1fr !important; }
  #km-page .km-cs-metrics, #km-page .km-cs-metric-grid { grid-template-columns: 1fr !important; }
  #km-page .km-fcta-line1, #km-page .km-fcta-line2 { font-size: 20px !important; }
  #km-page .km-stat-num { font-size: 36px !important; }
}

/* Global overflow fix — prevent horizontal scroll from decorative SVGs/images */
html, body { overflow-x: hidden !important; max-width: 100%; }

/* === SERVICE PAGE MOBILE (max-width: 900px) — matches homepage template === */
@media (max-width: 900px) {
  /* Prevent horizontal scroll caused by full-bleed hero */
  html { overflow-x: hidden !important; }

  /* Full-bleed hero — same calc as desktop but overflow hidden keeps it tidy on mobile */
  .km-page-hero {
    margin-left: calc(-50vw + 50%) !important;
    margin-right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding: 48px 24px 72px !important;
  }
  .km-page-hero-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
  }
  /* Hide decorative watermark on mobile — mirrors km-hero-visual: display:none on homepage */
  .km-hero-watermark { display: none !important; }
}

@media (max-width: 600px) {
  .km-page-hero {
    padding: 40px 20px 56px !important;
  }
}

/* SHOW KM-HAMBURGER ON MOBILE — global fix for all service pages */
@media (max-width: 900px) {
  #km-page .km-hamburger {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    z-index: 1002;
    margin-left: auto;
  }
  #km-page .km-hamburger span {
    display: block !important;
    width: 24px;
    height: 2px;
    background: #f7f7f7;
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.2s ease;
  }
  #km-page .km-hamburger.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  #km-page .km-hamburger.open span:nth-child(2) {
    opacity: 0;
  }
  #km-page .km-hamburger.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
  #km-page .km-nav-links { display: none !important; }
}

/* HIDE KADENCE MOBILE HEADER — sibling of masthead, shows ⋮ toggle on iPhone */
#mobile-header,
.site-mobile-header-wrap {
  display: none !important;
}

/* FULL-WIDTH KM-PAGE — remove entry-content-wrap horizontal padding that clips content */
.entry-content-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* === KM Fullwidth homepage (remove 1290px content cap) === */
body.page-id-44 .content-container.site-container{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}
@media (min-width:1025px){.mobile-navigation,.mobile-menu-container,.mobile-toggle-open-container{display:none !important;}}


/* === KM Fullwidth all custom full-bleed pages (auto-targets #km-page) === */
body:has(#km-page) .content-container.site-container{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}


/* === KM Fullwidth via km-nav (covers all custom pages, incl. those without #km-page) === */
body:has(.km-nav) .content-container.site-container{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}

/* ===== SMOKE SIGNALS BLOG SYSTEM. Scoped to post contexts only, custom page templates untouched. ===== */
body:is(.blog,.archive,.single-post,.search,.error404){background:#23203c!important;font-family:'Now',sans-serif;color:rgba(247,247,247,0.90);}
body:is(.blog,.archive,.single-post,.search,.error404) #wrapper,body:is(.blog,.archive,.single-post,.search,.error404) #inner-wrap,body:is(.blog,.archive,.single-post,.search,.error404) #primary,body:is(.blog,.archive,.single-post,.search,.error404) #main{background:transparent!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(header.site-header,.site-header,.kadence-header){display:block!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(footer.site-footer,.site-footer,.kadence-footer){display:block!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.entry-header,.page-header,.entry-title,.wp-block-post-title,.post-archive-title){display:block!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-meta{display:flex!important;}
/* HEADER */
body:is(.blog,.archive,.single-post,.search,.error404) .site-header{background:#23203c!important;border-bottom:1px solid rgba(247,247,247,0.10)!important;position:sticky!important;top:0;z-index:900;}
body:is(.blog,.archive,.single-post,.search,.error404).admin-bar .site-header{top:32px;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.site-header-wrap,.site-header-inner-wrap,.site-header-upper-wrap,.site-header-upper-inner-wrap,.site-main-header-wrap,.site-header-row-container-inner,.site-main-header-inner-wrap){background:transparent!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-main-header-inner-wrap{min-height:76px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.site-title,.site-title a){font-family:'Now',sans-serif!important;font-weight:900!important;font-size:21px!important;letter-spacing:-0.02em!important;color:#f7f7f7!important;text-decoration:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-title a:hover{color:#BD944A!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-branding img{max-height:42px!important;width:auto!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-description{display:none!important;}
/* PRIMARY NAV */
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation .menu>li>a{font-family:'Now',sans-serif!important;font-size:15px!important;font-weight:600!important;color:rgba(247,247,247,0.82)!important;text-decoration:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation .menu>li>a:hover,body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation .menu>li:hover>a{color:#BD944A!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation .menu>li.current-menu-item>a,body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation .menu>li.current-menu-ancestor>a{color:#BD944A!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.sub-menu{background:#23203c!important;border:1px solid rgba(255,255,255,0.10)!important;border-radius:10px!important;padding:10px 0!important;box-shadow:0 12px 40px rgba(0,0,0,0.35)!important;min-width:232px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.sub-menu li a{color:rgba(247,247,247,0.78)!important;font-family:'Now',sans-serif!important;font-size:14px!important;font-weight:500!important;padding:9px 20px!important;background:transparent!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.sub-menu li a:hover{color:#BD944A!important;background:rgba(255,255,255,0.05)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.drawer-toggle,.menu-toggle-open,.search-toggle-open){color:#f7f7f7!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #mobile-drawer .drawer-inner{background:#23203c!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #mobile-drawer a,body:is(.blog,.archive,.single-post,.search,.error404) #mobile-drawer .drawer-toggle{color:rgba(247,247,247,0.86)!important;font-family:'Now',sans-serif!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #mobile-drawer a:hover{color:#BD944A!important;}
/* ARCHIVE HERO */
body:is(.blog,.archive,.single-post,.search,.error404) :is(.entry-hero,.post-archive-hero-section){background:#23203c!important;padding:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero .entry-hero-container-inner{background:transparent!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero .hero-container{padding:96px 0 44px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .post-archive-title{text-align:left!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .post-archive-title::before{content:'Marketing Insights';display:block;font-family:'Now',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.20em;text-transform:uppercase;color:#BD944A;margin:0 0 18px;}
body:is(.blog,.archive,.single-post,.search,.error404) .post-archive-title::after{content:'Practical marketing thinking for waste, environmental, and service businesses. Written for operators, not for other marketers.';display:block;max-width:760px;margin:22px 0 0;font-family:'Now',sans-serif;font-size:18px;font-weight:400;line-height:1.68;color:rgba(247,247,247,0.72);}
body:is(.blog,.archive,.single-post,.search,.error404) :is(h1.page-title,h1.archive-title,.entry-hero h1){font-family:'Now',sans-serif!important;font-weight:900!important;font-size:clamp(42px,6.6vw,84px)!important;line-height:1.02!important;letter-spacing:-0.02em!important;color:#f7f7f7!important;margin:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .archive-description,body:is(.blog,.archive,.single-post,.search,.error404) .taxonomy-description{color:rgba(247,247,247,0.72)!important;font-family:'Now',sans-serif!important;}
/* ARCHIVE CARDS */
body:is(.blog,.archive,.single-post,.search,.error404) #archive-container{padding:0 0 96px!important;gap:28px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article.loop-entry.content-bg{background:rgba(255,255,255,0.035)!important;border:1px solid rgba(247,247,247,0.11)!important;border-radius:12px!important;box-shadow:none!important;overflow:hidden;transition:border-color 0.2s ease,transform 0.2s ease;}
body:is(.blog,.archive,.single-post,.search,.error404) article.loop-entry.content-bg:hover{border-color:rgba(189,148,74,0.55)!important;transform:translateY(-3px);}
body:is(.blog,.archive,.single-post,.search,.error404) .loop-entry .entry-content-wrap{padding:28px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .loop-entry .post-thumbnail img{border-radius:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .category-links a{font-family:'Now',sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:0.18em!important;text-transform:uppercase!important;color:#BD944A!important;text-decoration:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .loop-entry h2.entry-title{margin:14px 0 10px!important;font-family:'Now',sans-serif!important;font-size:23px!important;font-weight:800!important;line-height:1.26!important;letter-spacing:-0.01em!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .loop-entry h2.entry-title a{color:#f7f7f7!important;text-decoration:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .loop-entry h2.entry-title a:hover{color:#BD944A!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.entry-meta,.entry-meta a,.entry-meta span,.entry-meta time){font-family:'Now',sans-serif!important;font-size:13px!important;font-weight:500!important;color:rgba(247,247,247,0.52)!important;text-decoration:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-meta a:hover{color:#BD944A!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .loop-entry .entry-summary p{font-family:'Now',sans-serif!important;font-size:16px!important;line-height:1.70!important;color:rgba(247,247,247,0.76)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .post-more-link a,body:is(.blog,.archive,.single-post,.search,.error404) .more-link-wrap a{color:#BD944A!important;font-family:'Now',sans-serif!important;font-weight:700!important;font-size:14px!important;letter-spacing:0.04em!important;text-decoration:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .post-more-link a:hover{color:#d8b163!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero+#main .content-wrap{padding-top:0!important;}
/* SINGLE POST */
body:is(.blog,.archive,.single-post,.search,.error404).single-post #primary{padding:0 0 96px!important;}
body:is(.blog,.archive,.single-post,.search,.error404).single-post :is(.content-bg.single-entry,article.single-entry){background:transparent!important;box-shadow:none!important;border:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404).single-post .entry-content-wrap{padding:80px 0 0!important;}
body:is(.blog,.archive,.single-post,.search,.error404).single-post .entry-taxonomies{margin:0 0 16px!important;}
body:is(.blog,.archive,.single-post,.search,.error404).single-post h1.entry-title{font-family:'Now',sans-serif!important;font-weight:900!important;font-size:clamp(34px,4.6vw,58px)!important;line-height:1.06!important;letter-spacing:-0.025em!important;color:#f7f7f7!important;margin:0 0 20px!important;}
body:is(.blog,.archive,.single-post,.search,.error404).single-post .entry-header .entry-meta{margin:0 0 40px!important;padding:0 0 32px!important;border-bottom:1px solid rgba(247,247,247,0.12)!important;}
body:is(.blog,.archive,.single-post,.search,.error404).single-post .post-thumbnail img{border-radius:12px!important;margin-bottom:40px!important;}
/* SINGLE POST BODY TYPE */
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content{font-family:'Now',sans-serif!important;font-size:18px!important;line-height:1.76!important;color:#f7f7f7!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content p{margin:0 0 26px!important;color:#f7f7f7!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content :is(h2,h3,h4,h5,h6){font-family:'Now',sans-serif!important;color:#f7f7f7!important;letter-spacing:-0.015em!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content h2{font-weight:900!important;font-size:clamp(26px,3vw,34px)!important;line-height:1.20!important;margin:52px 0 16px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content h3{font-weight:800!important;font-size:clamp(21px,2.2vw,25px)!important;line-height:1.28!important;margin:40px 0 12px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content h4{font-weight:700!important;font-size:19px!important;margin:32px 0 10px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content a{color:#BD944A!important;text-decoration:none!important;border-bottom:1px solid rgba(189,148,74,0.45)!important;transition:border-color 0.2s ease;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content a:hover{border-bottom-color:#BD944A!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content :is(ul,ol){margin:0 0 26px 22px!important;padding:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content li{margin:0 0 10px!important;line-height:1.72!important;color:#f7f7f7!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content li::marker{color:#BD944A;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content :is(strong,b){color:#f7f7f7!important;font-weight:700!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content blockquote{border-left:3px solid #BD944A!important;background:rgba(64,65,113,0.38)!important;margin:38px 0!important;padding:24px 28px!important;border-radius:0 10px 10px 0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content blockquote p{font-style:italic!important;font-size:20px!important;line-height:1.62!important;color:rgba(247,247,247,0.94)!important;margin:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content :is(img,figure img){border-radius:12px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content figcaption{font-family:'Now',sans-serif!important;font-size:13px!important;color:rgba(247,247,247,0.55)!important;margin-top:12px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content :is(code,pre){background:rgba(0,0,0,0.32)!important;color:#94CED0!important;border-radius:8px!important;font-size:15px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content code{padding:2px 7px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content pre{padding:20px 22px!important;overflow:auto!important;margin:0 0 26px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content hr{border:0!important;border-top:1px solid rgba(247,247,247,0.14)!important;margin:48px 0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content table{width:100%!important;border-collapse:collapse!important;margin:0 0 30px!important;font-size:16px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content :is(th,td){border:1px solid rgba(247,247,247,0.14)!important;padding:12px 14px!important;text-align:left!important;color:rgba(247,247,247,0.86)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-content th{background:rgba(255,255,255,0.055)!important;font-weight:700!important;color:#f7f7f7!important;}
/* PAGINATION, SEARCH, FORMS, COMMENTS */
body:is(.blog,.archive,.single-post,.search,.error404) :is(.page-numbers,.nav-links a,.pagination a){font-family:'Now',sans-serif!important;color:rgba(247,247,247,0.75)!important;border-color:rgba(247,247,247,0.18)!important;text-decoration:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .page-numbers:hover{color:#BD944A!important;border-color:rgba(189,148,74,0.55)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .page-numbers.current{background:#BD944A!important;color:#23203c!important;border-color:#BD944A!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #main :is(input[type=text],input[type=email],input[type=url],input[type=search],input[type=tel],textarea,select){background:rgba(255,255,255,0.05)!important;border:1px solid rgba(247,247,247,0.16)!important;color:#f7f7f7!important;border-radius:8px!important;font-family:'Now',sans-serif!important;padding:12px 14px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #main ::placeholder{color:rgba(247,247,247,0.42)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #main :is(button,input[type=submit],.wp-block-search__button){background:#BD944A!important;color:#23203c!important;border:0!important;border-radius:999px!important;font-family:'Now',sans-serif!important;font-weight:700!important;padding:13px 26px!important;cursor:pointer;}
body:is(.blog,.archive,.single-post,.search,.error404) #main :is(button,input[type=submit]):hover{background:#d8b163!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #comments{background:transparent!important;border-top:1px solid rgba(247,247,247,0.12)!important;margin-top:64px!important;padding-top:44px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #comments :is(p,label,li,cite,.comment-author,.comment-metadata a){font-family:'Now',sans-serif!important;color:rgba(247,247,247,0.80)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #comments :is(h2,h3,.comment-reply-title){font-family:'Now',sans-serif!important;font-weight:900!important;color:#f7f7f7!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .comment-body{background:rgba(255,255,255,0.035)!important;border:1px solid rgba(247,247,247,0.11)!important;border-radius:12px!important;padding:22px 24px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .no-results,body:is(.blog,.archive,.single-post,.search,.error404) .page-content{font-family:'Now',sans-serif!important;color:rgba(247,247,247,0.82)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .no-results a,body:is(.blog,.archive,.single-post,.search,.error404) .page-content a{color:#BD944A!important;}
/* SIDEBAR AND WIDGETS */
body:is(.blog,.archive,.single-post,.search,.error404) #secondary :is(.widget,.widget-area-wrapper){background:rgba(255,255,255,0.035)!important;border:1px solid rgba(247,247,247,0.11)!important;border-radius:12px!important;padding:24px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #secondary :is(.widget-title,h2,h3){font-family:'Now',sans-serif!important;font-weight:800!important;color:#f7f7f7!important;font-size:17px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #secondary a{color:rgba(247,247,247,0.78)!important;text-decoration:none!important;font-family:'Now',sans-serif!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #secondary a:hover{color:#BD944A!important;}
/* FOOTER */
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer{background:#23203c!important;border-top:1px solid rgba(247,247,247,0.12)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.site-footer-wrap,.site-bottom-footer-wrap,.site-footer-row-container-inner,.site-bottom-footer-inner-wrap,.footer-widget-area,.footer-widget-area-inner){background:transparent!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-bottom-footer-inner-wrap{padding-top:34px!important;padding-bottom:34px!important;}
/* MOBILE */
@media (max-width:1024px){body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero .hero-container{padding:64px 0 34px!important;}body:is(.blog,.archive,.single-post,.search,.error404) .entry-content-wrap{padding-left:0!important;padding-right:0!important;}}
@media (max-width:782px){body:is(.blog,.archive,.single-post,.search,.error404).admin-bar .site-header{top:0;}body:is(.blog,.archive,.single-post,.search,.error404) .post-archive-title::after{font-size:16px;}body:is(.blog,.archive,.single-post,.search,.error404) .entry-content{font-size:17px!important;}}

/* ----- NAV PARITY WITH THE SYNCED SITE NAV ----- */
body:is(.blog,.archive,.single-post,.search,.error404) .site-header{background:#404171!important;border-bottom:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-header .site-container{max-width:100%!important;padding-left:40px!important;padding-right:40px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-main-header-inner-wrap{min-height:72px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-branding{display:flex!important;align-items:center!important;gap:14px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-branding img,body:is(.blog,.archive,.single-post,.search,.error404) .custom-logo{max-height:38px!important;width:auto!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.site-title,.site-title a){font-family:'Now',sans-serif!important;font-size:15px!important;font-weight:700!important;letter-spacing:3.3px!important;text-transform:uppercase!important;color:#f7f7f7!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.menu>li>a{font-family:'Now',sans-serif!important;font-size:13px!important;font-weight:500!important;letter-spacing:1.04px!important;text-transform:uppercase!important;color:rgba(247,247,247,0.80)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.menu>li>a:hover,body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.menu>li:hover>a{color:#f7f7f7!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.menu>li.menu-item:last-child>a{background:#BD944A!important;color:#23203c!important;border-radius:999px!important;padding:10px 24px!important;font-weight:500!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.menu>li.menu-item:last-child>a:hover{background:#d8b163!important;color:#23203c!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .header-navigation ul.sub-menu li a{font-size:13px!important;font-weight:500!important;letter-spacing:0.5px!important;text-transform:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #mobile-drawer .drawer-inner{background:#404171!important;}
/* ----- SERVICE ACCENT COLOUR BY CATEGORY ----- */
body:is(.blog,.archive,.single-post,.search,.error404) article{--km-cat:#BD944A;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-seo-insights{--km-cat:#94CED0;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-social-media-insights{--km-cat:#1e92be;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-paid-media-insights{--km-cat:#BD944A;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-marketing-strategy{--km-cat:#898AA8;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-waste-and-environmental{--km-cat:#47a0a4;}
body:is(.blog,.archive,.single-post,.search,.error404) article.loop-entry.content-bg{border-top:3px solid var(--km-cat)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article.loop-entry.content-bg:hover{border-color:rgba(247,247,247,0.11)!important;border-top-color:var(--km-cat)!important;box-shadow:0 14px 44px rgba(0,0,0,0.34)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article .category-links a{color:var(--km-cat)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article.loop-entry h2.entry-title a:hover{color:var(--km-cat)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article .post-more-link a,body:is(.blog,.archive,.single-post,.search,.error404) article .more-link-wrap a{color:var(--km-cat)!important;}
body:is(.blog,.archive,.single-post,.search,.error404).single-post article .entry-taxonomies a{font-family:'Now',sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:0.18em!important;text-transform:uppercase!important;color:var(--km-cat)!important;text-decoration:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404).single-post article h1.entry-title::before{content:'';display:block;width:64px;height:3px;background:var(--km-cat);margin:0 0 26px;}
body:is(.blog,.archive,.single-post,.search,.error404) article .entry-content a{color:var(--km-cat)!important;border-bottom-color:color-mix(in srgb, var(--km-cat) 45%, transparent)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article .entry-content a:hover{border-bottom-color:var(--km-cat)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article .entry-content li::marker{color:var(--km-cat);}
body:is(.blog,.archive,.single-post,.search,.error404) article .entry-content blockquote{border-left-color:var(--km-cat)!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article .entry-content :is(code,pre){color:var(--km-cat)!important;}
/* ----- CONTAINER ALIGNMENT ----- */
body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero .hero-container{padding-left:24px!important;padding-right:24px!important;}

/* ----- ACCENT PRIORITY WHEN A POST CARRIES MORE THAN ONE CATEGORY. Last rule wins. ----- */
body:is(.blog,.archive,.single-post,.search,.error404) article.category-marketing-strategy{--km-cat:#898AA8;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-waste-and-environmental{--km-cat:#47a0a4;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-paid-media-insights{--km-cat:#BD944A;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-social-media-insights{--km-cat:#1e92be;}
body:is(.blog,.archive,.single-post,.search,.error404) article.category-seo-insights{--km-cat:#94CED0;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero .hero-container{padding-bottom:10px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) article .category-links a{font-size:12px!important;}

/* ----- HERO PARITY WITH THE SITE PAGE HERO ----- */
body:is(.blog,.archive,.single-post,.search,.error404) :is(.entry-hero,.post-archive-hero-section){background-color:#23203c!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201440%20560'%3E%3Cellipse%20cx%3D'1200'%20cy%3D'80'%20rx%3D'600'%20ry%3D'420'%20fill%3D'%23BD944A'%20opacity%3D'0.09'%2F%3E%3Cellipse%20cx%3D'1350'%20cy%3D'460'%20rx%3D'340'%20ry%3D'240'%20fill%3D'%23BD944A'%20opacity%3D'0.06'%2F%3E%3Cellipse%20cx%3D'100'%20cy%3D'520'%20rx%3D'280'%20ry%3D'200'%20fill%3D'%23404171'%20opacity%3D'0.22'%2F%3E%3Ccircle%20cx%3D'820'%20cy%3D'40'%20r%3D'90'%20fill%3D'%23BD944A'%20opacity%3D'0.06'%2F%3E%3Ccircle%20cx%3D'1440'%20cy%3D'0'%20r%3D'220'%20fill%3D'none'%20stroke%3D'%23BD944A'%20stroke-width%3D'1'%20opacity%3D'0.14'%2F%3E%3Ccircle%20cx%3D'1440'%20cy%3D'0'%20r%3D'310'%20fill%3D'none'%20stroke%3D'%23f7f7f7'%20stroke-width%3D'0.9'%20opacity%3D'0.10'%2F%3E%3Ccircle%20cx%3D'1440'%20cy%3D'0'%20r%3D'410'%20fill%3D'none'%20stroke%3D'%23BD944A'%20stroke-width%3D'0.9'%20opacity%3D'0.08'%2F%3E%3Ccircle%20cx%3D'1440'%20cy%3D'0'%20r%3D'520'%20fill%3D'none'%20stroke%3D'%23f7f7f7'%20stroke-width%3D'0.8'%20opacity%3D'0.06'%2F%3E%3C%2Fsvg%3E")!important;background-repeat:no-repeat!important;background-size:100% auto!important;background-position:center center!important;max-width:1800px!important;margin:0 auto!important;padding:72px 56px 100px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero .entry-hero-container-inner{background:transparent!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero .hero-section-overlay{display:none!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .entry-hero .hero-container{max-width:1300px!important;margin:0 auto!important;padding:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .post-archive-title{text-align:left!important;position:relative;}
body:is(.blog,.archive,.single-post,.search,.error404) .post-archive-title::before{content:'Marketing Insights';display:block;font-family:'Now',sans-serif;font-size:13px;font-weight:700;letter-spacing:2.6px;line-height:1.2;text-transform:uppercase;color:#BD944A;margin:0 0 20px;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(h1.page-title,h1.archive-title)::before{content:'';display:block;width:56px;height:2px;background:#BD944A;margin:0 0 14px;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(h1.page-title,h1.archive-title){font-family:'Now',sans-serif!important;font-weight:900!important;font-size:clamp(42px,6.1vw,88px)!important;line-height:1.02!important;letter-spacing:-0.02em!important;color:#f7f7f7!important;margin:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(h1.page-title,h1.archive-title)::after{content:'No Fluff. No Jargon. Just What Works.';display:block;font-family:'Now',sans-serif;font-size:20px;font-weight:600;line-height:1.4;letter-spacing:normal;color:rgba(247,247,247,0.86);margin:18px 0 32px;}
body:is(.blog,.archive,.single-post,.search,.error404) .post-archive-title::after{content:'Practical marketing thinking for waste, environmental, and service businesses. Written for operators, not for other marketers.';display:block;max-width:620px;font-family:'Now',sans-serif;font-size:17px;font-weight:400;line-height:1.75;color:rgba(247,247,247,0.93);margin:0 0 32px;}
/* ----- CONTENT CONTAINER ALIGNED TO THE HERO ----- */
body:is(.blog,.archive,.single-post,.search,.error404) #main .content-container{max-width:1412px!important;margin:0 auto!important;padding-left:56px!important;padding-right:56px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #main .content-container>*{max-width:1300px!important;margin-left:auto!important;margin-right:auto!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #archive-container{padding:0 0 96px!important;}
/* ----- SITE FOOTER INJECTED INTO THE THEME FOOTER ----- */
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer{background:transparent!important;border-top:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.site-bottom-footer-inner-wrap,.site-footer-row-container-inner,.footer-widget-area,.footer-widget-area-inner,.footer-html,.footer-html-inner){padding:0!important;margin:0!important;max-width:none!important;width:100%!important;background:transparent!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer .site-container{max-width:none!important;padding:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer .km{display:block!important;}
@media (max-width:900px){body:is(.blog,.archive,.single-post,.search,.error404) :is(.entry-hero,.post-archive-hero-section){padding:48px 24px 56px!important;background-size:auto 100%!important;}body:is(.blog,.archive,.single-post,.search,.error404) #main .content-container{padding-left:24px!important;padding-right:24px!important;}body:is(.blog,.archive,.single-post,.search,.error404) :is(h1.page-title,h1.archive-title)::after{font-size:18px;}}

/* ----- FOOTER GRID PARITY, PORTED FROM SYNCED PATTERN 798 ----- */

body:is(.blog,.archive,.single-post,.search,.error404) #km-footer-root .km-footer-inner{display:grid!important;grid-template-columns:150px 1.6fr 1fr 0.8fr 1.1fr!important;gap:20px!important;max-width:1200px!important;margin:0 auto!important;padding:8px 40px 30px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #km-footer-root .km-footer-col-title{display:block!important;font-size:10.5px!important;font-weight:700!important;letter-spacing:0.18em!important;text-transform:uppercase!important;color:#BD944A!important;margin:0 0 8px 0!important;padding:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #km-footer-root .km-footer-brand-tag{font-size:11px!important;white-space:nowrap!important;color:rgba(247,247,247,0.45)!important;margin-top:6px!important;padding:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) #km-footer-root .km-footer-inner > div{padding:0!important;margin:0!important;}
@media (max-width: 900px) {
  #km-footer-root .km-footer-inner{grid-template-columns: 1fr 1fr !important; gap: 32px !important; padding: 40px 24px 0 !important; max-width: 100% !important;}
body:is(.blog,.archive,.single-post,.search,.error404) #km-footer-root .km-footer-bottom{flex-direction: column !important; gap: 8px !important; text-align: center !important; padding: 20px 24px !important;}
}
@media (max-width: 600px) {
  #km-footer-root .km-footer-inner{grid-template-columns: 1fr !important;}
}

body:is(.blog,.archive,.single-post,.search,.error404) .site-footer #km-footer-root{display:block!important;}

/* ----- FOOTER SOCIAL ICONS. Inline SVG is stripped by the footer HTML sanitiser, so they are drawn in CSS. ----- */
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer a[aria-label]{background-repeat:no-repeat!important;background-position:center!important;background-size:16px 16px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer a[aria-label="LinkedIn"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'%23f7f7f7'%3E%3Cpath%20d%3D'M4.98%203.5C4.98%204.88%203.87%206%202.5%206S0%204.88%200%203.5%201.12%201%202.5%201s2.48%201.12%202.48%202.5zM.22%208.02h4.56V24H.22V8.02zM8.34%208.02h4.37v2.18h.06c.61-1.15%202.1-2.37%204.32-2.37%204.62%200%205.47%203.04%205.47%207v9.17h-4.56v-8.13c0-1.94-.03-4.43-2.7-4.43-2.7%200-3.11%202.11-3.11%204.29V24H8.34V8.02z'%2F%3E%3C%2Fsvg%3E")!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer a[aria-label="Facebook"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'%23f7f7f7'%3E%3Cpath%20d%3D'M24%2012.07C24%205.4%2018.63%200%2012%200S0%205.4%200%2012.07C0%2018.1%204.39%2023.1%2010.13%2024v-8.44H7.08v-3.49h3.05V9.41c0-3.02%201.79-4.69%204.53-4.69%201.31%200%202.68.24%202.68.24v2.96h-1.51c-1.49%200-1.96.93-1.96%201.89v2.26h3.33l-.53%203.49h-2.8V24C19.61%2023.1%2024%2018.1%2024%2012.07z'%2F%3E%3C%2Fsvg%3E")!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer a[aria-label="Instagram"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'%23f7f7f7'%3E%3Cpath%20d%3D'M12%202.16c3.2%200%203.58.01%204.85.07%201.17.05%201.8.25%202.23.41.56.22.96.48%201.38.9.42.42.68.82.9%201.38.16.42.36%201.06.41%202.23.06%201.27.07%201.65.07%204.85s-.01%203.58-.07%204.85c-.05%201.17-.25%201.8-.41%202.23-.22.56-.48.96-.9%201.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41-.56-.22-.96-.48-1.38-.9-.42-.42-.68-.82-.9-1.38-.16-.42-.36-1.06-.41-2.23C2.17%2015.58%202.16%2015.2%202.16%2012s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68%201.38-.9.42-.16%201.06-.36%202.23-.41C8.42%202.17%208.8%202.16%2012%202.16zM12%200C8.74%200%208.33.01%207.05.07%205.78.13%204.9.33%204.14.63c-.79.31-1.46.72-2.12%201.39C1.35%202.68.94%203.35.63%204.14.33%204.9.13%205.78.07%207.05.01%208.33%200%208.74%200%2012s.01%203.67.07%204.95c.06%201.27.26%202.15.56%202.91.31.79.72%201.46%201.39%202.12.66.66%201.33%201.08%202.12%201.39.76.3%201.64.5%202.91.56C8.33%2023.99%208.74%2024%2012%2024s3.67-.01%204.95-.07c1.27-.06%202.15-.26%202.91-.56.79-.31%201.46-.72%202.12-1.39.66-.66%201.08-1.33%201.39-2.12.3-.76.5-1.64.56-2.91.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.06-1.27-.26-2.15-.56-2.91-.31-.79-.72-1.46-1.39-2.12C21.32%201.35%2020.65.94%2019.86.63c-.76-.3-1.64-.5-2.91-.56C15.67.01%2015.26%200%2012%200zM12%205.84a6.16%206.16%200%20100%2012.32%206.16%206.16%200%20000-12.32zM12%2016a4%204%200%20110-8%204%204%200%20010%208zm7.85-10.41a1.44%201.44%200%2011-2.88%200%201.44%201.44%200%20012.88%200z'%2F%3E%3C%2Fsvg%3E")!important;}
/* ----- PAGE BACKGROUND BELOW THE FOLD ----- */
html:has(body:is(.blog,.archive,.single-post,.search,.error404)){background:#23203c!important;}

/* ----- STICKY HEADER FIX. Kadence clips the wrapper, which kills position sticky. ----- */
body:is(.blog,.archive,.single-post,.search,.error404) #wrapper.site{overflow:visible!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-header{position:sticky!important;top:0!important;z-index:900!important;}
body:is(.blog,.archive,.single-post,.search,.error404).admin-bar .site-header{top:32px!important;}
/* ----- FOOTER CTA BAND ----- */
body:is(.blog,.archive,.single-post,.search,.error404) #km-cta-root{display:block!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .km-footer-cta{background-color:#404171!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201440%20560'%3E%3Ccircle%20cx%3D'720'%20cy%3D'250'%20r%3D'220'%20fill%3D'none'%20stroke%3D'%23BD944A'%20stroke-width%3D'0.6'%20opacity%3D'0.06'%2F%3E%3Ccircle%20cx%3D'720'%20cy%3D'250'%20r%3D'320'%20fill%3D'none'%20stroke%3D'%23f7f7f7'%20stroke-width%3D'0.7'%20opacity%3D'0.08'%2F%3E%3Ccircle%20cx%3D'720'%20cy%3D'250'%20r%3D'420'%20fill%3D'none'%20stroke%3D'%23BD944A'%20stroke-width%3D'0.8'%20opacity%3D'0.11'%2F%3E%3Ccircle%20cx%3D'720'%20cy%3D'250'%20r%3D'530'%20fill%3D'none'%20stroke%3D'%23f7f7f7'%20stroke-width%3D'0.9'%20opacity%3D'0.14'%2F%3E%3Ccircle%20cx%3D'720'%20cy%3D'250'%20r%3D'650'%20fill%3D'none'%20stroke%3D'%23BD944A'%20stroke-width%3D'1'%20opacity%3D'0.18'%2F%3E%3Ccircle%20cx%3D'720'%20cy%3D'250'%20r%3D'780'%20fill%3D'none'%20stroke%3D'%23f7f7f7'%20stroke-width%3D'1.1'%20opacity%3D'0.22'%2F%3E%3Ccircle%20cx%3D'720'%20cy%3D'250'%20r%3D'920'%20fill%3D'none'%20stroke%3D'%23BD944A'%20stroke-width%3D'1.2'%20opacity%3D'0.26'%2F%3E%3Ccircle%20cx%3D'720'%20cy%3D'250'%20r%3D'1070'%20fill%3D'none'%20stroke%3D'%23f7f7f7'%20stroke-width%3D'1.3'%20opacity%3D'0.28'%2F%3E%3C%2Fsvg%3E")!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:100% auto!important;padding:120px 40px!important;text-align:center!important;max-width:1800px!important;margin:0 auto!important;position:relative!important;overflow:hidden!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .km-fcta-inner{max-width:800px!important;margin:0 auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:16px!important;font-family:'Now',sans-serif!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .km-fcta-pre{font-size:18px!important;font-weight:400!important;line-height:1.6!important;letter-spacing:0.72px!important;color:rgba(247,247,247,0.86)!important;margin:0 0 16px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) :is(.km-fcta-line1,.km-fcta-line2){font-size:clamp(32px,5.2vw,56px)!important;font-weight:900!important;line-height:1.1!important;letter-spacing:-0.01em!important;margin:0!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .km-fcta-line1{color:#f7f7f7!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .km-fcta-line2{color:#BD944A!important;margin:0 0 8px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .km-fcta-sub{font-size:18px!important;font-weight:400!important;line-height:1.6!important;color:rgba(247,247,247,0.86)!important;margin:0 0 16px!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .km-btn-primary{display:block!important;width:fit-content!important;background:#BD944A!important;color:#f7f7f7!important;border-radius:999px!important;padding:16px 36px!important;font-size:14px!important;font-weight:700!important;letter-spacing:1.12px!important;line-height:1.6!important;text-transform:uppercase!important;text-decoration:none!important;border:0!important;transition:background 0.2s ease;}
body:is(.blog,.archive,.single-post,.search,.error404) .km-btn-primary:hover{background:#d8b163!important;color:#f7f7f7!important;}
/* ----- FOOTER LEFT ALIGNED, MATCHING THE REST OF THE SITE ----- */
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer #km-footer-root{text-align:left!important;}
body:is(.blog,.archive,.single-post,.search,.error404) .site-footer #km-footer-root :is(.km-footer-inner,.km-footer-inner>div,.km-footer-bottom,.km-footer-bottom>div){text-align:left!important;}
@media (max-width:900px){body:is(.blog,.archive,.single-post,.search,.error404) .km-footer-cta{padding:72px 24px!important;background-size:auto 100%!important;}}


/* KM: FEATURED IMAGE PLACEMENT
   The featured image is the post header, so it renders on the post itself.
   Blog index and archive cards stay text-only, as they were before. */
body.blog a.post-thumbnail,
body.archive a.post-thumbnail,
body.search a.post-thumbnail { display: none !important; }


/* KM: SINGLE POST HEADER
   The featured image carries the category eyebrow and the headline, so the
   theme's duplicates are hidden visually but kept in the DOM for SEO and
   screen readers. Byline and date still show. */
body.single-post .entry-header.post-title h1.entry-title,
body.single-post .entry-taxonomies {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
body.single-post .entry-header.post-title { margin-bottom: 0 !important; }


/* KM: BLOG FULL WIDTH
   Blog pages use the same full-bleed frame as the rest of the site. The
   featured image runs edge to edge like a page hero and the article sits in
   the same 1300px container. Running text is capped at a readable measure. */
body.single-post .content-container,
body.blog .content-container,
body.archive .content-container,
body.search .content-container { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }

body.single-post .site-main,
body.blog .site-main,
body.archive .site-main,
body.search .site-main { max-width: 100% !important; }

body.single-post .post-thumbnail {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important; }
body.single-post .post-thumbnail.kadence-thumbnail-ratio-2-3 { padding-bottom: 0 !important; height: auto !important; }
body.single-post .post-thumbnail .post-thumbnail-inner { padding-bottom: 0 !important; height: auto !important; position: static !important; }
body.single-post .post-thumbnail img {
  position: static !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: auto !important;
  object-fit: initial !important;
  border-radius: 0 !important;
  display: block !important; }

body.single-post article.entry,
body.blog .content-wrap,
body.archive .content-wrap,
body.search .content-wrap {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important; }




/* KM: BLOG ARTICLE FORMATTING
   Applies to every post automatically. Authors write plain headings and
   paragraphs, this handles the rest. Ember Gold is constant for section
   headings and the spark rule. The accent changes per category, following
   the Section 03 service color map. */

body.single-post .entry-content { --km-accent: #1e92be; }

body.single-post .entry-content h2,
body.single-post .entry-content h2.wp-block-heading { color: #BD944A !important; }

body.single-post .entry-content h2::before {
  content: "";
  display: block;
  width: 120px;
  height: 4px;
  background: #BD944A;
  margin: 56px 0 18px; }
body.single-post .entry-content > h2:first-child::before { margin-top: 0; }

body.single-post .entry-content h3,
body.single-post .entry-content h3.wp-block-heading { color: var(--km-accent) !important; }

body.single-post .entry-content a { color: var(--km-accent) !important; text-decoration: underline; text-underline-offset: 3px; }
body.single-post .entry-content a:hover { color: #BD944A !important; }

body.single-post .entry-content li::marker { color: #BD944A; }

body.single-post .entry-content p,
body.single-post .entry-content li,
body.single-post .entry-content strong { color: #f7f7f7 !important; }

/* category accent map */
body.single-post .category-seo-insights .entry-content { --km-accent: #94CED0; }
body.single-post .category-social-media-insights .entry-content { --km-accent: #1e92be; }
body.single-post .category-paid-media-insights .entry-content { --km-accent: #BD944A; }
body.single-post .category-marketing-strategy .entry-content { --km-accent: #898AA8; }
body.single-post .category-waste-and-environmental .entry-content { --km-accent: #3B6A8B; }


/* ==========================================================================
   MOBILE OPTIMIZATION BLOCK  -  added 2026-08-20
   Scope: blog index, single posts, archives, search, 404, plus the two
   case study pages. Every rule sits inside a max-width media query or is
   tied to a km-bleed class, so desktop rendering is unchanged.
   To roll back, delete everything from this comment to the end of the file.
   ========================================================================== */

/* M1. Mobile header for blog / archive / search / 404 templates.
   The theme header is switched off site wide and replaced by the .km-nav
   pattern, which only exists inside page content. Blog templates therefore
   had no header and no menu at all below 1024px. */
@media (max-width: 1024px) {
  body:is(.blog, .archive, .single-post, .search, .error404) #mobile-header,
  body:is(.blog, .archive, .single-post, .search, .error404) .site-mobile-header-wrap {
    display: block !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) .site-header-wrap {
    display: none !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) .site-mobile-header-wrap .site-header-row {
    background: #404171 !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) .site-mobile-header-wrap .site-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #f7f7f7 !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) .site-mobile-header-wrap .menu-toggle-open {
    color: #f7f7f7 !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* M2. Footer. A desktop only rule forces a five column grid with !important
   and no media query, which pushed the blog templates to 668px wide. */
@media (max-width: 900px) {
  body:is(.blog, .archive, .single-post, .search, .error404) #km-footer-root .km-footer-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 20px !important;
    padding: 8px 24px 28px !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) #km-footer-root .km-footer-brand-tag {
    white-space: normal !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) #km-footer-root .km-footer {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) .km-footer-cta {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 56px 24px !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) #km-footer-root .km-footer-bottom {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: center !important;
    padding: 20px 24px 28px !important;
  }
  body:is(.blog, .archive, .single-post, .search, .error404) #km-footer-root .km-footer-links a {
    display: inline-block !important;
    padding: 5px 0 !important;
  }
}
@media (max-width: 600px) {
  body:is(.blog, .archive, .single-post, .search, .error404) #km-footer-root .km-footer-inner > *:first-child {
    grid-column: 1 / -1 !important;
  }
}

/* M3. Blog index headline was running 42px on a 342px measure. */
@media (max-width: 782px) {
  body:is(.blog, .archive, .search) :is(h1.page-title, h1.archive-title, h1.post-home-title) {
    font-size: clamp(26px, 7.4vw, 34px) !important;
    line-height: 1.12 !important;
  }
}

/* M4. Post body safety. Nothing inside an article should be able to
   set the page width. */
@media (max-width: 900px) {
  body.single-post .entry-content > * { max-width: 100% !important; }
  body.single-post .entry-content img,
  body.single-post .entry-content iframe,
  body.single-post .entry-content table {
    max-width: 100% !important;
    height: auto !important;
  }
  body.single-post .entry-content pre { overflow-x: auto !important; }
}

/* M5. Belt and braces. overflow-x: clip rather than hidden so any
   sticky positioning keeps working. */
@media (max-width: 900px) {
  body:is(.blog, .archive, .single-post, .search, .error404) {
    overflow-x: hidden;
    overflow-x: clip;
  }
}

/* M6. Page wrapper bleed. Replaces the hardcoded inline style that used to
   sit on #km-page, which could not be overridden from here. The bleed
   cancels the content container padding on desktop and switches off at
   mobile, where that padding is zero. */
#km-page.km-bleed-32 {
  margin-left: -32px !important;
  margin-right: -32px !important;
  width: calc(100% + 64px) !important;
  overflow-x: hidden !important;
}
#km-page.km-bleed-24 {
  margin-left: -24px !important;
  margin-right: -24px !important;
  width: calc(100% + 48px) !important;
  overflow-x: hidden !important;
}
@media (max-width: 900px) {
  #km-page.km-bleed-32,
  #km-page.km-bleed-24 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}


/* M7. Single post header on phones. The featured image carries the eyebrow,
   headline and subhead as baked in type sized for a 1920px canvas. At 390px
   the eyebrow and subhead render at 3 to 5px and are unreadable. Below 782px
   the image steps aside and the real H1 and category run as live text, which
   is sharper, resizable and readable by assistive tech. The image is
   untouched above 782px and still serves as the share card. */
@media (max-width: 782px) {
  body.single-post .post-thumbnail.article-post-thumbnail { display: none !important; }
  body.single-post .entry-content-wrap { padding-top: 30px !important; }
  body.single-post .entry-header.post-title { padding: 0 0 6px !important; }
  body.single-post .entry-header.post-title h1.entry-title,
  body.single-post .entry-taxonomies {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    border: 0 !important;
  }
  body.single-post .entry-taxonomies {
    font-family: Now, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #BD944A !important;
    margin-bottom: 12px !important;
  }
  body.single-post .entry-taxonomies a { color: #BD944A !important; text-decoration: none !important; }
  body.single-post .entry-header.post-title h1.entry-title {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.1 !important;
    color: #f7f7f7 !important;
    margin-bottom: 14px !important;
  }
}


/* M8. Case study cards and process steps on phones. Nested card padding was
   stacking to 45 or 60px a side, which squeezed the measure to 225px and
   broke stat labels mid word. */
@media (max-width: 600px) {
  #km-page .km-ember-card { padding: 0 !important; }
  #km-page .km-ember-body { padding: 24px 20px 26px !important; }
  #km-page .km-ember-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px 10px !important;
    width: 100% !important;
  }
  #km-page .km-ember-stat { width: auto !important; min-width: 0 !important; flex: none !important; }
  #km-page .km-ember-stat-label {
    font-size: 10px !important;
    line-height: 1.3 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
  #km-page .km-process-step { padding: 26px 20px !important; }
  #km-page .km-lrsr-quote { padding: 20px 18px !important; }
  #km-page .km-lrsr-quote-text { font-size: 15px !important; }
  #km-page .km-lrsr-container { padding-left: 12px !important; padding-right: 12px !important; }
}


/* ==========================================================================
   M9. UNIFIED NAVIGATION  -  added 2026-08-20
   The hand coded .km-nav block was removed from all 21 pages. The Kadence
   header, driven by the WordPress menu at Appearance > Menus, is now the
   only nav on every template. It was already styled as a twin of .km-nav
   for blog templates, so this lifts that styling out of its blog only
   scope and applies it site wide.
   ========================================================================== */

/* Nothing can ever show two navs. */
.km-nav,
#km-nav-root { display: none !important; }

/* This used to hang off body:has(.km-nav). The page wrapper is the stable
   hook now that the nav has moved to the theme header. */
body:has(#km-page) .content-container.site-container {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body :is(header.site-header,
.site-header,
.kadence-header) {
  display: block !important;
}
body .site-header {
  top: 0px !important;
  z-index: 900 !important;
  background: rgb(64, 65, 113) !important;
  border-bottom: 0px !important;
  position: sticky !important;
}
body.admin-bar .site-header {
  top: 32px !important;
}
body :is(.site-header-wrap,
.site-header-inner-wrap,
.site-header-upper-wrap,
.site-header-upper-inner-wrap,
.site-main-header-wrap,
.site-header-row-container-inner,
.site-main-header-inner-wrap) {
  background: transparent !important;
}
body :is(.site-title,
.site-title a) {
  font-family: Now, sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 3.3px !important;
  color: rgb(247, 247, 247) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}
body .site-title a:hover {
  color: rgb(189, 148, 74) !important;
}
body .site-branding img {
  max-height: 42px !important;
  width: auto !important;
}
body .header-navigation .menu > li > a {
  font-family: Now, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: rgba(247, 247, 247, 0.82) !important;
  text-decoration: none !important;
}
body .header-navigation .menu > li > a:hover,
body .header-navigation .menu > li:hover > a {
  color: rgb(189, 148, 74) !important;
}
body .header-navigation .menu > li.current-menu-item > a,
body .header-navigation .menu > li.current-menu-ancestor > a {
  color: rgb(189, 148, 74) !important;
}
body .header-navigation ul.sub-menu {
  background: rgb(35, 32, 60) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  padding: 10px 0px !important;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 12px 40px !important;
  min-width: 232px !important;
}
body .header-navigation ul.sub-menu li a {
  color: rgba(247, 247, 247, 0.78) !important;
  font-family: Now, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 9px 20px !important;
  background: transparent !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
}
body .header-navigation ul.sub-menu li a:hover {
  color: rgb(189, 148, 74) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}
body :is(.drawer-toggle,
.menu-toggle-open,
.search-toggle-open) {
  color: rgb(247, 247, 247) !important;
}
body .site-header .site-container {
  max-width: 100% !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
body .site-branding {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
body .site-branding img,
body .custom-logo {
  max-height: 38px !important;
  width: auto !important;
}
body .header-navigation ul.menu > li > a {
  font-family: Now, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 1.04px !important;
  text-transform: uppercase !important;
  color: rgba(247, 247, 247, 0.8) !important;
}
body .header-navigation ul.menu > li > a:hover,
body .header-navigation ul.menu > li:hover > a {
  color: rgb(247, 247, 247) !important;
}
body .header-navigation ul.menu > li.menu-item:last-child > a {
  background: rgb(189, 148, 74) !important;
  color: rgb(35, 32, 60) !important;
  border-radius: 999px !important;
  padding: 10px 24px !important;
  font-weight: 500 !important;
}
body .header-navigation ul.menu > li.menu-item:last-child > a:hover {
  background: rgb(216, 177, 99) !important;
  color: rgb(35, 32, 60) !important;
}

@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 0px;
  }
}

@media (max-width: 1024px) {
  body .site-header-wrap {
    display: none !important;
  }
  body .site-mobile-header-wrap .site-header-row {
    background: rgb(64, 65, 113) !important;
  }
  body .site-mobile-header-wrap .site-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: rgb(247, 247, 247) !important;
  }
  body .site-mobile-header-wrap .menu-toggle-open {
    color: rgb(247, 247, 247) !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* Mobile header everywhere, not just blog templates. Supersedes M1. */
@media (max-width: 1024px) {
  #mobile-header,
  .site-mobile-header-wrap { display: block !important; }
  .site-header-wrap { display: none !important; }
  .site-mobile-header-wrap .site-header-row { background: #404171 !important; }
  .site-mobile-header-wrap .site-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #f7f7f7 !important;
  }
  .site-mobile-header-wrap .site-branding img,
  .site-mobile-header-wrap .custom-logo {
    max-height: 34px !important;
    width: auto !important;
  }
  .site-mobile-header-wrap .menu-toggle-open {
    color: #f7f7f7 !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  .site-mobile-header-wrap .site-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
@media (min-width: 1025px) {
  #mobile-header,
  .site-mobile-header-wrap { display: none !important; }
  .site-header-wrap { display: block !important; }
}


/* Mobile drawer, dressed to match the retired km-nav drawer:
   gold uppercase group labels, off-white destinations. */
#mobile-drawer .drawer-inner,
#mobile-drawer .drawer-content,
#mobile-drawer .drawer-header { background: #404171 !important; }
#mobile-drawer .drawer-header { padding: 10px 20px !important; }
#mobile-drawer .drawer-toggle,
#mobile-drawer .drawer-toggle .kadence-svg-iconset { color: #BD944A !important; }
#mobile-drawer .drawer-content { padding-left: 20px !important; padding-right: 20px !important; }

#mobile-drawer nav.mobile-navigation ul li a {
  font-family: Now, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: rgba(247, 247, 247, 0.86) !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}
#mobile-drawer nav.mobile-navigation ul.sub-menu li a {
  padding-left: 14px !important;
  color: rgba(247, 247, 247, 0.8) !important;
}
#mobile-drawer nav.mobile-navigation ul.menu > li.menu-item-has-children > .drawer-nav-drop-wrap > a {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #BD944A !important;
  padding: 18px 0 8px !important;
  border-bottom: 0 !important;
}
#mobile-drawer nav.mobile-navigation ul li a:hover,
#mobile-drawer nav.mobile-navigation ul li a:focus { color: #BD944A !important; }
#mobile-drawer nav.mobile-navigation .drawer-nav-drop-wrap button,
#mobile-drawer nav.mobile-navigation .kadence-svg-iconset { color: #BD944A !important; }

#mobile-drawer nav.mobile-navigation ul.menu > li.menu-item:last-child > a {
  display: block !important;
  margin-top: 24px !important;
  padding: 13px 24px !important;
  background: #BD944A !important;
  color: #23203C !important;
  border-radius: 999px !important;
  border-bottom: 0 !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}


/* M9a. Bar height parity. The 72px bar was only ever set for blog templates;
   pages were falling back to the theme default of 80px. */
body .site-main-header-inner-wrap { min-height: 72px !important; }
@media (max-width: 1024px) {
  body .site-mobile-header-wrap .site-header-row { min-height: 72px !important; }
  body .site-mobile-header-wrap .site-branding img,
  body .site-mobile-header-wrap .custom-logo {
    max-height: 34px !important;
    width: auto !important;
  }
}


/* ==========================================================================
   M10. SCROLL FIX  -  added 2026-08-20
   Mobile would not scroll the case study pages. Three scroll containers were
   nested inside each other: html, body and #km-page all carried
   overflow-x: hidden, and hidden on one axis forces the other axis to auto,
   which turns each element into its own scroll box. A touch drag gets
   captured by the innermost box and never chains out to the page.
   Only the root should scroll.
   ========================================================================== */

/* html keeps the clip and propagates it to the viewport, which is correct and
   is the page scroller. body must not be a second scroll box; clip crops the
   same way without creating one. */
:root { overflow-x: hidden !important; }
body[class] { overflow-x: clip !important; }

/* Safari before 16 has no overflow: clip. Fall back to visible rather than
   letting the earlier hidden rule reinstate the trap. */
@supports not (overflow: clip) {
  body[class] { overflow-x: visible !important; }
}

/* Same treatment for the page wrapper, up to 1024px so touch tablets are
   covered too. Desktop keeps hidden on purpose: the full bleed math depends
   on the scrollbar that overflow-x: hidden reserves, and switching it there
   shifts every full bleed section 10px off centre. */
@media (max-width: 768px) {
  body #km-page { overflow-x: clip !important; }
}
@media (max-width: 1024px) {
  body #km-page.km-bleed-32,
  body #km-page.km-bleed-24 {
    overflow-x: clip !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}
