/* r32 owner: page-intro-v3. Exact r30 source lines 5139-5262; route scope is declared by data/css-ownership.json. */
/* Page heroes ------------------------------------------------------------- */

.page-hero {
    min-height: 45rem;
    padding-top: var(--header-h);
    background:
        radial-gradient(circle at 88% 48%, rgba(var(--signal-rgb), 0.075), transparent 26rem),
        linear-gradient(120deg, rgba(var(--signal-rgb), 0.025), transparent 42%);
}

.page-hero::before {
    top: 12%;
    right: -5%;
    width: min(37rem, 44vw);
    opacity: 0.7;
}

.page-hero::after {
    opacity: 0.55;
}

.page-hero__inner {
    min-height: calc(45rem - var(--header-h));
    padding-block: clamp(4.4rem, 8vw, 7.2rem);
    grid-template-columns: minmax(0, 1.36fr) minmax(19rem, 0.64fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: center;
}

.page-hero__copy {
    max-width: 57rem;
}

.display--page {
    max-width: 9ch;
    font-size: clamp(4.6rem, 9vw, 9.1rem);
    line-height: 0.84;
}

.page-hero .display__cut {
    color: transparent;
    -webkit-text-stroke: 0.024em var(--text);
    text-shadow: 0.035em 0.035em 0 var(--signal);
}

.page-hero__lead {
    max-width: 47rem;
    margin: 1.8rem 0 1.35rem;
    color: var(--muted);
    font-size: clamp(1.08rem, 1.65vw, 1.45rem);
    line-height: 1.6;
}

.page-hero__jump {
    display: inline-flex;
    padding: 0.45rem 0;
    gap: 0.65rem;
    align-items: center;
    border-bottom: 1px solid var(--signal);
    font-size: 0.72rem;
    font-weight: 850;
}

.page-hero__aside {
    max-width: none;
    padding: 1.45rem;
    border: 1px solid var(--line);
    border-top: 0.22rem solid var(--signal);
    border-radius: 1rem;
    color: var(--muted);
    background: rgba(13, 13, 18, 0.76);
    box-shadow: var(--shadow);
    backdrop-filter: blur(1rem);
}

html[data-theme="dawn"] .page-hero__aside {
    background: rgba(246, 241, 232, 0.86);
}

.page-hero__index {
    display: block;
    margin-bottom: 1.2rem;
    color: var(--signal);
    font-family: var(--font-mono);
    font-size: 0.54rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.page-hero__aside dl {
    display: grid;
    margin: 1.3rem 0 0;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid var(--line);
}

.page-hero__aside dl div {
    padding-top: 0.8rem;
}

.page-hero__aside dt {
    color: var(--faint);
    font-family: var(--font-mono);
    font-size: 0.48rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.page-hero__aside dd {
    margin: 0.2rem 0 0;
    color: var(--text);
    font-size: 0.76rem;
    font-weight: 800;
}

.page-hero--loop {
    min-height: 50rem;
}

.page-hero--loop .display--page {
    max-width: 11ch;
    font-size: clamp(4.2rem, 8.2vw, 8.4rem);
}

