/* ==========================================================================
   CBMC Editorial Design System v1.0.0
   All selectors are prefixed .cbmc- to avoid collisions with theme CSS.
   ========================================================================== */

:root{
  --cbmc-navy:#0B2E5B;
  --cbmc-ocean:#1F5F99;
  --cbmc-teal:#4FB0C6;
  --cbmc-ivory:#FAF7F1;
  --cbmc-charcoal:#1A1A1A;
  --cbmc-slate:#6B7280;
  --cbmc-white:#FFFFFF;
  --cbmc-hair:#E5E1D8;
  --cbmc-hair-dark:rgba(255,255,255,0.12);
}

/* ---------- BASE ---------- */
.cbmc-wrap,
.cbmc-header, .cbmc-hero, .cbmc-section, .cbmc-trust-band, .cbmc-cta-band, .cbmc-footer,
.cbmc-service-card, .cbmc-tool-card, .cbmc-serve-card, .cbmc-insight-card,
.cbmc-issue-card, .cbmc-pulse-item{ box-sizing:border-box; }

.cbmc-wrap{ max-width:1280px; margin:0 auto; padding:0 32px; }

/* Apply font stack only inside CBMC blocks so theme text is not overridden */
.cbmc-header, .cbmc-hero, .cbmc-section, .cbmc-trust-band, .cbmc-cta-band, .cbmc-footer, .cbmc-ticker{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--cbmc-charcoal);
  background:var(--cbmc-ivory);
  -webkit-font-smoothing:antialiased;
}
.cbmc-hero a, .cbmc-section a, .cbmc-header a, .cbmc-footer a, .cbmc-cta-band a{ color:inherit; text-decoration:none; }
.cbmc-hero h1, .cbmc-hero h2, .cbmc-hero h3,
.cbmc-section h2, .cbmc-section h3, .cbmc-section h4,
.cbmc-cta-band h2, .cbmc-trust-band blockquote{
  font-family:'Fraunces', Georgia, serif;
  letter-spacing:-0.02em;
  font-weight:600;
  color:var(--cbmc-navy);
}
.cbmc-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:0.15em; color:var(--cbmc-slate); font-weight:500; }
.cbmc-tabular{ font-variant-numeric:tabular-nums; }
.cbmc-small{ color:var(--cbmc-slate); font-size:12px; }

/* Buttons */
.cbmc-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 22px;
  font-size:13px; font-weight:600; letter-spacing:0.02em;
  background:var(--cbmc-teal); color:var(--cbmc-white) !important;
  border-radius:2px; transition:background .2s; cursor:pointer;
  font-family:'Inter', sans-serif;
}
.cbmc-btn:hover{ background:#3d97ab; }
.cbmc-btn-ghost{ background:transparent; color:var(--cbmc-ivory) !important; border:1px solid rgba(250,247,241,0.4); }
.cbmc-btn-ghost:hover{ background:rgba(250,247,241,0.08); border-color:var(--cbmc-ivory); }
.cbmc-btn-text{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:500; color:var(--cbmc-charcoal) !important;
  padding:12px 0; border-bottom:1px solid var(--cbmc-charcoal);
  transition:gap .2s, color .2s;
}
.cbmc-btn-text:hover{ gap:14px; color:var(--cbmc-teal) !important; border-color:var(--cbmc-teal); }

/* ---------- TICKER ---------- */
.cbmc-ticker{
  background:var(--cbmc-navy) !important; color:var(--cbmc-ivory);
  font-size:13px; padding:10px 0; display:flex; align-items:center;
  overflow:hidden; border-bottom:1px solid rgba(79,176,198,0.25);
}
.cbmc-ticker-pill{
  flex-shrink:0; display:flex; align-items:center; gap:8px;
  padding:0 20px 0 32px; font-size:11px;
  text-transform:uppercase; letter-spacing:0.15em; font-weight:500;
  color:var(--cbmc-ivory); border-right:1px solid var(--cbmc-hair-dark);
  margin-right:24px;
}
.cbmc-pulse-dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--cbmc-teal);
  box-shadow:0 0 0 0 rgba(79,176,198,0.6);
  animation:cbmc-pulse 1.8s infinite;
}
@keyframes cbmc-pulse{
  0%{ box-shadow:0 0 0 0 rgba(79,176,198,0.6); }
  70%{ box-shadow:0 0 0 10px rgba(79,176,198,0); }
  100%{ box-shadow:0 0 0 0 rgba(79,176,198,0); }
}
.cbmc-ticker-track{
  display:flex; gap:64px; white-space:nowrap;
  animation:cbmc-marquee 45s linear infinite; padding-right:64px;
}
.cbmc-ticker:hover .cbmc-ticker-track{ animation-play-state:paused; }
.cbmc-ticker-item{ display:flex; align-items:center; gap:12px; font-weight:400; opacity:0.92; }
.cbmc-ticker-item::before{
  content:""; width:4px; height:4px; border-radius:50%;
  background:var(--cbmc-teal); flex-shrink:0;
}
.cbmc-ticker-item strong{
  color:var(--cbmc-teal); font-weight:500;
  letter-spacing:0.08em; text-transform:uppercase; font-size:11px; margin-right:4px;
}
@keyframes cbmc-marquee{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }

/* ---------- HEADER ---------- */
.cbmc-header{
  position:sticky; top:0; z-index:50;
  background:rgba(250,247,241,0.94);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--cbmc-hair);
}
.cbmc-nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 32px; max-width:1280px; margin:0 auto; gap:32px;
}
.cbmc-logo{
  display:inline-flex; align-items:center; gap:10px;
  color:var(--cbmc-navy); line-height:1;
}
.cbmc-logo svg{ display:block; height:42px; width:auto; }
.cbmc-logo-img{ display:block; height:48px; width:auto; max-width:220px; object-fit:contain; }
.cbmc-footer .cbmc-logo-img{ height:64px; max-width:260px; }
.cbmc-logo-word{
  font-family:'Fraunces', serif; font-size:26px; font-weight:700;
  letter-spacing:0.02em; color:var(--cbmc-navy);
}
.cbmc-footer .cbmc-logo svg{ height:52px; }
.cbmc-footer .cbmc-logo-word{ font-size:32px; color:var(--cbmc-ivory); }
.cbmc-nav-links{ display:flex; gap:32px; font-size:14px; font-weight:500; }
.cbmc-nav-links a{ color:var(--cbmc-charcoal); transition:color .2s; }
.cbmc-nav-links a:hover{ color:var(--cbmc-teal); }
.cbmc-nav-right{ display:flex; align-items:center; gap:20px; font-size:14px; }
.cbmc-lang-switch{
  display:flex; align-items:center; gap:6px;
  font-size:12px; letter-spacing:0.1em;
  padding:6px 10px; border:1px solid var(--cbmc-hair); border-radius:2px;
  color:var(--cbmc-slate); cursor:pointer; user-select:none;
}
.cbmc-lang-switch .active{ color:var(--cbmc-navy); font-weight:600; }
.cbmc-lang-switch .cbmc-divider{ opacity:0.4; }
.cbmc-phone-block{ display:flex; align-items:center; gap:8px; color:var(--cbmc-charcoal); font-weight:500; }
.cbmc-phone-block svg{ width:14px; height:14px; stroke:var(--cbmc-teal); fill:none; stroke-width:1.8; }

/* ---------- HERO ---------- */
.cbmc-hero{ padding:96px 0 112px; position:relative; }
.cbmc-hero-grid{ display:grid; grid-template-columns:6fr 4fr; gap:64px; align-items:center; }
.cbmc-hero h1{
  font-size:clamp(40px, 5.4vw, 68px);
  line-height:1.02; letter-spacing:-0.03em;
  color:var(--cbmc-navy); margin:22px 0 24px;
}
.cbmc-hero h1 em{ font-style:italic; font-weight:500; color:var(--cbmc-teal); }
.cbmc-hero-sub{ font-size:19px; color:var(--cbmc-slate); max-width:560px; line-height:1.55; margin-bottom:40px; }
.cbmc-hero-ctas{ display:flex; align-items:center; gap:28px; margin-bottom:56px; flex-wrap:wrap; }
.cbmc-trust-row{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--cbmc-hair);
  padding-top:24px; gap:24px; max-width:640px;
}
.cbmc-trust-metric .cbmc-num{
  font-family:'Fraunces', serif; font-size:28px; font-weight:600;
  color:var(--cbmc-navy); letter-spacing:-0.02em;
  line-height:1; font-variant-numeric:tabular-nums;
  display:block; margin-bottom:6px;
}
.cbmc-trust-metric .cbmc-label{
  font-size:11px; text-transform:uppercase; letter-spacing:0.1em; color:var(--cbmc-slate);
}
.cbmc-issue-card{
  background:var(--cbmc-white); border:1px solid var(--cbmc-hair);
  padding:36px 32px 32px; position:relative;
  box-shadow:0 1px 0 rgba(11,46,91,0.04);
}
.cbmc-issue-card::before{
  content:""; position:absolute; top:0; left:0; right:0;
  height:3px; background:var(--cbmc-navy);
}
.cbmc-issue-date{
  display:flex; justify-content:space-between; align-items:center;
  padding-bottom:16px; margin-bottom:20px;
  border-bottom:1px solid var(--cbmc-hair);
  font-size:11px; letter-spacing:0.15em; text-transform:uppercase; color:var(--cbmc-slate);
}
.cbmc-issue-date .cbmc-cat{ color:var(--cbmc-teal); font-weight:600; }
.cbmc-issue-card h3{
  font-size:26px; line-height:1.15; margin-bottom:14px;
}
.cbmc-issue-card p{ font-size:14px; line-height:1.6; color:var(--cbmc-slate); margin-bottom:24px; }
.cbmc-issue-card .cbmc-read{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; color:var(--cbmc-teal);
  text-transform:uppercase; letter-spacing:0.1em;
  transition:gap .2s;
}
.cbmc-issue-card .cbmc-read:hover{ gap:12px; }

/* ---------- SECTION SCAFFOLD ---------- */
.cbmc-section{ padding:96px 0; }
.cbmc-section-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:48px; gap:32px;
  padding-bottom:20px; border-bottom:1px solid var(--cbmc-hair);
}
.cbmc-section-head h2{
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.05; max-width:720px;
}
.cbmc-section-head .cbmc-eyebrow{ margin-bottom:14px; display:block; }
.cbmc-live-dot{
  display:inline-block; width:6px; height:6px;
  background:var(--cbmc-teal); border-radius:50%;
  margin-right:8px; vertical-align:middle;
  animation:cbmc-pulse 1.8s infinite;
}
.cbmc-section-head-right{ text-align:right; flex-shrink:0; font-size:13px; color:var(--cbmc-slate); }

/* ---------- PULSE ---------- */
.cbmc-pulse-tabs{ display:flex; gap:2px; margin-bottom:40px; border-bottom:1px solid var(--cbmc-hair); }
.cbmc-pulse-tab{
  padding:14px 22px; font-size:13px; font-weight:500;
  color:var(--cbmc-slate); letter-spacing:0.02em;
  background:none; border:none; border-bottom:2px solid transparent;
  margin-bottom:-1px; cursor:pointer;
  transition:color .2s, border-color .2s;
  font-family:'Inter', sans-serif;
}
.cbmc-pulse-tab.active{ color:var(--cbmc-navy); border-bottom-color:var(--cbmc-teal); font-weight:600; }
.cbmc-pulse-tab:hover{ color:var(--cbmc-navy); }
.cbmc-pulse-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--cbmc-hair); }
.cbmc-pulse-item{
  padding:32px 32px 32px 0;
  border-bottom:1px solid var(--cbmc-hair);
  border-right:1px solid var(--cbmc-hair);
  transition:background .2s;
}
.cbmc-pulse-item:nth-child(3n){ border-right:none; padding-right:0; }
.cbmc-pulse-item:nth-child(3n+1){ padding-left:0; padding-right:32px; }
.cbmc-pulse-item:nth-child(3n+2){ padding-left:32px; padding-right:32px; }
.cbmc-pulse-item:hover{ background:rgba(79,176,198,0.04); }
.cbmc-pulse-meta{
  display:flex; justify-content:space-between; align-items:center;
  font-size:11px; text-transform:uppercase; letter-spacing:0.12em;
  color:var(--cbmc-slate); margin-bottom:14px;
}
.cbmc-pulse-meta .cbmc-source{ color:var(--cbmc-teal); font-weight:600; }
.cbmc-pulse-item h4{ font-size:22px; line-height:1.2; margin-bottom:12px; letter-spacing:-0.015em; }
.cbmc-pulse-item h4 a{ color:var(--cbmc-navy); }
.cbmc-pulse-item h4 a:hover{ color:var(--cbmc-teal); }
.cbmc-pulse-item p{ font-size:14px; color:var(--cbmc-slate); line-height:1.55; }
.cbmc-pulse-footer{ display:flex; justify-content:flex-end; margin-top:32px; }
.cbmc-pulse-empty{ grid-column:1/-1; padding:60px; text-align:center; color:var(--cbmc-slate); border:1px dashed var(--cbmc-hair); }

/* ---------- SERVICES ---------- */
.cbmc-services-grid{ display:grid; grid-template-columns:1.1fr 2fr; gap:24px; }
.cbmc-service-card{
  background:var(--cbmc-white); border:1px solid var(--cbmc-hair);
  padding:36px 32px; position:relative;
  transition:transform .25s, border-color .25s;
  display:flex; flex-direction:column;
}
.cbmc-service-card::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:2px; background:var(--cbmc-teal);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s;
}
.cbmc-service-card:hover{ transform:translateY(-3px); border-color:#d6d1c1; }
.cbmc-service-card:hover::after{ transform:scaleX(1); }
.cbmc-service-num{
  font-family:'Fraunces', serif; font-size:14px; font-weight:600;
  color:var(--cbmc-teal); letter-spacing:0.05em; margin-bottom:20px; display:block;
}
.cbmc-service-card h3{ font-size:24px; line-height:1.15; margin-bottom:12px; }
.cbmc-service-card p{ font-size:14px; color:var(--cbmc-slate); line-height:1.6; margin-bottom:24px; flex-grow:1; }
.cbmc-service-arrow{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; text-transform:uppercase; letter-spacing:0.12em;
  color:var(--cbmc-navy) !important; font-weight:600;
}
.cbmc-service-feature{ background:var(--cbmc-navy); color:var(--cbmc-ivory); padding:44px 36px; min-height:100%; }
.cbmc-service-feature h3{ color:var(--cbmc-ivory); font-size:34px; }
.cbmc-service-feature p{ color:rgba(250,247,241,0.75); font-size:15px; }
.cbmc-service-feature .cbmc-service-arrow{ color:var(--cbmc-teal) !important; }
.cbmc-service-feature .cbmc-service-num{ color:var(--cbmc-teal); }
.cbmc-feature-tag{
  display:inline-block; padding:5px 10px;
  background:rgba(79,176,198,0.15); color:var(--cbmc-teal);
  font-size:10px; text-transform:uppercase; letter-spacing:0.15em;
  font-weight:600; margin-bottom:16px;
  border:1px solid rgba(79,176,198,0.3);
}
.cbmc-services-inner{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }

/* ---------- WHO WE SERVE ---------- */
.cbmc-serve-scroll{
  display:flex; gap:16px; overflow-x:auto;
  padding:8px 32px 24px; margin:0 -32px;
  scrollbar-width:thin; scrollbar-color:var(--cbmc-teal) transparent;
}
.cbmc-serve-scroll::-webkit-scrollbar{ height:6px; }
.cbmc-serve-scroll::-webkit-scrollbar-thumb{ background:var(--cbmc-teal); border-radius:2px; }
.cbmc-serve-scroll::-webkit-scrollbar-track{ background:var(--cbmc-hair); }
.cbmc-serve-card{
  flex:0 0 260px; background:var(--cbmc-white);
  border:1px solid var(--cbmc-hair); padding:28px 24px;
  transition:border-color .2s, transform .2s;
}
.cbmc-serve-card:hover{ border-color:var(--cbmc-teal); transform:translateY(-2px); }
.cbmc-serve-icon{
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  background:rgba(79,176,198,0.08); border:1px solid rgba(79,176,198,0.2);
  margin-bottom:20px; color:var(--cbmc-teal);
}
.cbmc-serve-icon svg{ width:18px; height:18px; }
.cbmc-serve-card h4{ font-size:19px; margin-bottom:10px; line-height:1.2; }
.cbmc-serve-card p{ font-size:13px; color:var(--cbmc-slate); margin-bottom:20px; line-height:1.5; }
.cbmc-serve-card .cbmc-arrow{
  font-size:11px; text-transform:uppercase; letter-spacing:0.12em;
  color:var(--cbmc-navy); font-weight:600;
  display:inline-flex; align-items:center; gap:6px;
}
.cbmc-serve-card .cbmc-arrow::after{ content:" →"; color:var(--cbmc-teal); }

/* ---------- TOOLS ---------- */
.cbmc-tools-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cbmc-tool-card{
  background:var(--cbmc-white); border:1px solid var(--cbmc-hair); padding:0;
  display:flex; flex-direction:column;
  transition:transform .2s, border-color .2s;
}
.cbmc-tool-card:hover{ transform:translateY(-3px); border-color:var(--cbmc-teal); }
.cbmc-tool-preview{
  height:180px; background:linear-gradient(135deg, #f4efe4 0%, #ebe3d1 100%);
  position:relative; display:flex; align-items:center; justify-content:center;
  border-bottom:1px solid var(--cbmc-hair); overflow:hidden;
}
.cbmc-tool-num-display{
  font-family:'Fraunces', serif; font-size:56px; font-weight:600;
  color:var(--cbmc-navy); letter-spacing:-0.03em;
  font-variant-numeric:tabular-nums; line-height:1;
}
.cbmc-tool-num-display sup{ font-size:20px; color:var(--cbmc-teal); vertical-align:top; margin-left:4px; }
.cbmc-tool-body{ padding:28px 28px 32px; }
.cbmc-tool-body .cbmc-eyebrow{ margin-bottom:14px; color:var(--cbmc-teal); font-weight:600; }
.cbmc-tool-body h3{ font-size:24px; margin-bottom:12px; line-height:1.15; }
.cbmc-tool-body p{ font-size:14px; color:var(--cbmc-slate); line-height:1.55; margin-bottom:22px; }
.cbmc-tool-body .cbmc-arrow{
  font-size:12px; text-transform:uppercase; letter-spacing:0.12em;
  color:var(--cbmc-navy); font-weight:600;
}

/* ---------- QUOTE ---------- */
.cbmc-trust-band{
  padding:96px 0;
  border-top:1px solid var(--cbmc-hair);
  border-bottom:1px solid var(--cbmc-hair);
}
.cbmc-quote-block{ position:relative; }
.cbmc-quote-mark{
  font-family:'Fraunces', serif; font-size:120px; line-height:1;
  color:var(--cbmc-teal); position:absolute; top:-40px; left:-8px;
  opacity:0.25; font-weight:700;
}
.cbmc-quote-block blockquote{
  font-style:italic; font-size:30px; line-height:1.3;
  font-weight:500; margin-bottom:28px; position:relative;
}
.cbmc-quote-attr{ display:flex; align-items:center; gap:16px; }
.cbmc-quote-avatar{
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(135deg, var(--cbmc-navy), #1e3a6a);
  color:var(--cbmc-teal);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif; font-weight:600; font-size:16px;
}
.cbmc-quote-attr-text .cbmc-name{ font-weight:600; color:var(--cbmc-charcoal); font-size:15px; line-height:1.3; }
.cbmc-quote-attr-text .cbmc-role{ font-size:13px; color:var(--cbmc-slate); }
.cbmc-partners .cbmc-eyebrow{ margin-bottom:24px; display:block; }
.cbmc-partners-masthead{
  display:flex; flex-wrap:wrap; gap:0;
  border-top:1px solid var(--cbmc-charcoal);
  border-bottom:1px solid var(--cbmc-charcoal);
  padding:8px 0;
}
.cbmc-partner-mark{
  padding:16px 24px 16px 0;
  font-family:'Fraunces', serif; font-size:20px; font-weight:600;
  color:var(--cbmc-navy); letter-spacing:-0.01em; position:relative;
}
.cbmc-partner-mark:not(:last-child)::after{
  content:""; position:absolute; right:12px; top:50%;
  transform:translateY(-50%);
  width:1px; height:16px; background:var(--cbmc-hair);
}

/* ---------- INSIGHTS ---------- */
.cbmc-insights-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.cbmc-insight-card{
  background:var(--cbmc-white); border:1px solid var(--cbmc-hair);
  display:flex; flex-direction:column;
  transition:transform .2s, border-color .2s;
}
.cbmc-insight-card:hover{ transform:translateY(-4px); border-color:#d6d1c1; }
.cbmc-insight-img{
  aspect-ratio:16/10;
  background:linear-gradient(135deg, #0B2E5B 0%, #1F5F99 100%);
  position:relative; overflow:hidden;
}
.cbmc-insight-img.cbmc-variant-2{ background:linear-gradient(135deg, #1F5F99 0%, #0B2E5B 60%); }
.cbmc-insight-img.cbmc-variant-3{ background:linear-gradient(135deg, #4FB0C6 0%, #0B2E5B 100%); }
.cbmc-insight-body{ padding:28px 28px 32px; }
.cbmc-insight-cat{
  font-size:11px; text-transform:uppercase; letter-spacing:0.15em;
  color:var(--cbmc-teal); font-weight:600; margin-bottom:14px;
}
.cbmc-insight-body h3{ font-size:22px; line-height:1.2; margin-bottom:20px; min-height:80px; letter-spacing:-0.015em; }
.cbmc-insight-meta{
  display:flex; align-items:center; gap:12px;
  font-size:12px; color:var(--cbmc-slate);
  padding-top:16px; border-top:1px solid var(--cbmc-hair);
}
.cbmc-insight-meta .cbmc-dot{ width:3px; height:3px; background:var(--cbmc-slate); border-radius:50%; }

/* ---------- CTA BAND ---------- */
.cbmc-cta-band{
  background:var(--cbmc-navy); color:var(--cbmc-ivory);
  padding:120px 0; position:relative; overflow:hidden;
}
.cbmc-cta-band::before{
  content:""; position:absolute; top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--cbmc-teal), transparent);
}
.cbmc-cta-inner{ max-width:900px; margin:0 auto; text-align:center; padding:0 32px; }
.cbmc-cta-band .cbmc-eyebrow{ color:var(--cbmc-teal); margin-bottom:24px; display:block; }
.cbmc-cta-band h2{
  font-size:clamp(36px,4.8vw,60px);
  line-height:1.05; letter-spacing:-0.025em;
  margin-bottom:24px; color:var(--cbmc-ivory);
}
.cbmc-cta-band h2 span{ color:var(--cbmc-teal); font-style:italic; font-weight:500; }
.cbmc-cta-band p{ font-size:18px; color:rgba(250,247,241,0.75); max-width:560px; margin:0 auto 44px; }
.cbmc-cta-buttons{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ---------- FOOTER ---------- */
.cbmc-footer{ background:var(--cbmc-ivory); padding:80px 0 32px; border-top:1px solid var(--cbmc-hair); }
.cbmc-footer-grid{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;
  gap:48px; margin-bottom:64px;
}
.cbmc-footer-brand p{ font-size:13px; color:var(--cbmc-slate); line-height:1.7; margin-top:20px; }
.cbmc-footer-brand address{
  font-style:normal; font-size:13px; color:var(--cbmc-slate);
  line-height:1.7; margin-top:16px;
  padding-top:20px; border-top:1px solid var(--cbmc-hair);
}
.cbmc-footer-col h5{
  font-size:11px; text-transform:uppercase; letter-spacing:0.15em;
  color:var(--cbmc-navy); font-weight:600; margin-bottom:20px;
}
.cbmc-footer-col ul{ list-style:none; padding:0; margin:0; }
.cbmc-footer-col li{ margin-bottom:12px; }
.cbmc-footer-col a{ font-size:14px; color:var(--cbmc-charcoal); transition:color .2s; }
.cbmc-footer-col a:hover{ color:var(--cbmc-teal); }
.cbmc-footer-contact-line{
  display:flex; align-items:center; gap:8px;
  font-size:14px; color:var(--cbmc-charcoal); margin-bottom:12px;
}
.cbmc-footer-contact-line svg{ width:13px; height:13px; stroke:var(--cbmc-teal); fill:none; stroke-width:1.8; flex-shrink:0; }
.cbmc-footer-bottom{
  padding-top:32px;
  border-top:1px solid var(--cbmc-teal);
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:16px;
  font-size:12px; color:var(--cbmc-slate);
}
.cbmc-footer-bottom-links{ display:flex; gap:24px; }
.cbmc-footer-bottom-links a{ color:var(--cbmc-slate); }
.cbmc-footer-bottom-links a:hover{ color:var(--cbmc-teal); }
.cbmc-footer-social{ display:flex; gap:12px; }
.cbmc-footer-social a{
  width:32px; height:32px; border:1px solid var(--cbmc-hair);
  display:flex; align-items:center; justify-content:center;
  transition:border-color .2s, background .2s;
}
.cbmc-footer-social a:hover{ border-color:var(--cbmc-teal); background:rgba(79,176,198,0.08); }
.cbmc-footer-social svg{ width:14px; height:14px; fill:var(--cbmc-charcoal); }

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .cbmc-hero-grid{ grid-template-columns:1fr; gap:56px; }
  .cbmc-services-grid{ grid-template-columns:1fr; }
  .cbmc-services-inner{ grid-template-columns:1fr 1fr; }
  .cbmc-pulse-grid{ grid-template-columns:1fr 1fr; }
  .cbmc-pulse-item:nth-child(3n){ border-right:1px solid var(--cbmc-hair); padding-right:32px; }
  .cbmc-pulse-item:nth-child(2n){ border-right:none; padding-right:0; }
  .cbmc-tools-grid{ grid-template-columns:1fr; }
  .cbmc-insights-grid{ grid-template-columns:1fr; gap:24px; }
  .cbmc-trust-band .cbmc-wrap{ grid-template-columns:1fr !important; gap:56px !important; }
  .cbmc-footer-grid{ grid-template-columns:1fr 1fr 1fr; gap:32px; }
  .cbmc-footer-brand{ grid-column:1 / -1; }
  .cbmc-nav-links{ display:none; }
}
@media (max-width:640px){
  .cbmc-wrap{ padding:0 20px; }
  .cbmc-section{ padding:64px 0; }
  .cbmc-hero{ padding:56px 0 72px; }
  .cbmc-hero-ctas{ flex-direction:column; align-items:stretch; gap:16px; }
  .cbmc-hero-ctas .cbmc-btn, .cbmc-hero-ctas .cbmc-btn-text{ width:100%; justify-content:center; }
  .cbmc-trust-row{ grid-template-columns:1fr 1fr; gap:20px; }
  .cbmc-section-head{ flex-direction:column; align-items:flex-start; gap:16px; }
  .cbmc-section-head-right{ text-align:left; }
  .cbmc-services-inner{ grid-template-columns:1fr; }
  .cbmc-pulse-grid{ grid-template-columns:1fr; }
  .cbmc-pulse-tabs{ overflow-x:auto; white-space:nowrap; flex-wrap:nowrap; }
  .cbmc-pulse-tab{ padding:14px 16px; flex-shrink:0; }
  .cbmc-footer-grid{ grid-template-columns:1fr 1fr; gap:32px; }
  .cbmc-footer-brand{ grid-column:1 / -1; }
  .cbmc-cta-band{ padding:80px 0; }
  .cbmc-cta-buttons{ flex-direction:column; }
  .cbmc-cta-buttons .cbmc-btn{ width:100%; justify-content:center; }
  .cbmc-quote-block blockquote{ font-size:22px; }
  .cbmc-phone-block{ display:none; }
  .cbmc-nav{ padding:16px 20px; gap:12px; }
  .cbmc-partner-mark{ font-size:16px; }
  .cbmc-ticker-pill{ padding:0 16px 0 20px; font-size:10px; }
}


/* ==========================================================================
   GLOBAL TYPOGRAPHY CONSISTENCY
   Mirrors the homepage editorial sequence across standard pages and subpages.
   Existing component-specific typography remains authoritative.
   ========================================================================== */
body:not(.wp-admin){
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body:not(.wp-admin) :where(main,.site-main,.page-content,article,.elementor-widget-theme-post-content)
  :where(p,li,a,button,input,select,textarea){
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
body:not(.wp-admin) :where(main,.site-main,.page-content,article,.elementor-widget-theme-post-content)
  :where(h1,h2,h3,h4,h5,h6){
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;
  letter-spacing:-.02em;
}
body:not(.wp-admin) :where(main,.site-main,.page-content,article,.elementor-widget-theme-post-content) h1{
  font-size:clamp(40px,5.4vw,68px);
  line-height:1.02;
  letter-spacing:-.03em;
}
body:not(.wp-admin) :where(main,.site-main,.page-content,article,.elementor-widget-theme-post-content) h2{
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.05;
}
body:not(.wp-admin) :where(main,.site-main,.page-content,article,.elementor-widget-theme-post-content) h3{
  font-size:24px;
  line-height:1.15;
}
body:not(.wp-admin) :where(main,.site-main,.page-content,article,.elementor-widget-theme-post-content) p{
  line-height:1.65;
}

/* Newsletter: universal chrome must be first; suppress Hello theme's duplicate title. */
body.page-id-4612 #content > .page-header{
  display:none!important;
}
body.page-id-4612 #content,
body.page-id-4612 #content > .page-content{
  margin:0!important;
  padding:0!important;
}
body.page-id-4612 .cbmcns-site-intro{
  padding-top:clamp(64px,7vw,112px);
}
body.page-id-4612 .cbmcns-site-intro .cbmcns-kicker{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:12px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:.15em;
  text-transform:uppercase;
}
body.page-id-4612 .cbmcns-site-intro h1{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(40px,5.4vw,68px);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:600;
  margin:22px 0 24px;
}
body.page-id-4612 .cbmcns-site-intro .cbmcns-lead{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:19px;
  line-height:1.55;
}
body.page-id-4612 .cbmcns-card h2,
body.page-id-4612 .cbmcns-subscribe h2{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;
  letter-spacing:-.02em;
}
@media(max-width:640px){
  body.page-id-4612 .cbmcns-site-intro{padding-top:48px}
}


/* Font-family enforcement: prevents page-builder widget defaults from breaking
   the homepage Inter + Fraunces sequence on internal pages. */
body:not(.wp-admin) :where(main,.site-main,.page-content,article,.elementor-widget-theme-post-content)
  :where(h1,h2,h3,h4,h5,h6){
  font-family:'Fraunces',Georgia,serif!important;
}
body:not(.wp-admin) :where(main,.site-main,.page-content,article,.elementor-widget-theme-post-content)
  :where(p,li,a,button,input,select,textarea){
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
}
body.page-id-4612 .cbmcns-site-intro h1,
body.page-id-4612 .cbmcns-card h2,
body.page-id-4612 .cbmcns-subscribe h2{
  font-family:'Fraunces',Georgia,serif!important;
}
