/* ============================================================
   Insights — a publication masthead hero (rule-bordered title
   block, no stat strip or emblem), a featured-post spotlight for
   the latest entry, and a full-bleed subscribe band — its own
   editorial identity, distinct from every other page's hero shape.
   ============================================================ */

/* ---- Masthead hero ---- */
.insights-masthead { padding: 152px 0 56px; background: var(--color-off-white); }
.insights-masthead-inner {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 0;
    border-top: 2px solid var(--color-navy);
    border-bottom: 2px solid var(--color-navy);
}
.insights-masthead-kicker {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    margin-bottom: 14px;
}
.insights-masthead-inner h1 { font-size: clamp(2.4rem, 5vw, 3.4rem); margin-bottom: 12px; }
.insights-masthead-inner .lead { color: var(--color-text-muted); font-size: 1.05rem; margin: 0 auto; max-width: 480px; }

/* ---- Featured post: photo + copy split, the latest entry pulled
   out of the grid and given weight ---- */
.featured-post-section { padding-bottom: 0; }
.featured-post {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.featured-post:hover { box-shadow: 0 24px 60px rgba(11,31,58,0.14); transform: translateY(-4px); text-decoration: none; }
.featured-post-media { position: relative; aspect-ratio: 16/11; background: var(--color-off-white); overflow: hidden; }
.featured-post-media img, .featured-post-media video { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.featured-post:hover .featured-post-media img,
.featured-post:hover .featured-post-media video { transform: scale(1.05); }
.featured-post-copy { padding: 40px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.featured-post-copy .tag { width: fit-content; margin-bottom: 4px; }
.featured-post-copy h2 { margin-bottom: 4px; }
.featured-post-copy .card-arrow { margin-top: 8px; }

/* ---- Filter tabs (same interaction pattern as Projects' filter
   bar — a UI convention, not a page-look repeat) ---- */
.filter-bar { display: flex; gap: 10px; margin-bottom: 32px; flex-wrap: wrap; }
.filter-btn {
    padding: 8px 18px;
    border-radius: 20px;
    border: 1px solid var(--color-border);
    background: var(--color-white);
    cursor: pointer;
    font-weight: 500;
    font-size: 0.9rem;
    font-family: var(--font-body);
    color: var(--color-text);
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.filter-btn:hover { border-color: var(--color-navy); transform: translateY(-2px); }
.filter-btn.active { background: var(--color-navy); color: var(--color-white); border-color: var(--color-navy); }

/* ---- Post grid ---- */
.insights-grid { gap: 24px; }
.insight-card { padding: 0; overflow: hidden; display: block; transition: box-shadow 0.25s ease, transform 0.25s ease, opacity 0.25s ease; }
.insight-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); text-decoration: none; }
.insight-media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--color-off-white); }
.insight-media img,
.insight-media video { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.insight-card:hover .insight-media img,
.insight-card:hover .insight-media video { transform: scale(1.06); }
.play-badge {
    position: absolute; inset: 0; margin: auto; width: 48px; height: 48px;
    background: rgba(11,31,58,0.75); color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 1rem;
}
.insight-body { padding: 18px 20px 22px; }
.insight-body h4 { margin-bottom: 8px; }
.insight-date { color: var(--color-text-muted); font-size: 0.85rem; }

.insight-card.is-filtering { opacity: 0; transform: scale(0.96); pointer-events: none; }
.insight-card.is-hidden { display: none; }

.empty-state { color: var(--color-text-muted); padding: 40px 0; }

/* ---- Subscribe band: full-bleed navy, grid texture (same reusable
   .cta-band-grid pattern from global.css) ---- */
.subscribe-band { position: relative; overflow: hidden; background: var(--color-navy); padding: 72px 0; }
.newsletter-block { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.newsletter-block .tag { background: rgba(255,255,255,0.14); color: var(--color-white); margin-bottom: 10px; display: inline-block; }
.newsletter-block .tag::after { background: var(--color-gold); }
.newsletter-block h2 { color: var(--color-white); margin-bottom: 6px; }
.newsletter-block p { color: rgba(255,255,255,0.7); margin: 0; }
.newsletter-form { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.newsletter-form input {
    padding: 12px 14px; border: 1px solid rgba(255,255,255,0.25); border-radius: 6px; min-width: 260px;
    background: rgba(255,255,255,0.08); color: var(--color-white);
}
.newsletter-form input::placeholder { color: rgba(255,255,255,0.55); }
.form-success { width: 100%; color: var(--color-gold); font-weight: 500; }

/* ---- Single post ---- */
.insight-single-inner { max-width: 760px; }
.back-link { display: inline-block; margin-bottom: 20px; font-weight: 500; color: var(--color-text-muted); transition: color 0.2s ease, transform 0.2s ease; }
.back-link:hover { color: var(--color-navy); text-decoration: none; transform: translateX(-3px); }
.insight-single-media { border-radius: var(--radius); overflow: hidden; margin-bottom: 28px; }
.insight-single-media img,
.insight-single-media video { width: 100%; }
.insight-single-meta { display: flex; align-items: center; gap: 10px; color: var(--color-text-muted); font-size: 0.88rem; margin-top: 6px; }
.insight-single-meta-dot { opacity: 0.5; }
.insight-write-up { margin-top: 28px; font-size: 1.05rem; line-height: 1.75; color: var(--color-text); }
.insight-write-up img { border-radius: var(--radius); margin: 20px 0; }
.insight-write-up h2, .insight-write-up h3 { margin-top: 1.4em; }
.insight-write-up blockquote {
    margin: 28px 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--color-gold);
    color: var(--color-text-muted); font-style: italic;
}

/* ---- More Insights (related posts, single.php) ---- */
.more-insights-grid { gap: 20px; }
.more-insight-card { padding: 0; overflow: hidden; display: block; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.more-insight-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); text-decoration: none; }

@media (max-width: 960px) {
    .featured-post { grid-template-columns: 1fr; }
    .featured-post-copy { padding: 28px; }
}

@media (max-width: 720px) {
    .insights-masthead { padding: 128px 0 40px; }
    .newsletter-form input { min-width: 0; flex: 1; }
}