/* Public homepage: same visual language as the teacher workspace. */
body.page-home.wisdom-shell .home-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 3vw, 44px);
    border: 1px solid #dceafa;
    border-radius: 22px;
    background: linear-gradient(115deg, #f4fbff 0%, #e8f6ff 55%, #cce6ff 100%);
    box-shadow: 0 12px 36px rgba(30, 93, 148, .07);
}
body.page-home .home-hero-label { color: #2170b7; margin-bottom: 16px; }
body.page-home .home-hero h1 { max-width: 630px; color: #071b49; font-size: clamp(2rem, 3.7vw, 3.45rem); }
body.page-home .home-hero .lead { color: #58728f; font-size: 16px; line-height: 1.65; }
body.page-home .hero-search { display: flex; flex-wrap: wrap; gap: 9px; }
body.page-home .hero-search .form-control {
    min-width: min(100%, 260px);
    min-height: 48px;
    border-color: #cfe3f4;
    background: #fff;
    box-shadow: 0 5px 18px rgba(29, 97, 155, .06);
}
body.page-home .hero-search .btn { min-height: 48px; padding-inline: 20px; }
body.page-home .home-hero-note { color: #5e7994; }
body.page-home .home-hero-visual {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 310px;
    padding: 14px;
    border-radius: 19px;
    background: #cde9ff url('../images/materials-hero.webp') 79% 27% / cover no-repeat;
    overflow: hidden;
}
body.page-home .hero-doc-frame {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: min(100%, 315px);
    min-height: 0;
    padding: 12px;
    margin: 0;
    border: 1px solid rgba(218, 235, 250, .95);
    border-radius: 15px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 30px rgba(19, 89, 150, .16);
}
body.page-home .hero-doc-frame :is(img,.resource-thumb-placeholder) {
    flex: 0 0 54px;
    width: 54px;
    height: 65px;
    min-height: 0;
    margin: 0;
    border-radius: 9px;
    object-fit: cover;
    background-color: #eaf5ff;
}
body.page-home .hero-doc-frame .thumb-placeholder-label { font-size: 9px; }
body.page-home .hero-doc-body { min-width: 0; padding: 0; }
body.page-home .hero-doc-body .card-kicker { color: #1671c3; font-size: 10px; }
body.page-home .hero-doc-body strong { display: block; color: #112a50; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
body.page-home .hero-doc-meta { color: #607a96; font-size: 11px; line-height: 1.4; }
body.page-home .hero-doc-body .btn { display: inline-flex; align-self: flex-start; width: auto; min-width: 0; min-height: 34px; padding: 5px 11px; font-size: 12px; }
body.page-home .metric-grid { gap: 12px; border: 0; border-radius: 0; background: transparent; }
body.page-home .metric-tile {
    border: 1px solid #dceafa;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(27, 83, 132, .045);
}
body.page-home .metric-label { color: #617994; }
body.page-home .metric-value { color: #0d2a50; }
body.page-home .subject-chip { border-color: #dbeaf7; border-radius: 11px; background: #f7fbff; color: #285279; }
body.page-home .subject-chip:hover { border-color: #9dc9f0; color: #076bda; background: #edf7ff; }
@media (max-width: 991.98px) {
    body.page-home .home-hero-visual { min-height: 250px; background-position: 85% 32%; }
}
@media (max-width: 575.98px) {
    body.page-home.wisdom-shell .home-hero { padding: 24px 20px; border-radius: 18px; }
    body.page-home .home-hero h1 { font-size: 1.95rem; }
    body.page-home .home-hero .lead { font-size: 14px; }
    body.page-home .hero-search .form-control { flex-basis: 100%; }
    body.page-home .hero-search .btn { flex: 1; }
    body.page-home .home-hero-visual { min-height: 230px; padding: 10px; }
    body.page-home .hero-doc-frame { max-width: 60%; padding: 10px; }
    body.page-home .hero-doc-frame :is(img,.resource-thumb-placeholder) { display: none; }
    body.page-home .hero-doc-body { gap: 4px; }
    body.page-home .hero-doc-body strong { font-size: 12px; }
    body.page-home .hero-doc-meta { font-size: 10px; }
    body.page-home .metric-grid { gap: 9px; }
}
