/* Website module additions. The public design itself lives in app.css / theme.css
   (unchanged from the previous site). This file only carries what the content
   engine adds: announcement banner, honeypot, and the whitelisted style tokens
   an editor can choose per section (tone / size / padding / font / colours). */

.wbanner { font-size: var(--fs-sm, .9rem); padding: .55rem 0; text-align: center; }
.wbanner--gold { background: var(--gold-500, #09757a); color: #fff; }
.wbanner--navy { background: var(--navy-950, #0d0d0d); color: #fff; }
.wbanner a { color: inherit; text-decoration: underline; }
.wbanner__inner { display: flex; justify-content: center; }

/* Honeypot: invisible to people, tempting to bots. */
.hp { position: absolute !important; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }

.form-error { color: #9b1c1c; font-size: var(--fs-sm, .9rem); margin: .35rem 0 0; }
.form-ok { background: #e8f5ee; border: 1px solid #b6dfc7; color: #14532d; border-radius: var(--r-md, 8px); padding: .9rem 1rem; }
.form-fail { background: #fdecec; border: 1px solid #f2b8b8; color: #7f1d1d; border-radius: var(--r-md, 8px); padding: .9rem 1rem; }

/* Section style tokens (values validated server-side; these classes are the only way to apply them). */
.tone-ivory { background: var(--ivory, #f7f8f9) !important; }
.tone-plain { background: #fff !important; }
.tone-navy { background: var(--navy-950, #0d0d0d) !important; color: #e8ebf2; }
.tone-navy h1, .tone-navy h2, .tone-navy h3, .tone-navy h4 { color: #fff; }
.tone-teal { background: var(--gd-teal, #09757a) !important; color: #fff; }
.tone-teal h1, .tone-teal h2, .tone-teal h3, .tone-teal h4 { color: #fff; }
.fs-xl { font-size: 1.25em; } .fs-lg { font-size: 1.12em; } .fs-sm { font-size: .92em; } .fs-xs { font-size: .84em; }
.pad-air { padding-block: calc(var(--section-pad, 4.5rem) * 1.4) !important; }
.pad-tight { padding-block: calc(var(--section-pad, 4.5rem) * .6) !important; }
.ff-display { font-family: var(--font-display, inherit); }
.ff-body { font-family: var(--font-body, inherit); }
.ff-serif { font-family: 'Fraunces', Georgia, serif; }
.ff-amiri { font-family: 'Amiri', Georgia, serif; }
.ff-mono { font-family: ui-monospace, Menlo, monospace; }
[style*="--sec-color"] { color: var(--sec-color); }
[style*="--sec-color"] h1, [style*="--sec-color"] h2, [style*="--sec-color"] h3, [style*="--sec-color"] h4 { color: var(--sec-color); }
[style*="--sec-bg"] { background: var(--sec-bg) !important; }
