.g2m-op { background: #fff; }
.g2m-op__main a { color: #247f8f; }
.g2m-op .g2m-bme__metric-grid { display: grid; }
/* Hero, title, navigation and body grid come from Research Core, as on articles. */
.g2m-op__main { min-width: 0; padding: 0 48px 64px; }
.g2m-op .g2m-bme__operator { padding: 0; border: 0; background: white; }
.g2m-op .g2m-bme__operator-search { max-width: none; }
.g2m-op input[type=search] { width: 100%; font-size: 1.1rem; padding: 1rem; }
.g2m-op__empty { margin-top: 2rem; padding: 2rem; background: #f2f7f8; border-left: 3px solid #2fa4b8; }
.g2m-op__empty p { margin: .75rem 0 0; }
.g2m-op__section { display: block; border-top: 1px solid #d7dde2; padding-top: 2.5rem; margin-top: 2rem; scroll-margin-top: 110px; min-width: 0; }
.g2m-op__section > h3 { font-size: 22px; color: var(--g2m-tra-navy); }
.g2m-op__section > p { max-width: 75ch; }
.g2m-op__brief { border-left: 3px solid #2fa4b8; padding: 1rem 1.4rem; background: #f2f7f8; }
.g2m-op__method-grid { margin-bottom: 24px; }
.g2m-op__peer-table { table-layout: fixed; min-width: 1120px; }
.g2m-op__peer-table th, .g2m-op__peer-table td { vertical-align: top; overflow-wrap: anywhere; }
.g2m-op__peer-table th:first-child { width: 190px; }
.g2m-op__peer-table tr > :nth-child(2) { background: var(--g2m-tra-teal-soft); }
.g2m-op__peer-table thead th { text-transform: none; font-size: 14px; line-height: 1.5; }
.g2m-op__peer-table small { display: block; margin-top: 8px; color: var(--g2m-tra-muted); font-size: 12px; }
.g2m-op__peer-wrap > p { padding: 16px; margin: 0; }
.g2m-op__expand { margin-left: auto; align-self: center; width: 44px; height: 44px; border: 1px solid #ccdadd; border-radius: 6px; background: #fff; color: #247f8f; font-size: 28px; cursor: pointer; }
.g2m-op__peer-dialog { position: fixed; inset: 0; box-sizing: border-box; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 24px; border: 0; background: #fff; color: #182630; }
.g2m-op__peer-dialog[open] { display: flex; flex-direction: column; gap: 20px; }
.g2m-op__dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.g2m-op__dialog-head h2 { margin: 0; font-size: 24px; }
.g2m-op__dialog-head button { flex-shrink: 0; padding: 10px 16px; cursor: pointer; }
.g2m-op__peer-dialog .g2m-op__peer-wrap { overflow: auto; min-height: 0; margin: 0; }
.g2m-op__peer-dialog thead th { position: sticky; top: 0; background: #edf6f7; z-index: 1; }
.g2m-op__cta { background: #182630; color: white; padding: 2.5rem; margin-top: 3rem; }
.g2m-op__cta .g2m-bme__kicker { color: #83d0dd; }
.g2m-op__cta h2 { color: white; font-size: clamp(26px, 2.55vw, 36px); font-weight: 800; line-height: 1.3; margin-bottom: 20px; }
.g2m-op__cta p { color: inherit; }
.g2m-op__cta a { display: inline-block; background: #b8e9ef; color: #182630; padding: .85rem 1.2rem; text-decoration: none; font-weight: 700; }
.g2m-op meter { accent-color: #2fa4b8; }
/* Metro position reuses the Explorer's competitive-set component. It drops the rank column:
   the API scopes the set to this operator's own blocks, so its rank is always #1 and would
   read as a competitive standing it does not measure. */
.g2m-op__metro-controls { margin-bottom: 0; }
.g2m-op__metro-controls select { width: 100%; }
.g2m-op__metro-trigger { margin-top: .9rem; }
.g2m-op__metro-coverage { margin: .9rem 0 0; font-weight: 600; }
.g2m-op__metro-status { margin: .35rem 0 0; }
.g2m-op__metro-set { margin-top: .75rem; }
.g2m-op__metro-set .g2m-bme__competitive-columns,
.g2m-op__metro-set .g2m-bme__competitive-item { grid-template-columns: minmax(190px, 0.9fr) minmax(180px, 1.35fr) minmax(5rem, auto); }
.g2m-op__metro-set .g2m-bme__competitive-columns span:first-child { grid-column: 1; }
.g2m-op__metro-set .g2m-bme__competitive-columns span:last-child { grid-column: 2 / 4; }
.g2m-op__map { margin: 0 0 2rem; }
/* Reuse the Explorer map component; these tiles describe presence rather than select markets. */
.g2m-op__map .g2m-bme__state-tile { cursor: default; }
.g2m-op__map .g2m-bme__state-tile:hover { transform: none; box-shadow: none; }
.g2m-op :focus-visible { outline: 3px solid #247f8f; outline-offset: 4px; }
@media(max-width: 1040px) { .g2m-op__main { padding-inline: 32px; } }
@media(max-width: 760px) { .g2m-op__main { padding: 32px 18px 48px; } .g2m-op__method-grid { grid-template-columns: minmax(0, 1fr); } .g2m-op__cta { padding: 24px; } .g2m-op__section { padding-top: 24px; } }
@media print { .g2m-op .g2m-tra__sidenav, .g2m-op__cta, .g2m-op [data-bme-operator-search], .g2m-op [data-bme-operator-clear] { display: none; } .g2m-op .g2m-tra__body { display: block; padding: 0; } .g2m-op__section { break-inside: avoid; } }
