/* ==========================================================================
   HOME SECTIONS — shared "band" system + section 01 (Reversing the gaze).
   Direct translation of the reference design's .band / .chapter / .sec-head /
   .gaze / .define rules, hooked onto ordinary Group, Heading, Paragraph,
   List and Quote blocks by their "Additional CSS class" names, so every word
   stays editable in the block editor.

   Chapter colour: add one of is-chapter-ochre / -rust / -sage / -orchid /
   -sky / -coral to the section's Group block.
   ========================================================================== */

/* Design tokens (colours, fonts, --masm-max / --masm-gut) live in
   assets/css/tokens.css, which is loaded before this file. */


.is-chapter-ochre  { --c: #DFA426; --c-ink: #7A5810; }
.is-chapter-rust   { --c: #B66B28; --c-ink: #94551F; }
.is-chapter-sage   { --c: #8C946E; --c-ink: #5E663F; }
.is-chapter-orchid { --c: #C766A8; --c-ink: #8E3E72; }
.is-chapter-sky    { --c: #6CA1CC; --c-ink: #2E6086; }
.is-chapter-coral  { --c: #E4633F; --c-ink: #A33A1C; }
/* same colours, chosen from the Group block's Styles panel */
.is-style-chapter-ochre  { --c: #DFA426; --c-ink: #7A5810; }
.is-style-chapter-rust   { --c: #B66B28; --c-ink: #94551F; }
.is-style-chapter-sage   { --c: #8C946E; --c-ink: #5E663F; }
.is-style-chapter-orchid { --c: #C766A8; --c-ink: #8E3E72; }
.is-style-chapter-sky    { --c: #6CA1CC; --c-ink: #2E6086; }
.is-style-chapter-coral  { --c: #E4633F; --c-ink: #A33A1C; }

/* ---- band ---- */
.masm-band {
	position: relative;
	margin: 0;
	padding-block: clamp(52px, 6.4vw, 92px);
	padding-inline: 0;
	max-width: none;
	font-family: var(--masm-sans);
	font-size: 17px;
	line-height: 1.62;
	color: var(--masm-ink);
	box-sizing: border-box;
}
.masm-band *, .masm-band *::before, .masm-band *::after { box-sizing: border-box; }
.masm-band.band-paper { background: var(--masm-paper); }
.masm-band.band-shell { background: var(--masm-surface); }
.masm-band.band-deep  { background: var(--masm-paper-deep); }
.masm-band + .masm-band { border-top: 1px solid var(--masm-rule); }

/* WordPress adds its own block-gap margins inside groups; the design sets
   every margin explicitly below instead. */
.masm-band .is-layout-flow > *,
.masm-band .is-layout-flex > *,
.masm-band .is-layout-constrained > * { margin-block: 0; }

.masm-band .wrap {
	max-width: var(--masm-max);
	margin-inline: auto;
	padding-inline: var(--masm-gut);
}

.masm-band h2,
.masm-band h3 {
	font-family: var(--masm-serif);
	font-weight: 500;
	letter-spacing: -.012em;
	color: var(--masm-ink);
}

/* chapter rule across the top edge of the section */
.masm-band.chap::before {
	content: "";
	position: absolute;
	top: -1px;
	z-index: 1;
	height: 3px;
	width: 64px;
	left: max(var(--masm-gut), calc((100% - var(--masm-max)) / 2 + var(--masm-gut)));
	background: var(--c);
	border-radius: 0 0 2px 2px;
}

/* "01 —— Reversing the gaze" */
.masm-band .chapter {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 14px;
	margin: 0 0 18px;
}
.masm-band .chapter > p { margin: 0; }
.masm-band .ch-no {
	font-family: var(--masm-serif);
	font-weight: 500;
	font-size: clamp(30px, 2.9vw, 40px);
	line-height: .9;
	letter-spacing: -.02em;
	color: var(--c-ink);
	font-variant-numeric: lining-nums;
}
.masm-band .ch-name {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--masm-stamp);
	font-size: 12.5px;
	line-height: 1.62;
	letter-spacing: .16em;
	color: var(--c-ink);
}
.masm-band .ch-name::before {
	content: "";
	flex: 0 0 auto;
	width: 30px;
	height: 1.5px;
	background: var(--c);
}

.masm-band .h2 {
	font-size: clamp(27px, 3.6vw, 44px);
	line-height: 1.14;
	max-width: 20ch;
	margin: 0;
}
.masm-band .h2 em { font-style: italic; font-weight: 400; color: var(--c-ink, var(--masm-rust-ink)); }

/* heading + side note */
.masm-band .sec-head {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: end;
}
.masm-band .sec-head .h2 { max-width: 18ch; }
.masm-band .sec-head-note {
	font-size: 16.5px;
	line-height: 1.6;
	color: var(--masm-ink-soft);
	margin: 0;
	padding-left: 22px;
	border-left: 1px solid var(--masm-rule);
	max-width: 52ch;
}

/* ---- the two readings, with the "reversed" pivot between them ---- */
.masm-band .gaze {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: stretch;
	gap: clamp(14px, 2vw, 26px);
	margin-top: clamp(34px, 4.5vw, 52px);
}
.masm-band .gaze > .gaze-a { grid-column: 1; grid-row: 1; }
.masm-band .gaze > .gaze-b { grid-column: 3; grid-row: 1; }
/* pivot line + round arrow mark, drawn in the middle column */
.masm-band .gaze::before,
.masm-band .gaze::after {
	content: "";
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
	align-self: center;
}
.masm-band .gaze::before {
	align-self: stretch;
	width: clamp(34px, 4vw, 56px);
	margin-block: 6px;
	background: linear-gradient(var(--masm-rule), var(--masm-rule)) center / 1px 100% no-repeat;
	-webkit-mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
	mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
}
.masm-band .gaze::after {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--masm-rule);
	box-shadow: 0 12px 26px -20px rgba(17, 41, 75, .9);
	background: var(--masm-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394551F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h13a4 4 0 0 1 0 8H9'/%3E%3Cpath d='M12 5.5 15.5 9 12 12.5'/%3E%3C/svg%3E") center / 21px 21px no-repeat;
}

.masm-band .gaze-col {
	padding: 26px 28px 24px;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
}
.masm-band .gaze-label {
	font-family: var(--masm-stamp);
	font-size: 11px;
	line-height: 1.62;
	letter-spacing: .15em;
	margin: 0 0 14px;
}
.masm-band .gaze-col h3 {
	font-size: 19px;
	line-height: 1.32;
	margin: 0 0 18px;
	font-weight: 500;
	max-width: 22ch;
}
.masm-band .gaze-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 16.5px;
	line-height: 1.62;
}
.masm-band .gaze-col li {
	margin: 0;
	padding: 10px 0;
	border-top: 1px solid var(--masm-rule);
	display: flex;
	gap: 12px;
	align-items: baseline;
}
.masm-band .gaze-col li::before {
	flex: 0 0 auto;
	font-family: var(--masm-stamp);
	font-size: 11px;
	letter-spacing: .08em;
}

.masm-band .gaze-a { background: var(--masm-paper-deep); border: 1px solid transparent; color: #5F6779; }
.masm-band .gaze-a .gaze-label { color: #5F6779; }
.masm-band .gaze-a h3 { color: #565E70; }
.masm-band .gaze-a li {
	border-top-color: rgba(17, 41, 75, .09);
	text-decoration: line-through;
	text-decoration-color: rgba(138, 147, 165, .45);
	text-decoration-thickness: 1px;
}
.masm-band .gaze-a li::before { content: "—"; color: #8A93A5; }

.masm-band .gaze-b {
	background: var(--masm-paper);
	border: 1px solid var(--masm-rule);
	box-shadow: 0 24px 54px -46px rgba(17, 41, 75, .8);
	position: relative;
}
.masm-band .gaze-b::before {
	content: "";
	position: absolute;
	left: -1px;
	right: -1px;
	top: -1px;
	height: 3px;
	border-radius: 4px 4px 0 0;
	background: linear-gradient(90deg, var(--masm-ochre), var(--masm-rust));
}
.masm-band .gaze-b .gaze-label { color: var(--masm-rust-ink); }
.masm-band .gaze-b li { border-top-color: var(--masm-rule); color: var(--masm-ink); }
.masm-band .gaze-b li::before { content: "→"; color: var(--masm-rust-ink); }

/* ---- definition card ---- */
.masm-band .define {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: clamp(20px, 3vw, 52px);
	align-items: start;
	margin-top: clamp(40px, 4.6vw, 64px);
	padding: clamp(28px, 3.6vw, 48px) clamp(24px, 3.2vw, 46px);
	background: var(--masm-paper);
	border: 1px solid var(--masm-rule);
	border-radius: 4px;
	box-shadow: 0 30px 64px -54px rgba(17, 41, 75, .85);
	position: relative;
}
.masm-band .define::before {
	content: "";
	position: absolute;
	left: -1px;
	top: -1px;
	bottom: -1px;
	width: 3px;
	border-radius: 4px 0 0 4px;
	background: linear-gradient(180deg, var(--masm-ochre), var(--masm-rust));
}
.masm-band .define-eyebrow {
	grid-column: 1 / -1;
	margin: 0 0 4px;
	font-family: var(--masm-stamp);
	font-size: 12.5px;
	line-height: 1.62;
	letter-spacing: .16em;
	color: var(--masm-rust-ink);
}

/* pull quote (core Quote block with class "pull") */
.masm-band .wp-block-quote.pull {
	font-family: var(--masm-serif);
	font-size: clamp(23px, 2.6vw, 33px);
	font-style: normal;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: normal;
	color: var(--masm-ink);
	border: 0;
	border-left: 2px solid var(--masm-ochre);
	padding: 0 0 0 26px;
	margin: 0;
	background: none;
	quotes: none;
}
.masm-band .wp-block-quote.pull::before,
.masm-band .wp-block-quote.pull::after { content: none; }
.masm-band .wp-block-quote.pull p {
	font: inherit;
	margin: 0;
}
.masm-band .wp-block-quote.pull cite {
	display: block;
	font-family: var(--masm-sans);
	font-style: normal;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.62;
	letter-spacing: normal;
	color: var(--masm-ink-faint);
	margin-top: 18px;
}

.masm-band .body-col { max-width: 64ch; }
.masm-band .body-col p { color: var(--masm-ink-soft); margin: 1em 0; font-size: 17px; line-height: 1.62; }
.masm-band .body-col strong { color: var(--masm-ink); font-weight: 500; }

@media (max-width: 1080px) {
	.masm-band .define { grid-template-columns: 1fr; }
	.masm-band .define::before {
		left: -1px; right: -1px; top: -1px; bottom: auto;
		width: auto; height: 3px;
		border-radius: 4px 4px 0 0;
	}
}

@media (max-width: 860px) {
	.masm-band .sec-head { grid-template-columns: 1fr; gap: 20px; align-items: start; }
	.masm-band .sec-head-note {
		padding-left: 0;
		border-left: 0;
		padding-top: 16px;
		border-top: 1px solid var(--masm-rule);
	}
	.masm-band .gaze { grid-template-columns: 1fr; gap: 12px; }
	.masm-band .gaze > .gaze-a { grid-column: 1; grid-row: 1; }
	.masm-band .gaze > .gaze-b { grid-column: 1; grid-row: 3; }
	.masm-band .gaze::before,
	.masm-band .gaze::after { grid-column: 1; grid-row: 2; }
	.masm-band .gaze::before {
		width: auto;
		height: 46px;
		justify-self: stretch;
		margin: 0 6px;
		background-size: 100% 1px;
		-webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
		mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
	}
	.masm-band .gaze::after { transform: rotate(90deg); }
}

@media (max-width: 520px) {
	.masm-band .chapter,
	.masm-band .ch-name { gap: 10px; }
	.masm-band .ch-name::before { width: 18px; }
}

/* ==========================================================================
   03 · ORIGIN, RECENT EXCHANGE (Charcha), 04 · PLATFORM, 05 · AUTHORSHIP
   ========================================================================== */

.masm-band .lede {
	font-size: clamp(18px, 1.5vw, 21px);
	line-height: 1.62;
	max-width: 62ch;
	color: var(--masm-ink-soft);
	margin: 18px 0 0;
}
.masm-band .kicker {
	font-family: var(--masm-stamp);
	font-size: 12.5px;
	line-height: 1.62;
	letter-spacing: .16em;
	color: var(--masm-rust);
	margin: 0 0 14px;
}
.masm-band .text-link a,
.masm-band a.text-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	color: var(--masm-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--masm-rust-ink);
	padding-bottom: 1px;
	transition: color .2s, border-color .2s;
}
.masm-band .text-link a:hover { color: var(--masm-rust-ink); }
.masm-band .text-link.is-external a::after {
	content: "";
	width: 12px;
	height: 12px;
	background: currentColor;
	color: var(--masm-rust-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---- 03 · Origin ---- */
.masm-band .origin-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
}
.masm-band .origin-grid .body-text { color: var(--masm-ink-soft); max-width: 52ch; margin: 1em 0 0; }
.masm-band ul.communities {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.masm-band ul.communities li {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--masm-ink-soft);
	border: 1px solid var(--masm-rule);
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--masm-surface);
}
.masm-band .shot-wide { margin: 0; }
.masm-band .shot-wide img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: 50% 55%;
	border-radius: 3px;
	border: 1px solid var(--masm-rule);
	box-shadow: 0 26px 54px -44px rgba(17, 41, 75, .9);
	display: block;
}
.masm-band .origin-grid .body-col { margin-top: 26px; }
.masm-band .origin-grid .body-col p { margin: 1em 0; }
.masm-band .origin-grid .body-col p:first-child { margin-top: 0; }
.masm-band .origin-grid .body-col .year {
	font-family: var(--masm-stamp);
	font-size: 13px;
	letter-spacing: .12em;
	color: var(--masm-rust-ink);
	margin: 1em 0 0;
}
.masm-band .origin-grid .body-col .year + p { margin-top: 0; margin-bottom: 0; }

.masm-band .relation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 4vw, 64px);
	margin-top: clamp(40px, 4.6vw, 64px);
}
.masm-band .relation .card { border-top: 2px solid var(--masm-ink); padding-top: 22px; }
.masm-band .relation .card.alt { border-top-color: var(--masm-ochre); }
.masm-band .relation h3 { font-size: 22px; line-height: 1.25; margin: 0 0 14px; }
.masm-band .relation p { color: var(--masm-ink-soft); margin: 0; }
.masm-band .relation .text-link { margin-top: 16px; }

/* ---- Recent exchange (Charcha) — dark band ---- */
.masm-band.band-dark { background: var(--masm-ink); color: #EFE7D6; }
.masm-band.band-dark,
.masm-band.band-dark + .masm-band { border-top-color: transparent; }
.masm-band.masm-charcha { position: relative; overflow: hidden; }
.masm-band.masm-charcha::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	pointer-events: none;
	aspect-ratio: 1400 / 354;
	background: url(../img/skyline.png) center bottom / 100% auto no-repeat;
	opacity: .1;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}
.masm-band.masm-charcha > .wrap { position: relative; z-index: 1; }
.masm-band .charcha-grid {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: clamp(28px, 5vw, 68px);
	align-items: center;
}
.masm-band.band-dark .kicker { color: var(--masm-ochre); }
.masm-band.band-dark h2 {
	color: #FDFAF2;
	font-size: clamp(25px, 3.1vw, 38px);
	line-height: 1.16;
	max-width: 22ch;
	margin: 0;
}

/* the recording / photograph box (a Cover block) */
.masm-band .rx-media.wp-block-cover {
	min-height: 0 !important;
	aspect-ratio: 3 / 2;
	padding: 24px;
	margin: 0;
	border-radius: 3px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: transparent;
}
.masm-band .rx-media.wp-block-cover:not(:has(.wp-block-cover__image-background, .wp-block-cover__video-background)) {
	border: 1px dashed rgba(239, 231, 214, .28);
	background: repeating-linear-gradient(135deg, rgba(239, 231, 214, .045) 0 14px, transparent 14px 28px);
}
.masm-band .rx-media .wp-block-cover__background { opacity: 0 !important; }
.masm-band .rx-media:has(.wp-block-cover__image-background, .wp-block-cover__video-background) .wp-block-cover__inner-container { display: none; }
.masm-band .rx-media .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: rgba(239, 231, 214, .66);
}
.masm-band .rx-media .wp-block-cover__inner-container::before {
	content: "";
	width: 76px;
	height: 76px;
	border-radius: 50%;
	border: 2px solid var(--masm-ochre);
	margin-bottom: 22px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.5v13l11-6.5z' fill='%23DFA426'/%3E%3C/svg%3E") 55% 50% / 22px 22px no-repeat;
}
.masm-band .rx-media p {
	font-size: 15.5px;
	line-height: 1.6;
	color: rgba(239, 231, 214, .66);
	max-width: 32ch;
	margin: 0;
}
.masm-band .rx-media .wp-block-cover__image-background,
.masm-band .rx-media .wp-block-cover__video-background { object-fit: cover; }

.masm-band .rx-reflection {
	font-style: italic;
	font-size: 17.5px;
	line-height: 1.65;
	color: rgba(239, 231, 214, .86);
	border-left: 2px dashed rgba(223, 164, 38, .7);
	padding-left: 20px;
	margin: 26px 0 0;
	max-width: 52ch;
}

.masm-band .details { margin-top: 28px; }
.masm-band .details > .detail {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 16px;
	padding: 13px 0;
	border-top: 1px solid rgba(239, 231, 214, .18);
	font-size: 16.5px;
	margin: 0;
}
.masm-band .details > .detail:last-child { border-bottom: 1px solid rgba(239, 231, 214, .18); }
.masm-band .details .detail > p { margin: 0; color: #EFE7D6; }
.masm-band .details .detail > p:first-child {
	font-family: var(--masm-stamp);
	font-size: 12.5px;
	letter-spacing: .12em;
	color: rgba(239, 231, 214, .6);
	padding-top: 3px;
}
.masm-band .details a {
	color: #FDFAF2;
	text-decoration: underline;
	text-decoration-color: rgba(223, 164, 38, .6);
	text-underline-offset: 3px;
}
.masm-band .details a:hover { text-decoration-color: var(--masm-ochre); }

.masm-band .charcha-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 30px;
	margin-top: 30px;
}
.masm-band .charcha-cta > * { margin: 0; }
.masm-band .charcha-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--masm-ochre);
	color: #20130B;
	text-decoration: none;
	padding: 15px 36px;
	border-radius: 999px;
	font-family: var(--masm-sans);
	font-size: 16px;
	line-height: 1.62;
	border: 0;
	transition: transform .25s, background .25s;
}
.masm-band .charcha-cta .wp-block-button__link:hover { background: #E9B23C; color: #20130B; transform: translateY(-2px); }
.masm-band.band-dark .text-link a { color: #FDFAF2; border-bottom-color: var(--masm-ochre); }
.masm-band.band-dark .text-link a:hover { color: var(--masm-ochre); }

.masm-band .partners {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 20px;
	font-size: 13.5px;
	color: rgba(239, 231, 214, .66);
}
.masm-band .partners > * { margin: 0; }
.masm-band .partners .wp-block-image img { width: 44px; height: 44px; border-radius: 4px; display: block; background: #fff; }
.masm-band .partners p { color: rgba(239, 231, 214, .66); font-size: 13.5px; }

/* ---- 04 · Platform ---- */
.masm-band .strands {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 30px);
	margin-top: 40px;
}
.masm-band .strand {
	background: var(--masm-surface);
	border: 1px solid var(--masm-rule);
	border-radius: 3px;
	padding: 26px 26px 22px;
	display: flex;
	flex-direction: column;
	scroll-margin-top: calc(var(--masm-header-h, 154px) + 20px);
}
.masm-band .strand::before {
	content: "";
	height: 3px;
	width: 40px;
	border-radius: 2px;
	margin-bottom: 22px;
	background: var(--k, var(--masm-orchid, #C766A8));
}
.masm-band .strand.k-sky    { --k: #6CA1CC; }
.masm-band .strand.k-ochre  { --k: #DFA426; }
.masm-band .strand.k-orchid { --k: #C766A8; }
.masm-band .strand.k-sage   { --k: #8C946E; }
.masm-band .strand.k-coral  { --k: #E4633F; }
.masm-band .strand h3 { font-size: 23px; line-height: 1.2; margin: 0 0 12px; }
.masm-band .strand p { font-size: 16px; color: var(--masm-ink-soft); margin: 0; }
.masm-band .strand p:not(.status) { flex: 1; }
.masm-band .strand .status {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex: 0 0 auto;
	font-family: var(--masm-stamp);
	font-size: 11.5px;
	letter-spacing: .13em;
	color: var(--masm-rust-ink);
	margin-top: 18px;
}
.masm-band .strand .status::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	border: 1.5px solid var(--masm-rust-ink);
}

/* ---- 05 · Authorship ---- */
.masm-band .author-grid {
	display: grid;
	grid-template-columns: minmax(0, .6fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
}
.masm-band .portrait { margin: 0; }
.masm-band .portrait .wp-block-image { margin: 0; }
.masm-band .portrait img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 22%;
	border-radius: 3px;
	border: 1px solid var(--masm-rule);
	box-shadow: 0 30px 60px -46px rgba(17, 41, 75, .9);
	display: block;
}
.masm-band .portrait-cap {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 16px;
}
.masm-band .portrait-cap::before {
	content: "";
	width: 22px;
	height: 1.5px;
	background: var(--masm-ochre);
	align-self: center;
}
.masm-band .portrait-cap p {
	margin: 0;
	font-family: var(--masm-stamp);
	font-size: 12px;
	letter-spacing: .14em;
	color: var(--masm-ink);
}
.masm-band .portrait-cap p + p { color: var(--masm-ink-faint); letter-spacing: .12em; }
.masm-band .ack {
	font-size: 16.5px;
	color: var(--masm-ink-soft);
	border-top: 1px solid var(--masm-rule);
	margin: 22px 0 0;
	padding-top: 18px;
}
.masm-band .author-grid .h2 { max-width: 20ch; }

@media (max-width: 1080px) {
	.masm-band .origin-grid,
	.masm-band .author-grid,
	.masm-band .charcha-grid { grid-template-columns: 1fr; }
	.masm-band .author-grid .portrait { order: 2; max-width: 460px; }
	.masm-band .strands { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
	.masm-band .relation { grid-template-columns: 1fr; gap: 28px; }
	.masm-band .strands { grid-template-columns: 1fr; }
	.masm-band .details > .detail { grid-template-columns: 1fr; gap: 4px; padding: 12px 0; }
}
