/* Homepage composition; typography, palette, cursor and reveal remain shared. */
html { scroll-padding-top: 88px; }
.home-ai-card { display: flex; flex-direction: column; transition: transform .5s ease, border-color .5s ease, box-shadow .5s ease; }
.home-ai-example { border-top: 1px solid #dbeafe; padding-top: 16px; margin-top: auto; line-height: 1.8; }
.home-ai-flow { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; }
.home-ai-flow li { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid #dbeafe; border-radius: 14px; background: rgba(255,255,255,.7); }
.home-ai-flow li:not(:last-child)::after { content: '↓'; position: absolute; left: 50%; top: 100%; height: 30px; display: flex; align-items: center; color: #60a5fa; }
.home-ai-flow small { color: #64748b; font-size: 12px; line-height: 1.6; }
.home-case-card { border-color: rgba(96,165,250,.2); transition: transform .5s ease, border-color .5s ease, box-shadow .5s ease; }
.home-case-media { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 18px; padding: 24px 20px 20px; border-bottom: 1px solid #dbeafe; }
.home-case-media--learning { background: linear-gradient(145deg, #eff6ff, #f8fafc); }
.home-case-media--competition { background: linear-gradient(145deg, #eff6ff, #e2e8f0); }
.home-case-media img { width: 100%; height: auto; display: block; border-radius: 10px; box-shadow: 0 12px 28px -12px rgba(15,23,42,.25); }
.home-case-media figcaption { color: #64748b; font-family: 'Outfit', sans-serif; font-size: 10px; letter-spacing: .08em; line-height: 1.6; text-align: center; }
.home-case-link { min-height: 44px; }
.home-case-link iconify-icon { transition: transform .5s ease; }
.home-case-card:focus-within { border-color: #60a5fa; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #3b82f6; outline-offset: 4px; }
@media (min-width: 1024px) {
    /* Keep source images complete. Different aspect ratios never require cropping. */
    .home-case-media { height: 420px; padding: 24px; }
    .home-case-media img { width: auto; max-width: 100%; max-height: 338px; object-fit: contain; }
}
@media (min-width: 1280px) {
    .home-ai-flow { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
    .home-ai-flow li:not(:last-child)::after { content: '→'; left: 100%; top: 50%; height: auto; width: 24px; justify-content: center; }
}
@media (hover: hover) and (pointer: fine) {
    .home-ai-card:hover, .home-case-card:hover { transform: translateY(-4px); border-color: #93c5fd; box-shadow: 0 20px 45px -25px rgba(59,130,246,.2); }
    .home-case-link:hover iconify-icon { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .home-ai-card, .home-case-card, .home-case-link iconify-icon { transition: none; }
    .home-ai-card:hover, .home-case-card:hover, .home-case-link:hover iconify-icon { transform: none; }
}
