:root {
    --risk: #c62828;
    --context: #1565c0;
    --evidence: #2e7d32;
    --local: #5f6368;
    --agent: #6a1b9a;
    --surface: #f7f8fa;
}

.footer {
    position: absolute;
    left: 10px;
    bottom: 0;
    z-index: 999;
    background: #fff;
    margin-bottom: 10px;
    padding-bottom: 0;
}

.reveal h1,
.reveal h2,
.reveal h3 {
    text-transform: none;
}

.reveal h1 {
    font-size: 2.2em;
}

.reveal h2 {
    font-size: 1.55em;
}

.reveal h3 {
    font-size: 1.05em;
}

.reveal .title-slide h1 {
    font-size: 1.65em;
    line-height: 1.15;
}

.reveal .risk {
    color: var(--risk);
}

.reveal .context {
    color: var(--context);
}

.reveal .evidence {
    color: var(--evidence);
}

.reveal .local {
    color: var(--local);
}

.reveal .agent {
    color: var(--agent);
}

.reveal .lead {
    font-size: 1.25em;
    font-weight: 700;
}

.reveal .statement {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.25;
}

.reveal .statement.impact {
    font-size: 2.2em;
}

.reveal .compact {
    font-size: .72em;
}

.reveal .grid-2,
.reveal .grid-3,
.reveal .grid-4,
.reveal .grid-5,
.reveal .flow {
    display: grid;
    gap: .7em;
    align-items: stretch;
}

.reveal .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.reveal .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.reveal .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

.reveal .grid-5 {
    grid-template-columns: repeat(5, 1fr);
    gap: .45em;
}

.reveal .grid-5 .card {
    padding: .5em .35em;
}

.reveal .governance-stack {
    display: grid;
    gap: .28em;
    width: 88%;
    margin: 0 auto;
}

.reveal .governance-stack .card {
    padding: .35em .55em;
}

.reveal .stack-arrow {
    color: var(--agent);
    font-size: 1.25em;
    font-weight: 800;
    line-height: .8;
}

.reveal .flow {
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
}

.reveal .dependency-slide h2,
.reveal .regulation-slide h2 {
    font-size: 1.2em;
    margin-bottom: .3em;
}

.reveal .regulation-slide p {
    margin: .3em 0;
}

.reveal .regulation-slide .card {
    padding: .4em;
}

.reveal .regulation-slide .lead {
    font-size: .95em;
}

.reveal .risk-slide h2 {
    font-size: 1.2em;
    margin-bottom: .2em;
}

.reveal .risk-slide p {
    margin: .3em 0;
}

.reveal .risk-slide .card {
    padding: .35em;
}

.reveal .dependency-slide .dependency-map {
    gap: .3em;
}

.reveal .dependency-slide .card {
    padding: .4em;
}

.reveal .section-divider .act-number {
    color: var(--agent);
    font-size: .75em;
    font-weight: 800;
    letter-spacing: .12em;
}

.reveal .section-divider h1 {
    color: var(--context);
}

.reveal .section-divider h2 {
    color: var(--context);
    font-size: 2.2em;
}

.reveal .card {
    border: 3px solid var(--local);
    border-radius: 14px;
    padding: .65em;
    background: var(--surface);
    box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
}

.reveal .card.risk {
    border-color: var(--risk);
}

.reveal .card.context {
    border-color: var(--context);
}

.reveal .card.evidence {
    border-color: var(--evidence);
}

.reveal .card.agent {
    border-color: var(--agent);
}

.reveal .arrow {
    font-size: 1.7em;
    align-self: center;
}

.reveal .tag {
    display: inline-block;
    border-radius: 999px;
    padding: .18em .65em;
    font-size: .45em;
    font-weight: 800;
    letter-spacing: .08em;
    vertical-align: middle;
}

.reveal .focus {
    background: #dbeafe;
    color: #0d47a1;
}

.reveal .dependency-map {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    gap: .45em;
    align-items: center;
}

.reveal .dependency-map .center {
    grid-column: 2;
    grid-row: 2;
}

.reveal .dependency-map .north {
    grid-column: 2;
    grid-row: 1;
}

.reveal .dependency-map .west {
    grid-column: 1;
    grid-row: 2;
}

.reveal .dependency-map .east {
    grid-column: 3;
    grid-row: 2;
}

.reveal .dependency-map .south-west {
    grid-column: 1;
    grid-row: 3;
}

.reveal .dependency-map .south {
    grid-column: 2;
    grid-row: 3;
}

.reveal .dependency-map .south-east {
    grid-column: 3;
    grid-row: 3;
}

.reveal .boundary {
    border: 5px solid var(--context);
    border-radius: 24px;
    padding: .45em;
    background: rgba(21, 101, 192, .04);
}

.reveal .boundary > span {
    display: inline-flex;
    align-items: center;
    gap: .25em;
}

.reveal .boundary > span small {
    line-height: 1;
}

.reveal .boundary.repository {
    border-color: var(--local);
}

.reveal .boundary.task {
    border-color: var(--agent);
}

.reveal blockquote {
    width: 88%;
}
