.cma-wrap {
    --cma-ink: #2d2925;
    --cma-muted: #756b61;
    --cma-paper: #f4f1e8;
    --cma-paper-deep: #e5e2d2;
    --cma-accent: #59664b;
    --cma-rule: rgba(71, 58, 47, .18);
    color: var(--cma-ink);
    margin: 2rem auto 4rem;
    max-width: 980px;
}

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

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

.cma-intro { margin: 0 auto 2.25rem; max-width: 760px; text-align: center; }
.cma-kicker { color: var(--cma-accent); font-size: .75rem; font-weight: 700; letter-spacing: .19em; margin: 0 0 .65rem; text-transform: uppercase; }
.cma-intro h1 { color: var(--cma-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; }
.cma-tagline { color: var(--cma-muted); font-family: Georgia, 'Times New Roman', serif; font-size: 1.08rem; font-style: italic; margin: 1rem 0 0; }

.cma-today {
    background-color: var(--cma-paper);
    background-image: repeating-linear-gradient(0deg, transparent, transparent 31px, rgba(80, 61, 45, .045) 32px);
    border: 1px solid var(--cma-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;
}

.cma-today::before { border: 1px solid rgba(89, 102, 75, .28); content: ''; inset: 12px; pointer-events: none; position: absolute; }
.cma-date { color: var(--cma-muted); font-size: .76rem; letter-spacing: .14em; margin: 0 0 1.65rem; text-transform: uppercase; }
.cma-label { color: var(--cma-accent); font-size: .76rem; font-weight: 700; letter-spacing: .17em; margin: 0 0 .8rem; text-transform: uppercase; }
.cma-today h2 { color: var(--cma-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; }
.cma-answer-preview { border-top: 1px solid var(--cma-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; }
.cma-waiting { color: var(--cma-muted); font-family: Georgia, 'Times New Roman', serif; font-style: italic; margin: 1.75rem 0 .9rem; }
.cma-button { background: var(--cma-accent); border: 1px solid var(--cma-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; }
.cma-button:hover, .cma-button:focus { background: transparent; color: var(--cma-accent) !important; transform: translateY(-2px); }
.cma-invitation { color: var(--cma-muted); font-size: .83rem; margin: 1.5rem 0 0; }

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

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

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