/* ============================================================
 * Location landing pages (rendered by location_page.php).
 * Same tokens and components as the Texas page, scoped to .np-lp.
 * ============================================================ */
.np-lp{
    --np-ink:#0b1b2b; --np-muted:#6b7a8f; --np-line:#e6ebf2;
    --np-bg:#f6f8fb; --np-brand:#023047; --np-accent:#ffb703;
    background:var(--np-bg);
    font-family:'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color:var(--np-ink);
}
.np-lp-wrap{ max-width:1140px; margin:0 auto; padding:0 20px; }

/* Hero */
.np-lp-hero{
    position:relative; padding:110px 0 75px; color:#fff; overflow:hidden;
    background-color:#0b1b2b; background-size:cover; background-position:center;
}
.np-lp-hero .np-lp-wrap{ position:relative; z-index:2; }
.np-lp-hero-in{ max-width:840px; }
.np-lp-crumbs{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-wrap:wrap; gap:6px; font-size:13.5px; }
.np-lp-crumbs li{ color:rgba(255,255,255,.7); }
.np-lp-crumbs li + li::before{ content:"\203A"; margin-right:6px; color:rgba(255,255,255,.45); }
.np-lp-crumbs a{ color:rgba(255,255,255,.85); text-decoration:none; }
.np-lp-crumbs a:hover{ color:var(--np-accent); text-decoration:underline; }
.np-lp-eyebrow{
    display:inline-block; padding:6px 16px; border-radius:999px;
    background:rgba(255,183,3,.16); color:var(--np-accent);
    font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
    margin-bottom:18px;
}
.np-lp-hero h1{ font-size:clamp(30px,4.4vw,46px); font-weight:700; line-height:1.18; margin:0 0 18px; color:#fff; }
.np-lp-hero p{ font-size:17px; line-height:1.75; color:rgba(255,255,255,.86); margin:0 0 30px; }
.np-lp-btns{ display:flex; gap:14px; flex-wrap:wrap; }

.np-lp .np-btn{
    display:inline-flex; align-items:center; gap:9px;
    padding:13px 26px; border-radius:999px; font-size:15px; font-weight:600;
    text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;
}
.np-lp .np-btn:hover{ transform:translateY(-2px); text-decoration:none; }
.np-lp .np-btn-accent{ background:var(--np-accent); color:#0b1b2b; box-shadow:0 6px 18px rgba(255,183,3,.32); }
.np-lp .np-btn-accent:hover{ color:#0b1b2b; }
.np-lp .np-btn-ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); }
.np-lp .np-btn-ghost:hover{ color:#fff; background:rgba(255,255,255,.08); }
.np-lp .np-btn-solid{ background:var(--np-brand); color:#fff; }
.np-lp .np-btn-solid:hover{ color:#fff; }

/* Consultation band */
.np-lp-band{ background:var(--np-accent); padding:26px 0; }
.np-lp-band-in{
    max-width:1140px; margin:0 auto; padding:0 20px;
    display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap;
}
.np-lp-band h2{ font-size:21px; font-weight:700; color:#0b1b2b; margin:0 0 4px; }
.np-lp-band p{ font-size:14.5px; color:rgba(11,27,43,.75); margin:0; }

/* Sections */
.np-lp-section{ padding:70px 0; }
.np-lp-section + .np-lp-section{ padding-top:0; }
.np-lp-section.is-white{ background:#fff; border-top:1px solid var(--np-line); border-bottom:1px solid var(--np-line); padding-top:70px; }
.np-lp-section.is-white + .np-lp-section{ padding-top:70px; }
.np-lp-head{ max-width:780px; margin:0 0 36px; }
.np-lp-head h2{ font-size:clamp(24px,3vw,32px); font-weight:700; color:var(--np-brand); margin:0 0 14px; line-height:1.28; }
.np-lp-head p{ font-size:16px; line-height:1.75; color:var(--np-muted); margin:0 0 16px; }
.np-lp-head p:last-child{ margin-bottom:0; }
.np-lp-prose{ max-width:820px; }
.np-lp-prose h2{ font-size:clamp(24px,3vw,32px); font-weight:700; color:var(--np-brand); margin:0 0 16px; line-height:1.28; }
.np-lp-prose p{ font-size:16px; line-height:1.8; color:#3a4a5e; margin:0 0 18px; }
.np-lp-prose p:last-child{ margin-bottom:0; }
.np-lp a.np-lp-inline, .np-lp-prose a, .np-lp-card p a{ color:var(--np-brand); font-weight:600; text-decoration:underline; text-decoration-color:rgba(2,48,71,.3); text-underline-offset:3px; }
.np-lp-prose a:hover, .np-lp-card p a:hover{ text-decoration-color:var(--np-accent); }

/* Cards */
.np-lp-grid-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.np-lp-grid-3{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px; }
.np-lp-card{
    background:#fff; border:1px solid var(--np-line); border-radius:14px; padding:30px;
    transition:transform .18s ease, box-shadow .18s ease;
}
.np-lp-card:hover{ transform:translateY(-4px); box-shadow:0 12px 30px rgba(11,27,43,.09); }
.np-lp-card > i{ font-size:24px; color:var(--np-accent); margin-bottom:16px; display:block; }
.np-lp-card h3{ font-size:19px; font-weight:700; color:var(--np-brand); margin:0 0 12px; }
.np-lp-card p{ font-size:15px; line-height:1.7; color:var(--np-muted); margin:0; }
.np-lp-section.is-white .np-lp-card{ background:var(--np-bg); }

/* Checklist (local reach / practical points) */
.np-lp-list{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.np-lp-list li{
    display:flex; gap:16px; align-items:flex-start;
    background:#fff; border:1px solid var(--np-line); border-radius:12px; padding:20px 22px;
}
.np-lp-list li > i{ color:var(--np-accent); font-size:18px; margin-top:3px; width:20px; flex:none; text-align:center; }
.np-lp-list strong{ display:block; color:var(--np-brand); font-size:16px; margin-bottom:4px; }
.np-lp-list span{ display:block; font-size:15px; line-height:1.7; color:var(--np-muted); }

/* Process steps */
.np-lp-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; counter-reset:np-step; }
.np-lp-steps li{ background:#fff; border:1px solid var(--np-line); border-radius:14px; padding:26px 24px; counter-increment:np-step; }
.np-lp-steps li::before{
    content:counter(np-step); display:inline-flex; align-items:center; justify-content:center;
    width:34px; height:34px; border-radius:50%; background:var(--np-brand); color:#fff;
    font-weight:700; font-size:15px; margin-bottom:14px;
}
.np-lp-steps h3{ font-size:17px; font-weight:700; color:var(--np-brand); margin:0 0 8px; }
.np-lp-steps p{ font-size:14.5px; line-height:1.65; color:var(--np-muted); margin:0; }

/* Office card */
.np-lp-office{
    display:grid; grid-template-columns:1.1fr 1fr;
    background:#fff; border:1px solid var(--np-line); border-radius:16px;
    overflow:hidden; box-shadow:0 6px 24px rgba(11,27,43,.06);
}
.np-lp-office-body{ padding:36px; }
.np-lp-office-tag{
    display:inline-block; padding:5px 14px; border-radius:999px;
    background:var(--np-brand); color:#fff; font-size:12px; font-weight:600;
    letter-spacing:.05em; text-transform:uppercase; margin-bottom:14px;
}
.np-lp-office-body h3{ font-size:22px; font-weight:700; color:var(--np-brand); margin:0 0 18px; }
.np-lp-office-body ul{ list-style:none; margin:0; padding:0; }
.np-lp-office-body li{ display:flex; gap:14px; align-items:flex-start; font-size:15px; line-height:1.65; color:#23364a; margin-bottom:14px; }
.np-lp-office-body li i{ color:var(--np-accent); margin-top:4px; width:18px; flex:none; }
.np-lp-office-body a{ color:#23364a; text-decoration:none; }
.np-lp-office-body a:hover{ color:var(--np-brand); text-decoration:underline; }
.np-lp-office-map{
    background:linear-gradient(135deg,#023047 0%,#0b1b2b 100%);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:16px; padding:36px; text-align:center; color:#fff;
}
.np-lp-office-map i{ font-size:38px; color:var(--np-accent); }
.np-lp-office-map p{ font-size:14px; line-height:1.6; color:rgba(255,255,255,.78); margin:0; }

/* Stats */
.np-lp-stats{ background:#fff; border-top:1px solid var(--np-line); border-bottom:1px solid var(--np-line); padding:54px 0; }
.np-lp-stats-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px; text-align:center; }
.np-lp-stat{ padding:18px; border-right:1px solid rgba(2,48,71,.12); }
.np-lp-stat:last-child{ border-right:none; }
.np-lp-stat-num{ font-size:clamp(38px,5vw,54px); font-weight:800; color:var(--np-brand); line-height:1; }
.np-lp-stat-label{ font-size:15px; font-weight:600; color:var(--np-ink); opacity:.8; margin-top:10px; }

/* City / location link cards */
.np-lp-cities{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; }
.np-lp-city{
    display:flex; flex-direction:column; background:#fff;
    border:1px solid var(--np-line); border-radius:14px; padding:28px;
    text-decoration:none; color:inherit;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.np-lp-city:hover{
    transform:translateY(-4px); border-color:var(--np-accent);
    box-shadow:0 12px 30px rgba(11,27,43,.1); text-decoration:none; color:inherit;
}
.np-lp-city > i{ font-size:22px; color:var(--np-accent); margin-bottom:14px; }
.np-lp-city h3{ font-size:19px; font-weight:700; color:var(--np-brand); margin:0 0 10px; }
.np-lp-city p{ font-size:14.5px; line-height:1.65; color:var(--np-muted); margin:0 0 18px; flex:1; }
.np-lp-city-more{ font-size:14px; font-weight:600; color:var(--np-brand); display:inline-flex; align-items:center; gap:8px; }
.np-lp-city.is-parent{ background:var(--np-brand); border-color:var(--np-brand); }
.np-lp-city.is-parent h3{ color:#fff; }
.np-lp-city.is-parent p{ color:rgba(255,255,255,.78); }
.np-lp-city.is-parent .np-lp-city-more{ color:var(--np-accent); }

/* Service links */
.np-lp-links{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.np-lp-link{
    display:flex; align-items:center; gap:12px; background:#fff;
    border:1px solid var(--np-line); border-radius:12px; padding:18px 22px;
    font-size:15px; font-weight:600; color:var(--np-brand); text-decoration:none;
    transition:border-color .18s ease, transform .18s ease;
}
.np-lp-link:hover{ border-color:var(--np-accent); transform:translateX(3px); color:var(--np-brand); text-decoration:none; }
.np-lp-link i{ color:var(--np-accent); }

/* Related reading */
.np-lp-reads{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; }
.np-lp-reads a{
    display:block; height:100%; background:#fff; border:1px solid var(--np-line); border-radius:12px;
    padding:22px 24px; text-decoration:none; color:inherit; transition:border-color .18s ease;
}
.np-lp-reads a:hover{ border-color:var(--np-accent); text-decoration:none; color:inherit; }
.np-lp-reads strong{ display:block; font-size:16px; color:var(--np-brand); margin-bottom:6px; }
.np-lp-reads span{ display:block; font-size:14.5px; line-height:1.6; color:var(--np-muted); }

/* CTA */
.np-lp-cta{
    background:linear-gradient(135deg,#023047 0%,#0b1b2b 100%);
    color:#fff; padding:70px 0; text-align:center;
}
.np-lp-cta h2{ font-size:clamp(24px,3vw,32px); font-weight:700; margin:0 0 14px; color:#fff; }
.np-lp-cta p{ font-size:16px; line-height:1.7; color:rgba(255,255,255,.82); max-width:640px; margin:0 auto 28px; }
.np-lp-cta-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

@media (max-width:860px){
    .np-lp-hero{ padding:90px 0 58px; }
    .np-lp-section{ padding:52px 0; }
    .np-lp-section + .np-lp-section{ padding-top:0; }
    .np-lp-section.is-white, .np-lp-section.is-white + .np-lp-section{ padding-top:52px; }
    .np-lp-office, .np-lp-grid-2{ grid-template-columns:1fr; }
    .np-lp-office-map{ order:-1; padding:40px 26px; }
    .np-lp-office-body{ padding:28px; }
    .np-lp-stat{ border-right:none; border-bottom:1px solid rgba(2,48,71,.12); }
    .np-lp-stat:last-child{ border-bottom:none; }
    .np-lp-band-in{ justify-content:flex-start; }
}
@media (max-width:400px){
    .np-lp-cities, .np-lp-reads{ grid-template-columns:1fr; }
    .np-lp-card, .np-lp-city{ padding:24px; }
}
