/* Location pages (timing-pulley-manufacturer-in-*), generated by tools/locations/build-locations.mjs.
   Loaded after industry.css (sections, cards, steps, FAQ) and product.css (spec table). */

/* intro: copy | map (stacks below 1200px, like the other two-column heading layouts) */
.lc-intro { display: grid; grid-template-columns: 1fr; gap: 40px 64px; align-items: center; }
@media (min-width: 1200px) { .lc-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.lc-intro__copy h2, .lc-intro__copy .sec-title { font-size: var(--fs-h2); text-wrap: balance; }
.lc-intro__copy > p:not(.eyebrow) { margin-top: 16px; max-width: 60ch; }
.lc-intro__copy > .ind-intro__lead { margin-top: 18px; }

/* map: cached India dot SVG as the background, the page's arc and markers on top */
.lc-map { padding: 28px 28px 0; background-color: var(--c-primary-deep); background-image: var(--grid-dark); background-size: var(--grid-size) var(--grid-size); }
.lc-map__box { position: relative; max-width: 470px; margin: 0 auto; aspect-ratio: 604 / 628; background: url("../img/india-dots.svg") center / 100% 100% no-repeat; }
.lc-map__box svg { display: block; width: 100%; height: 100%; overflow: visible; }
.lc-map__trail { fill: none; stroke: rgba(245, 165, 36, .4); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 1 8; }
.lc-map__arc { fill: none; stroke: var(--c-accent); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.lc-map__halo { fill: rgba(245, 165, 36, .2); transform-box: fill-box; transform-origin: center; }
.lc-map__works { fill: var(--c-white); }
.lc-map__dot { fill: var(--c-accent); }
.lc-pin { position: absolute; padding: 3px 8px; font-family: var(--ff-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; color: var(--c-ink); }
.lc-pin--works { background: var(--c-white); }
.lc-pin--here { background: var(--c-accent); }
.lc-pin--r { transform: translate(18px, -50%); }
.lc-pin--l { transform: translate(calc(-100% - 18px), -50%); }
.lc-pin--up { transform: translate(-18px, calc(-100% - 16px)); } /* Ahmedabad sits near the west edge: the label runs east */
.lc-map__callout { margin: 24px -28px 0; padding: 18px 28px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 2px 20px; background: var(--c-white); border: 1px solid var(--c-line); border-top: 3px solid var(--c-accent); }
.lc-map__callout .mono-label { grid-column: 1 / -1; }
.lc-map__km { font-family: var(--ff-head); font-weight: 700; font-size: 30px; line-height: 1.1; color: var(--c-ink); white-space: nowrap; }
.lc-map__route { font-size: 14px; color: var(--c-muted); }
@media (max-width: 575px) {
  .lc-map { padding: 20px 16px 0; }
  .lc-map__callout { margin-inline: -16px; padding-inline: 16px; grid-template-columns: 1fr; }
  .lc-map__km { font-size: 26px; }
}
@media (prefers-reduced-motion: no-preference) {
  .js-inview .lc-map__arc { stroke-dashoffset: 1; }
  .lc-map.is-inview .lc-map__arc { stroke-dashoffset: 0; transition: stroke-dashoffset 1.4s var(--ease) .3s; }
  .js-inview .lc-map__dot, .js-inview .lc-map__halo, .js-inview .lc-pin--here { opacity: 0; }
  .lc-map.is-inview .lc-map__dot, .lc-map.is-inview .lc-pin--here { opacity: 1; transition: opacity .5s 1.5s; }
  .lc-map.is-inview .lc-map__halo { opacity: 1; animation: lc-pulse 2.4s ease-out 1.6s 1; }
}
@keyframes lc-pulse { 0% { transform: scale(.6); opacity: 1; } 100% { transform: scale(1.8); opacity: 0; } }

/* profiles table */
.lc-profiles { min-width: 640px; }
.lc-profiles thead th, .lc-profiles tbody th, .lc-profiles td { padding: 14px 18px; }

/* nearby location pages */
.lc-near__cap { margin-bottom: 12px; }
.lc-near + .lc-near__cap { margin-top: 32px; }
.lc-near { list-style: none; display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 576px) { .lc-near { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .lc-near { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.lc-near__link { min-height: 56px; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 18px; border: 1px solid var(--c-line); background: var(--c-white); font-weight: 600; font-size: 15px; line-height: 1.3; color: var(--c-ink); transition: border-color var(--t-fast), color var(--t-fast), translate var(--t-fast) var(--ease); }
.lc-near__link:hover, .lc-near__link:focus-visible { border-color: var(--c-primary-line); color: var(--c-primary); translate: 0 -2px; }
.lc-near__km { flex: none; font-family: var(--ff-mono); font-weight: 400; font-size: 12px; color: var(--c-muted); }

/* ---------- Shape tiers (2026-10-28, user): see tokens.css ---------- */
.lc-map { overflow: hidden; border-radius: var(--r-lg); }
.lc-near__link { border-radius: var(--r-md); }
.lc-pin { border-radius: var(--r-sm); }

/* ---------- Type (2026-10-29, rework): labels in Inter; monospace only for data values ---------- */
.lc-pin { font-family: var(--ff-body); font-size: 13px; font-weight: 600; letter-spacing: .01em; text-transform: none; }
