/* Homepage composition. Shared site styles and navigation remain in style.css. */
.home-page {
    /* Decorative CSS images otherwise download eagerly throughout the page,
       including pseudo-elements without visible content. Keep the landing
       page focused on its text and complete, lazily loaded Curio originals. */
    --art-a: none;
    --art-b: none;
    --art-c: none;
    --art-d: none;
    --art-e: none;
}
.home-page .card::before, .home-page .connect-card::before {
    content: none;
    background-image: none;
}
.home-page .hero {
    min-height: 0;
    padding: 8.5rem 2rem 3.5rem;
    text-align: left;
}
.home-page .hero-content {
    max-width: 1116px;
    padding: 0;
    border: 0;
}
.home-page .hero .masthead-rule {
    padding: 0;
    margin-bottom: 1.2rem;
    border: 0;
    color: var(--text-secondary);
    font-size: .72rem;
    letter-spacing: .12em;
}
.home-page .hero h1 {
    margin: 0 0 1rem;
    color: var(--text-primary);
    font-size: clamp(2.5rem, 5.6vw, 4.8rem);
    line-height: 1.06;
    letter-spacing: -.045em;
    text-transform: none;
    text-shadow: none;
}
.home-page .hero .subtitle {
    color: var(--text-secondary);
    font: inherit;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: 0;
    text-transform: none;
}
.home-page .hero .subtitle a {
    color: var(--text-primary);
    text-decoration: underline;
    text-decoration-color: var(--border);
}
.home-page .hero-intro {
    max-width: 720px;
    margin-top: 1.4rem;
    color: var(--text-primary);
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    line-height: 1.55;
}
.home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin: 1.65rem 0 1rem;
}
.home-page .home-actions .btn {
    min-height: 46px;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem 1rem;
    color: var(--text-primary);
    background: transparent;
    border: 1px solid var(--border);
    font-size: .85rem;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
}
.home-page .home-actions .btn-gold {
    color: var(--bg-primary);
    background: var(--text-primary);
    border-color: var(--text-primary);
}
.home-page .home-actions .btn::after { content: none; }
.home-page .home-actions .btn:hover { border-color: var(--red-pure); }
.home-page .hero .hero-utility {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .7rem;
    margin: 0;
    font-size: .85rem;
}
.home-page .hero-utility a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--text-secondary);
}
.home-page .hero-utility a:hover { color: var(--text-primary); }
.home-page .home-pathways { padding-top: 2.5rem; padding-bottom: 3rem; }
.home-section-intro { margin-bottom: 1.5rem; }
.home-eyebrow, .home-pathway-label {
    color: var(--text-muted);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.home-section-intro h2 {
    margin: .3rem 0 0;
    font-size: 1.6rem;
    line-height: 1.3;
}
.home-pathway-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.home-pathway {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    padding: 1.35rem;
    border: 1px solid var(--border);
    background: var(--bg-card);
    color: var(--text-primary);
    text-decoration: none;
}
.home-pathway:hover { color: var(--text-primary); border-color: var(--red-pure); }
.home-pathway h3 { margin: .5rem 0 .6rem; font-size: 1.25rem; line-height: 1.3; }
.home-pathway p { margin-bottom: 1.2rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.6; }
.home-pathway-link {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    width: 100%;
    margin-top: auto;
    color: var(--text-primary);
    font-size: .8rem;
    font-weight: 600;
}
.home-profiles { margin-top: 1.5rem; padding-top: .6rem; border-top: 1px solid var(--border); }
.home-profiles summary { min-height: 44px; cursor: pointer; color: var(--text-primary); font-size: .9rem; }
.home-profiles summary:focus-visible { outline: 2px solid var(--red-pure); outline-offset: 3px; }
.home-profiles .profile-links { justify-content: flex-start; margin-top: .75rem; }
.home-profiles .profile-links a { min-height: 44px; text-transform: none; letter-spacing: 0; font-size: .8rem; }
.home-page .about-text p { font-size: 1rem; line-height: 1.75; }
.home-page .section-alt { background: var(--bg-secondary); border-color: var(--border); }
.home-page .section-alt .section-header h2 { color: var(--text-primary); }
.home-page .section-alt .section-header p { color: var(--text-secondary); }
.home-page .art-highlight { background: var(--bg-card); }
.home-page .art-highlight::before, .home-page .art-highlight::after { content: none; }
.home-page .art-highlight .hl-label { color: var(--text-primary); }
.home-page .art-highlight .hl-sub { color: var(--text-secondary); }
.home-page .art-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.home-page .curio-card {
    display: block;
    min-width: 0;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--bg-card);
    text-align: left;
    text-decoration: none;
}
.home-page .curio-card::before, .home-page .curio-card::after { content: none; }
.home-page .curio-card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: contain;
    background: #fff;
}
.curio-caption { padding: 1.25rem; }
.home-page .curio-card .card-num {
    color: var(--text-muted);
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.home-page .curio-card .card-title { margin: .35rem 0; color: var(--text-primary); font-size: 1.4rem; line-height: 1.3; }
.home-page .curio-card .card-detail { color: var(--text-secondary); font-size: .9rem; line-height: 1.6; }
.curio-card-link { display: inline-block; margin-top: .75rem; color: var(--text-primary); font-size: .8rem; font-weight: 600; }
.home-page .curio-card:hover { border-color: var(--red-pure); }

@media (max-width: 1000px) {
    .home-pathway-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .home-page .hero { padding: 6.4rem 1rem 2.5rem; }
    .home-page nav:not(.nav-enhanced) + .hero { padding-top: 2.5rem; }
    .home-page .hero h1 { font-size: clamp(2.35rem, 8.5vw, 4rem); }
    .home-page .hero .masthead-rule { font-size: .64rem; letter-spacing: .08em; }
    .home-page .hero .subtitle { font-size: .92rem; }
    .home-page .pub-item { display: block; padding: 1rem; }
    .home-page .pub-item .venue { display: block; margin: .3rem 0 0; white-space: normal; }
    .home-page .art-cards { gap: 1rem; }
    .curio-caption { padding: 1rem; }
    .home-page .curio-card .card-title { font-size: 1.2rem; }
}
@media (max-width: 680px) {
    .home-page .art-cards { grid-template-columns: 1fr; max-width: 440px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 520px) {
    .home-pathway-grid { grid-template-columns: 1fr; }
    .home-pathway { padding: 1.25rem; }
    .home-page .home-actions .btn { width: 100%; }
    .home-page .hero .hero-utility { gap: .5rem; }
}
@media (forced-colors: active) {
    .home-page .home-actions .btn-gold { color: ButtonText; background: ButtonFace; border-color: ButtonText; }
}
@media print {
    .home-page .hero { padding: 1rem 0; }
    .home-page .hero h1 { color: #111; font-size: 24pt; }
    .home-pathway-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-page .curio-card { break-inside: avoid; }
    .home-page .art-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
