/* Home page (/) — only what is unique to this page.
   Shared layout, type, cards, and CTA styles live in base.css. */

/* "Three reasons" door cards: stretch so the links line up at the bottom */
.door {
    display: flex;
    flex-direction: column;
}

.door p {
    flex: 1;
    margin-bottom: 16px;
}

.door-link {
    font-weight: 700;
    font-size: 0.95rem;
    padding: 4px 0;
}

/* MVP announcement banner: full-width bar above the page shell.
   Same bright green in light and dark mode so it stands out from the sage palette.
   White on #2e7d32 is 5.1:1 contrast (WCAG AA). */
.announce {
    --announce-bg: #2e7d32;
    --announce-ink: #ffffff;
    background: var(--announce-bg);
    color: var(--announce-ink);
}

.announce-inner {
    max-width: 860px;
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    flex-wrap: wrap;
}

.announce-text {
    margin: 0;
    font-size: 0.95rem;
    max-width: 58ch;
}

.announce-link {
    font-weight: 700;
    font-size: 0.95rem;
    white-space: nowrap;
    color: var(--announce-bg);
    background: var(--announce-ink);
    padding: 8px 16px;
    min-height: 44px;
    border-radius: 8px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: transform 0.15s ease;
}

.announce-link:hover { transform: translateY(-1px); }

.announce-link:focus-visible {
    outline: 3px solid var(--announce-ink);
    outline-offset: 3px;
}

/* Extra room between the banner and the top nav */
.announce + .page { padding-top: 64px; }

@media (max-width: 480px) {
    .announce-inner { padding: 14px 16px; }
    .announce + .page { padding-top: 44px; }
}
