.mic-city {
  --city-ink: #17201e;
  --city-dark: #071411;
  --city-green: #17372f;
  --city-accent: #a9543c;
  --city-accent-strong: #8d402d;
  --city-paper: #ffffff;
  --city-soft: #eef2f0;
  --city-muted: #5e6865;
  --city-line: rgba(23, 32, 30, .16);
  background: var(--city-paper);
  color: var(--city-ink);
  overflow: hidden;
}
.mic-city * { box-sizing: border-box; }
.mic-city h1, .mic-city h2, .mic-city h3 { letter-spacing: 0; }
.mic-city__hero { position: relative; min-height: 620px; display: flex; align-items: flex-end; background: var(--city-dark); overflow: hidden; }
.mic-city__hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mic-city__hero-shade { position: absolute; inset: 0; background: rgba(2, 12, 10, .72); }
.mic-city__hero-inner { position: relative; z-index: 1; padding-top: 130px; padding-bottom: 76px; color: #fff; }
.mic-city__breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 42px; color: rgba(255,255,255,.62); font-size: 14px; }
.mic-city__breadcrumb a { color: rgba(255,255,255,.82); }
.mic-city__breadcrumb strong { color: #fff; font-weight: 650; }
.mic-city__kicker, .mic-city__eyebrow { margin: 0 0 14px; color: var(--city-accent); font-size: 13px; font-weight: 760; text-transform: uppercase; }
.mic-city__hero .mic-city__kicker { color: #e09a82; }
.mic-city__hero h1 { max-width: 820px; margin: 0 0 24px; color: #fff; font-size: 60px; line-height: 1.06; font-weight: 690; text-wrap: balance; }
.mic-city__hero h1 span, .mic-directory__hero h1 span { color: #d77d60; }
.mic-city__lead { max-width: 760px; margin: 0 0 30px; color: rgba(255,255,255,.82); font-size: 20px; line-height: 1.65; }
.mic-city__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.mic-city__actions .button { min-height: 48px; }
.mic-city__signals { border-bottom: 1px solid var(--city-line); background: var(--city-soft); }
.mic-city__signals-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.mic-city__signals p { min-width: 0; margin: 0; padding: 28px 34px; border-right: 1px solid var(--city-line); }
.mic-city__signals p:first-child { padding-left: 0; }
.mic-city__signals p:last-child { border-right: 0; }
.mic-city__signals span, .mic-city__signals strong { display: block; }
.mic-city__signals span { margin-bottom: 6px; color: var(--city-muted); font-size: 12px; text-transform: uppercase; }
.mic-city__signals strong { color: var(--city-ink); font-size: 17px; line-height: 1.4; }
.mic-city__intro, .mic-city__faq, .mic-directory__intro { padding: 92px 0; }
.mic-city__intro-grid, .mic-city__faq-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 80px; align-items: start; }
.mic-city__intro h2, .mic-city__faq h2, .mic-directory__intro h2 { margin: 0; color: var(--city-ink); font-size: 42px; line-height: 1.15; }
.mic-city__prose p { color: var(--city-muted); font-size: 18px; line-height: 1.76; }
.mic-city__applications { padding: 88px 0 96px; background: var(--city-soft); }
.mic-city__section-heading { max-width: 760px; margin-bottom: 38px; }
.mic-city__section-heading h2 { margin: 0 0 14px; color: var(--city-ink); font-size: 40px; line-height: 1.16; }
.mic-city__section-heading > p:last-child { margin: 0; color: var(--city-muted); font-size: 17px; line-height: 1.65; }
.mic-city__application-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.mic-city__application-grid article { min-height: 260px; padding: 26px; border: 1px solid var(--city-line); border-radius: 6px; background: #fff; }
.mic-city__application-grid article > span { display: block; margin-bottom: 38px; color: var(--city-accent); font-size: 13px; font-weight: 760; }
.mic-city__application-grid h3 { margin: 0 0 12px; color: var(--city-ink); font-size: 20px; line-height: 1.25; }
.mic-city__application-grid p { margin: 0; color: var(--city-muted); font-size: 15px; line-height: 1.65; }
.mic-city__reading { padding: 96px 0; background: #fff; }
.mic-city__reading-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--city-line); border-left: 1px solid var(--city-line); }
.mic-city__reading-grid article { min-height: 280px; padding: 30px; border-right: 1px solid var(--city-line); border-bottom: 1px solid var(--city-line); }
.mic-city__reading-grid span { display: block; margin-bottom: 24px; color: var(--city-accent); font-size: 12px; font-weight: 760; text-transform: uppercase; }
.mic-city__reading-grid h3 { margin: 0 0 14px; color: var(--city-ink); font-size: 22px; line-height: 1.3; }
.mic-city__reading-grid p { margin: 0; color: var(--city-muted); font-size: 16px; line-height: 1.72; }
.mic-city__systems { padding: 96px 0; }
.mic-city__systems-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 72px; align-items: center; }
.mic-city__systems figure { margin: 0; }
.mic-city__systems figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.mic-city__systems figcaption { margin-top: 12px; color: var(--city-muted); font-size: 12px; line-height: 1.55; }
.mic-city__systems h2 { margin: 0 0 28px; color: var(--city-ink); font-size: 40px; line-height: 1.16; }
.mic-city__system-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 26px; }
.mic-city__system-list article { padding: 20px 0; border-top: 1px solid var(--city-line); }
.mic-city__system-list h3 { margin: 0 0 7px; color: var(--city-ink); font-size: 16px; }
.mic-city__system-list p { margin: 0; color: var(--city-muted); font-size: 14px; line-height: 1.58; }
.mic-city__method { padding: 94px 0; background: var(--city-green); color: #fff; }
.mic-city__section-heading--light h2 { color: #fff; }
.mic-city__section-heading--light .mic-city__eyebrow { color: #e09a82; }
.mic-city__method-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin: 0; padding: 0; list-style: none; }
.mic-city__method-grid li { border-top: 1px solid rgba(255,255,255,.28); padding-top: 22px; }
.mic-city__method-grid li > span { display: block; margin-bottom: 24px; color: #e09a82; font-size: 13px; font-weight: 760; }
.mic-city__method-grid h3 { margin: 0 0 10px; color: #fff; font-size: 19px; }
.mic-city__method-grid p { margin: 0; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.66; }
.mic-city__faq { background: #fff; }
.mic-city__faq details { border-top: 1px solid var(--city-line); padding: 22px 0; }
.mic-city__faq details:last-child { border-bottom: 1px solid var(--city-line); }
.mic-city__faq summary { cursor: pointer; color: var(--city-ink); font-size: 17px; font-weight: 700; line-height: 1.45; }
.mic-city__faq details p { margin: 16px 0 0; color: var(--city-muted); font-size: 15px; line-height: 1.7; }
.mic-city__next { border-top: 1px solid var(--city-line); border-bottom: 1px solid var(--city-line); background: var(--city-soft); }
.mic-city__next-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.mic-city__next a { min-width: 0; padding: 28px 26px; border-right: 1px solid var(--city-line); color: var(--city-ink); }
.mic-city__next a:first-child { padding-left: 0; }
.mic-city__next a:last-child { border-right: 0; text-align: right; }
.mic-city__next span, .mic-city__next strong { display: block; }
.mic-city__next span { margin-bottom: 5px; color: var(--city-muted); font-size: 12px; text-transform: uppercase; }
.mic-city__next strong { overflow-wrap: anywhere; font-size: 16px; }
.mic-city__cta { padding: 78px 0; background: var(--city-dark); color: #fff; }
.mic-city__cta-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 70px; align-items: center; }
.mic-city__cta h2 { margin: 0 0 14px; color: #fff; font-size: 38px; line-height: 1.2; }
.mic-city__cta p { max-width: 780px; margin: 0; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.7; }
.mic-city__cta-grid > div:last-child { display: grid; gap: 16px; justify-items: start; }
.mic-city__cta-grid > div:last-child > a:not(.button) { color: rgba(255,255,255,.82); font-size: 14px; font-weight: 650; }
.mic-directory__hero { position: relative; min-height: 560px; display: flex; align-items: flex-end; background: var(--city-dark); overflow: hidden; }
.mic-directory__hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mic-directory__shade { position: absolute; inset: 0; background: rgba(2, 12, 10, .76); }
.mic-directory__hero-inner { position: relative; z-index: 1; padding-top: 130px; padding-bottom: 70px; color: #fff; }
.mic-directory__hero h1 { max-width: 850px; margin: 0 0 22px; color: #fff; font-size: 58px; line-height: 1.08; }
.mic-directory__list { padding: 90px 0; background: var(--city-soft); }
.mic-directory__search { max-width: 680px; margin-bottom: 64px; }
.mic-directory__search > label { display: block; margin-bottom: 10px; color: var(--city-ink); font-size: 15px; font-weight: 700; }
.mic-directory__search > div { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.mic-directory__search input { min-width: 0; min-height: 50px; padding: 12px 15px; border: 1px solid var(--city-line); border-radius: 4px; background: #fff; color: var(--city-ink); font: inherit; }
.mic-directory__search button { min-height: 50px; padding: 0 18px; border: 1px solid var(--city-line); border-radius: 4px; background: var(--city-green); color: #fff; font-weight: 700; }
.mic-directory__search > p { margin: 10px 0 0; color: var(--city-muted); font-size: 13px; }
.mic-directory__states { display: grid; gap: 70px; }
.mic-directory__states > section > header { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: baseline; margin-bottom: 24px; border-bottom: 1px solid var(--city-line); padding-bottom: 16px; }
.mic-directory__states header p { margin: 0; color: var(--city-accent); font-size: 13px; font-weight: 760; }
.mic-directory__states header h2 { margin: 0; color: var(--city-ink); font-size: 30px; }
.mic-directory__states header span { color: var(--city-muted); font-size: 13px; }
.mic-directory__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mic-directory__grid a { min-width: 0; min-height: 175px; padding: 22px; border: 1px solid var(--city-line); border-radius: 6px; background: #fff; color: var(--city-ink); }
.mic-directory__grid a > span { display: block; margin-bottom: 20px; color: var(--city-accent); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.mic-directory__grid h3 { margin: 0 0 4px; color: var(--city-ink); font-size: 22px; line-height: 1.22; }
.mic-directory__grid p { margin: 0 0 18px; color: var(--city-muted); font-size: 13px; }
.mic-directory__grid strong { color: var(--city-accent-strong); font-size: 13px; }
.mic-directory__empty { padding: 50px; border: 1px solid var(--city-line); background: #fff; text-align: center; }
@media (max-width: 980px) {
  .mic-city__hero h1, .mic-directory__hero h1 { font-size: 48px; }
  .mic-city__application-grid, .mic-city__method-grid { grid-template-columns: repeat(2, 1fr); }
  .mic-city__intro-grid, .mic-city__faq-grid, .mic-city__systems-grid { grid-template-columns: 1fr; gap: 42px; }
  .mic-city__systems figure { max-width: 680px; }
  .mic-directory__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .mic-city__hero, .mic-directory__hero { min-height: 560px; }
  .mic-city__hero-inner, .mic-directory__hero-inner { padding-top: 112px; padding-bottom: 52px; }
  .mic-city__breadcrumb { margin-bottom: 28px; font-size: 12px; }
  .mic-city__hero h1, .mic-directory__hero h1 { font-size: 38px; }
  .mic-city__lead { font-size: 17px; }
  .mic-city__signals-grid, .mic-city__next-grid { grid-template-columns: 1fr; }
  .mic-city__signals p, .mic-city__signals p:first-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--city-line); }
  .mic-city__signals p:last-child { border-bottom: 0; }
  .mic-city__intro, .mic-city__faq, .mic-directory__intro { padding: 66px 0; }
  .mic-city__intro h2, .mic-city__faq h2, .mic-directory__intro h2, .mic-city__section-heading h2, .mic-city__systems h2, .mic-city__cta h2 { font-size: 31px; }
  .mic-city__application-grid, .mic-city__method-grid, .mic-city__system-list, .mic-city__reading-grid, .mic-directory__grid { grid-template-columns: 1fr; }
  .mic-city__applications, .mic-city__reading, .mic-city__systems, .mic-city__method, .mic-directory__list { padding: 66px 0; }
  .mic-city__reading-grid article { min-height: 0; padding: 24px; }
  .mic-city__application-grid article { min-height: 0; }
  .mic-city__cta-grid { grid-template-columns: 1fr; gap: 34px; }
  .mic-city__next a, .mic-city__next a:first-child, .mic-city__next a:last-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--city-line); text-align: left; }
  .mic-city__next a:last-child { border-bottom: 0; }
  .mic-directory__states > section > header { grid-template-columns: auto 1fr; }
  .mic-directory__states header span { grid-column: 2; }
}
