/* Keep the black-and-gold page balanced when site copy and plan counts vary. */
.template-obsidian { overflow-x: hidden; }
.template-obsidian .obsidian-nav > * { min-width: 0; }
.template-obsidian .obsidian-hero {
    width: min(1440px, 100%);
    padding-right: max(42px, calc((100% - 1280px) / 2));
    padding-left: max(42px, calc((100% - 1280px) / 2));
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, .7fr);
    gap: clamp(34px, 4vw, 64px);
}

.template-obsidian .obsidian-hero-copy h1 {
    max-width: 820px;
    font-size: clamp(48px, 5vw, 74px);
    line-height: 1.12;
    letter-spacing: -2px;
    overflow-wrap: break-word;
    word-break: normal;
    text-wrap: balance;
}

.template-obsidian .obsidian-hero-copy > span { max-width: 680px; overflow-wrap: normal; word-break: normal; }
.template-obsidian .obsidian-nav .obsidian-button { white-space: nowrap; }
.template-obsidian .obsidian-end h2,
.template-obsidian .obsidian-story h2 { overflow-wrap: break-word; text-wrap: balance; }
.template-obsidian .obsidian-status > div { align-items: baseline; }
.template-obsidian .obsidian-status > div span { min-width: 0; overflow-wrap: anywhere; }
.template-obsidian .obsidian-plan-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); align-items: stretch; }
.template-obsidian .obsidian-plan-grid article { min-width: 0; }
.template-obsidian .obsidian-plan-grid h3,
.template-obsidian .obsidian-plan-grid p,
.template-obsidian .obsidian-plan-grid dt,
.template-obsidian .obsidian-plan-grid dd { overflow-wrap: anywhere; }
.template-obsidian .obsidian-footer-top { grid-template-columns: minmax(0, 1.3fr) minmax(170px, .7fr); }

@media (max-width: 1120px) {
    .template-obsidian .obsidian-nav { width: calc(100% - 40px); }
    .template-obsidian .obsidian-nav nav { gap: 18px; }
    .template-obsidian .obsidian-hero {
        min-height: auto;
        padding-top: 78px;
        padding-bottom: 70px;
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .template-obsidian .obsidian-hero-copy { max-width: 780px; }
    .template-obsidian .obsidian-hero-copy h1 { max-width: 780px; font-size: clamp(43px, 6vw, 60px); }
    .template-obsidian .obsidian-status { justify-self: start; max-width: 520px; }
}

@media (max-width: 760px) {
    .template-obsidian .obsidian-nav .obsidian-button { padding: 10px 12px; white-space: nowrap; }
    .template-obsidian .obsidian-hero-copy > div { flex-wrap: wrap; gap: 14px; }
    .template-obsidian .obsidian-plan-grid { grid-template-columns: 1fr; }
    .template-obsidian .obsidian-plan-grid article { min-height: 0; }
}
