/* Location pages. Builds on landing.css and service.css. */

.lc-hero { background:
        radial-gradient(700px 440px at 78% 45%, rgba(56, 189, 248, .22), transparent 70%),
        radial-gradient(600px 380px at 92% 92%, rgba(4, 74, 169, .35), transparent 70%),
        linear-gradient(180deg, var(--lx-ink) 0%, var(--lx-ink-2) 100%); }

/* ---------------------------------------------------------------- 3D local snapshot card */
.lc-card-stage { perspective: 1300px; display: flex; justify-content: center; }
.lc-card {
    width: min(390px, 100%); padding: 26px; border-radius: 24px; color: #e2e8f0;
    background: linear-gradient(150deg, rgba(16, 36, 68, .95), rgba(7, 19, 36, .92));
    border: 1px solid rgba(147, 197, 253, .26);
    box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .85), inset 0 1px 0 rgba(255, 255, 255, .08);
    transform: rotateY(-16deg) rotateX(8deg); transform-style: preserve-3d;
    animation: lc-float 8s ease-in-out infinite;
}
@keyframes lc-float { 0%, 100% { transform: rotateY(-16deg) rotateX(8deg) translateY(0); } 50% { transform: rotateY(-8deg) rotateX(4deg) translateY(-12px); } }
.lc-card__clock { display: flex; align-items: center; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(148, 163, 184, .18); }
.lc-card__ring { position: relative; flex: none; width: 58px; height: 58px; border-radius: 50%; border: 2px solid rgba(147, 197, 253, .4); box-shadow: 0 0 20px rgba(96, 165, 250, .35) inset; transform: translateZ(30px); }
.lc-card__ring::before, .lc-card__ring::after { content: ""; position: absolute; left: 50%; bottom: 50%; width: 2px; border-radius: 2px; background: #fbbf24; transform-origin: bottom center; }
.lc-card__ring::before { height: 18px; margin-left: -1px; animation: lc-spin 12s linear infinite; }
.lc-card__ring::after { height: 24px; margin-left: -1px; background: #93c5fd; animation: lc-spin 3s linear infinite; }
@keyframes lc-spin { to { transform: rotate(360deg); } }
.lc-card__clock small { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #93c5fd; }
.lc-card__clock strong { display: block; margin-top: 4px; font-size: 30px; font-weight: 700; color: #fff; transform: translateZ(20px); }
.lc-card__tz { margin-top: 14px !important; font-size: 13.5px; line-height: 1.5; color: #94a3b8; }
.lc-card__label { margin-top: 16px !important; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #93c5fd; }
.lc-card__chips { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.lc-card__chips li { padding: 5px 10px; border-radius: 999px; font-size: 12.5px; color: #dbeafe; background: rgba(37, 99, 235, .22); border: 1px solid rgba(147, 197, 253, .25); }
.lc-card__list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.lc-card__list li { position: relative; padding-left: 18px; font-size: 13.5px; color: #e2e8f0; }
.lc-card__list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; border-radius: 2px; background: #fbbf24; transform: rotate(45deg); }
@media (max-width: 960px) { .lc-card { transform: none; animation: none; } }

.lc .in-card__tag { display: inline-block; padding: 5px 11px; border-radius: 999px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #bfdbfe; background: rgba(37, 99, 235, .25); border: 1px solid rgba(147, 197, 253, .3); }
.lc-sectors li::before { content: "•"; background: #60a5fa; color: #fff; }
.lc-industries { grid-template-columns: repeat(2, 1fr); }
.lc-solutions { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 760px) { .lc-industries, .lc-solutions { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- steps + nearby */
.lc-steps { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 14px; counter-reset: s; }
.lc-steps li { position: relative; padding: 16px 18px 16px 62px; border-radius: 16px; background: #fff; border: 1px solid var(--lx-line); counter-increment: s; }
.lc-steps li::before { content: counter(s); position: absolute; left: 16px; top: 16px; width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; background: linear-gradient(135deg, #2563eb, #044aa9); }
.lc-steps strong { display: block; font-size: 16px; color: #142736; }
.lc-steps span { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.6; color: var(--lx-muted); }
.lc-plan-link { width: 100%; margin-bottom: 10px; }
.lc-nearby { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.lc-nearby a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 999px; font-size: 15px; font-weight: 600; color: #142736; text-decoration: none; background: #fff; border: 1px solid var(--lx-line); transition: border-color .2s, color .2s, transform .2s; }
.lc-nearby a.is-priority { border-color: rgba(37, 99, 235, .45); color: #044aa9; }
.lc-nearby a:hover { border-color: #2563eb; color: #044aa9; transform: translateY(-2px); }

/* ---------------------------------------------------------------- hub */
.lc-states { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lc-state { padding: 22px; border-radius: 20px; background: #fff; border: 1px solid var(--lx-line); }
.lc-state:hover { border-color: rgba(37, 99, 235, .4); box-shadow: 0 30px 60px -32px rgba(4, 74, 169, .45); }
.lc-state__head { display: block; text-decoration: none; padding-bottom: 14px; border-bottom: 1px solid var(--lx-line); }
.lc-state__code { display: inline-flex; padding: 4px 10px; border-radius: 8px; font-size: 12px; font-weight: 700; letter-spacing: .08em; color: #fff; background: linear-gradient(135deg, #2563eb, #044aa9); transform: translateZ(30px); }
.lc-state__head strong { display: block; margin-top: 10px; font-size: 18px; color: #142736; }
.lc-state__tz { display: block; margin-top: 4px; font-size: 13px; color: var(--lx-muted); }
.lc-state ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; }
.lc-state li a { font-size: 14.5px; color: #475569; text-decoration: none; }
.lc-state li a.is-priority { color: #044aa9; font-weight: 600; }
.lc-state li a:hover { color: #044aa9; }
@media (max-width: 1024px) { .lc-states { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .lc-states { grid-template-columns: 1fr; } }
.lc-tz { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.lc-tz div { padding: 20px; border-radius: 18px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(148, 163, 184, .18); }
.lc-tz strong { display: block; color: #fff; font-size: 16px; }
.lc-tz p { margin-top: 6px !important; font-size: 14px; line-height: 1.6; color: #94a3b8; }
@media (max-width: 960px) { .lc-tz { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .lc-tz { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) { .lc-card, .lc-card__ring::before, .lc-card__ring::after { animation: none !important; } }
