.intermediari-page {
  color: #122a46;
  background: #fff;
}

.intermediari-page * { box-sizing: border-box; }
.intermediari-page .kicker { color: #0875af; font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }

.intermediari-platforms { padding-top: 7rem; padding-bottom: 3.5rem; }
.intermediari-platforms h1 { font-size: clamp(2rem, 3vw, 2.7rem); font-weight: 650; margin: 0 0 1.8rem; }
.intermediari-network { background: #f8fbfd; }
.network-hero { position: relative; overflow: hidden; background: linear-gradient(112deg, #071d35 0%, #0c365f 67%, #13679a 100%); color: #fff; }
.network-hero::after { content: ""; position: absolute; right: -5rem; top: -10rem; width: 34rem; height: 34rem; border: 4rem solid rgba(126, 212, 246, .12); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(126, 212, 246, .05), 0 0 0 8rem rgba(126, 212, 246, .03); pointer-events: none; }
.network-hero .container { position: relative; z-index: 1; padding-top: 4rem; padding-bottom: 4rem; }
.network-hero .kicker { color: #77d3f8; }
.network-hero h2 { font-size: clamp(2.25rem, 4vw, 3.55rem); line-height: 1.1; letter-spacing: -.035em; font-weight: 650; margin: 1rem 0 1.25rem; }
.network-hero p { max-width: 55rem; color: #e3eff7; line-height: 1.65; margin: 0; }
.network-content { padding-top: 3rem; padding-bottom: 4rem; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.4rem; }
.section-heading h3 { margin: .45rem 0 0; font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 650; }
.section-heading > span { color: #5b7185; font-size: .9rem; }
.map-layout { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 1.5rem; padding-bottom: 3rem; border-bottom: 1px solid #d8e4ec; }
.map-stage { min-width: 0; position: relative; background: linear-gradient(160deg, #eaf5fb, #f7fafc); border: 1px solid #d7e5ed; }
.map-stage svg { display: block; width: 100%; height: 29rem; }
.map-stage small { position: absolute; right: .6rem; bottom: .4rem; color: #5d778a; font-size: .65rem; }
.map-stage .land { fill: #d1e3ef; stroke: #8daec1; stroke-width: 1.3; }
.map-stage .sm { fill: #a9cfdf; }
.map-stage .pin { fill: #0b65a1; stroke: #fff; stroke-width: 2.5; transition: fill .15s ease; }
.map-stage .pin.active { fill: #00a9dc; stroke: #083758; stroke-width: 3; }
.map-stage .pin-count { fill: #fff; text-anchor: middle; dominant-baseline: central; font: 600 13px Arial, sans-serif; pointer-events: none; }
.map-stage .city-hit { cursor: pointer; }
.map-stage .city-hit:focus-visible { outline: 2px solid #0b65a1; }
.city-list { display: grid; grid-template-columns: 1fr; }
.city-list button { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 3.25rem; border: 0; border-bottom: 1px solid #d9e5ec; background: transparent; color: #24425a; text-align: left; padding: .5rem .7rem; }
.city-list button:hover, .city-list button.active { background: #e6f3fa; color: #064c7b; }
.city-list button:focus-visible { outline: 2px solid #12649d; }
.city-list b { min-width: 1.7rem; height: 1.7rem; display: grid; place-items: center; border-radius: 50%; background: #d4eaf5; font-weight: 600; }
.city-detail { padding: .9rem .7rem; color: #526b7e; line-height: 1.5; font-size: .87rem; }
.city-detail strong { color: #113b5f; }
.contacts-heading { margin: 3rem 0 1rem; }
.agency { border-bottom: 1px solid #dce5ed; }
.agency.city-selected { border-left: 3px solid #0b79b6; }
.agency h4 { margin: 0; }
.agency h4 button { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) 10rem 2rem; align-items: center; gap: 1rem; width: 100%; min-height: 5.4rem; padding: .7rem .5rem; border: 0; background: transparent; color: #102c49; text-align: left; }
.agency h4 button:hover { background: #edf5fa; }
.agency h4 button:focus-visible { outline: 3px solid #188fe1; outline-offset: -3px; }
.agency-initial { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: #d9eaf5; color: #0c4d80; font-size: 1.15rem; font-weight: 600; }
.agency-name { font-size: 1.08rem; font-weight: 600; line-height: 1.3; }
.agency-city { color: #677d90; font-size: .93rem; }
.agency-arrow { color: #0b79b6; font-size: 1.7rem; transform: rotate(-45deg); transition: transform .2s ease; }
.agency button[aria-expanded="true"] .agency-arrow { transform: rotate(90deg); }
.agency-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 2rem; padding: 0 4.6rem 1.7rem; color: #344f66; }
.agency-details[hidden] { display: none; }
.agency-details strong { display: block; margin-bottom: .2rem; color: #70869b; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.agency-details a { color: #075b9b; overflow-wrap: anywhere; }

@media (max-width: 900px) { .map-layout { grid-template-columns: 1fr; } .map-stage svg { height: 24rem; } .city-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; } }
@media (max-width: 600px) { .intermediari-platforms { padding-top: 6rem; } .network-hero .container { padding-top: 3rem; padding-bottom: 3rem; } .network-content { padding-top: 2rem; } .section-heading { display: block; } .section-heading > span { display: block; margin-top: .7rem; } .city-list { grid-template-columns: 1fr; } .agency h4 button { grid-template-columns: 2.7rem minmax(0, 1fr) 1.5rem; gap: .7rem; } .agency-initial { width: 2.5rem; height: 2.5rem; } .agency-city { grid-column: 2; grid-row: 2; margin-top: -.5rem; } .agency-arrow { grid-column: 3; grid-row: 1 / span 2; } .agency-details { grid-template-columns: 1fr; padding: 0 .7rem 1.5rem 3.9rem; } }
