/* rdo makers: /makers/ (mark wall, A–Z list) and /maker/{slug}/. */

.rdo-makers,
.rdo-maker {
	--line: rgba(42, 59, 40, 0.14);
	--muted: rgba(42, 59, 40, 0.68);
	padding-bottom: 96px;
}
.rdo-makers { padding-top: 56px; }
.rdo-maker { padding-top: 28px; }

/* ---------- marks ----------
   One box size per context. Logo: the mono SVG drawn in currentColor through
   a CSS mask. No logo: the name set in Quicksand. Never an empty box. */

.rdo-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 2;
	padding: 12%;
	border: 1px solid rgba(42, 59, 40, 0.22);
	color: var(--wakatake);
	background: var(--mist);
	text-align: center;
	overflow: hidden;
}
.rdo-mark__name {
	font-family: var(--font-ui);
	font-weight: var(--font-ui-weight);
	font-size: 19px;
	line-height: 1.2;
	letter-spacing: 0.04em;
	overflow-wrap: anywhere;
}
.rdo-mark__logo {
	display: block;
	width: 100%;
	height: 100%;
	background: currentColor;
	-webkit-mask: var(--logo) center / contain no-repeat;
	mask: var(--logo) center / contain no-repeat;
}

/* ---------- index head ---------- */

.rdo-makers-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}
.rdo-makers-title {
	margin: 0;
	font-family: var(--font-title);
	font-weight: var(--font-title-weight);
	font-style: var(--font-title-style);
	font-size: clamp(44px, 6vw, 72px);
	line-height: 1.05;
	letter-spacing: 0;
}
.rdo-makers-lede { margin: 8px 0 0; color: var(--muted); }
.rdo-makers-head .rdo-counters { margin-top: 12px; }

/* A–Z bar + view switch */
.rdo-makers-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	margin-top: 32px;
	padding: 8px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.rdo-az { min-width: 0; }
.rdo-az ul {
	list-style: none;
	display: flex;
	gap: 2px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.rdo-az ul::-webkit-scrollbar { display: none; }
.rdo-az a,
.rdo-az span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	min-height: 44px;
	font-size: 14px;
}
.rdo-az a { color: var(--wakatake); }
.rdo-az a:hover { color: var(--straw-link); }
.rdo-az span { color: rgba(42, 59, 40, 0.3); }

.rdo-makers-view { display: flex; align-items: center; gap: 12px; }
.rdo-makers-view__label { font-size: 13px; color: var(--muted); }

[id^="makers-"] { scroll-margin-top: 24px; }
.rdo-makers .rdo-wall[hidden],
.rdo-makers-list[hidden] { display: none; }

/* ---------- mark wall ---------- */

.rdo-wall {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 28px 20px;
	margin: 36px 0 0;
	padding: 0;
}
.rdo-wall__link { display: grid; gap: 8px; }
.rdo-wall__link:hover .rdo-mark { border-color: var(--wakatake); }
.rdo-wall__link:hover .rdo-mark__name { color: var(--straw-link); }
.rdo-wall__meta { font-size: 13px; color: var(--muted); }

.rdo-wall--small {
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 14px;
	margin-top: 16px;
}
.rdo-wall--small .rdo-mark__name { font-size: 15px; }

/* ---------- A–Z list ---------- */

.rdo-makers-list {
	width: 100%;
	margin-top: 28px;
	border-collapse: collapse;
	font-size: 14px;
}
.rdo-makers-list th,
.rdo-makers-list td {
	padding: 12px 12px 12px 0;
	border-bottom: 1px solid var(--line);
	text-align: left;
	font-weight: inherit;
	vertical-align: baseline;
}
.rdo-makers-list thead th {
	padding-bottom: 10px;
	border-bottom: 1px solid var(--wakatake);
	font-size: 13px;
	color: var(--muted);
}
.rdo-makers-list thead td { border-bottom: 1px solid var(--wakatake); }
.rdo-makers-list tbody tr.is-first td,
.rdo-makers-list tbody tr.is-first th { border-top: 1px solid rgba(42, 59, 40, 0.35); }
.rdo-makers-list__letter {
	width: 40px;
	font-family: var(--font-title);
	font-style: var(--font-title-style);
	font-size: 20px;
	color: var(--seokchung);
}
.rdo-makers-list tbody th a {
	font-family: var(--font-title);
	font-style: var(--font-title-style);
	font-size: 19px;
	letter-spacing: 0;
}
.rdo-makers-list tbody th a:hover { color: var(--straw-link); }
.rdo-makers-list__cats { color: var(--seokchung); font-size: 13px; }
.rdo-makers-list .rdo-num { text-align: right; padding-right: 0; }

/* ---------- maker page ---------- */

.rdo-maker-head { margin-top: 28px; max-width: 46em; }
.rdo-maker-logo {
	display: inline-flex;
	width: 120px;
	aspect-ratio: 3 / 2;
	padding: 14px;
	margin-bottom: 20px;
	border: 1px solid rgba(42, 59, 40, 0.22);
}
.rdo-maker-logo img { width: 100%; height: 100%; object-fit: contain; }
.rdo-maker-meta { margin: 0; font-size: 14px; color: var(--seokchung); }
.rdo-maker-meta__country { margin-left: 12px; color: var(--muted); }
.rdo-maker-title {
	margin: 10px 0 0;
	font-family: var(--font-title);
	font-weight: var(--font-title-weight);
	font-style: var(--font-title-style);
	font-size: clamp(44px, 7vw, 84px);
	line-height: 1.05;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}
.rdo-maker-intro { margin-top: 20px; font-size: 16px; line-height: 1.65; max-width: 36em; }
.rdo-maker-intro p { margin: 0 0 0.8em; }

.rdo-maker-records { margin-top: 56px; }
.rdo-maker .rdo-register { padding: 0; }
.rdo-maker .rdo-reg-layout { margin-top: 24px; }

.rdo-reg-group + .rdo-reg-group { margin-top: 36px; }
.rdo-reg-group__title {
	margin: 0 0 12px;
	font-family: var(--font-title);
	font-weight: var(--font-title-weight);
	font-style: var(--font-title-style);
	font-size: 22px;
	letter-spacing: 0;
}
.rdo-reg-group[hidden] { display: none; }

.rdo-maker-others { margin-top: 72px; }
.rdo-maker-others__title { margin: 0; font-size: 14px; font-weight: inherit; color: var(--muted); }
.rdo-maker-others__all { margin: 16px 0 0; font-size: 14px; }
.rdo-maker-others__all a { color: var(--straw-link); }

/* ---------- small screens ---------- */

@media (max-width: 699.98px) {
	.rdo-makers { padding-top: 32px; }
	.rdo-makers-head { flex-direction: column; gap: 12px; }
	.rdo-makers-head .rdo-counters { margin-top: 0; }
	.rdo-makers-bar { display: block; }
	.rdo-az { margin: 0 calc(-1 * var(--gutter)); }
	.rdo-az ul { padding: 0 var(--gutter); }
	.rdo-makers-view { margin-top: 8px; }
	.rdo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
	.rdo-mark__name { font-size: 16px; }
	.rdo-makers-list__cats { display: none; }
	.rdo-maker-records { margin-top: 40px; }
}
