.network-page { --network-ink:#102e43; --network-blue:#2879ad; --network-teal:#7be3c6; color:var(--network-ink); background:#fff; }
.network-page [hidden] { display:none !important; }
.network-page h1,.network-page h2,.network-page h3 { color:inherit; letter-spacing:-.035em; }
.network-page p { line-height:1.7; }
.network-page a:focus-visible,.network-page select:focus-visible,.network-page button:focus-visible { outline:3px solid #438ac6; outline-offset:5px; }
.network-hero { padding:32px 0 70px; background:linear-gradient(160deg,#edf4f8,#fff 70%); }
.network-breadcrumb { display:flex; gap:12px; font-size:12px; color:#647b8c; margin:0 0 48px; }
.network-breadcrumb a { color:#526a7d; }
.network-heading { display:grid; grid-template-columns:1.3fr 1fr; align-items:end; gap:50px; margin-bottom:38px; }
.network-eyebrow { font-size:11px; font-weight:800; letter-spacing:.17em; color:#367394; margin:0 0 14px; }
.network-heading h1 { font-size:clamp(42px,5vw,70px); line-height:1.06; margin:0; font-weight:700; }
.network-heading h1 span { color:#4382a6; }
.network-intro { max-width:410px; padding-bottom:4px; }
.network-intro p { font-size:16px; color:#587084; margin:0 0 22px; }
.network-map-card { border-radius:22px; overflow:hidden; color:#e5f2fb; background:#102a40; box-shadow:0 24px 60px #173c571c; }
.network-map-heading { display:flex; justify-content:space-between; gap:20px; padding:26px 32px 0; font-size:11px; letter-spacing:.16em; font-weight:700; }
.network-map-key { display:flex; gap:24px; color:#a3bacb; font-size:10px; letter-spacing:.025em; font-weight:500; }
.network-map-key span { display:flex; align-items:center; gap:7px; }
.network-map-key i { width:9px; height:9px; border-radius:2px; background:#3989a2; }
.network-map-key span:last-child i { border-radius:50%; background:var(--network-teal); }
.network-map { padding:8px 22px 0; background:radial-gradient(ellipse at 55% 40%,#21496180,transparent 65%); }
.network-map svg { display:block; width:100%; height:auto; overflow:visible; }
.network-map .world-land { fill:#203d52; stroke:#315367; stroke-width:.55; stroke-linejoin:round; }
.network-map [data-coverage] { fill:#367e96; stroke:#62a9bc; }
.network-map [data-coverage].is-selected { fill:#66b9cc; stroke:#b1edf0; }
.network-map a[data-network-region] { cursor:pointer; }
.network-map a[data-network-region]:hover .world-land,.network-map a[data-network-region]:focus .world-land { fill:#8bd4dc; stroke:#d8ffff; stroke-width:1.5; }
.network-map .world-grid { fill:none; stroke:#4a6e831c; stroke-width:.8; }
.network-map .office-halo { fill:#83ebce18; stroke:#83ebce40; stroke-width:1; pointer-events:none; }
.network-map .office-dot { fill:#91f1d4; stroke:#102a40; stroke-width:2; }
.network-map .office-line { stroke:#7be3c68c; fill:none; stroke-width:1; }
.network-map .office-label { fill:#ddfff5; font:600 12px Inter,Arial,sans-serif; }
.network-map-regions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid #3c607052; }
.network-map-regions a { display:grid; grid-template-columns:25px 1fr; gap:4px 12px; padding:22px 30px; color:#effaff; font-size:14px; border-right:1px solid #3c607052; }
.network-map-regions a:last-child { border-right:0; }
.network-map-regions a>span { grid-row:span 2; color:#6a9aae; font-size:11px; padding-top:3px; }
.network-map-regions a b { font-size:11px; color:#91b5c9; font-weight:500; }
.network-map-regions a:hover,.network-map-regions a[aria-current] { background:#28536d7a; }
.network-map-note { margin:0; padding:0 32px 17px; font-size:10px; color:#91aebe; }
.network-map-note a { color:#b0c7d4; margin-left:10px; text-decoration:underline; }
.network-buy { background:#f0f5f8; padding:72px 0; scroll-margin-top:110px; }
.network-buy-layout { display:grid; grid-template-columns:.85fr 1.4fr; gap:65px; align-items:start; }
.network-buy-copy h2,.network-section-heading h2 { font-size:clamp(29px,3vw,40px); line-height:1.18; margin:0 0 22px; }
.network-buy-copy>p:not(.network-eyebrow) { color:#5c7181; font-size:14px; }
.network-region-form { margin-top:26px; display:flex; flex-direction:column; gap:12px; }
.network-region-form label { font-size:12px; font-weight:700; }
.network-region-form select { width:100%; min-width:0; min-height:52px; padding:12px 35px 12px 14px; background:#fff; color:#193a50; border:1px solid #bbcdd8; border-radius:8px; font:inherit; font-size:14px; }
.network-region-form .btn { align-self:flex-start; min-height:48px; }
.network-buy-help { font-size:12px!important; margin-top:24px; }
.network-buy-help a { display:block; font-weight:600; }
.network-results { min-width:0; scroll-margin-top:110px; }
.network-result { border:1px solid #d9e5ed; border-radius:16px; padding:28px; background:#fff; box-shadow:0 10px 26px #1c476309; }
.network-result-title { font-size:23px; margin:0 0 18px; }
.network-result>p:not(.network-eyebrow) { color:#617789; font-size:13px; }
.network-result-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:18px; }
.network-partner { display:flex; flex-direction:column; min-width:0; padding:26px; border:1px solid #dce6ec; border-radius:14px; background:#fff; transition:box-shadow .2s,border-color .2s; }
.network-partner:hover { border-color:#9ebecf; box-shadow:0 12px 28px #1b486010; }
.network-partner-top { display:flex; flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:24px; }
.network-partner-logo { display:flex; align-items:center; width:100%; height:80px; padding:4px 0; }
.network-partner-logo img { display:block; width:100%; max-width:180px; height:72px; object-fit:contain; object-position:left center; }
.network-tag { font-size:10px; font-weight:600; padding:5px 9px; border:1px solid #d4e4ea; border-radius:5px; color:#47758b; }
.network-partner h3 { font-size:22px; line-height:1.25; margin:0 0 7px; }
.network-role { font-size:12px; margin:0 0 20px; color:#718697; }
.network-email { font-size:12px; overflow-wrap:anywhere; display:block; margin-bottom:24px; }
.network-contact { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#236891; font-size:13px; font-weight:700; border-top:1px solid #e1eaf0; padding-top:17px; margin-top:auto; overflow-wrap:anywhere; }
.network-website { color:#718697; font-size:11px; display:block; margin-top:12px; overflow-wrap:anywhere; }
.network-office-routes { margin:22px 0; }
.network-office-routes a { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:16px 0; border-bottom:1px solid #e7edf2; color:#204b65; font-size:14px; }
.network-office-routes small { display:block; font-size:11px; font-weight:400; color:#768d9d; }
.network-office-routes strong { font-size:13px; }
.network-office-details { display:block; margin-top:15px; color:#6c8494; font-size:12px; }
.network-directory,.network-offices { padding:72px 0; }
.network-section-heading { display:grid; grid-template-columns:1.3fr 1fr; gap:65px; align-items:end; margin-bottom:34px; }
.network-section-heading h2 { margin-bottom:0; }
.network-section-heading>p { font-size:14px; color:#6a7f8f; margin:0; }
.network-directory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.network-directory-grid .network-partner { padding:22px; }
.network-offices { border-top:1px solid #e8eff3; padding-top:60px; }
.network-office-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.network-office { border-top:3px solid #80b4c8; padding:24px; border-radius:3px 3px 12px 12px; background:#f4f7f9; scroll-margin-top:110px; }
.network-office-country { font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#64879a; }
.network-office h3 { font-size:27px; margin:10px 0 22px; }
.network-office address { font-size:13px; line-height:1.85; font-style:normal; color:#4f6b7d; }
.network-office-hours { color:#708796; font-size:11px; margin:22px 0; }
.network-office>a { display:block; overflow-wrap:anywhere; font-size:12px; margin-top:12px; }
.network-office-call { font-weight:700; }
.network-endnote { border-top:1px solid #e4edf2; margin-top:45px; padding-top:30px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.network-endnote p { font-size:24px; margin:0; letter-spacing:-.03em; }
@media(max-width:1100px) { .network-buy-layout { gap:30px; grid-template-columns:.85fr 1.2fr; } .network-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .network-map-regions a { padding:18px; } }
@media(max-width:767px) { .network-hero { padding-top:24px; padding-bottom:42px; } .network-breadcrumb { margin-bottom:30px; } .network-heading,.network-buy-layout,.network-section-heading { grid-template-columns:1fr; gap:25px; } .network-heading { margin-bottom:28px; } .network-map-heading { padding:20px 18px 0; flex-wrap:wrap; gap:12px; } .network-map { padding:20px 4px; } .network-map-regions { grid-template-columns:1fr; } .network-map-regions a { border-right:0; border-bottom:1px solid #3c607052; padding:15px 20px; grid-template-columns:25px 1fr auto; align-items:center; } .network-map-regions a>span { grid-row:auto; padding:0; } .network-map-note { padding:14px 18px; } .network-buy,.network-directory,.network-offices { padding:45px 0; } .network-result { padding:22px; } .network-office-grid { grid-template-columns:1fr; } .network-endnote { align-items:start; flex-direction:column; } .network-endnote p { font-size:22px; } }
@media(max-width:480px) { .network-directory-grid,.network-result-cards { grid-template-columns:1fr; } .network-map-regions a { font-size:12px; gap:8px; } .network-map-regions a b { font-size:10px; } .network-office-routes a { align-items:start; flex-direction:column; gap:6px; } .network-map-key { gap:14px; } .network-result { padding:18px; } }
@media(max-width:767px) { .network-map .office-label { font-size:22px; } }
@media(prefers-reduced-motion:reduce) { .network-partner { transition:none; } }
