/* PRZC Research — Sample Board Meeting transcript styles. */

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; scroll-behavior:smooth; }
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    color:#000; background:#fff; line-height:1.65;
}
img { max-width:100%; height:auto; display:block; }
a { color:#000; }

.bms-container { width:100%; max-width:820px; margin:0 auto; padding:0 1.5rem; }

.skip-link { position:absolute; left:0; top:-40px; background:#000; color:#fff; padding:0.5rem 1rem; z-index:10000; font-size:0.85rem; }
.skip-link:focus { top:0; }

/* Hero */
.bms-hero { background:#000; color:#fff; padding:5rem 0 3.5rem; }
.bms-hero .bms-container { max-width:820px; }
.bms-eyebrow {
    font-size:0.7rem; font-weight:700; letter-spacing:2px; text-transform:uppercase;
    color:#c9a84c; margin-bottom:1.25rem;
}
.bms-hero h1 {
    font-size:clamp(1.8rem, 4vw, 2.6rem); font-weight:800; line-height:1.2;
    margin-bottom:1.1rem; color:#fff;
}
.bms-lede { font-size:1rem; color:rgba(255,255,255,0.78); line-height:1.75; max-width:720px; margin-bottom:1.75rem; }
.bms-meta {
    display:flex; gap:1.5rem; flex-wrap:wrap; font-size:0.78rem;
    color:rgba(255,255,255,0.55); margin-bottom:2rem;
    padding:0.9rem 0; border-top:1px solid rgba(255,255,255,0.15);
    border-bottom:1px solid rgba(255,255,255,0.15);
}
.bms-meta strong { color:#fff; font-weight:600; margin-right:0.25rem; }

.bms-cta-row { display:flex; gap:0.75rem; flex-wrap:wrap; }
.bms-btn {
    display:inline-block; padding:0.75rem 1.5rem; font-size:0.88rem; font-weight:700;
    letter-spacing:0.3px; text-decoration:none; border:1px solid #fff;
    transition:background 0.2s, color 0.2s, border-color 0.2s;
}
.bms-btn.primary { background:#fff; color:#000; }
.bms-btn.primary:hover { background:#c9a84c; color:#000; border-color:#c9a84c; }
.bms-btn.outline { background:transparent; color:#fff; }
.bms-btn.outline:hover { background:#c9a84c; color:#000; border-color:#c9a84c; }
.bms-btn.small { padding:0.65rem 1.25rem; font-size:0.82rem; }

/* Transcript */
.bms-transcript { padding:4rem 0 3rem; background:#fafafa; }

.bms-system {
    margin:2.5rem 0 2rem; padding:1rem 1.25rem;
    background:#fff; border-left:3px solid #c9a84c;
    font-size:0.85rem; color:#555;
}
.bms-system-label {
    font-size:0.65rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
    color:#c9a84c; margin-bottom:0.35rem;
}
.bms-system p:last-child { margin-bottom:0; }

.bms-msg {
    display:flex; gap:0.9rem; margin-bottom:2rem; align-items:flex-start;
}
.bms-msg.compact { margin-bottom:1.25rem; }
.bms-msg.user { flex-direction:row-reverse; }
.bms-transcript .bms-msg.user .bms-bubble { background:#000 !important; color:#fff !important; border-left:none; border-right:3px solid #c9a84c; }
.bms-transcript .bms-msg.user .bms-who { color:#c9a84c !important; }
.bms-transcript .bms-msg.user .bms-bubble p,
.bms-transcript .bms-msg.user .bms-bubble li { color:#fff !important; }
.bms-transcript .bms-msg.user .bms-bubble strong { color:#c9a84c !important; }
.bms-transcript .bms-msg.user .bms-bubble em { color:rgba(255,255,255,0.9) !important; }

.bms-avatar {
    flex-shrink:0; width:44px; height:44px; border-radius:50%; overflow:hidden;
    border:2px solid #ccc; background:#fff;
}
.bms-avatar img { width:100%; height:100%; object-fit:contain; }
.bms-avatar-user {
    display:flex; align-items:center; justify-content:center;
    background:#c9a84c; color:#000; font-weight:700; font-size:0.75rem; letter-spacing:0.5px;
    border-color:#c9a84c;
}

.bms-bubble {
    flex:1; background:#fff; border:1px solid #eaeaea; border-left:3px solid #ccc;
    padding:1.1rem 1.35rem; border-radius:2px;
}
.bms-who {
    font-size:0.78rem; font-weight:700; letter-spacing:0.4px; text-transform:uppercase;
    margin-bottom:0.6rem; color:#555;
}
.bms-bubble p { font-size:0.93rem; line-height:1.7; margin-bottom:0.8rem; color:#222; }
.bms-bubble p:last-child { margin-bottom:0; }
.bms-bubble ul { margin:0.35rem 0 0.8rem 1.2rem; font-size:0.9rem; color:#333; }
.bms-bubble ul li { margin-bottom:0.4rem; line-height:1.6; }
.bms-bubble strong { color:#000; }
.bms-bubble em { font-style:italic; color:#333; }

/* Per-voice accent border via inline style on .bms-avatar is enough — the .bms-bubble border-left uses default grey to keep readability */
.bms-msg:not(.user) .bms-bubble { border-left-color:#e0e0e0; }

/* Board Summary card — hero block at top of transcript */
.bms-summary-card {
    margin:0 0 2.5rem; padding:2rem 2rem 1.75rem;
    background:#fff; border:1px solid #e0e0e0; border-top:4px solid #c9a84c;
    box-shadow:0 4px 18px rgba(0,0,0,0.06);
}
.bms-summary-head {
    display:flex; align-items:center; gap:0.6rem; margin-bottom:1.25rem;
    padding-bottom:0.9rem; border-bottom:1px solid #eee;
}
.bms-summary-icon {
    width:22px; height:22px; color:#c9a84c; flex-shrink:0;
}
.bms-summary-eyebrow {
    font-size:0.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase;
    color:#c9a84c; margin:0;
}
.bms-summary-body { font-size:0.95rem; color:#1a1a1a; line-height:1.75; }
.bms-summary-body h1, .bms-summary-body h2, .bms-summary-body h3 {
    font-size:1.1rem; font-weight:700; color:#000;
    margin:1.4rem 0 0.65rem; line-height:1.3;
}
.bms-summary-body h1:first-child, .bms-summary-body h2:first-child, .bms-summary-body h3:first-child { margin-top:0; }
.bms-summary-body p { margin-bottom:0.85rem; color:#222; }
.bms-summary-body ul { margin:0.5rem 0 1rem 1.3rem; }
.bms-summary-body ul li { margin-bottom:0.45rem; line-height:1.7; }
.bms-summary-body strong { color:#000; }
.bms-summary-footnote {
    margin-top:1.25rem; padding-top:1rem; border-top:1px dashed #e5e5e5;
    font-size:0.78rem; color:#666; line-height:1.6;
}

/* Inline CTA mid-transcript */
.bms-inline-cta {
    margin:2.5rem 0; padding:1.5rem 1.75rem;
    background:#000; color:#fff; text-align:center;
    border:1px solid #000;
}
.bms-inline-cta .bms-inline-eyebrow {
    font-size:0.68rem; font-weight:700; letter-spacing:2px; text-transform:uppercase;
    color:#c9a84c; margin-bottom:0.75rem;
}
.bms-inline-cta p { color:rgba(255,255,255,0.85); margin-bottom:1.1rem; font-size:0.92rem; }
.bms-inline-cta strong { color:#c9a84c; }

/* End CTA */
.bms-end-cta {
    margin:3rem 0 1rem; padding:3rem 2rem; background:#000; color:#fff;
    text-align:center;
}
.bms-end-cta .bms-eyebrow { margin-bottom:0.75rem; }
.bms-end-cta h2 {
    font-size:clamp(1.5rem, 3vw, 2rem); font-weight:800; color:#fff;
    margin-bottom:1rem; line-height:1.25;
}
.bms-end-cta p {
    color:rgba(255,255,255,0.75); max-width:620px; margin:0 auto 1.5rem;
    font-size:0.95rem; line-height:1.7;
}
.bms-end-cta .bms-cta-row { justify-content:center; }
.bms-fineprint {
    margin-top:1.25rem; font-size:0.75rem; color:rgba(255,255,255,0.45);
}

@media (max-width:720px) {
    .bms-hero { padding:3.5rem 0 2.5rem; }
    .bms-transcript { padding:3rem 0 2rem; }
    .bms-avatar { width:38px; height:38px; }
    .bms-bubble { padding:0.95rem 1.1rem; }
    .bms-meta { font-size:0.72rem; gap:0.9rem; }
    .bms-end-cta { padding:2.5rem 1.5rem; }
}
