/*
 * Design system for the whole front end. Independent of whatever theme is
 * active -- parts/header.php and parts/footer.php provide the entire HTML
 * shell, so this stylesheet is the only thing that determines how the site
 * looks. Editorial-press aesthetic: warm paper background, ink text, one
 * restrained accent color, serif for reading, plain sans for UI chrome.
 * No gradients, no glass/blur effects, no decorative color.
 */

:root {
	--pp-bg: #faf8f4;
	--pp-bg-raised: #f2ede4;
	--pp-ink: #201d1a;
	--pp-ink-muted: #6b6459;
	--pp-border: #e2dccd;
	--pp-accent: #6e2a34;
	--pp-accent-hover: #551f27;
	--pp-accent-on: #fdf9f2;

	--pp-font-serif: 'Newsreader', Georgia, 'Iowan Old Style', 'Times New Roman', serif;
	--pp-font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--pp-font-type: 'Special Elite', 'Courier New', Courier, monospace;

	--pp-measure: 66ch;
}

/* ---------- Reset & base ---------- */

.pp-site-header,
.pp-drawer,
.pp-main,
.pp-site-footer {
	box-sizing: border-box;
}
.pp-site-header *,
.pp-drawer *,
.pp-main *,
.pp-site-footer * {
	box-sizing: inherit;
}

body {
	margin: 0;
	background: var(--pp-bg);
	color: var(--pp-ink);
	font-family: var(--pp-font-sans);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
	font-family: var(--pp-font-serif);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
	margin: 0 0 0.6em;
	color: var(--pp-ink);
}

a {
	color: inherit;
}

/* ---------- Header: title bar + nav bar ---------- */

.pp-site-header {
	border-bottom: 1px solid var(--pp-border);
}

.pp-wordmark {
	display: inline-block;
	text-decoration: none;
	color: var(--pp-ink);
}

/* Typewriter effect: a monospace-styled font revealed via a widening clip,
   timed in exact character-count steps (set inline as --pp-type-len, from
   the real site name's length) so it always lands on a full character no
   matter what the title is renamed to, plus a blinking caret. Replays on
   every page load since this is plain CSS, not JS -- "when you open the
   page" means every open. */
.pp-type {
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
	vertical-align: bottom;
	font-family: var(--pp-font-type);
	font-weight: 400;
	font-size: clamp(1.6rem, 6vw, 2.75rem);
	letter-spacing: 0.01em;
	border-right: 0.1em solid var(--pp-ink);
	width: 0;
	max-width: calc(var(--pp-type-len) * 1ch);
	animation-name: pp-typing, pp-caret;
	animation-duration: 1.3s, 0.7s;
	animation-timing-function: steps(var(--pp-type-len), end), step-end;
	animation-iteration-count: 1, infinite;
	animation-fill-mode: forwards, none;
}

@keyframes pp-typing {
	from { width: 0; }
	to { width: calc(var(--pp-type-len) * 1ch); }
}

@keyframes pp-caret {
	50% { border-color: transparent; }
}

/* Single row: hamburger, title, and the search/profile/subscribe/sign-in
   cluster all share the top of the page. Grid (not flex) so the title sits
   in a column that is truly centered on the page regardless of the left
   and right clusters being different widths -- both outer columns are the
   same `1fr`, so whichever side has less content just carries more of its
   own empty space instead of pulling the title off-center. */
.pp-header-row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	padding: 0.9rem 1.5rem;
}

.pp-header-left {
	justify-self: start;
}

.pp-header-row > .pp-wordmark {
	justify-self: center;
}

.pp-header-right {
	justify-self: end;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.6rem;
}

@media (max-width: 640px) {
	/* A three-way grid with a hamburger, a wide typewriter title, and four
	   right-side controls doesn't have room to stay on one line at phone
	   widths -- drop back to two rows there, title still centered. */
	.pp-header-row {
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		row-gap: 0.75rem;
	}
	.pp-header-left {
		grid-column: 1;
		grid-row: 1;
	}
	.pp-header-row > .pp-wordmark {
		grid-column: 1 / -1;
		grid-row: 2;
	}
	.pp-header-right {
		grid-column: 2;
		grid-row: 1;
	}
}

.pp-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	border: none;
	background: none;
	padding: 0;
	color: var(--pp-ink-muted);
	cursor: pointer;
	border-radius: 3px;
}

.pp-icon-btn:hover {
	color: var(--pp-accent);
	background: var(--pp-bg-raised);
}

.pp-popover-wrap {
	position: relative;
}

.pp-profile-panel {
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	background: var(--pp-bg);
	border: 1px solid var(--pp-border);
	border-radius: 4px;
	padding: 0.9rem 1.1rem;
	box-shadow: 0 6px 20px rgba(32, 29, 26, 0.08);
	z-index: 30;
	min-width: 160px;
	/* Kept in the DOM at all times (not `hidden`) so opening/closing can
	   transition instead of snapping -- opacity 0 + pointer-events: none is
	   the closed state, matching the drawer/search-modal pattern. */
	opacity: 0;
	transform: translateY(-6px);
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.pp-profile-panel.is-open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.pp-profile-status {
	margin: 0;
	font-size: 0.85rem;
	font-weight: 600;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid var(--pp-border);
}

.pp-profile-label {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--pp-ink-muted);
}

.pp-profile-panel a {
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--pp-ink);
}

.pp-profile-panel a:hover {
	color: var(--pp-accent);
}

.pp-subscribe-btn {
	font-size: 0.92rem;
	padding: 0.7rem 1.4rem;
}

.pp-btn--outline {
	background: none;
	color: var(--pp-ink) !important;
	border: 1px solid var(--pp-border);
}

.pp-btn--outline:hover {
	border-color: var(--pp-accent);
	color: var(--pp-accent) !important;
	background: none;
}

/* ---------- Drawer: full-collections side menu ---------- */

.pp-drawer-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(32, 29, 26, 0.4);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
	z-index: 40;
}

.pp-drawer-backdrop.is-open {
	opacity: 1;
	pointer-events: auto;
}

.pp-drawer {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 280px;
	max-width: 82vw;
	background: var(--pp-bg);
	border-right: 1px solid var(--pp-border);
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
	transform: translateX(-100%);
	transition: transform 0.22s ease;
	z-index: 50;
}

.pp-drawer.is-open {
	transform: translateX(0);
}

.pp-drawer-close {
	align-self: flex-end;
	border: none;
	background: none;
	font-size: 1.6rem;
	line-height: 1;
	color: var(--pp-ink-muted);
	cursor: pointer;
	padding: 0.25rem;
}

.pp-drawer a {
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--pp-ink);
	padding-bottom: 2px;
	border-bottom: 2px solid transparent;
	width: fit-content;
}

.pp-drawer a:hover {
	color: var(--pp-accent);
	border-bottom-color: var(--pp-accent);
}

.pp-main {
	min-width: 0;
}

/* ---------- Search: full-screen blurred modal ---------- */

.pp-search-overlay {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgba(32, 29, 26, 0.45);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
	z-index: 60;
}

.pp-search-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}

.pp-search-modal {
	position: relative;
	width: min(640px, 100%);
	background: var(--pp-bg);
	border-radius: 8px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
	padding: 2.5rem 2rem;
	transform: translateY(-14px) scale(0.97);
	transition: transform 0.22s ease;
}

.pp-search-overlay.is-open .pp-search-modal {
	transform: translateY(0) scale(1);
}

.pp-search-modal-close {
	position: absolute;
	top: 0.75rem;
	right: 0.9rem;
	border: none;
	background: none;
	font-size: 1.8rem;
	line-height: 1;
	color: var(--pp-ink-muted);
	cursor: pointer;
	padding: 0.25rem;
}

.pp-search-modal-close:hover {
	color: var(--pp-accent);
}

.pp-search-modal-form {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	border-bottom: 2px solid var(--pp-ink);
	padding-bottom: 0.75rem;
}

.pp-search-modal-form svg {
	flex-shrink: 0;
	color: var(--pp-ink-muted);
	width: 22px;
	height: 22px;
}

.pp-search-modal-form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border: none;
	background: none;
	font-family: var(--pp-font-serif);
	font-size: 1.4rem;
	color: var(--pp-ink);
}

.pp-search-modal-form input[type="search"]:focus {
	outline: none;
}

.pp-archive-context {
	margin: 0 0 0.2rem;
	font-family: var(--pp-font-sans);
	font-size: 0.76rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pp-ink-muted);
}

/* ---------- Two-column homepage row (New Posts / Recommendations) ---------- */

.pp-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
}

@media (max-width: 780px) {
	.pp-two-col {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

.pp-mini-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pp-mini-list li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--pp-border);
}

.pp-mini-list a {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	text-decoration: none;
	min-width: 0;
}

.pp-mini-title {
	font-family: var(--pp-font-serif);
	font-size: 1.02rem;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pp-mini-list a:hover .pp-mini-title {
	color: var(--pp-accent);
}

.pp-mini-meta {
	flex-shrink: 0;
	font-family: var(--pp-font-sans);
	font-size: 0.78rem;
	color: var(--pp-ink-muted);
}

.pp-mini-empty {
	color: var(--pp-ink-muted);
	font-size: 0.92rem;
}

.pp-welcome-band {
	padding: 2.5rem 0;
}

.pp-welcome-band .pp-band-inner {
	max-width: 56ch;
}

/* Deliberately sans-serif and muted, not the serif reading type used for
   actual pieces/chapters -- this is site chrome (an About-style note),
   not the work itself, and shouldn't visually compete with it. */
.pp-welcome-text p {
	margin: 0 0 1em;
	font-family: var(--pp-font-sans);
	color: var(--pp-ink-muted);
	font-size: 0.98rem;
	line-height: 1.65;
}

.pp-welcome-text p:last-child {
	margin-bottom: 0;
}

/* ---------- Footer ---------- */

.pp-site-footer {
	background: var(--pp-ink);
	color: #beb6a8;
	padding: 2rem 1.5rem;
	font-size: 0.82rem;
}

.pp-site-footer a {
	color: var(--pp-accent-on);
}

.pp-site-footer p {
	max-width: 1080px;
	margin: 0 auto;
}

.pp-footer-legal {
	margin-top: 0.6rem !important;
}

/* ---------- Buttons ---------- */

.pp-btn {
	display: inline-block;
	font-family: var(--pp-font-sans);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
	white-space: nowrap;
	color: var(--pp-accent-on) !important;
	background: var(--pp-accent);
	padding: 0.65rem 1.25rem;
	border-radius: 3px;
}

.pp-btn:hover {
	background: var(--pp-accent-hover);
}

.pp-btn--lg {
	font-size: 0.95rem;
	padding: 0.9rem 1.9rem;
}

.pp-btn--sm {
	font-size: 0.76rem;
	padding: 0.4rem 0.8rem;
	flex-shrink: 0;
}

.pp-download-btn .pp-lock-icon {
	color: currentColor;
}

/* ---------- Reading measure & typography ---------- */

.pp-reader {
	max-width: var(--pp-measure);
	margin: 0 auto;
	padding: 3rem 1.5rem 5rem;
}

.pp-eyebrow-link {
	margin: 0 0 2rem;
}

.pp-eyebrow-link a {
	font-family: var(--pp-font-sans);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none;
	color: var(--pp-ink-muted);
}

.pp-eyebrow-link a:hover {
	color: var(--pp-accent);
}

.pp-piece {
	margin-bottom: 3.5rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid var(--pp-border);
}

.pp-piece:last-child {
	border-bottom: none;
}

.pp-piece-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.pp-piece-head h2 {
	flex: 1 1 auto;
	min-width: 0;
}

.pp-piece h2 {
	font-size: 1.7rem;
}

.pp-body,
.pp-teaser {
	font-family: var(--pp-font-serif);
	font-size: 1.15rem;
	line-height: 1.75;
	color: var(--pp-ink);
}

.pp-body p,
.pp-teaser p {
	margin: 0 0 1.3em;
}

.pp-teaser {
	font-style: italic;
	color: var(--pp-ink-muted);
}

.pp-download-note {
	margin: 0.4rem 0 1.25rem;
	font-family: var(--pp-font-sans);
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--pp-ink-muted);
}

/* ---------- Novel layout (chapter sidebar) ---------- */

.pp-novel-layout {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 3rem;
	max-width: 1080px;
	margin: 0 auto;
	padding: 3rem 1.5rem 5rem;
	align-items: start;
}

.pp-chapter-nav {
	position: sticky;
	top: 1.5rem;
}

.pp-chapter-nav h3 {
	font-size: 1.05rem;
	margin-bottom: 1rem;
}

.pp-chapter-nav ol {
	margin: 0;
	padding-left: 1.1rem;
	font-family: var(--pp-font-sans);
	font-size: 0.88rem;
	color: var(--pp-ink-muted);
}

.pp-chapter-nav li {
	margin-bottom: 0.55rem;
	line-height: 1.4;
}

.pp-chapter-nav a {
	text-decoration: none;
}

.pp-chapter-nav a:hover {
	color: var(--pp-accent);
}

.pp-download {
	display: inline-block;
	margin-top: 1.25rem;
	font-family: var(--pp-font-sans);
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--pp-accent);
	text-decoration: none;
}

.pp-download:hover {
	color: var(--pp-accent-hover);
}

.pp-novel-layout .pp-reader,
.pp-novel-layout > article {
	max-width: none;
	padding: 0;
	margin: 0;
}

@media (max-width: 780px) {
	.pp-novel-layout {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.pp-chapter-nav {
		position: static;
	}
}

/* ---------- Archive: dense, text-forward, dated feed ---------- */

.pp-archive {
	max-width: var(--pp-measure);
	margin: 0 auto;
	padding: 1rem 1.5rem 5rem;
}

.pp-archive-date {
	margin: 2.5rem 0 1rem;
	font-family: var(--pp-font-sans);
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-ink-muted);
}

.pp-archive-date:first-child {
	margin-top: 0;
}

.pp-archive-entry {
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--pp-border);
}

.pp-archive-title {
	margin: 0 0 0.4rem;
	font-size: 1.2rem;
}

.pp-archive-title a {
	text-decoration: none;
}

.pp-archive-title a:hover {
	color: var(--pp-accent);
}

.pp-archive-excerpt {
	margin: 0 0 0.5rem;
	font-family: var(--pp-font-sans);
	color: var(--pp-ink-muted);
	font-size: 0.92rem;
	line-height: 1.55;
}

.pp-archive-actions {
	display: flex;
	gap: 1.25rem;
}

.pp-archive-read {
	font-family: var(--pp-font-sans);
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--pp-accent);
	text-decoration: none;
}

.pp-archive-read:hover {
	color: var(--pp-accent-hover);
}

/* ---------- Collection / index pages ---------- */

.pp-collection-header {
	max-width: var(--pp-measure);
	margin: 0 auto;
	padding: 3rem 1.5rem 1rem;
}

.pp-eyebrow {
	margin: 0 0 0.4rem;
	font-family: var(--pp-font-sans);
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-accent);
}

.pp-collection-header h1 {
	font-size: 2.1rem;
}

.pp-collection-description {
	color: var(--pp-ink-muted);
	font-size: 1.02rem;
}

.pp-index-list {
	max-width: var(--pp-measure);
	margin: 0 auto;
	padding: 0.5rem 1.5rem 5rem;
	list-style: none;
}

.pp-index-list li {
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--pp-border);
}

.pp-index-list a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
}

.pp-index-title {
	font-family: var(--pp-font-serif);
	font-size: 1.2rem;
	font-weight: 600;
}

.pp-index-list a:hover .pp-index-title {
	color: var(--pp-accent);
}

.pp-index-blurb {
	margin: 0.35rem 0 0;
	color: var(--pp-ink-muted);
	font-size: 0.92rem;
}

.pp-index-list--compact li {
	padding: 0.7rem 0;
}

.pp-index-list--compact .pp-index-title {
	font-size: 1rem;
	font-weight: 500;
}

.pp-lock-icon {
	color: var(--pp-accent);
	opacity: 0.8;
	flex-shrink: 0;
}

.pp-legal-content {
	max-width: var(--pp-measure);
	margin: 0 auto;
	padding: 0.5rem 1.5rem 5rem;
	font-size: 1rem;
	line-height: 1.7;
}

.pp-legal-content h2 {
	font-family: var(--pp-font-serif);
	font-size: 1.35rem;
	margin: 2.2rem 0 0.7rem;
}

.pp-legal-content h2:first-child {
	margin-top: 0;
}

.pp-legal-content p {
	margin: 0 0 1.1rem;
}

.pp-legal-content ul,
.pp-legal-content ol {
	margin: 0 0 1.1rem;
	padding-left: 1.4rem;
}

.pp-legal-content li {
	margin: 0 0 0.5rem;
}

.pp-legal-content a {
	color: var(--pp-accent);
}

.pp-legal-content strong {
	color: var(--pp-ink);
}

.pp-legal-updated {
	color: var(--pp-ink-muted);
	font-size: 0.9rem;
	margin: -0.5rem 0 2rem;
}

/* ---------- Banded sections (home + collection archives) ---------- */

.pp-band {
	padding: 3.5rem 0;
	border-bottom: 1px solid var(--pp-border);
}

.pp-band--alt {
	background: var(--pp-bg-raised);
}

.pp-band-inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.pp-band-inner--wide {
	max-width: 1200px;
}

.pp-band h2 {
	font-size: 1.7rem;
	margin-bottom: 1.75rem;
}

.pp-band-heading-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.pp-band-heading-row h2 {
	margin-bottom: 0;
}

.pp-view-all {
	margin-bottom: 1.75rem;
	font-family: var(--pp-font-sans);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pp-accent);
	text-decoration: none;
	white-space: nowrap;
}

.pp-view-all:hover {
	color: var(--pp-accent-hover);
}

.pp-band .pp-index-list,
.pp-band .pp-index-list--compact {
	max-width: none;
	margin: 0;
	padding: 0;
}

/* ---------- Image-led card grid ---------- */

.pp-card-grid {
	display: grid;
	/* auto-fit (not auto-fill): with fewer cards than fit a row, existing
	   cards stretch to fill it instead of leaving empty reserved columns --
	   auto-fill was the direct cause of the dead space to the right of the
	   Novels/Collections rows when there are only 2-3 items. */
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 2.25rem 1.75rem;
}

.pp-card-grid--tight {
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.pp-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
}

.pp-card-media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 3px;
	background: var(--pp-bg-raised);
}

.pp-card-img,
.pp-card-media svg.pp-cover {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pp-card-body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding-top: 0.9rem;
}

.pp-card-eyebrow {
	font-family: var(--pp-font-sans);
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--pp-ink-muted);
}

.pp-card-title {
	font-family: var(--pp-font-serif);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--pp-ink);
}

.pp-card:hover .pp-card-title {
	color: var(--pp-accent);
}

.pp-card-excerpt {
	font-family: var(--pp-font-sans);
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--pp-ink-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---------- Membership CTA band ---------- */

.pp-cta-band {
	background: var(--pp-ink);
	color: var(--pp-accent-on);
	text-align: center;
	padding: 4.5rem 1.5rem;
}

.pp-cta-band h2 {
	color: var(--pp-accent-on);
	margin-bottom: 0.75rem;
}

.pp-cta-band p {
	max-width: 46ch;
	margin: 0 auto 1.75rem;
	color: #beb6a8;
	font-size: 1.02rem;
}
