/* Original-site welcome page only. Uses the same palette as the account dashboard. */
.signalhub-main:has(> .ace-welcome-page) {
    display: flex;
    flex-direction: column;
}
.ace-welcome-page {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: clamp(20px, 3vw, 44px) 16px 0;
    color: var(--text-color);
}
.ace-welcome-page > * { flex-shrink: 0; }
.ace-welcome-page .welcome-container {
    position: relative;
    overflow: hidden;
    max-width: 760px;
    margin: 0 auto;
    padding: 8px 0 12px;
    text-align: center;
    animation: fadeInUp 2.5s;
}
.ace-welcome-page .main-logo-entry {
    display: block;
    width: clamp(112px, 11vw, 144px);
    height: clamp(112px, 11vw, 144px);
    object-fit: contain;
    margin: 0 auto 24px;
}
.ace-welcome-page h1 {
    margin: 0 0 16px;
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.035em;
    color: var(--text-color);
}
.ace-welcome-page .welcome-introduction {
    max-width: 570px;
    margin: 0 auto 28px;
    color: var(--text-muted-color);
    font-size: 1.05rem;
    line-height: 1.75;
}
.ace-welcome-page .welcome-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 10px;
    font-weight: 500;
}
.ace-welcome-page .welcome-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 20px;
    margin: 40px 0 32px;
}
.ace-welcome-page .welcome-feature {
    padding: 26px;
    background: var(--surface-color);
    border: 1px solid color-mix(in srgb, var(--text-color) 14%, transparent);
    border-radius: 16px;
    box-shadow: 0 4px 16px rgb(0 0 0 / 4%);
}
.ace-welcome-page .welcome-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    background: color-mix(in srgb, var(--primary-color) 10%, transparent);
    color: var(--primary-color);
    border-radius: 12px;
    font-size: 1.2rem;
}
.ace-welcome-page .welcome-feature h2 {
    margin: 0 0 10px;
    color: var(--text-color);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.5;
}
.ace-welcome-page .welcome-feature p {
    margin: 0;
    color: var(--text-muted-color);
    font-size: .95rem;
    line-height: 1.7;
}
.ace-welcome-page .welcome-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: auto;
    padding: 22px 0 0;
    background: transparent;
    border-top: 1px solid color-mix(in srgb, var(--text-color) 14%, transparent);
}
.ace-welcome-page .welcome-social-links,
.ace-welcome-page .welcome-legal-links { display: flex; align-items: center; gap: 20px; }
.ace-welcome-page .welcome-footer a { color: var(--text-muted-color); text-decoration: none; }
.ace-welcome-page .welcome-footer a:hover { color: var(--primary-color); }
.ace-welcome-page .welcome-social-links a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 1.15rem; }
.ace-welcome-page .welcome-legal-links { gap: 12px; font-size: .85rem; }
.ace-welcome-page a:focus-visible { outline: 3px solid var(--primary-color); outline-offset: 4px; border-radius: 6px; }
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 740px) {
    .ace-welcome-page .welcome-features { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 28px; }
    .ace-welcome-page .welcome-feature { padding: 22px; }
    .ace-welcome-page .welcome-footer { flex-direction: column; justify-content: center; gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .ace-welcome-page .welcome-container { animation: none; }
}
