.stlc-upgrade { --t-radius:8px; text-align:left; }
/* Only the services and geography sections of STLC; original copy is unchanged. */
.stlc-upgrade .t-wrap { width: min(100%, 1328px); padding: 0 40px; margin-inline: auto; }
.stlc-upgrade :is(h2,h3) { letter-spacing: -.025em; color: var(--p-ink); }
.stlc-upgrade h2 { font-size: clamp(36px,4vw,56px); line-height: 1.08; }
.stlc-upgrade h3 { font-size: 30px; line-height: 1.15; }
.stlc-upgrade p { font-size: 16px; line-height: 1.65; }
.stlc-upgrade :is(button,a) { -webkit-tap-highlight-color: transparent; }
.stlc-upgrade :is(button,a,summary,[role=button]):focus-visible { outline: 3px solid var(--p-brand); outline-offset: 5px; }
.stlc-upgrade.t-dark :is(button,a,summary,[role=button]):focus-visible { outline-color: var(--p-mist); }
.stlc-upgrade [hidden] { display: none !important; }
.stlc-upgrade .t-sprites { position:absolute; width:0; height:0; overflow:hidden; }
.stlc-upgrade :is(.t-btn,.t-service-tab) svg { fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.stlc-upgrade .t-label { display:block; font-size:12px; font-weight:700; line-height:1.4; letter-spacing:.13em; text-transform:uppercase; color:var(--p-brand); }
.stlc-upgrade.t-dark { background:var(--p-ink); color:var(--p-text-inv); }
.stlc-upgrade.t-dark :is(h2,h3) { color:var(--p-white); }
.stlc-upgrade.t-dark .t-label { color:var(--p-mist); }
.stlc-upgrade .t-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:48px; }
.stlc-upgrade .t-heading-row h2 { margin-top:16px; }
.stlc-upgrade .t-heading-row>p { max-width:300px; padding-bottom:4px; }
.stlc-upgrade .t-btn { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:52px; padding:16px 22px; border:1px solid var(--p-brand); border-radius:4px; background:var(--p-brand); color:var(--p-white); font-size:13px; font-weight:700; line-height:1.3; letter-spacing:.06em; text-transform:uppercase; transition:background .2s,border-color .2s,transform .2s; }
.stlc-upgrade .t-btn:hover { background:var(--p-accent); border-color:var(--p-accent); transform:translateY(-2px); }
.stlc-upgrade .t-btn svg { width:20px; height:20px; flex:none; }
.stlc-upgrade .t-btn-outline { background:transparent; border-color:var(--p-rule); color:var(--p-brand); }
.stlc-upgrade.t-dark .t-btn-outline { color:var(--p-white); border-color:var(--p-ink-rule); }
.stlc-upgrade .t-btn-outline:hover { background:var(--p-brand); color:var(--p-white); }
.stlc-upgrade .t-btn-light { background:var(--p-white); color:var(--p-ink); border-color:var(--p-white); }
.stlc-upgrade .t-btn-light:hover { background:var(--p-mist); border-color:var(--p-mist); }
.stlc-upgrade .t-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:44px; color:var(--p-brand); font-size:15px; font-weight:600; }
.stlc-upgrade .t-text-link span { font-size:22px; transition:transform .2s; }
.stlc-upgrade .t-text-link:hover span { transform:translate(2px,-2px); }
.stlc-upgrade.t-dark .t-text-link { color:var(--p-mist); }
.stlc-upgrade .t-services-grid { display:grid; grid-template-columns:390px minmax(0,1fr); gap:44px; }
.stlc-upgrade .t-service-nav { display:none; }
.stlc-upgrade .t-service-tab { display:flex; align-items:center; gap:16px; width:100%; min-height:70px; padding:14px 18px; background:transparent; border:0; border-bottom:1px solid var(--p-ink-rule); text-align:left; color:var(--p-text-inv); font-size:15px; line-height:1.4; cursor:pointer; border-radius:4px; transition:background .2s,color .2s; }
.stlc-upgrade .t-service-tab>svg { width:28px; height:28px; flex:none; }
.stlc-upgrade .t-service-tab:hover,.stlc-upgrade .t-service-tab[aria-selected=true] { background:var(--p-brand); color:var(--p-white); border-color:var(--p-brand); }
.stlc-upgrade .t-service-panels { min-width:0; grid-column:1/-1; }
.stlc-upgrade .t-service-panel { border:1px solid var(--p-ink-rule); padding:30px; border-radius:var(--t-radius); }
.stlc-upgrade .t-service-panel+.t-service-panel { margin-top:22px; }
.stlc-upgrade .t-service-panel h3 { font-size:32px; line-height:1.15; margin-bottom:24px; }
.stlc-upgrade .t-svc-toggle { display:none; }
.stlc-upgrade .t-service-visual { height:160px; position:relative; background:var(--p-ink-rule); border-radius:4px; display:flex; align-items:center; gap:30px; padding:30px; overflow:hidden; margin-bottom:28px; }
.stlc-upgrade .t-service-visual>svg { width:94px; height:94px; flex:none; fill:none; stroke:var(--p-mist); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.stlc-upgrade .t-service-visual>span { font-size:15px; color:var(--p-white); max-width:22ch; z-index:1; }
.stlc-upgrade .t-visual-rails { position:absolute; right:-100px; bottom:-80px; width:240px; height:240px; border:1px solid var(--p-muted); border-radius:50%; }
.stlc-upgrade .t-visual-rails::before,.stlc-upgrade .t-visual-rails::after { content:''; position:absolute; border:1px solid var(--p-muted); border-radius:50%; inset:20px; }
.stlc-upgrade .t-visual-rails::after { inset:40px; }
.stlc-upgrade .t-service-copy>p+p { margin-top:16px; }
.stlc-upgrade .t-service-copy .t-btn { margin-top:28px; }
.stlc-upgrade .t-parts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.stlc-upgrade .t-parts li { padding-left:14px; position:relative; font-size:15px; }
.stlc-upgrade .t-parts li::before { content:''; position:absolute; width:4px; height:4px; background:var(--p-mist); left:0; top:11px; }
.stlc-upgrade.t-services.is-desktop .t-service-nav { display:block; }
.stlc-upgrade.t-services.is-desktop .t-service-panels { grid-column:auto; }
.stlc-upgrade.t-services.is-desktop .t-service-panel { min-height:590px; }
.stlc-upgrade.t-services.is-desktop .t-service-panel+.t-service-panel { margin-top:0; }
.stlc-upgrade .t-geo-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:24px; align-items:start; }
.stlc-upgrade .t-map-frame { min-width:0; border:1px solid var(--p-ink-rule); border-radius:var(--t-radius); overflow:hidden; padding:20px 12px; }
.stlc-upgrade .t-presence-map { display:block; width:100%; height:auto; }
.stlc-upgrade .t-country { fill:var(--p-ink); stroke:var(--p-ink-rule); stroke-width:1; stroke-linejoin:round; }
.stlc-upgrade .t-country-present { fill:var(--p-ink-rule); stroke:var(--p-muted); }
.stlc-upgrade .t-country.is-selected { fill:var(--p-brand); stroke:var(--p-mist); stroke-width:1.5; transition:fill .25s; }
.stlc-upgrade .t-country-label { fill:var(--p-text-inv); font-size:11px; letter-spacing:1px; pointer-events:none; }
.stlc-upgrade .t-city { cursor:default; }
.stlc-upgrade .t-city[role=button] { cursor:pointer; }
.stlc-upgrade .t-city[aria-hidden=true] { visibility:hidden; }
.stlc-upgrade .t-city-hit { fill:transparent; }
.stlc-upgrade .t-city-dot { fill:var(--p-white); }
.stlc-upgrade .t-city-ring { fill:none; stroke:transparent; stroke-width:1.5; }
.stlc-upgrade .t-city text { fill:var(--p-white); font-size:15px; font-weight:600; paint-order:stroke; stroke:var(--p-ink); stroke-width:3px; stroke-linejoin:round; }
.stlc-upgrade .t-city.is-selected .t-city-ring,.stlc-upgrade .t-city:hover .t-city-ring { stroke:var(--p-mist); }
.stlc-upgrade .t-city.is-selected .t-city-dot { fill:var(--p-mist); }
.stlc-upgrade .t-map-legend { display:flex; flex-wrap:wrap; gap:22px; font-size:12px; padding:12px 16px 0; }
.stlc-upgrade .t-map-legend span { display:flex; gap:9px; align-items:center; }
.stlc-upgrade .t-map-legend i { width:7px; height:7px; border-radius:50%; background:var(--p-white); }
.stlc-upgrade .t-map-legend span:first-child i { width:11px; height:11px; border:2px solid var(--p-mist); background:transparent; }
.stlc-upgrade .t-location-card { background:var(--p-ink-rule); padding:24px; border-radius:var(--t-radius); min-height:178px; }
.stlc-upgrade .t-location-card h3 { margin-top:12px; font-size:34px; }
.stlc-upgrade .t-location-card p { margin-top:14px; font-size:14px; }
.stlc-upgrade .t-country-list { margin-top:18px; }
.stlc-upgrade .t-country-list button { display:flex; align-items:center; justify-content:space-between; min-height:46px; width:100%; padding:10px 14px; background:transparent; color:var(--p-text-inv); border:0; border-bottom:1px solid var(--p-ink-rule); border-radius:4px; font-size:15px; text-align:left; cursor:pointer; }
.stlc-upgrade .t-country-list button[aria-pressed=true],.stlc-upgrade .t-country-list button:hover { background:var(--p-brand); color:var(--p-white); }
.stlc-upgrade .t-country-list button span { font-size:20px; }
.stlc-upgrade .t-geo-footer { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding-top:26px; margin-top:26px; border-top:1px solid var(--p-ink-rule); }
.stlc-upgrade .t-geo-footer p { font-size:14px; }
.stlc-upgrade .t-geo-footer b { display:block; margin-bottom:8px; font-size:13px; color:var(--p-white); }
.stlc-upgrade .t-map-note { font-size:12px; margin-top:24px; }
@media (max-width:1100px) {
.stlc-upgrade .t-wrap { padding-inline:32px; }
.stlc-upgrade .t-services-grid { grid-template-columns:320px minmax(0,1fr); gap:28px; }
.stlc-upgrade .t-service-panel { padding:24px; }
.stlc-upgrade .t-geo-layout { grid-template-columns:minmax(0,1fr) 240px; }
}
@media (max-width:800px) {
.stlc-upgrade .t-heading-row { gap:24px; }
.stlc-upgrade .t-heading-row>p { max-width:220px; font-size:14px; }
.stlc-upgrade .t-geo-layout { grid-template-columns:1fr; }
.stlc-upgrade .t-geo-aside { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.stlc-upgrade .t-country-list { margin-top:0; }
}
@media (max-width:767px) {
.stlc-upgrade .t-services-grid { display:block; }
.stlc-upgrade.t-services.is-mobile .t-service-heading { display:none; }
.stlc-upgrade.t-services.is-mobile .t-svc-toggle { display:flex; width:100%; align-items:center; justify-content:space-between; text-align:left; gap:18px; background:transparent; color:var(--p-white); border:0; padding:0; min-height:48px; cursor:pointer; font-size:24px; font-family:var(--p-font-display) !important; line-height:1.2; }
.stlc-upgrade.t-services.is-mobile .t-service-panel { padding:20px; border:0; border-bottom:1px solid var(--p-ink-rule); border-radius:0; }
.stlc-upgrade.t-services.is-mobile .t-service-panel+.t-service-panel { margin-top:0; }
.stlc-upgrade.t-services.is-mobile .t-service-panel h3 { margin-bottom:0; }
.stlc-upgrade.t-services.is-mobile .t-service-body { padding-top:24px; }
.stlc-upgrade .t-toggle-icon { width:24px; height:24px; flex:none; position:relative; }
.stlc-upgrade .t-toggle-icon::before,.stlc-upgrade .t-toggle-icon::after { content:''; position:absolute; inset:11px 3px auto; height:2px; background:var(--p-mist); }
.stlc-upgrade .t-toggle-icon::after { transform:rotate(90deg); transition:transform .2s; }
.stlc-upgrade .t-svc-toggle[aria-expanded=true] .t-toggle-icon::after { transform:none; }
.stlc-upgrade .t-heading-row { display:block; }
.stlc-upgrade .t-heading-row>p { margin-top:22px; max-width:none; }
.stlc-upgrade .t-heading-row>p br { display:none; }
}
@media (max-width:600px) {
.stlc-upgrade .t-wrap { padding-inline:24px; }
.stlc-upgrade h2 { font-size:38px; }
.stlc-upgrade .t-label { font-size:11px; letter-spacing:.08em; }
.stlc-upgrade .t-heading-row { margin-bottom:28px; }
.stlc-upgrade .t-service-visual { height:130px; padding:22px; gap:20px; }
.stlc-upgrade .t-service-visual>svg { width:66px; height:66px; }
.stlc-upgrade .t-service-visual>span { font-size:13px; }
.stlc-upgrade.t-services.is-mobile .t-service-panel { padding-inline:0; }
.stlc-upgrade .t-geo-aside { grid-template-columns:1fr; gap:20px; }
.stlc-upgrade .t-country-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.stlc-upgrade .t-country-list button { border:1px solid var(--p-ink-rule); font-size:13px; }
.stlc-upgrade .t-location-card { min-height:165px; padding:22px; }
.stlc-upgrade .t-map-frame { padding:16px 0; }
.stlc-upgrade .t-presence-map { min-height:210px; }
.stlc-upgrade .t-city:not(.is-selected) text { display:none; }
.stlc-upgrade .t-country-label { font-size:13px; }
.stlc-upgrade .t-geo-footer { grid-template-columns:1fr; gap:22px; }
}
@media (max-width:350px) {
.stlc-upgrade .t-wrap { padding-inline:18px; }
.stlc-upgrade h2 { font-size:34px; }
}
.stlc-upgrade .t-wrap { width:100%; max-width:1280px; padding:0 24px; margin:0 auto; }
.stlc-upgrade .t-heading-row h2 em { font-style:italic; color:var(--p-mist); }
.stlc-upgrade .t-geo-footer { display:grid; grid-template-columns:repeat(4,1fr); }
.stlc-upgrade .t-geo-footer b { color:var(--p-white); font-size:13px; }
.stlc-upgrade .t-geo-footer p { font-size:14px; margin-top:8px; }
@media(max-width:800px){.stlc-upgrade .t-geo-footer{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.stlc-upgrade .t-geo-footer{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.stlc-upgrade *, .stlc-upgrade *::before, .stlc-upgrade *::after{animation:none!important;transition:none!important;}}

/* Owner-supplied original-site metrics, alongside the existing four metrics. */
.theme-stlc .stlc-counter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:48px; }
.theme-stlc .stlc-counter-card { padding:28px 22px; border:1px solid var(--p-ink-rule); border-top:3px solid var(--p-brand); border-radius:8px; background:var(--p-ink); }
.theme-stlc .stlc-counter-value { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; color:var(--p-white); line-height:1; }
.theme-stlc .stlc-counter-number { font-family:var(--p-font-display)!important; font-weight:600; font-size:clamp(48px,5.2vw,76px); font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.theme-stlc .stlc-counter-unit { font-size:22px; font-weight:600; color:var(--p-mist); }
.theme-stlc .stlc-counter-card p { font-size:15px; line-height:1.45; color:var(--p-text-inv); margin-top:18px; }
.theme-stlc .stlc-counter-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:900px){.theme-stlc .stlc-counter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}}
@media(max-width:600px){.theme-stlc .stlc-counter-grid{margin-top:32px;gap:12px;}.theme-stlc .stlc-counter-card{padding:22px 16px;}.theme-stlc .stlc-counter-number{font-size:48px;}.theme-stlc .stlc-counter-unit{font-size:17px;}}
@media(max-width:350px){.theme-stlc .stlc-counter-grid{grid-template-columns:1fr;}}
