/* Home page owner: no custom canvas, only hero/grid tuning on shared shell. */

.app-shell--home {
    --app-shell-gap: var(--section-gap);
    --app-shell-bottom-padding: var(--section-gap);
}

.app-shell--home #home-hero > .content-body {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    gap: clamp(22px, 4vw, 36px);
    align-items: center;
}

.app-shell--home #home-hero > .content-body > :first-child {
    min-width: 0;
    max-width: 60ch;
    align-items: flex-start;
}

.app-shell--home #home-hero .home-hero-logo {
    --site-header-logo-height: 100%;
    width: clamp(260px, 34vw, 420px);
    height: clamp(56px, 8vw, 84px);
    color: var(--emphasis-accent-brand);
    animation: home-hero-logo-float 8s ease-in-out infinite;
    display: block;
    justify-self: start;
    align-self: start;
    -webkit-mask-position: left center;
    mask-position: left center;
}

@keyframes home-hero-logo-float {
    0% {
        transform: translateY(0);
        opacity: 0.92;
    }
    50% {
        transform: translateY(-2px);
        opacity: 1;
    }
    100% {
        transform: translateY(0);
        opacity: 0.92;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-shell--home #home-hero .home-hero-logo {
        animation: none;
    }
}

.app-shell--home #home-hero .home-hero-eyebrow {
    --text-meta-track: 0.08em;
    --text-meta-text-transform: uppercase;
    color: var(--theme-text-muted);
    margin: 0;
}

.app-shell--home #home-hero > .content-body > :first-child > .text-summary {
    --text-summary-size: clamp(16px, 1.3vw, 19px);
    --text-summary-line: 1.58;
    max-width: 56ch;
}

.app-shell--home #home-hero .layout-cluster[role="list"] {
    gap: 10px;
}

.app-shell--home #home-hero > .content-body > :last-child {
    min-width: 0;
}

.app-shell--home #home-hero .home-hero-mark {
    position: relative;
    min-height: 0;
    display: grid;
    place-items: center;
    width: fit-content;
    max-width: 100%;
    justify-self: center;
    align-self: center;
    padding: clamp(8px, 1.6vw, 16px);
    border-radius: var(--surface-radius);
    overflow: hidden;
    isolation: isolate;
}

.app-shell--home #home-hero .home-hero-gif {
    width: clamp(180px, 26vw, 300px);
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius-lg);
    mix-blend-mode: normal;
    filter: none;
    opacity: 1;
}

.app-shell--home #home-routes > .content-body {
    --layout-grid-min: 280px;
}

.app-shell--home #home-story p {
    margin: 0;
}

.app-shell--home :is(#home-story, #home-samples) > .content-body {
    --layout-grid-min: 340px;
}

.app-shell--home #home-partners > .content-body {
    --layout-grid-min: 220px;
}

.app-shell--home .metric-card-grid {
    gap: 12px;
}

.app-shell--home .metric-card {
    min-height: 100%;
}

.app-shell--home #home-routes .item-card {
    min-height: 188px;
}

.app-shell--home :is(#home-story, #home-samples) > .content-body > .item-card {
    align-content: start;
}

.app-shell--home #home-routes .item-card .text-title {
    --text-title-size: clamp(18px, 1.8vw, 24px);
    --text-title-line: 1.1;
    --text-title-track: -0.02em;
}

.app-shell--home #home-samples .list-shell {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.app-shell--home #home-samples .list-shell > li > a.item-card {
    text-decoration: none;
    color: inherit;
}

.app-shell--home #home-samples .list-shell > li > a.item-card > .layout-stack {
    gap: 4px;
    min-width: 0;
}

.app-shell--home #home-samples .list-shell > li > a.item-card .text-title {
    --text-title-size: var(--font-size-md);
    --text-title-line: 1.3;
    --text-title-track: -0.01em;
}

.app-shell--home #home-samples .list-shell > li > a.item-card .text-meta {
    --text-meta-size: var(--font-size-sm);
    --text-meta-track: 0;
    --text-meta-text-transform: none;
    --text-meta-color: var(--theme-text-normal);
}

.app-shell--home #home-partners .item-card {
    align-content: start;
    justify-items: start;
    min-height: 100%;
}

.app-shell--home #home-partners .item-card__media--logo {
    min-height: 112px;
    width: 100%;
    padding: 16px;
}

.app-shell--home #home-partners .item-card__media--logo img {
    width: auto;
    max-width: 100%;
    height: 56px;
    object-fit: contain;
    display: block;
}

.app-shell--home #home-partners .item-card .text-summary {
    --text-summary-size: var(--font-size-md);
    --text-summary-line: 1.45;
    color: var(--theme-text-strong);
}

@media (max-width: 960px) {
    .app-shell--home #home-hero > .content-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
}
