.oha-wrap {
    --oha-ink: #2d2925;
    --oha-muted: #756b61;
    --oha-paper: #f6f0e6;
    --oha-paper-deep: #eadfce;
    --oha-accent: #944d3f;
    --oha-rule: rgba(71, 58, 47, .18);
    color: var(--oha-ink);
    margin: 2rem auto 4rem;
    max-width: 980px;
}

body.oha-page .entry-header .entry-title,
body.oha-page main > article > .entry-title,
body.oha-page .page-title { display: none; }

.oha-wrap *, .oha-wrap *::before, .oha-wrap *::after { box-sizing: border-box; }

.oha-intro { margin: 0 auto 2.25rem; max-width: 760px; text-align: center; }
.oha-kicker { color: var(--oha-accent); font-size: .75rem; font-weight: 700; letter-spacing: .19em; margin: 0 0 .65rem; text-transform: uppercase; }
.oha-intro h1 { color: var(--oha-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem, 7vw, 4.75rem); font-weight: 400; letter-spacing: -.035em; line-height: .98; margin: 0; }
.oha-tagline { color: var(--oha-muted); font-family: Georgia, 'Times New Roman', serif; font-size: 1.08rem; font-style: italic; margin: 1rem 0 0; }

.oha-today {
    background-color: var(--oha-paper);
    background-image: repeating-linear-gradient(0deg, transparent, transparent 31px, rgba(80, 61, 45, .045) 32px);
    border: 1px solid var(--oha-rule);
    box-shadow: 0 18px 45px rgba(40, 31, 24, .11);
    margin: 0 auto 4rem;
    max-width: 820px;
    overflow: hidden;
    padding: clamp(2rem, 7vw, 5rem);
    position: relative;
    text-align: center;
}

.oha-today::before { border: 1px solid rgba(148, 77, 63, .24); content: ''; inset: 12px; pointer-events: none; position: absolute; }
.oha-date { color: var(--oha-muted); font-size: .76rem; letter-spacing: .14em; margin: 0 0 1.65rem; text-transform: uppercase; }
.oha-label { color: var(--oha-accent); font-size: .76rem; font-weight: 700; letter-spacing: .17em; margin: 0 0 .8rem; text-transform: uppercase; }
.oha-today h2 { color: var(--oha-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.65rem, 4vw, 2.55rem); font-weight: 400; line-height: 1.25; margin: 0 auto; max-width: 680px; }
.oha-answer-preview { border-top: 1px solid var(--oha-rule); color: #4f4740; font-family: Georgia, 'Times New Roman', serif; font-size: 1.03rem; line-height: 1.75; margin: 2rem auto 0; max-width: 640px; padding-top: 1.5rem; text-align: left; }
.oha-waiting { color: var(--oha-muted); font-family: Georgia, 'Times New Roman', serif; font-style: italic; margin: 1.75rem 0 .9rem; }
.oha-button { background: var(--oha-accent); border: 1px solid var(--oha-accent); color: #fff !important; display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .11em; margin-top: 1.25rem; padding: .95rem 1.35rem; text-decoration: none !important; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; }
.oha-button:hover, .oha-button:focus { background: transparent; color: var(--oha-accent) !important; transform: translateY(-2px); }
.oha-invitation { color: var(--oha-muted); font-size: .83rem; margin: 1.5rem 0 0; }

.oha-section-heading { border-bottom: 1px solid var(--oha-rule); margin-bottom: 1.5rem; padding-bottom: 1rem; }
.oha-section-heading h2 { color: var(--oha-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.65rem, 4vw, 2.4rem); font-weight: 400; margin: 0; }
.oha-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.oha-card { background: #fff; border: 1px solid var(--oha-rule); padding: 1.45rem; }
.oha-card-date { color: var(--oha-muted); font-size: .7rem; letter-spacing: .1em; margin: 0 0 .65rem; text-transform: uppercase; }
.oha-card h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.22rem; font-weight: 400; line-height: 1.35; margin: 0 0 .8rem; }
.oha-card h3 a { color: var(--oha-ink); text-decoration: none; }
.oha-card h3 a:hover { color: var(--oha-accent); }
.oha-card > p:not(.oha-card-date) { color: var(--oha-muted); font-size: .9rem; line-height: 1.55; }
.oha-read { color: var(--oha-accent); font-size: .77rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

@media (max-width: 760px) {
    .oha-wrap { margin-top: 1rem; }
    .oha-grid { grid-template-columns: 1fr; }
    .oha-today { padding: 3rem 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .oha-button { transition: none; }
}
