/* RMLA Awards — public styles.
   Editorial and flat: system serif for display, quiet sans for body, 8px rhythm,
   no gradients, no pills, no shadows. */

.rmla-programme,
.rmla-form-wrap,
.rmla-article-grid,
.rmla-card {
	--rmla-ink: #171916;
	--rmla-body: #3a3d38;
	--rmla-quiet: #6b6f68;
	--rmla-rule: #d9d6cf;
	--rmla-paper: #fbfaf7;
	--rmla-accent: #2f4a34;
	color: var(--rmla-body);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.6;
}

.rmla-programme-title,
.rmla-form-wrap h2,
.rmla-card-title,
.rmla-notice h3 {
	font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	color: var(--rmla-ink);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

.rmla-eyebrow {
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rmla-quiet);
	margin: 0 0 8px;
}

.rmla-programme-title {
	font-size: 40px;
	margin: 0 0 8px;
}

.rmla-dates {
	color: var(--rmla-quiet);
	font-size: 15px;
	margin: 0;
}

.rmla-programme {
	max-width: 760px;
	padding: 32px 0;
	border-top: 1px solid var(--rmla-rule);
}

.rmla-programme h3,
.rmla-form-wrap legend {
	font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	font-size: 22px;
	font-weight: 500;
	color: var(--rmla-ink);
	margin: 32px 0 8px;
}

.rmla-categories ul,
.rmla-levels ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rmla-categories li {
	padding: 16px 0;
	border-top: 1px solid var(--rmla-rule);
}

.rmla-levels ul {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	font-size: 15px;
}

.rmla-fee {
	color: var(--rmla-quiet);
	font-size: 14px;
	margin: 8px 0 0;
}

.rmla-btn {
	display: inline-block;
	padding: 12px 24px;
	font-size: 15px;
	text-decoration: none;
	border: 1px solid var(--rmla-ink);
	background: transparent;
	color: var(--rmla-ink);
	cursor: pointer;
	font-family: inherit;
}

.rmla-btn-primary {
	background: var(--rmla-ink);
	color: #fff;
}

.rmla-btn-primary:hover {
	background: var(--rmla-accent);
	border-color: var(--rmla-accent);
	color: #fff;
}

.rmla-btn-quiet {
	border-color: var(--rmla-rule);
	color: var(--rmla-body);
}

.rmla-closed {
	color: var(--rmla-quiet);
}

/* form */

.rmla-form-wrap {
	max-width: 760px;
	padding: 32px 0;
}

.rmla-form-head {
	border-bottom: 2px solid var(--rmla-ink);
	padding-bottom: 16px;
	margin-bottom: 24px;
}

.rmla-form-wrap h2 {
	font-size: 32px;
	margin: 0 0 8px;
}

.rmla-ref {
	font-size: 14px;
	color: var(--rmla-quiet);
	margin: 8px 0 0;
}

.rmla-step {
	border: 0;
	border-top: 1px solid var(--rmla-rule);
	margin: 0 0 24px;
	padding: 24px 0 0;
}

.rmla-step legend {
	padding: 0;
	margin: 0 0 16px;
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.rmla-step-num {
	display: inline-block;
	font-family: system-ui, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--rmla-quiet);
}

.rmla-field {
	margin: 0 0 24px;
}

.rmla-label {
	display: block;
	font-weight: 600;
	font-size: 15px;
	color: var(--rmla-ink);
	margin-bottom: 4px;
}

.rmla-req {
	color: #8a2424;
}

.rmla-help {
	font-size: 14px;
	color: var(--rmla-quiet);
	margin: 4px 0 8px;
}

.rmla-field input[type="text"],
.rmla-field input[type="email"],
.rmla-field input[type="tel"],
.rmla-field input[type="number"],
.rmla-field input[type="url"],
.rmla-field input[type="date"],
.rmla-field textarea,
.rmla-field select {
	width: 100%;
	padding: 12px;
	border: 1px solid #b9b5ac;
	background: #fff;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	color: var(--rmla-ink);
}

.rmla-field input:focus,
.rmla-field textarea:focus,
.rmla-field select:focus {
	outline: 2px solid var(--rmla-ink);
	outline-offset: 1px;
	border-color: var(--rmla-ink);
}

.rmla-field-invalid input,
.rmla-field-invalid textarea,
.rmla-field-invalid select {
	border-color: #8a2424;
}

.rmla-field-error {
	color: #8a2424;
	font-size: 14px;
	margin: 8px 0 0;
}

.rmla-options {
	display: grid;
	gap: 8px;
	margin-top: 8px;
}

.rmla-option {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	font-size: 16px;
}

.rmla-filelist {
	list-style: none;
	margin: 8px 0;
	padding: 0;
	font-size: 15px;
}

.rmla-filelist li {
	padding: 8px 0;
	border-bottom: 1px solid var(--rmla-rule);
}

.rmla-file-meta {
	color: var(--rmla-quiet);
	font-size: 13px;
}

.rmla-file-remove {
	color: #8a2424;
	font-size: 13px;
	margin-left: 8px;
}

.rmla-field input[type="file"] {
	display: block;
	margin: 8px 0;
	font-size: 15px;
}

.rmla-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	border-top: 1px solid var(--rmla-rule);
	padding-top: 24px;
}

.rmla-notice {
	border-left: 3px solid var(--rmla-ink);
	background: var(--rmla-paper);
	padding: 16px 24px;
	margin: 24px 0;
	font-size: 16px;
}

.rmla-notice-error {
	border-left-color: #8a2424;
}

.rmla-notice-ok {
	border-left-color: var(--rmla-accent);
}

.rmla-notice h3 {
	margin: 0 0 8px;
	font-size: 22px;
}

.rmla-notice ul {
	margin: 8px 0 0 16px;
}

/* cards */

.rmla-article-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
	margin: 32px 0;
}

.rmla-card {
	border-top: 2px solid var(--rmla-ink);
	padding-top: 16px;
	display: flex;
	flex-direction: column;
}

.rmla-card-media {
	display: block;
	margin-bottom: 16px;
	overflow: hidden;
}

.rmla-card-media img {
	display: block;
	width: 100%;
	height: auto;
}

.rmla-card-title {
	font-size: 22px;
	margin: 0 0 8px;
}

.rmla-card-title a {
	color: var(--rmla-ink);
	text-decoration: none;
}

.rmla-card-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.rmla-card-excerpt {
	font-size: 15px;
	color: var(--rmla-body);
	margin: 0 0 12px;
}

.rmla-card-link {
	font-size: 14px;
	font-weight: 600;
	color: var(--rmla-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--rmla-ink);
	align-self: flex-start;
	margin-top: auto;
}

.rmla-article-source {
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--rmla-quiet);
	border-top: 1px solid var(--rmla-rule);
	padding-top: 16px;
	margin-top: 32px;
}
