/* ============================================================
    DESIGN TOKENS
    ============================================================ */
:root {
    --bg:           #f4efe6;
    --surface:      #ede7da;
    --border:       #d4c9b5;
    --text:         #2d2620;
    --text-muted:   #7a6e62;
    --accent:       #5c7d62;
    --accent-light: #dde8de;

    --font-display: 'Fraunces', Georgia, serif;
    --font-body:    'Lora', Georgia, serif;

    --max-width:    720px;
    --section-gap:  3.5rem;
}

/* ============================================================
    BASE
    ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 18px; scroll-behavior: smooth; }
body {
    font-family: var(--font-body);
    background-color: var(--bg);
    color: var(--text);
    line-height: 1.75;
    padding: 0 1.25rem;
}

.page {
    max-width: var(--max-width);
    margin: 0 auto;
}

/* ============================================================
    HEADER
    ============================================================ */
header {
    padding: 4rem 0 3rem;
    border-bottom: 1px solid var(--border);
}

.meeting-label {
    font-size: 0.8rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.85rem;
}

h1 {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 6vw, 3.2rem);
    font-weight: 500;
    line-height: 1.15;
    color: var(--text);
    margin-bottom: 1rem;
}

.tagline {
    font-size: 1.05rem;
    color: var(--text-muted);
    font-style: italic;
    max-width: 600px;
}

/* ============================================================
    DETAILS BAR
    ============================================================ */
.details-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 2.5rem;
    padding: 2rem 0;
    border-bottom: 1px solid var(--border);
}

.detail-item {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.detail-label {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.detail-value {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--text);
}

.detail-sub {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-top: 0.1rem;
}

/* ============================================================
    MAIN
    ============================================================ */
main {
    padding: var(--section-gap) 0;
    display: flex;
    flex-direction: column;
    gap: var(--section-gap);
}

h2 {
    font-family: var(--font-display);
    font-size: 1.55rem;
    font-weight: 500;
    color: var(--text);
    margin-bottom: 0.85rem;
    line-height: 1.25;
}

p {
    color: var(--text);
    margin-bottom: 0.9rem;
}

p:last-child { margin-bottom: 0; }

/* ============================================================
    LISTS — fleuron leaf bullet
    ============================================================ */
section ul {
    list-style: none;
    padding: 0;
    margin: 0.75rem 0 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

section ul li {
    padding-left: 1.6rem;
    position: relative;
    color: var(--text);
    font-size: 1rem;
    line-height: 1.65;
}

section ul li::before {
    content: '❧';
    position: absolute;
    left: 0;
    top: 0.05rem;
    color: var(--accent);
    font-family: var(--font-display);
    font-size: 0.85rem;
}

/* ============================================================
    CALLOUT BOX
    ============================================================ */
.callout {
    background: var(--surface);
    border-left: 3px solid var(--accent);
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
    margin-top: 1.25rem;
}

.callout p {
    font-size: 0.95rem;
    color: var(--text-muted);
}

/* ============================================================
    TAGS
    ============================================================ */
.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.tag {
    background: var(--accent-light);
    color: var(--accent);
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    padding: 0.3rem 0.75rem;
    border-radius: 2rem;
}

/* ============================================================
    LINKS
    ============================================================ */
a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

a .breadcrumb {
    text-decoration: none;
    text-underline-offset: 0;
    color: var(--text-muted);
    font-size: 0.82rem;
}

a:hover { opacity: 0.75; }

/* ============================================================
    FOOTER
    ============================================================ */
footer {
    border-top: 1px solid var(--border);
    padding: 2rem 0 3rem;
    font-size: 0.82rem;
    color: var(--text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: space-between;
    align-items: center;
}

footer a { color: var(--text-muted); }

/* ============================================================
    RESPONSIVE
    ============================================================ */
@media (max-width: 480px) {
    .details-bar { flex-direction: column; gap: 1rem; }
}