/* HOME-STYLE-ISOLATION-001
 * Homepage-only News / Blog / Gallery feed.
 * Deliberately namespaced so legacy page-home reset and hero/button styles
 * cannot change typography, badges, card spacing or controls.
 */
body.page-home .home-feed {
    --home-feed-news: #315f9c;
    --home-feed-blog: #7751a6;
    --home-feed-gallery: #36764a;
    padding: 82px 0 92px;
    background: #f8f9fb;
    color: #1f2937;
    font-family: "Inter", sans-serif;
}

body.page-home .home-feed,
body.page-home .home-feed *,
body.page-home .home-feed *::before,
body.page-home .home-feed *::after {
    box-sizing: border-box;
}

body.page-home .home-feed__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin: 0 0 30px;
    padding: 0;
}

body.page-home .home-feed__intro {
    min-width: 0;
    margin: 0;
    padding: 0;
}

body.page-home .home-feed__kicker {
    display: inline-block;
    margin: 0 0 12px;
    padding: 0;
    color: #6366f1;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.page-home .home-feed__title {
    margin: 4px 0 8px;
    padding: 0;
    color: #1f2937;
    font-family: "Inter", sans-serif;
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.03em;
    text-align: left;
}

body.page-home .home-feed__subtitle {
    max-width: 690px;
    margin: 0;
    padding: 0;
    color: #6b7280;
    font-family: "Inter", sans-serif;
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.7;
    text-align: left;
}

body.page-home .home-feed__all {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 10px 0;
    color: #4f46e5;
    font-family: "Inter", sans-serif;
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}

body.page-home .home-feed__all span {
    margin: 0;
    padding: 0;
    transition: transform .18s ease;
}

body.page-home .home-feed__all:hover span { transform: translateX(3px); }

body.page-home .home-feed__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
}

body.page-home .home-feed__card {
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e6e9ee;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(17,24,39,.045);
    font-family: "Inter", sans-serif;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.page-home .home-feed__card:hover {
    transform: translateY(-3px);
    border-color: #d8dce4;
    box-shadow: 0 18px 40px rgba(17,24,39,.08);
}

body.page-home .home-feed__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: linear-gradient(135deg,#e9edff,#f1eafb);
    text-decoration: none;
}

body.page-home .home-feed__media img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
    transition: transform .32s ease;
}

body.page-home .home-feed__card:hover .home-feed__media img { transform: scale(1.025); }

body.page-home .home-feed__placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    background: linear-gradient(135deg,#eef2ff,#f8f5ff);
    color: rgba(79,70,229,.38);
    font-size: 3.5rem;
    font-weight: 900;
}

body.page-home .home-feed__type-badge,
body.page-home .home-feed__featured-badge {
    position: absolute;
    top: 14px;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin: 0;
    padding: 5px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 3px 12px rgba(20,25,35,.1);
    font-family: "Inter", sans-serif;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .025em;
}

body.page-home .home-feed__type-badge { left: 14px; color: #4b5563; }
body.page-home .home-feed__type-badge--news { color: var(--home-feed-news); }
body.page-home .home-feed__type-badge--blog { color: var(--home-feed-blog); }
body.page-home .home-feed__type-badge--gallery { color: var(--home-feed-gallery); }
body.page-home .home-feed__featured-badge { right: 14px; color: #8b5b10; background: #fff8e8; }

body.page-home .home-feed__body {
    display: flex;
    min-height: 245px;
    flex-direction: column;
    margin: 0;
    padding: 20px 20px 18px;
}

body.page-home .home-feed__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 10px;
    padding: 0;
    color: #8a919c;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.4;
}

body.page-home .home-feed__meta time,
body.page-home .home-feed__meta span { margin: 0; padding: 0; }
body.page-home .home-feed__meta span + span::before,
body.page-home .home-feed__meta time + span::before { content: "·"; margin-right: 10px; color: #c1c6ce; }

body.page-home .home-feed__card-title {
    margin: 0 0 10px;
    padding: 0;
    color: #252b35;
    font-family: "Inter", sans-serif;
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.018em;
}

body.page-home .home-feed__card-title a {
    margin: 0;
    padding: 0;
    color: #252b35;
    text-decoration: none;
}
body.page-home .home-feed__card-title a:hover { color: #4f46e5; }

body.page-home .home-feed__summary {
    margin: 0 0 20px;
    padding: 0;
    color: #667085;
    font-size: .88rem;
    font-weight: 400;
    line-height: 1.68;
}

body.page-home .home-feed__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: auto 0 0;
    padding: 14px 0 0;
    border-top: 1px solid #eef0f3;
}

body.page-home .home-feed__read-more {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    color: #4f46e5;
    font-size: .8rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
}
body.page-home .home-feed__read-more span { margin: 0; padding: 0; transition: transform .18s ease; }
body.page-home .home-feed__read-more:hover span { transform: translateX(2px); }

body.page-home .home-feed__like {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 48px;
    min-height: 34px;
    margin: 0;
    padding: 5px 9px;
    border: 1px solid #e2e5ea;
    border-radius: 999px;
    background: #fff;
    color: #707782;
    font-family: "Inter", sans-serif;
    font-size: .76rem;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
body.page-home .home-feed__like:hover { border-color: #f2b8c3; color: #b53e59; transform: translateY(-1px); }
body.page-home .home-feed__like svg { width: 17px; height: 17px; margin: 0; padding: 0; fill: none; stroke: currentColor; stroke-width: 1.7; transition: fill .16s ease; }
body.page-home .home-feed__like.is-liked { border-color: #f5c4ce; background: #fff4f6; color: #c23c59; }
body.page-home .home-feed__like.is-liked svg { fill: currentColor; }
body.page-home .home-feed__like.is-loading { opacity: .55; cursor: wait; transform: none; }
body.page-home .home-feed__like:disabled { cursor: wait; }

body.page-home .home-feed__mobile-all {
    display: none;
    margin: 24px 0 0;
    padding: 0;
    text-align: center;
}

body.page-home .home-feed__mobile-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 0;
    padding: 11px 22px;
    border: 1px solid #d9ddff;
    border-radius: 999px;
    background: #fff;
    color: #4f46e5;
    font-family: "Inter", sans-serif;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(79,70,229,.07);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
body.page-home .home-feed__mobile-link:hover { transform: translateY(-1px); border-color: #bfc5ff; background: #f8f8ff; }

@media (max-width: 980px) {
    body.page-home .home-feed__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    body.page-home .home-feed { padding: 64px 0 72px; }
    body.page-home .home-feed__head { align-items: flex-start; flex-direction: column; gap: 10px; }
    body.page-home .home-feed__all { display: none; }
    body.page-home .home-feed__mobile-all { display: block; }
}

@media (max-width: 620px) {
    body.page-home .home-feed { padding: 52px 0 58px; }
    body.page-home .home-feed__grid { grid-template-columns: 1fr; gap: 18px; }
    body.page-home .home-feed__body { min-height: auto; }
    body.page-home .home-feed__title { font-size: 2rem; }
    body.page-home .home-feed__subtitle { font-size: .98rem; }
    body.page-home .home-feed__mobile-link { width: 100%; }
}
