/* Archived page styles provide the base design. These additions restore
 * interactions and apply reviewed accessibility and presentation refinements. */
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { overflow-x: clip; }
[hidden] { display: none !important; }
/* Slightly tighter headline tracking; body copy keeps its original spacing. */
h1.framer-text { letter-spacing: -.035em; }
h2.framer-text { letter-spacing: -.015em; }
h3.framer-text,
h4.framer-text { letter-spacing: -.02em; }
:where(a, button, input, textarea, select, [role="button"]):focus-visible {
  outline: 2px solid #f64d00;
  outline-offset: 3px;
}
a[data-framer-name="Logo"] { color: inherit; text-decoration: none; border-radius: 4px; }
/* These zero-padding layout wrappers clipped keyboard outlines. Media and
 * accordion panel containers keep their own intentional clipping. */
.framer-i8KEQ .framer-zn0upb,
.framer-i8KEQ .framer-1xjg05r,
.framer-i8KEQ .framer-rssznx,
.framer-pzTiI .framer-v8uifv,
.framer-5mXoj .framer-bhdu3l,
.framer-Afc9k .framer-30p3yp { overflow: visible; }
.framer-1prn7p2-container > a { color: var(--token-a659cd01-b5bf-49eb-9385-98d30b0e39da, #000); }
.framer-1prn7p2-container > a:hover { background-color: var(--token-8424a170-d7b4-4e98-a2c4-5c5f35a750f0, rgba(0,9,26,.05)) !important; }
/* The live contact panel is a WebGL shader. This local capture preserves its
 * color field; slow CSS movement approximates its motion without that runtime. */
.framer-xm2pqd-container { overflow: hidden; }
.framer-xm2pqd-container::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('/assets/contact-gradient.png') center / 100% 100% no-repeat;
  pointer-events: none;
  animation: foundation-contact-flow 20s ease-in-out infinite alternate;
}
.framer-xm2pqd-container [data-framer-component-type="Shader"] { visibility: hidden; }
@keyframes foundation-contact-flow {
  0% { transform: scale(1.02); }
  50% { transform: translate(2%, -2%) scale(1.08); }
  100% { transform: translate(-1%, 1%) scale(1.04); }
}
.foundation-menu-toggle { -webkit-tap-highlight-color: transparent; }
.foundation-menu-toggle:hover,
.foundation-menu-toggle[aria-expanded="true"] { background-color: var(--token-8424a170-d7b4-4e98-a2c4-5c5f35a750f0, rgba(0,9,26,.05)) !important; }
.foundation-mobile-menu {
  position: fixed;
  top: var(--foundation-menu-top, 70px);
  left: var(--foundation-menu-left, calc(100% - 200px));
  z-index: 11;
  width: 180px;
  max-height: calc(100dvh - var(--foundation-menu-top, 70px) - 12px);
  overflow: auto;
  border: 1px solid var(--token-8752c8c3-a8ae-4c00-8242-90906ff70a3b, rgba(0,0,0,.1));
  border-radius: 4px;
  background: var(--token-a60f2ba3-21a1-4ca0-aeab-2aee0ed3ca04, #fff);
  box-shadow: 0 10px 20px rgba(0,0,0,.05);
  transform-origin: top right;
}
.foundation-mobile-menu:not([hidden]) { animation: foundation-menu-in .16s ease-out; }
@keyframes foundation-menu-in {
  from { opacity: 0; transform: translateY(-4px) scale(.98); }
  to { opacity: 1; transform: none; }
}
.foundation-mobile-menu-links {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 5px;
  gap: 0;
  width: 100%;
}
.foundation-mobile-menu-links a {
  display: block;
  padding: 8px 12px;
  border-radius: 4px;
  color: var(--token-6a404794-a755-419e-ba7f-cb49b649606c, #000);
  font: 500 16px/1.6 Inter, sans-serif;
  letter-spacing: -.01em;
  text-decoration: none;
}
.foundation-mobile-menu-links a:hover { background: var(--token-af42cbae-19be-4008-baaa-af409a6c7839, rgba(0,9,26,.03)); }
/* Give client quotes more emphasis without changing the shared card headings. */
.framer-slideshow h4.framer-text.framer-styles-preset-18nn1kp {
  --framer-font-size: 32px;
  --framer-line-height: 120%;
}
@media (max-width: 1199px) {
  .framer-slideshow h4.framer-text.framer-styles-preset-18nn1kp { --framer-font-size: 28px; }
}
@media (max-width: 599px) {
  .framer-slideshow h4.framer-text.framer-styles-preset-18nn1kp { --framer-font-size: 24px; }
}
.foundation-slideshow { touch-action: pan-y; }
/* Let the longest quote set the height instead of clipping larger text. */
.framer-OBUgT .framer-umjl74 { height: auto; min-height: 466px; }
.framer-OBUgT .framer-4hv76x,
.framer-OBUgT .framer-1tmveyl-container { height: auto; flex: 1 0 auto; }
.framer-slideshow { height: auto !important; max-height: none !important; min-height: 370px; }
.framer-slideshow > div:first-child {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  padding: 0 !important;
}
.foundation-slideshow-track {
  height: auto !important;
  max-height: none !important;
  align-items: stretch !important;
  transition: transform .6s cubic-bezier(.22,1,.36,1);
}
.foundation-slideshow-track > li > div { height: auto !important; }
.foundation-slideshow .framer--slideshow-controls > div { opacity: 1 !important; }
.foundation-slideshow .framer--slideshow-controls button {
  pointer-events: auto !important;
  cursor: pointer !important;
}
.foundation-slideshow-pause {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  padding: 8px;
  margin: 0;
  border: 0;
  border-radius: 4px;
  color: #fff;
  background: #f64d00;
}
/* Keep autoplay control available to keyboard and assistive technology users. */
.foundation-slideshow-pause:not(:focus-visible) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.foundation-slideshow-pause svg { display: block; width: 24px; height: 24px; }
.foundation-slideshow .framer--slideshow-controls button:hover { filter: brightness(.92); }
.foundation-process-card { cursor: default !important; }
.foundation-process-card .framer-wxxfyh { gap: 0; }
.foundation-process-card .framer-17wgygm { position: static; }
.foundation-process-toggle {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  appearance: none;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  cursor: pointer;
}
.foundation-process-toggle::after { position: absolute; inset: 0; content: ''; }
/* Paint focus around the entire item; retain the button fallback in browsers
 * without :has(), so keyboard focus always remains visible. */
@supports selector(:has(*)) {
  .foundation-process-card:has(.foundation-process-toggle:focus-visible) {
    outline: 2px solid #f64d00;
    outline-offset: 3px;
  }
  .foundation-process-toggle:focus-visible { outline: none; }
}
.foundation-process-icon { color: #f64d00; pointer-events: none; }
.foundation-process-icon svg { display: block; width: 24px; height: 24px; transition: transform .4s cubic-bezier(.22,1,.36,1); }
.foundation-process-icon-vertical { transform-origin: 12px 12px; transition: transform .4s cubic-bezier(.22,1,.36,1); }
.foundation-process-expanded .foundation-process-icon svg { transform: rotate(180deg); }
.foundation-process-expanded .foundation-process-icon-vertical { transform: scaleY(0); }
/* Animate intrinsic content height, including its 16px gap and 8px bottom
 * padding. Grid tracks reverse smoothly if a row is toggled again mid-motion. */
.foundation-process-card .foundation-process-panel {
  display: grid;
  grid-template-rows: 0fr;
  align-items: stretch;
  height: auto;
  padding: 0;
  overflow: hidden;
  visibility: hidden;
  cursor: text;
  transition: grid-template-rows .4s cubic-bezier(.22,1,.36,1), visibility 0s .4s;
}
.foundation-process-card .foundation-process-panel > .framer-g1encm { min-height: 0; width: 100%; overflow: hidden; }
.foundation-process-expanded .foundation-process-panel {
  grid-template-rows: 1fr;
  visibility: visible;
  transition-delay: 0s;
}
.foundation-process-panel p { padding: 16px 0 8px; font-family: Inter, sans-serif; font-size: 18px; line-height: 1.4; color: var(--token-8bc2ab17-4e84-4000-906a-5cf3613524bf, rgba(0,0,0,.7)); }
:where(.framer-uj7EV:not(.framer-v-o1vuja), .framer-uXXM1, .framer-phiAx) { transition: filter .18s ease, transform .18s ease; }
:where(.framer-uj7EV:not(.framer-v-o1vuja), .framer-uXXM1, .framer-phiAx):hover { filter: brightness(.94); transform: translateY(-1px); }
:where(.framer-uj7EV:not(.framer-v-o1vuja), .framer-uXXM1, .framer-phiAx):active { transform: translateY(0); }
/* Published component hover variants, using the original light/dark tokens.
 * The archived runtime used a 0.4s spring; the static site eases these colors. */
.framer-uj7EV.framer-v-o1vuja {
  transition: background-color .4s cubic-bezier(.22,1,.36,1), backdrop-filter .4s cubic-bezier(.22,1,.36,1), -webkit-backdrop-filter .4s cubic-bezier(.22,1,.36,1);
}
.framer-cPyIh,
.framer-221zh,
.framer-C8jq9,
.framer-pzTiI,
.framer-wPjD9,
.framer-wPjD9 > .framer-16h82rf,
.foundation-process-card,
.framer-xzxRc { transition: background-color .4s cubic-bezier(.22,1,.36,1); }
.framer-OBUgT { transition: background-color 1s cubic-bezier(.22,1,.36,1); }
.framer-xzxRc .framer-text { transition: color .4s cubic-bezier(.22,1,.36,1); }
/* Keep short final lines from stranding words across the shared card layouts. */
:is(.framer-221zh, .framer-C8jq9, .framer-OBUgT, .framer-wPjD9, .foundation-process-card, .framer-pzTiI) .framer-text {
  text-wrap: balance;
}
/* These are the frozen CMS brand colors, keyed to the original work links. */
.framer-wPjD9[href="https://www.kiavi.com"] { --foundation-work-color: rgb(103,208,175); }
.framer-wPjD9[href="https://reachwireline.com"] { --foundation-work-color: rgb(0,71,186); }
.framer-wPjD9[href="https://www.creativecoatingsco.com"] { --foundation-work-color: rgb(180,33,23); }
.framer-wPjD9[href="https://trustworthy-play-516880.framer.app/"] { --foundation-work-color: rgb(227,34,63); }
.framer-wPjD9[href="https://mcamichigan.org/"] { --foundation-work-color: rgb(132,43,44); }
.framer-wPjD9[href="https://metropartnershealth.com/"] { --foundation-work-color: rgb(74,132,62); }
.foundation-process-expanded {
  background-color: var(--token-836d4e25-00ad-4038-aa8c-6e7fd48ca83f, #00091a0d) !important;
}
@media (hover: hover) {
  .framer-uj7EV.framer-v-o1vuja:hover {
    background-color: var(--token-8424a170-d7b4-4e98-a2c4-5c5f35a750f0, #00091a0d) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
  .framer-cPyIh:hover,
  .framer-221zh:hover,
  .framer-C8jq9:hover,
  .framer-pzTiI:hover,
  .framer-OBUgT:hover,
  .framer-wPjD9[data-framer-name="Default"]:hover,
  .foundation-process-card:hover,
  .framer-xzxRc:hover {
    background-color: var(--token-836d4e25-00ad-4038-aa8c-6e7fd48ca83f, #00091a0d) !important;
  }
  .framer-wPjD9[data-framer-name="Default"]:hover > .framer-16h82rf {
    background-color: var(--foundation-work-color, var(--token-836d4e25-00ad-4038-aa8c-6e7fd48ca83f, #00091a0d)) !important;
  }
  .framer-xzxRc:hover .framer-text {
    color: var(--token-6a404794-a755-419e-ba7f-cb49b649606c, #000) !important;
  }
}
.foundation-form-feedback {
  flex: none;
  width: 100%;
  margin: 0;
  color: var(--token-8bc2ab17-4e84-4000-906a-5cf3613524bf, rgba(0,0,0,.7));
  font: 400 12px/1.5 Inter, sans-serif;
}
.foundation-form-feedback { font-size: 14px; }
.foundation-form-feedback[hidden] { display: none !important; }
.foundation-form-feedback[data-state="success"] { color: #00882d; }
.foundation-form-feedback[data-state="error"] { color: #a52b00; }
.foundation-form-challenge {
  flex: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
form[data-foundation-form][aria-busy="true"] button[type="submit"] { cursor: wait; opacity: .65 !important; }
form[data-foundation-form] button:disabled { cursor: wait; }
.foundation-success-notice {
  position: fixed;
  z-index: 15;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  max-width: calc(100% - 32px);
  width: max-content;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid rgba(246,77,0,.2);
  border-radius: 4px;
  background: var(--token-a60f2ba3-21a1-4ca0-aeab-2aee0ed3ca04, #fff);
  color: var(--token-6a404794-a755-419e-ba7f-cb49b649606c, #000);
  font: 400 12px/1.5 Inter, sans-serif;
}
/* Split text remains readable even before the deferred enhancement starts. */
footer span[style*="opacity:0.001"] { opacity: 1 !important; transform: none !important; }
[data-link-preview] { transition: transform .2s ease, box-shadow .2s ease; }
[data-link-preview]:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.1); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .foundation-slideshow-track,
  .foundation-menu-toggle *,
  .foundation-process-icon svg,
  .foundation-process-icon-vertical,
  .foundation-process-card .foundation-process-panel,
  .framer-uj7EV.framer-v-o1vuja,
  .framer-cPyIh,
  .framer-221zh,
  .framer-C8jq9,
  .framer-pzTiI,
  .framer-OBUgT,
  .framer-wPjD9,
  .framer-wPjD9 > .framer-16h82rf,
  .foundation-process-card,
  .framer-xzxRc,
  .framer-xzxRc .framer-text,
  :where(.framer-uj7EV, .framer-uXXM1, .framer-phiAx),
  [data-link-preview] { transition: none; }
  .foundation-mobile-menu { animation: none !important; }
  .framer-xm2pqd-container::before { animation: none; transform: none; }
}
/* The published minimal header reserves a 171px action slot. Allow its
 * single 40px close button to fit on phones narrower than380px. */
@media (max-width: 379.98px) {
  .framer-gCSPS .framer-165lch0 { min-width: 40px; }
}
