/* October homepage additions; existing colors and project components retained. */
.service-panel__link { position: absolute; inset: 0; z-index: 4; }
.service-panel__link:focus-visible { outline: 3px solid var(--aqua); outline-offset: -6px; }
.monthly-featured { background: linear-gradient(180deg, var(--ims-surface), var(--ims-bg-secondary)); }
.monthly-featured .fw-heading { margin-bottom: 38px; }
.monthly-featured .fw-index > span:first-child { font-size: 18px; letter-spacing: -.02em; }
.fw-first-group { display: grid; grid-template-columns: minmax(0, 1fr); gap: 42px; }
.more-project__browser { position: relative; }
.more-project__status { position: absolute; left: 16px; right: 16px; bottom: 16px; padding: 18px 20px; background: color-mix(in srgb, var(--ims-bg-secondary) 92.94%, transparent); border: 1px solid color-mix(in srgb, var(--ims-aqua) 56.86%, transparent); border-left: 3px solid var(--coral); border-radius: 6px; color: var(--white); box-shadow: 0 8px 24px color-mix(in srgb, var(--ims-ink) 33.33%, transparent); pointer-events: none; }
.more-project__status span { display: block; color: var(--aqua); font-size: 10px; font-weight: 650; letter-spacing: .16em; margin-bottom: 8px; }
.more-project__status strong { display: block; font-size: clamp(13px, 1.3vw, 18px); line-height: 1.3; letter-spacing: .06em; }
@media (min-width: 1200px) {
  .fw-first-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  .fw-first-group .fw-project { grid-template-columns: minmax(0, 1fr); min-height: 0; padding: 32px 28px; }
  .fw-first-group .fw-info { grid-column: 1; grid-row: 1; padding: 0; }
  .fw-first-group .fw-info h3 { font-size: 36px; }
  .fw-first-group .fw-summary { max-width: 100%; }
  .fw-first-group .fw-product-stage { grid-column: 1; grid-row: 2; margin-top: 28px; }
  .fw-first-group .fw-actions { grid-column: 1; grid-row: 3; padding-top: 12px; }
}
@media (max-width: 550px) {
  .fw-first-group { gap: 26px; }
  .monthly-featured .eyebrow { line-height: 1.7; }
  .monthly-featured .fw-index { gap: 12px; flex-wrap: wrap; }
  .more-project__status { left: 10px; right: 10px; bottom: 10px; padding: 12px; }
}


/* IMS entity introduction: crawlable company facts without changing the approved hero. */
.ims-entity{padding-top:clamp(36px,5vw,72px);padding-bottom:clamp(36px,5vw,72px)}
.ims-entity h2{max-width:1000px;font-size:clamp(26px,3.1vw,44px);line-height:1.18;margin:12px 0 24px}
.ims-entity>p:not(.eyebrow){max-width:1100px;line-height:1.75}.ims-entity a,.ims-entity-links a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.ims-entity a:focus-visible,.ims-entity-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.ims-entity__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:24px 0;margin:24px 0 0;border-top:1px solid #5d6474;border-bottom:1px solid #5d6474}
.ims-entity__facts li{font-size:14px;line-height:1.6}.ims-entity-links{padding-top:24px;padding-bottom:36px;line-height:1.8}
.ims-entity>p+p{margin-top:16px}#timothy-mcguire{scroll-margin-top:120px}
@media(max-width:700px){.ims-entity__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ims-entity>p{font-size:15px}.ims-entity-links{font-size:15px}}
