/* Mumford Connect front-end block styles: shared block-page foundations. */
:root{
  --mc-navy:#071b33;
  --mc-navy-2:#0b2b50;
  --mc-blue:#146fe8;
  --mc-blue-dark:#0c58be;
  --mc-ink:#0b1f35;
  --mc-muted:#607086;
  --mc-line:#dfe6ed;
  --mc-mist:#f5f8fb;
  --mc-white:#fff;
  --mc-container:1240px;
}

.mc-block-page-output,.mc-block-page{width:100%;max-width:none;margin:0;overflow-x:clip;overflow-y:visible}
.mc-block-page-output>.wp-block-group,.mc-block-page-output>.wp-block-query,.mc-block-page-output>.wp-block-columns,
.mc-block-page>.wp-block-group,.mc-block-page>.wp-block-query,.mc-block-page>.wp-block-columns{margin-block-start:0;margin-block-end:0}
.mc-block-page-output .alignfull,.mc-block-page .alignfull{width:100%;max-width:none;margin-left:0;margin-right:0}
.mc-block-page-output .mc-container,.mc-block-page .mc-container{width:min(calc(100% - 48px),var(--mc-container));max-width:var(--mc-container);margin-inline:auto}

/* Gutenberg pages no longer have a hidden outer Group. Keep ordinary top-level
   core blocks readable/constrained while allowing full-width MC sections to own
   their own geometry. */
.mc-block-page-output>:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta){
  width:min(calc(100% - 48px),var(--mc-container));
  max-width:var(--mc-container);
  margin-left:auto;
  margin-right:auto;
}

.mc-block-page-output :where(h1,h2,h3),.mc-block-page :where(h1,h2,h3){color:var(--mc-ink)}
.mc-block-page-output p:last-child,.mc-block-page p:last-child{margin-bottom:0}
.mc-block-page-output .mc-eyebrow,.mc-block-page .mc-eyebrow{margin:0 0 16px;color:var(--mc-blue);font-size:.73rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.mc-block-page-output .mc-eyebrow--light,.mc-block-page .mc-eyebrow--light{color:#72b7ff}

/* Buttons are self-contained so dynamic MC blocks do not depend on core
   Buttons CSS happening to be present elsewhere on the request. */
.mc-block-page-output .wp-block-buttons,.mc-block-page .wp-block-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.mc-block-page-output .wp-block-button,.mc-block-page .wp-block-button{margin:0}
.mc-block-page-output .wp-block-button__link,.mc-block-page .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:1px solid var(--mc-navy);border-radius:3px;background:var(--mc-navy);color:#fff;font-size:.9rem;font-weight:750;line-height:1.15;text-align:center;text-decoration:none;overflow-wrap:normal;word-break:normal;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.mc-block-page-output .wp-block-button__link:hover,.mc-block-page .wp-block-button__link:hover{background:var(--mc-blue);border-color:var(--mc-blue);color:#fff;transform:translateY(-1px)}
.mc-block-page-output .mc-block-button--secondary .wp-block-button__link,.mc-block-page .mc-block-button--secondary .wp-block-button__link{background:transparent;color:var(--mc-navy);border-color:#aebdcb}
.mc-block-page-output .mc-block-button--secondary .wp-block-button__link:hover,.mc-block-page .mc-block-button--secondary .wp-block-button__link:hover{background:#fff;border-color:var(--mc-blue);color:var(--mc-blue)}

.mc-block-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:31px}
.mc-block-actions>.wp-block-button{flex:0 0 auto;margin:0}
.mc-block-actions .wp-block-button__link{width:auto}

.mc-block-section,.mc-component-section{padding:84px 0;background:#fff}
.mc-block-section--soft{background:var(--mc-mist);border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}
.mc-block-section--compact{padding:44px 0}
.mc-block-section--dark{background:var(--mc-navy);color:#fff}
.mc-block-section--dark :where(h1,h2,h3,h4,h5,h6){color:#fff}
.mc-block-section--dark :where(p,li){color:rgba(255,255,255,.74)}
.mc-block-section--dark .mc-eyebrow{color:#7ebcff}
.mc-block-section--dark :where(a:not(.wp-block-button__link)){color:#8fc4ff}
.mc-block-section--dark :where(a:not(.wp-block-button__link)):hover{color:#c4e0ff}
.mc-block-section--dark .wp-block-button__link{background:#fff;border-color:#fff;color:var(--mc-navy)}
.mc-block-section--dark .wp-block-button__link:hover{background:#dfeeff;border-color:#dfeeff;color:var(--mc-navy)}
.mc-block-section--dark .mc-block-button--secondary .wp-block-button__link{background:var(--mc-blue);border-color:var(--mc-blue);color:#fff}
.mc-block-section--dark .mc-block-button--secondary .wp-block-button__link:hover{background:#0f61cf;border-color:#0f61cf;color:#fff}

.mc-block-readable{max-width:900px;margin:0 auto;font-size:1.05rem}
.mc-block-readable>*:first-child{margin-top:0}
.mc-block-readable h2{margin-top:1.8em;font-size:clamp(2rem,3.2vw,3rem)}
.mc-block-readable h3{margin-top:1.7em;font-size:1.4rem}
.mc-block-readable p,.mc-block-readable li{color:#334a62}
.mc-block-readable a{color:var(--mc-blue);text-decoration:underline;text-underline-offset:3px}
.mc-block-readable ul,.mc-block-readable ol{padding-left:1.3em}
.mc-block-section--dark .mc-block-readable :where(p,li){color:rgba(255,255,255,.76)}
.mc-block-section--dark .mc-block-readable a{color:#9acbff}

.mc-block-section-heading{max-width:820px;margin-bottom:38px}
.mc-block-section-heading h2{margin:0;font-size:clamp(2.25rem,4vw,4rem);letter-spacing:-.045em}
.mc-block-section-heading>p:last-child{color:var(--mc-muted);max-width:720px}
.mc-block-section--dark .mc-block-section-heading>p:last-child{color:rgba(255,255,255,.7)}
.mc-block-section-heading--split{display:flex;align-items:end;justify-content:space-between;gap:50px;max-width:none}
.mc-block-section-heading--split>div{max-width:820px}
.mc-block-text-link{margin:0}
.mc-block-text-link a{display:inline-flex;align-items:center;gap:8px;color:var(--mc-blue);font-size:.83rem;font-weight:800;text-decoration:none}
.mc-block-text-link a:hover{color:var(--mc-blue-dark)}
.mc-block-text-link--light a{color:#fff}
.mc-block-text-link--light a:hover{color:#b9d8ff}
.mc-block-note{font-size:.8rem;color:var(--mc-muted)}
.mc-block-section--dark .mc-block-note{color:rgba(255,255,255,.64)}

.mc-block-page-output .wp-block-columns{gap:clamp(24px,3vw,48px)}
.mc-block-page-output .wp-block-columns>.wp-block-column{margin:0!important;min-width:0}
.mc-block-page-output .wp-block-columns>.wp-block-column>*:first-child{margin-block-start:0!important}
.mc-block-page-output .wp-block-group.is-layout-grid{gap:clamp(18px,2.4vw,32px)}
.mc-block-page-output .wp-block-group.is-layout-grid>*{margin:0!important;min-width:0}
.mc-block-page-output .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.mc-block-page-output .wp-block-table table{min-width:540px}
.mc-block-page-output :where(img,svg,video){max-width:100%;height:auto}
.mc-block-page-output iframe{max-width:100%}
.mc-block-page-output :where(p,h1,h2,h3,h4,h5,h6,li){overflow-wrap:break-word;word-break:normal}

@media (max-width:900px){
  .mc-block-section,.mc-component-section{padding:68px 0}
  .mc-block-section--compact{padding:38px 0}
}
@media (max-width:782px){
  .mc-block-page-output .mc-container,.mc-block-page .mc-container{width:min(calc(100% - 36px),var(--mc-container))}
  .mc-block-page-output>:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta){width:min(calc(100% - 36px),var(--mc-container))}
  .mc-block-section-heading--split{display:block}
  .mc-block-section-heading--split>.mc-block-text-link{margin-top:16px}
}
@media (max-width:640px){
  .mc-block-page-output .mc-container,.mc-block-page .mc-container{width:min(calc(100% - 28px),var(--mc-container))}
  .mc-block-page-output>:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta){width:min(calc(100% - 28px),var(--mc-container))}
  .mc-block-section,.mc-component-section{padding:54px 0}
  .mc-block-section--compact{padding:32px 0}
  .mc-block-actions,.mc-block-page-output .wp-block-buttons{display:grid;width:100%}
  .mc-block-actions>.wp-block-button,.mc-block-page-output .wp-block-buttons>.wp-block-button{width:100%}
  .mc-block-actions .wp-block-button__link,.mc-block-page-output .wp-block-buttons .wp-block-button__link{width:100%}
  .mc-block-page-output .wp-block-table table{min-width:500px}
}
@media (prefers-reduced-motion:reduce){
  .mc-block-page-output *,.mc-block-page *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
}

/* Readable legal/document content. */
.mc-block-legal-content .mc-block-readable{max-width:860px}
.mc-block-legal-content .mc-block-readable h2{margin-top:2.2em}
.mc-block-legal-content .mc-block-readable h3{margin-top:1.8em}

/* Shared grid/flex hygiene for both native Gutenberg layouts and MC legacy
   classes. Centralizing these rules avoids repeating them in each component
   bundle and prevents WordPress block-gap margins from shifting one item. */
.mc-block-page-output :where(.wp-block-column,.wp-block-group,.mc-block-service-family__intro,.mc-block-service-family__items,.mc-block-hosting-card,.mc-block-feature-card,.mc-block-product-card){min-width:0}
.mc-block-page-output :where(
  .mc-block-proofbar,
  .mc-block-hosting-grid,
  .mc-block-feature-grid,
  .mc-block-process-grid,
  .mc-block-product-grid,
  .mc-block-audience-grid,
  .mc-block-service-family__grid,
  .mc-block-service-family__items,
  .mc-block-split-intro,
  .mc-block-dev-callout,
  .mc-block-product-summary,
  .mc-block-product-process__grid,
  .mc-block-implementation,
  .mc-block-email-callout,
  .wp-block-columns
)>*{margin-block-start:0!important;margin-block-end:0!important}

/* Give freely inserted top-level core blocks sensible breathing room at page
   boundaries without forcing editors to wrap every paragraph in an MC Section. */
.mc-block-page-output>:first-child:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta),
.mc-block-page-output>:where(.alignfull,.mc-block-hero,.mc-component-page-header,.mc-block-section,.mc-component-section,.mc-block-service-family,.mc-component-service-group,.mc-block-product-process,.mc-component-process-section,.mc-block-cta,.mc-component-cta)+:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta){margin-top:56px}
.mc-block-page-output>:last-child:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta){margin-bottom:64px}
@media(max-width:640px){
  .mc-block-page-output>:first-child:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta),
  .mc-block-page-output>:where(.alignfull,.mc-block-hero,.mc-component-page-header,.mc-block-section,.mc-component-section,.mc-block-service-family,.mc-component-service-group,.mc-block-product-process,.mc-component-process-section,.mc-block-cta,.mc-component-cta)+:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta){margin-top:40px}
  .mc-block-page-output>:last-child:not(.alignfull):not(.mc-block-hero):not(.mc-component-page-header):not(.mc-block-section):not(.mc-component-section):not(.mc-block-service-family):not(.mc-component-service-group):not(.mc-block-product-process):not(.mc-component-process-section):not(.mc-block-cta):not(.mc-component-cta){margin-bottom:48px}
}

/* v1.21.0 — shared index treatment and WCAG 2.2 target-size polish. */
.mc-component-index{
  display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:40px;min-height:28px;
  padding:5px 8px;border:1px solid #b8d6f7;border-radius:5px;background:#f1f7fd;color:var(--mc-blue-dark);
  font-size:.68rem;font-weight:850;line-height:1;letter-spacing:.08em;font-variant-numeric:tabular-nums;white-space:nowrap
}
.mc-block-section--dark .mc-component-index{border-color:rgba(126,188,255,.55);background:rgba(20,111,232,.14);color:#9acbff}
.mc-block-text-link a{min-height:32px;padding-block:4px}

/* v1.22.0 — keep section headings prominent without overpowering page content. */
.mc-block-section-heading h2{font-size:clamp(2.15rem,3.6vw,3.5rem)}

/* v1.31.1 — Reference/resource pages use a tighter editorial rhythm than
   service pages. This intentionally does not alter section headings site-wide. */
:is(.mc-block-page--resources,.mc-page-key-resources) .mc-block-section{padding-top:62px;padding-bottom:62px}
:is(.mc-block-page--resources,.mc-page-key-resources) .mc-block-section-heading{max-width:760px;margin-bottom:24px}
:is(.mc-block-page--resources,.mc-page-key-resources) .mc-block-section-heading h2{font-size:clamp(1.75rem,2.55vw,2.45rem);line-height:1.08;letter-spacing:-.035em}
:is(.mc-block-page--resources,.mc-page-key-resources) .mc-block-section-heading>p:last-child{margin-top:10px;max-width:650px;font-size:.95rem;line-height:1.65}
.mc-block-page--faq .mc-block-section{padding-top:52px;padding-bottom:60px}
@media(max-width:640px){
  :is(.mc-block-page--resources,.mc-page-key-resources) .mc-block-section{padding-top:46px;padding-bottom:46px}
  :is(.mc-block-page--resources,.mc-page-key-resources) .mc-block-section-heading{margin-bottom:20px}
  .mc-block-page--faq .mc-block-section{padding-top:38px;padding-bottom:46px}
}

/* v1.32.2 — standard block-page authored content uses the main page grid.
   The old 900px centred readable column made otherwise full-width service,
   sector and hosting pages appear to pinch inward between adjacent sections.
   Keep legal documents deliberately narrow, but let normal authored sections
   occupy the page grid with a broad, left-aligned reading measure. */
.mc-block-page-output .mc-block-section:not(.mc-block-legal-content) .mc-block-readable,
.mc-block-page .mc-block-section:not(.mc-block-legal-content) .mc-block-readable{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
}
.mc-block-page-output .mc-block-section:not(.mc-block-legal-content) .mc-block-readable.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)),
.mc-block-page .mc-block-section:not(.mc-block-legal-content) .mc-block-readable.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)){
  width:min(100%,1100px);
  max-width:1100px;
  margin-left:0!important;
  margin-right:0!important;
}
.mc-block-page-output .mc-block-section:not(.mc-block-legal-content) .mc-block-readable :where(p,ul,ol,blockquote),
.mc-block-page .mc-block-section:not(.mc-block-legal-content) .mc-block-readable :where(p,ul,ol,blockquote){
  max-width:1020px;
}

/* v1.32.4 — make alternating section bands visibly distinct without
   darkening the general-purpose mist colour used by cards and controls. */
.mc-block-page-output .mc-block-section--soft,
.mc-block-page .mc-block-section--soft{
  background:#f0f4f8;
  border-top-color:#e5ecf3;
  border-bottom-color:#e5ecf3;
}


/* v1.32.6 — softer front-end section bands.
   Keep enough contrast to separate consecutive sections without making the
   page feel blue or panel-heavy. */
.mc-block-page-output section.mc-block-section--soft,
.mc-block-page-output section.mc-block-section--auto-soft,
.mc-block-page section.mc-block-section--soft,
.mc-block-page section.mc-block-section--auto-soft{
  background-color:#f2f6fa!important;
  border-top:0!important;
  border-bottom:0!important;
}
.mc-block-page-output section.mc-block-section:not(.mc-block-section--soft):not(.mc-block-section--auto-soft):not(.mc-block-section--dark),
.mc-block-page section.mc-block-section:not(.mc-block-section--soft):not(.mc-block-section--auto-soft):not(.mc-block-section--dark){
  background-color:#fff;
}




/* v1.33.3 — resource-band classes identify content only; the shared rendered-section rhythm chooses the visible band so adjacent sections cannot merge. */

/* v1.33.6 — Quick Answers sits immediately after the Resources intro.
   Its full 62px top inset reads larger than the other Resources section
   headings because of the short split-content section above it. Tighten only
   this top edge; keep the standard bottom rhythm intact. */
.mc-page-key-resources section.mc-block-section--resource-routes{
  padding-top:46px;
}
@media(max-width:640px){
  .mc-page-key-resources section.mc-block-section--resource-routes{padding-top:38px}
}
