/* ═══════════════════════════════════════════════════════════
   India CSC Directory — deliberately distinct from the Punjab
   CSC page (psk-csc-*.css): darker premium hero, unified search,
   state-grid browsing instead of tabs, glass-panel stat cards.
   ═══════════════════════════════════════════════════════════ */

.psk-ci-hero {
    position: relative;
    background: radial-gradient(120% 140% at 15% 0%, #14265c 0%, #0a1330 45%, #05070f 100%);
    padding: 64px 0 96px;
    overflow: hidden;
    color: #fff;
}
.psk-ci-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,0.25) 0, transparent 60%),
        radial-gradient(2px 2px at 70% 60%, rgba(255,255,255,0.18) 0, transparent 60%),
        radial-gradient(2px 2px at 85% 20%, rgba(255,255,255,0.2) 0, transparent 60%),
        radial-gradient(2px 2px at 40% 80%, rgba(255,255,255,0.15) 0, transparent 60%);
    pointer-events: none;
}
.psk-ci-hero__crumb {
    position: relative;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.55);
    margin-bottom: 22px;
}
.psk-ci-hero__crumb a { color: rgba(255,255,255,0.75); text-decoration: none; }
.psk-ci-hero__crumb a:hover { color: #ff8c5a; }

.psk-ci-hero__badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(252,94,40,0.14);
    border: 1px solid rgba(252,94,40,0.4);
    color: #ff9a6b;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 20px;
}

.psk-ci-hero__title {
    position: relative;
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 16px;
    max-width: 780px;
    color: #fff;
}
.psk-ci-hero__title span { color: #ff8c5a; }

.psk-ci-hero__sub {
    position: relative;
    font-size: 1.05rem;
    color: rgba(255,255,255,0.72);
    max-width: 640px;
    margin-bottom: 32px;
    line-height: 1.7;
}

/* Unified search — one input, mode pills instead of tabs */
.psk-ci-search {
    position: relative;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.14);
    backdrop-filter: blur(16px);
    border-radius: 20px;
    padding: 22px;
    max-width: 640px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.psk-ci-search__pills { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.psk-ci-search__pill {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.18);
    color: rgba(255,255,255,0.75);
    font-size: 0.82rem;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.15s ease;
}
.psk-ci-search__pill.active {
    background: #fc5e28;
    border-color: #fc5e28;
    color: #fff;
}
.psk-ci-search__pill:hover:not(.active) { border-color: rgba(255,255,255,0.4); color: #fff; }

.psk-ci-search__row { display: flex; gap: 10px; }
.psk-ci-search__input {
    flex: 1;
    background: rgba(255,255,255,0.95);
    border: none;
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 0.98rem;
    color: #040e26;
}
.psk-ci-search__input:focus { outline: 3px solid rgba(252,94,40,0.4); }
.psk-ci-search__btn {
    background: linear-gradient(135deg, #fc5e28, #e04010);
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 0 26px;
    font-weight: 700;
    font-size: 0.95rem;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 0.15s ease, filter 0.15s ease;
}
.psk-ci-search__btn:hover { transform: translateY(-1px); filter: brightness(0.92); }
.psk-ci-search__hint { font-size: 0.8rem; color: rgba(255,255,255,0.55); margin: 10px 0 0; }
.psk-ci-search__panel { display: none; }
.psk-ci-search__panel.active { display: block; }

/* Stat strip — glass tiles below the search card. Deliberately normal
   (positive) spacing rather than a negative-margin overlap: the search
   card's height changes per active tab (Near Me is much shorter than the
   PIN code form), and an overlap trick that only fits one panel's height
   collides with the others. */
.psk-ci-stats {
    position: relative;
    z-index: 2;
    margin-top: 32px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.psk-ci-stat {
    background: #fff;
    border-radius: 16px;
    padding: 20px 18px;
    box-shadow: 0 14px 34px rgba(4,14,38,0.12);
    text-align: center;
}
.psk-ci-stat__num { font-size: 1.7rem; font-weight: 800; color: #040e26; display: block; line-height: 1.2; }
.psk-ci-stat__label { font-size: 0.8rem; color: #6b7280; font-weight: 600; }

/* Punjab callout — cross-link back, styled as a distinct highlighted strip */
.psk-ci-punjab-strip {
    margin-top: 44px;
    background: linear-gradient(90deg, #fff7f2 0%, #ffe9e0 100%);
    border: 1px solid #ffd4c2;
    border-radius: 16px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.psk-ci-punjab-strip__text strong { color: #040e26; }
.psk-ci-punjab-strip__text span { display: block; font-size: 0.88rem; color: #6b5c52; margin-top: 2px; }
.psk-ci-punjab-strip__btn {
    background: #040e26;
    color: #fff;
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none;
    white-space: nowrap;
}
.psk-ci-punjab-strip__btn { transition: background 0.15s ease; }
.psk-ci-punjab-strip__btn:hover { background: #0a1b3d; color: #fff; }

/* Section shell */
.psk-ci-section { padding: 56px 0; }
.psk-ci-section__head { margin-bottom: 28px; }
.psk-ci-section__eyebrow { color: #fc5e28; font-weight: 700; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; }
.psk-ci-section__title { font-size: 1.6rem; font-weight: 800; color: #040e26; margin: 6px 0 8px; }
.psk-ci-section__desc { color: #6b7280; font-size: 0.95rem; max-width: 640px; }

/* Featured states — larger, richer cards */
.psk-ci-featured-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 16px;
}
.psk-ci-featured-card {
    display: block;
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 18px;
    padding: 22px;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    position: relative;
    overflow: hidden;
}
.psk-ci-featured-card::before {
    content: "";
    position: absolute; inset: 0 0 auto 0; height: 4px;
    background: linear-gradient(90deg, #fc5e28, #ffb088);
}
.psk-ci-featured-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(4,14,38,0.1); }
.psk-ci-featured-card__rank {
    position: absolute; top: 16px; right: 16px;
    font-size: 0.72rem; font-weight: 800; color: #d1d5db;
}
.psk-ci-featured-card__name { font-size: 1.1rem; font-weight: 800; color: #040e26; margin-bottom: 6px; }
.psk-ci-featured-card__meta { font-size: 0.84rem; color: #6b7280; margin-bottom: 14px; }
.psk-ci-featured-card__count { font-size: 1.4rem; font-weight: 800; color: #fc5e28; }
.psk-ci-featured-card__count-label { font-size: 0.76rem; color: #9ca3af; font-weight: 600; text-transform: uppercase; }

/* All-states A-Z grid */
.psk-ci-az-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 10px;
}
.psk-ci-az-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 16px;
    background: #f8f9fb;
    border-radius: 12px;
    text-decoration: none;
    color: #040e26;
    font-weight: 600;
    font-size: 0.92rem;
    transition: background 0.15s ease, transform 0.15s ease;
}
.psk-ci-az-item:hover {
    background: #040e26;
    color: #fff;
    transform: translateX(2px);
    box-shadow: 0 6px 16px rgba(4,14,38,0.18);
}
.psk-ci-az-item:hover .psk-ci-az-item__count { color: #ff9a6b; }
.psk-ci-az-item__count { font-size: 0.78rem; color: #9ca3af; font-weight: 700; }

/* ── Two-column page layout with a persistent right sidebar ──
   Used on state/district/locality/pincode pages: real listing content on
   the left, the Digital Book / Become an Agent cards fixed on the right
   instead of a full-width promo row competing with the listing for space. */
.psk-ci-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 20px; align-items: start; }
.psk-ci-layout__sidebar { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 16px; }

.psk-ci-sidebar-card {
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    display: block;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.psk-ci-sidebar-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(4,14,38,0.1); }
.psk-ci-sidebar-card__banner {
    background: linear-gradient(135deg, #040e26, #0a1b3d);
    padding: 22px 20px 18px;
    text-align: center;
}
.psk-ci-sidebar-card__icon {
    width: 52px; height: 52px; margin: 0 auto 10px;
    background: linear-gradient(135deg, #fc5e28, #e04010);
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
}
.psk-ci-sidebar-card__eyebrow { color: #ff9a6b; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.psk-ci-sidebar-card__title { color: #fff; font-size: 1rem; font-weight: 800; margin: 4px 0 0; line-height: 1.35; }
.psk-ci-sidebar-card__body { padding: 14px 18px 18px; }
.psk-ci-sidebar-card__desc { font-size: 0.82rem; color: #6b7280; line-height: 1.55; margin-bottom: 12px; }
.psk-ci-sidebar-card__meta { display: flex; align-items: center; justify-content: space-between; }
.psk-ci-sidebar-card__price { font-weight: 800; color: #040e26; font-size: 0.95rem; }
.psk-ci-sidebar-card__price span { font-size: 0.74rem; color: #9ca3af; font-weight: 600; }
.psk-ci-sidebar-card__cta {
    display: inline-block; background: #fc5e28; color: #fff; font-size: 0.8rem; font-weight: 700;
    padding: 7px 14px; border-radius: 8px; transition: background 0.15s ease;
}
.psk-ci-sidebar-card:hover .psk-ci-sidebar-card__cta { background: #e04010; }

.psk-ci-sidebar-card--agent .psk-ci-sidebar-card__banner { padding: 18px 18px 14px; text-align: left; display: flex; align-items: center; gap: 12px; }
.psk-ci-sidebar-card--agent .psk-ci-sidebar-card__icon { margin: 0; flex-shrink: 0; width: 44px; height: 44px; font-size: 1.25rem; }

/* The sidebar must ALWAYS render as a right-hand column per explicit
   instruction — only collapses to a single column on genuine small-phone
   widths, not on laptops with browser zoom or DevTools open shrinking the
   effective CSS viewport (which is what kept re-triggering the old
   767.98px/991.98px breakpoints and made this look broken when it wasn't). */
@media (max-width: 480px) {
    .psk-ci-layout { grid-template-columns: 1fr; }
    .psk-ci-layout__sidebar { position: static; flex-direction: row; flex-wrap: wrap; }
    .psk-ci-layout__sidebar > * { flex: 1; min-width: 240px; }
}

/* Location card — map preview + directions, on the individual centre page */
.psk-ci-location-card { background: #fff; border: 1px solid #eef0f4; border-radius: 16px; overflow: hidden; margin-bottom: 20px; }
.psk-ci-location-card__map { width: 100%; height: 220px; border: none; display: block; background: #f1f2f5; }
.psk-ci-location-card__body { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.psk-ci-location-card__addr { font-size: 0.84rem; color: #4b5563; line-height: 1.5; }
.psk-ci-location-card__btn {
    flex-shrink: 0; background: #040e26; color: #fff; font-size: 0.82rem; font-weight: 700;
    padding: 9px 16px; border-radius: 9px; white-space: nowrap; transition: background 0.15s ease;
}
.psk-ci-location-card__btn:hover { background: #fc5e28; color: #fff; }
.psk-ci-location-card__placeholder {
    height: 220px; display: flex; align-items: center; justify-content: center;
    background: #f8f9fb; color: #9ca3af; font-size: 0.84rem; flex-direction: column; gap: 6px;
}

/* Related resources — Digital Book / Become an Agent cross-links */
.psk-ci-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.psk-ci-related-card {
    display: flex; gap: 14px; align-items: flex-start;
    background: linear-gradient(135deg, #fff7f2, #fff);
    border: 1px solid #ffe3d3;
    border-radius: 16px;
    padding: 20px;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.psk-ci-related-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(4,14,38,0.1); border-color: #fc5e28; }
.psk-ci-related-card__icon { font-size: 1.8rem; line-height: 1; flex-shrink: 0; }
.psk-ci-related-card__title { font-weight: 800; color: #040e26; font-size: 0.98rem; margin-bottom: 4px; }
.psk-ci-related-card__desc { font-size: 0.84rem; color: #6b7280; line-height: 1.5; }

/* FAQ + "From Our Blog" side-by-side on the national hub — fills the space
   the FAQ column's readable max-width otherwise leaves empty next to it. */
.psk-ci-faq-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.psk-ci-blog-list { display: flex; flex-direction: column; gap: 12px; }
.psk-ci-blog-card {
    display: flex; gap: 12px; align-items: center;
    background: #fff; border: 1px solid #eef0f4; border-radius: 14px; padding: 10px;
    text-decoration: none; transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.psk-ci-blog-card:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(4,14,38,0.1); border-color: #ffd4c2; }
.psk-ci-blog-card__img { width: 68px; height: 68px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.psk-ci-blog-card__title { font-size: 0.86rem; font-weight: 700; color: #040e26; line-height: 1.4; }

@media (max-width: 480px) {
    .psk-ci-faq-layout { grid-template-columns: 1fr; }
}

/* FAQ accordion — simple details/summary, no JS dependency */
.psk-ci-faq { max-width: 100%; }
.psk-ci-faq details {
    background: #f8f9fb;
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 10px;
}
.psk-ci-faq summary {
    font-weight: 700;
    color: #040e26;
    cursor: pointer;
    list-style: none;
}
.psk-ci-faq summary::-webkit-details-marker { display: none; }
.psk-ci-faq summary::after { content: "+"; float: right; color: #fc5e28; font-weight: 800; }
.psk-ci-faq details[open] summary::after { content: "\2212"; }
.psk-ci-faq p { margin: 10px 0 0; color: #4b5563; font-size: 0.92rem; line-height: 1.7; }

/* ── Compact sub-hero for state/district/locality/pincode pages ──
   Same dark navy language as the national hub, but shorter — these are
   deeper pages that need to get to the listing content fast. */
.psk-ci-subhero {
    background: radial-gradient(120% 160% at 10% 0%, #14265c 0%, #0a1330 50%, #05070f 100%);
    padding: 34px 0 40px;
    color: #fff;
}
.psk-ci-subhero__crumb { font-size: 0.8rem; color: rgba(255,255,255,0.55); margin-bottom: 14px; }
.psk-ci-subhero__crumb a { color: rgba(255,255,255,0.75); text-decoration: none; }
.psk-ci-subhero__crumb a:hover { color: #ff8c5a; }
.psk-ci-subhero__crumb span.sep { margin: 0 6px; opacity: 0.4; }
.psk-ci-subhero__title { font-size: 1.9rem; font-weight: 800; margin-bottom: 10px; color: #fff; }
.psk-ci-subhero__title span { color: #ff8c5a; }
.psk-ci-subhero__desc { color: rgba(255,255,255,0.7); font-size: 0.95rem; max-width: 620px; margin-bottom: 22px; }
.psk-ci-subhero__meta { display: flex; gap: 28px; flex-wrap: wrap; }
.psk-ci-subhero__meta-item strong { display: block; font-size: 1.3rem; font-weight: 800; }
.psk-ci-subhero__meta-item span { font-size: 0.78rem; color: rgba(255,255,255,0.55); font-weight: 600; text-transform: uppercase; }

/* Listing grid — used for district-list, locality-list, and centre-list pages.
   auto-fill/minmax (not a fixed column count) so a state/district with only
   1-2 items wraps naturally at card width instead of leaving a huge empty
   cell where a 3rd/4th column would have been. */
.psk-ci-list-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.psk-ci-list-card {
    display: block;
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 14px;
    padding: 18px 20px;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.psk-ci-list-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(4,14,38,0.14); background: #fdfaf8; border-color: #fc5e28; }
.psk-ci-list-card__name { font-weight: 700; color: #040e26; font-size: 1rem; margin-bottom: 4px; }
.psk-ci-list-card__meta { font-size: 0.82rem; color: #9ca3af; }
.psk-ci-list-card__count { color: #fc5e28; font-weight: 700; }

/* Centre card — richer, used on locality/pincode pages */
.psk-ci-center-card {
    display: block;
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 14px;
    padding: 18px 20px;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.psk-ci-center-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(4,14,38,0.14); background: #fdfaf8; border-color: #fc5e28; }
.psk-ci-center-card__name { font-weight: 700; color: #040e26; font-size: 1rem; margin-bottom: 6px; }
.psk-ci-center-card__addr { font-size: 0.84rem; color: #6b7280; line-height: 1.5; margin-bottom: 8px; min-height: 2.5em; }
.psk-ci-center-card__pin { display: inline-block; font-size: 0.76rem; font-weight: 700; color: #fc5e28; background: #fff1ea; padding: 3px 10px; border-radius: 999px; }

/* Pagination */
.psk-ci-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 32px; }
.psk-ci-pagination a, .psk-ci-pagination span {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 38px; height: 38px; border-radius: 10px;
    font-size: 0.86rem; font-weight: 700; text-decoration: none;
    background: #f8f9fb; color: #040e26;
    transition: background 0.15s ease;
}
.psk-ci-pagination a:hover { background: #fdeee7; }
.psk-ci-pagination .active { background: #fc5e28; color: #fff; }

/* Individual centre profile page — same "always on the right" rule as
   .psk-ci-layout above; minmax(0,...) lets the left column actually shrink
   instead of overflowing at narrow effective widths (zoom/DevTools open). */
/* Plain flexbox, not CSS Grid — two real boxes side by side, each stacking
   its own cards in natural DOM order. (An earlier CSS-Grid + explicit
   grid-column + order attempt caused large blank gaps: Grid's auto-
   placement assigns ROWS by processing items in a single order/DOM sequence
   across BOTH columns together, so interleaving col1/col2 items in the
   source, or applying "order" to only some of them, desyncs row heights
   between columns. Flexbox's two-container approach avoids that outright.) */
.psk-ci-profile { display: flex; gap: 28px; align-items: flex-start; }
.psk-ci-profile__left { flex: 2 1 0; min-width: 0; }
.psk-ci-profile__right { flex: 1 1 260px; min-width: 260px; max-width: 320px; }
.psk-ci-profile-card { background: #fff; border: 1px solid #eef0f4; border-radius: 18px; padding: 28px; }
.psk-ci-profile-card h2 { font-size: 1.05rem; font-weight: 800; color: #040e26; margin-bottom: 14px; }
.psk-ci-profile-row { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f1f2f5; }
.psk-ci-profile-row:last-child { border-bottom: none; }
.psk-ci-profile-row__label { width: 130px; flex-shrink: 0; font-size: 0.82rem; color: #9ca3af; font-weight: 700; text-transform: uppercase; }
.psk-ci-profile-row__value { font-size: 0.95rem; color: #1f2937; }
.psk-ci-nearby-item { display: block; padding: 12px 0; border-bottom: 1px solid #f1f2f5; text-decoration: none; }
.psk-ci-nearby-item:last-child { border-bottom: none; }
.psk-ci-nearby-item {
    margin: 0 -14px; padding-left: 14px; padding-right: 14px; border-radius: 10px;
    transition: background 0.15s ease;
}
.psk-ci-nearby-item:hover { background: #040e26; }
.psk-ci-nearby-item__name { font-weight: 700; color: #040e26; font-size: 0.9rem; transition: color 0.15s ease; }
.psk-ci-nearby-item:hover .psk-ci-nearby-item__name { color: #fff; }
.psk-ci-nearby-item__meta { font-size: 0.78rem; color: #9ca3af; transition: color 0.15s ease; }
.psk-ci-nearby-item:hover .psk-ci-nearby-item__meta { color: #ffb08a; }
.psk-ci-disclaimer { background: #fff7f2; border: 1px solid #ffd4c2; border-radius: 12px; padding: 14px 18px; font-size: 0.82rem; color: #7a5a48; line-height: 1.6; margin-top: 18px; }

@media (max-width: 991.98px) {
    .psk-ci-list-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    /* display:contents "unwraps" the left/right boxes so their children
       become direct flex items of .psk-ci-profile itself — only then does
       "order" (applied per-card, not per-column) actually take effect
       across the whole stack, giving: Details, Location, Nearby, Promo,
       Services, FAQ — regardless of which box a card started in. */
    .psk-ci-profile { flex-direction: column; }
    .psk-ci-profile__left, .psk-ci-profile__right { display: contents; }
    .psk-ci-profile__details { order: 1; }
    .psk-ci-profile__location { order: 2; }
    .psk-ci-profile__nearby { order: 3; }
    .psk-ci-profile__promo { order: 4; }
    .psk-ci-profile__services { order: 5; }
    .psk-ci-profile__faq { order: 6; }
}
@media (max-width: 575.98px) {
    .psk-ci-list-grid { grid-template-columns: 1fr; }
    .psk-ci-subhero__title { font-size: 1.4rem; }
    .psk-ci-subhero__meta { gap: 18px; }
}

@media (max-width: 991.98px) {
    .psk-ci-stats { grid-template-columns: repeat(2, 1fr); }
    .psk-ci-featured-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
    .psk-ci-hero { padding: 44px 0 76px; }
    .psk-ci-hero__title { font-size: 1.7rem; }
    .psk-ci-search { padding: 16px; }
    .psk-ci-search__row { flex-direction: column; }
    .psk-ci-az-grid { grid-template-columns: repeat(2, 1fr); }
    .psk-ci-punjab-strip { flex-direction: column; align-items: flex-start; }
}
