:root {
    --fusix-ink: #0e0c19;
    --fusix-teal: #006d77;
    --fusix-teal-soft: #83c5be;
    --fusix-gold: #ffc200;
    --fusix-paper: #f6f7f8;
    --fusix-blue: #075f97;
    --fusix-footer: #13252d;
}

body { background: var(--fusix-paper); color: var(--fusix-ink); }
.navbar-fusix { background: var(--fusix-ink); }
.navbar-fusix .navbar-brand, .navbar-fusix .nav-link { color: #fff; }
.navbar-fusix .nav-link:hover, .navbar-fusix .nav-link.active { color: var(--fusix-gold); }
.exec-admin-body { min-height: 100vh; overflow-x: hidden; }
.admin-drawer { position: fixed; inset: 0 auto 0 0; z-index: 1040; width: 258px; display: flex; flex-direction: column; color: #fff; background: var(--fusix-ink); box-shadow: .35rem 0 1.2rem rgba(14,12,25,.15); transform: translateX(-100%); transition: transform .2s ease; }
.drawer-open .admin-drawer { transform: translateX(0); }
.admin-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 68px; padding: 1rem 1rem 1rem 1.2rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.admin-drawer-brand { color: #fff; font-size: 1.18rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.admin-drawer-brand span { font-size: .78rem; font-weight: 400; color: rgba(255,255,255,.7); }
.admin-drawer-close { border: 1px solid rgba(255,255,255,.28); border-radius: .3rem; padding: .25rem .45rem; color: rgba(255,255,255,.8); background: transparent; font-size: .72rem; }
.admin-drawer-close:hover { color: #fff; border-color: rgba(255,255,255,.55); }
.admin-drawer-nav { flex: 1; overflow-y: auto; padding: .55rem .8rem .8rem; }
.admin-drawer-nav a { display: block; margin: 0; padding: .43rem .8rem .43rem 1.35rem; border-radius: .35rem; color: rgba(255,255,255,.84); text-decoration: none; font-size: .9rem; line-height: 1.2; }
.admin-drawer-nav a:hover { color: #fff; background: rgba(255,255,255,.08); }
.admin-drawer-nav a.active { color: #101019; background: var(--fusix-gold); font-weight: 700; }
.admin-drawer-label { padding: 1.05rem .8rem .28rem; color: rgba(255,255,255,.62); font-size: .82rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.admin-drawer-label:first-child { padding-top: .45rem; }
.admin-drawer-foot { padding: 1rem; border-top: 1px solid rgba(255,255,255,.12); }
.admin-drawer-user { margin-bottom: .8rem; color: rgba(255,255,255,.58); font-size: .75rem; overflow-wrap: anywhere; }
.admin-stage { min-height: 100vh; margin-left: 0; transition: margin-left .2s ease; }
.drawer-open .admin-stage { margin-left: 258px; }
.admin-toolbar { position: sticky; top: 0; z-index: 1020; display: flex; align-items: center; gap: 1rem; min-height: 56px; padding: .55rem 1rem; border-bottom: 1px solid #e1e4e7; background: rgba(255,255,255,.96); box-shadow: 0 .1rem .35rem rgba(14,12,25,.05); backdrop-filter: blur(8px); }
.admin-drawer-toggle { display: inline-flex; align-items: center; gap: .55rem; border: 1px solid #cfd5d8; border-radius: .35rem; padding: .42rem .65rem; color: #20272b; background: #fff; font-size: .82rem; font-weight: 600; }
.admin-hamburger { width: 16px; display: inline-flex; flex-direction: column; gap: 3px; }
.admin-hamburger i { display: block; width: 100%; height: 2px; border-radius: 2px; background: currentColor; }
.admin-toolbar-title { min-width: 0; color: #67737a; font-size: .82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-drawer-overlay { display: none; }
.exec-admin-body .sticky-actions { top: 4.5rem; }
.btn-fusix { background: var(--fusix-teal); border-color: var(--fusix-teal); color: #fff; }
.btn-fusix:hover { background: #075b63; border-color: #075b63; color: #fff; }
.card { border: 0; box-shadow: 0 .15rem .55rem rgba(14, 12, 25, .08); }
.status-dot { width: .7rem; height: .7rem; border-radius: 50%; display: inline-block; margin-right: .4rem; }
.status-ready { background: #198754; }
.status-next { background: var(--fusix-gold); }
.review-block { border-left: 5px solid #d6d9dc; }
.review-block.is-killed { opacity: .6; background: #f1f1f1; }
.sticky-actions { position: sticky; top: 1rem; }
.image-prompt-panel { background: #f8fbfc; border-color: #cbdde2 !important; }
.admin-block-image { display: block; max-width: 100%; max-height: 260px; object-fit: cover; border-radius: .25rem; }
.review-preview-surface { position: relative; overflow: visible; border: 1px solid #e0e6e8; border-radius: .25rem; box-shadow: none; }
.review-preview-wrap { position: relative; }
.magic-element { position: relative; }
.magic-element-inline { display: inline-block; }
.magic-element-background { position: absolute; inset: 0; pointer-events: none; }
.magic-element-background .magic-regenerator, .magic-element-background .magic-modal { pointer-events: auto; }
.magic-regenerator { position: absolute; top: -.35rem; right: -.55rem; z-index: 18; display: flex; align-items: center; gap: .28rem; opacity: 0; transform: translateY(-4px) scale(.92); transition: opacity .15s ease, transform .15s ease; }
.magic-element:hover > .magic-regenerator, .magic-element:focus-within > .magic-regenerator, .review-preview-surface:hover > .magic-element-background > .magic-regenerator { opacity: 1; transform: none; }
.magic-eight-ball { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 2px solid rgba(255,255,255,.92); border-radius: 50%; background: radial-gradient(circle at 32% 25%, #444 0, #111 33%, #020202 70%); box-shadow: 0 .3rem .75rem rgba(0,0,0,.28); }
.magic-eight-ball span { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #111; background: #fff; font-size: .68rem; font-weight: 800; font-family: Arial, sans-serif; }
.magic-eight-ball:hover, .magic-eight-ball:focus-visible { outline: 3px solid rgba(255,194,0,.38); outline-offset: 2px; }
.magic-versions-button { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid #cbd3d7; border-radius: 50%; color: #243138; background: #fff; box-shadow: 0 .25rem .65rem rgba(0,0,0,.18); }
.magic-versions-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.magic-versions-button:hover, .magic-versions-button:focus-visible { color: var(--fusix-teal); border-color: var(--fusix-teal); outline: 3px solid rgba(0,109,119,.16); outline-offset: 2px; }
.magic-modal .modal-content { text-align: left; color: var(--fusix-ink); }
.magic-version-row { display: flex; align-items: center; gap: .8rem; padding: .75rem 0; border-bottom: 1px solid #e4e8ea; }
.magic-version-row:last-child { border-bottom: 0; }
.magic-version-copy { min-width: 0; flex: 1; }
.magic-version-thumb { width: 94px; height: 68px; flex: 0 0 auto; object-fit: cover; border: 1px solid #d8dfe2; border-radius: .25rem; background: #f3f5f6; }
.magic-element-working { position: absolute; inset: -.2rem; z-index: 17; display: none; align-items: center; justify-content: center; padding: .65rem; border: 1px solid rgba(0,109,119,.25); border-radius: .3rem; color: #1d2a30; background: rgba(255,255,255,.92); box-shadow: 0 .3rem .85rem rgba(14,12,25,.12); pointer-events: none; }
.magic-element.is-magic-working > .magic-element-working { display: flex; }
.magic-element.is-magic-working > .magic-regenerator { display: none; }
.magic-element-progress-shell { width: min(360px, 88%); }
.magic-progress-label { margin-bottom: .35rem; font-size: .76rem; font-weight: 700; text-align: center; }
.magic-progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: #d8e2e4; }
.magic-progress-bar { width: 42%; height: 100%; border-radius: inherit; background: var(--fusix-teal); animation: fusix-element-progress 1.05s ease-in-out infinite; }
@keyframes fusix-element-progress { 0% { transform: translateX(-110%); } 50% { transform: translateX(75%); } 100% { transform: translateX(245%); } }
.element-history { border-top: 1px solid #d9dfe2; padding-top: .75rem; }
.element-history summary { cursor: pointer; color: #4f5b61; }
.element-history-row { min-width: 0; border-bottom: 1px solid #e7eaec; }
.review-block-editor { border-top: 2px solid #e2e7e9; padding-top: .25rem; }
.review-block.is-killed .review-preview-surface { filter: grayscale(1); }
.structure-tree { overflow: hidden; }
.structure-node { margin-left: var(--structure-depth, 0); padding: .9rem 1rem; border-bottom: 1px solid #e6eaec; }
.structure-node:last-child { border-bottom: 0; }
.structure-parent { background: #f7f9fa; margin-top: .5rem; border-left: 4px solid var(--fusix-teal); }
.structure-parent:first-child { margin-top: 0; }
.structure-child { position: relative; border-left: 2px solid #ccd6da; }
.structure-child::before { content: ''; position: absolute; left: 0; top: 1.55rem; width: .65rem; border-top: 2px solid #ccd6da; }

/* Public-site shell. Blocks render cleanly before optional imagery is attached. */
.public-site { background: #fff; color: #18242a; }
.site-header { box-shadow: 0 .15rem .55rem rgba(14, 12, 25, .11); position: relative; z-index: 20; }
.site-brand-row { background: #fff; }
.site-wordmark, .footer-wordmark { font-size: clamp(1.85rem, 4vw, 2.65rem); font-weight: 800; letter-spacing: .08em; text-decoration: none; }
.site-wordmark { color: #45545a; }
.site-logo-light { display: block; width: auto; height: auto; max-width: min(420px, 58vw); max-height: 82px; object-fit: contain; object-position: left center; }
.branding-preview img { display: block; width: auto; height: auto; max-width: 100%; max-height: 120px; object-fit: contain; object-position: left center; }
.favicon-preview { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; }
.favicon-preview img { display: block; width: 64px; height: 64px; object-fit: contain; }
.logo-preview-dark { background: var(--fusix-footer); }
.footer-logo-dark { display: block; width: auto; height: auto; max-width: min(230px, 100%); max-height: 72px; object-fit: contain; object-position: left center; }
.site-navigation { background: var(--fusix-blue); padding-top: .45rem; padding-bottom: .45rem; }
.site-navigation .nav-link { color: #fff; text-transform: uppercase; font-size: .95rem; padding: .75rem 1rem !important; }
.site-navigation .nav-link:hover, .site-navigation .nav-link.active { color: #fff; background: rgba(255,255,255,.12); }
.site-navigation .dropdown-menu { border: 0; border-radius: 0 0 .25rem .25rem; box-shadow: 0 .65rem 1.4rem rgba(14,12,25,.18); padding: .55rem 0; }
.site-navigation .dropdown-item { padding: .5rem 1rem; }
.header-social-link { color: var(--fusix-blue); font-size: 1.55rem; line-height: 1; }
.header-social-link:hover { color: var(--fusix-teal); }
.home-hero { background: #e8f2f5; border-bottom: 1px solid #d4e1e6; }
.hero-bullets { font-size: 1.05rem; padding-left: 1.15rem; margin: 1.25rem 0; }
.hero-bullets li + li { margin-top: .35rem; }
.inside-banner { background: #17333f; color: #fff; }
.inside-banner.has-background-image { background-size: cover; background-position: center; }
.inside-banner .container { position: relative; }
.inside-banner.image-placeholder-background { background-color: #17333f; background-image: linear-gradient(135deg, rgba(255,255,255,.035) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.035) 50%, rgba(255,255,255,.035) 75%, transparent 75%, transparent); background-size: 44px 44px; }
.header-image-placeholder-label { position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); border: 1px dashed rgba(255,255,255,.5); color: rgba(255,255,255,.72); padding: .55rem .8rem; border-radius: .2rem; text-transform: uppercase; letter-spacing: .08em; font-size: .7rem; }
.inside-banner h1 { font-size: clamp(2.2rem, 5vw, 4.2rem); margin: 0; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .82rem; font-weight: 700; color: var(--fusix-teal); }
.inside-banner .eyebrow { color: #a9d7da; }
.py-lg-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
.section-white { background: #fff; }
.section-soft { background: #f3f5f6; }
.content-intro { max-width: 880px; }
.content-reading { max-width: 860px; font-size: 1.08rem; line-height: 1.75; }
.content-reading h2 { margin-bottom: 1rem; }
.block-image { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; border-radius: .25rem; box-shadow: 0 .55rem 1.5rem rgba(19, 37, 45, .14); }
.hero-image { aspect-ratio: 4 / 3; }
.block-image-placeholder { width: 100%; aspect-ratio: 3 / 2; display: flex; align-items: center; justify-content: center; color: #65777f; background: repeating-linear-gradient(135deg, #eef2f3 0, #eef2f3 16px, #e6ecee 16px, #e6ecee 32px); border: 2px dashed #aab8be; border-radius: .25rem; }
.block-image-placeholder span { background: rgba(255,255,255,.86); border: 1px solid #cbd6da; padding: .55rem .75rem; border-radius: .2rem; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero-image-placeholder { aspect-ratio: 4 / 3; }
.child-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.child-grid-1 { grid-template-columns: minmax(0, 1fr); max-width: 760px; margin-inline: auto; }
.child-grid-2, .child-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.child-grid-7 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.child-card { background: #fff; padding: 1.5rem; border: 1px solid #dde3e6; border-radius: .25rem; }
.btn-outline-fusix { color: var(--fusix-teal); border: 1px solid var(--fusix-teal); }
.btn-outline-fusix:hover { color: #fff; background: var(--fusix-teal); }
.site-cta { background: var(--fusix-teal); color: #fff; }
.site-footer { background: var(--fusix-footer); color: #fff; }
.footer-wordmark { color: #fff; }
.footer-heading { font-size: 1rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1rem; }
.footer-links li + li { margin-top: .45rem; }
.footer-links a, .site-footer a { color: #fff; }
.footer-links a:hover, .site-footer a:hover { color: var(--fusix-teal-soft); }
.footer-social-link { width: 2.25rem; height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; color: #fff !important; font-size: 1.15rem; text-decoration: none; }
.footer-social-link:hover { background: #fff; color: var(--fusix-footer) !important; }
.site-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); }
.contact-hours { color: #18242a; }
.staff-public-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.staff-public-card { overflow: hidden; background: #fff; border: 1px solid #dde3e6; border-radius: .3rem; box-shadow: 0 .3rem .9rem rgba(19,37,45,.08); }
.staff-public-photo { aspect-ratio: 4 / 5; background: #dfe7ea; }
.staff-public-role { color: var(--fusix-teal); font-weight: 700; }
.staff-linkedin { flex: 0 0 auto; color: #0a66c2; font-size: 1.5rem; line-height: 1; }
.staff-linkedin:hover { color: #084e96; }
.staff-public-bio summary { cursor: pointer; color: var(--fusix-teal); font-weight: 700; }
.staff-hover-photo { position: relative; overflow: hidden; }
.staff-hover-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .25s ease; }
.staff-photo-primary { opacity: 1; }
.staff-photo-alternate { opacity: 0; }
.staff-hover-photo:hover .staff-photo-alternate, .staff-hover-photo:focus .staff-photo-alternate, .staff-hover-photo:focus-within .staff-photo-alternate { opacity: 1; }
.staff-photo-fallback { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: #71838b; font-size: 3rem; font-weight: 800; }
.staff-admin-card summary { cursor: pointer; list-style: none; }
.staff-admin-card summary::-webkit-details-marker { display: none; }
.staff-admin-thumb { width: 62px; height: 72px; flex: 0 0 62px; border-radius: .25rem; background: #e7ecee; }
.staff-admin-thumb .staff-photo-fallback { font-size: 1.4rem; }
.logo-carousel-manager-preview { display: flex; align-items: center; gap: 2rem; overflow: hidden; min-height: 100px; padding: 1.5rem; border: 1px solid #e0e5e7; border-radius: .3rem; background: #fff; }
.logo-carousel-manager-preview img { width: auto; height: var(--manager-logo-height, 50px); flex: 0 0 auto; object-fit: contain; filter: grayscale(100%); opacity: .65; }
.logo-carousel-item-thumb { width: 110px; height: 58px; flex: 0 0 110px; display: flex; align-items: center; justify-content: center; padding: .35rem; border: 1px solid #e1e6e8; border-radius: .25rem; background: #fff; }
.logo-carousel-item-thumb img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }

/* Reusable Logo Carousel block: Swiper provides the seamless marquee motion. */
.vendor-marquee-wrapper { padding: 30px 0; overflow: hidden; background: transparent; }
.fusix-logo-carousel .swiper-wrapper { align-items: center; transition-timing-function: linear !important; }
.fusix-logo-carousel .swiper-slide { width: auto; display: flex; align-items: center; justify-content: center; padding: 0 var(--logo-carousel-gap, 40px); }
.fusix-logo-carousel .swiper-slide a { display: block; }
.fusix-logo-carousel .swiper-slide img { display: block; width: auto; height: var(--logo-carousel-height, 50px); max-width: min(360px, 70vw); object-fit: contain; opacity: 1; transition: filter .4s ease, opacity .4s ease, transform .4s ease; }
.fusix-logo-carousel.is-grayscale .swiper-slide img { filter: grayscale(100%); opacity: .6; }
.fusix-logo-carousel .swiper-slide img:hover, .fusix-logo-carousel .swiper-slide a:focus-visible img { filter: grayscale(0%); opacity: 1; transform: scale(1.05); }

/* Google testimonial carousel, isolated from the supplied Trustindex example. */
.google-reviews-section { overflow: hidden; }
.fusix-review-carousel { padding: .25rem .2rem .5rem; }
.fusix-review-carousel .swiper-wrapper { align-items: stretch; }
.fusix-review-carousel .swiper-slide { height: auto; }
.google-review-card { display: flex; flex-direction: column; min-height: 100%; padding: 1.45rem; border: 1px solid #dde3e6; border-radius: .35rem; background: #fff; box-shadow: 0 .25rem .8rem rgba(19,37,45,.07); }
.google-review-avatar, .google-review-admin-avatar { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; object-fit: cover; background: #edf1f2; }
.google-review-avatar-fallback { display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--fusix-teal); font-weight: 800; }
.google-review-author { color: #18242a; font-weight: 700; line-height: 1.2; }
.google-review-author a { color: inherit; text-decoration: none; }
.google-review-author a:hover { color: var(--fusix-teal); }
.google-review-date { margin-top: .2rem; color: #738087; font-size: .76rem; }
.google-review-google { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; border: 1px solid #dde3e6; border-radius: 50%; color: #4285f4; background: #fff; font-weight: 800; }
.google-review-stars { display: flex; gap: .12rem; margin-bottom: .8rem; color: #ccd3d6; font-size: 1.05rem; line-height: 1; }
.google-review-stars .is-filled { color: #f4b400; }
.google-review-text { color: #3a474d; font-size: .95rem; line-height: 1.6; }
.google-review-source { margin-top: auto; padding-top: 1rem; color: var(--fusix-teal); font-size: .78rem; font-weight: 700; text-decoration: none; }
.google-review-controls { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; gap: .75rem; max-width: 420px; margin: 1.3rem auto 0; }
.google-review-prev, .google-review-next { width: 42px; height: 42px; border: 1px solid #cbd5d9; border-radius: 50%; color: #233238; background: #fff; font-size: 1.65rem; line-height: 1; }
.google-review-prev:hover, .google-review-next:hover { color: #fff; border-color: var(--fusix-teal); background: var(--fusix-teal); }
.google-review-controls .swiper-pagination { position: static; }
.google-review-controls .swiper-pagination-bullet-active { background: var(--fusix-teal); }
.google-review-admin-card.is-hidden-review { opacity: .62; }
.google-review-admin-avatar { width: 48px; height: 48px; flex-basis: 48px; }
.google-review-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.google-review-preview-grid .google-review-card { min-width: 0; padding: 1rem; box-shadow: none; }

@media (min-width: 992px) {
    .child-grid-5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .child-grid-5 .child-card:nth-child(-n+3) { grid-column: span 2; }
    .child-grid-5 .child-card:nth-child(n+4) { grid-column: span 3; }
    .child-grid-7 .child-card:nth-child(n+5) { grid-column: span 1; }
}
@media (max-width: 991.98px) {
    .drawer-open .admin-stage { margin-left: 0; }
    .admin-drawer { width: min(86vw, 300px); }
    .admin-drawer-overlay { position: fixed; inset: 0; z-index: 1030; background: rgba(14,12,25,.48); }
    .drawer-open .admin-drawer-overlay { display: block; }
    .child-grid, .child-grid-7 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .staff-public-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .google-review-preview-grid { grid-template-columns: 1fr; }
}
@media (hover: none) {
    .magic-regenerator { opacity: 1; transform: none; }
}
@media (max-width: 575.98px) {
    .child-grid, .child-grid-2, .child-grid-4, .child-grid-7 { grid-template-columns: 1fr; }
    .site-brand-row .container { padding-top: 1.15rem !important; padding-bottom: 1.15rem !important; }
    .site-logo-light { max-width: 68vw; max-height: 62px; }
    .header-image-placeholder-label { position: static; display: inline-block; transform: none; margin-top: 1.5rem; }
    .staff-public-grid { grid-template-columns: 1fr; }
}


h1, h2, h3, h4, .footer-heading, .btn-remote, .service-icon-card span {
  font-family: "Poppins", "Montserrat", Arial, sans-serif;
}
.btn-remote {
  background: #C41230;
  color: #fff;
  border: 0;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
}
.btn-remote:hover, .btn-remote:focus-visible {
  background: #9e0e26;
  color: #fff;
}
.service-icon-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}
.service-icon-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: 1.25rem 1rem;
  background: #fff;
  color: #5E5E5E;
  text-align: center;
  text-decoration: none;
  border: 1px solid #e1e4e7;
  border-radius: .75rem;
  font-weight: 600;
}
.service-icon-card img { width: 88px; height: 88px; object-fit: contain; }
.service-icon-card:hover, .service-icon-card:focus-visible { border-color: #C41230; color: #5E5E5E; }
.home-testimonials { background: #5E5E5E; color: #fff; }
.home-testimonials h2 { color: #fff; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.home-testimonial { background: #fff; color: #5E5E5E; border-radius: .75rem; padding: 1.25rem; border-top: 4px solid #F7B93B; }
.home-testimonial-name { margin: 1rem 0 0; font-weight: 700; color: #C41230; }
.home-testimonial-source { margin: 0; font-size: .875rem; }
.footer-millenium { display: block; width: min(100%, 220px); height: auto; background: #fff; border-radius: .5rem; padding: .35rem .5rem; }
.logo-carousel-section h2 { color: #5E5E5E; }
@media (max-width: 991px) {
  .service-icon-grid, .testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .service-icon-grid, .testimonial-grid { grid-template-columns: 1fr; }
  .header-tools { flex-wrap: wrap; justify-content: flex-end; }
}

/* Neutral content rows alternate white / light grey. Colored sections are not in this list, so they keep their own backgrounds and are skipped in the count. */
body.public-site main > section.section-white,
body.public-site main > section.section-soft {
  background: #FFFFFF;
}
body.public-site main > section.section-white:nth-child(even of .section-white, .section-soft),
body.public-site main > section.section-soft:nth-child(even of .section-white, .section-soft) {
  background: #F5F5F5;
}

/* Bootstrap row gutters stick 12px past a 390px screen. Clip the viewport, not the icons. */
html, body.public-site { overflow-x: clip; }
@media (max-width: 575.98px) {
  body.public-site .row { margin-left: 0; margin-right: 0; }
}
