/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}


/* AiFlowLab custom site refresh */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&family=Space+Grotesk:wght@500;700&display=swap');

body.home.blog,
body.single-post,
body.archive,
body.search,
body.error404 {
	background:
		radial-gradient(circle at 12% 14%, rgba(255, 90, 54, 0.18), transparent 25%),
		radial-gradient(circle at 82% 12%, rgba(14, 143, 126, 0.14), transparent 20%),
		linear-gradient(180deg, #fff8ec 0%, #f5efe4 52%, #f1e7d6 100%);
	color: #171717;
	font-family: 'Noto Sans KR', sans-serif;
}

body.home.blog::before,
body.single-post::before,
body.archive::before,
body.search::before,
body.error404::before {
	content: '';
	position: fixed;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(23, 23, 23, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(23, 23, 23, 0.04) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45), transparent 82%);
}

body.home.blog .wp-site-blocks,
body.single-post .wp-site-blocks,
body.archive .wp-site-blocks,
body.search .wp-site-blocks,
body.error404 .wp-site-blocks {
	padding-left: 0;
	padding-right: 0;
}

body.home.blog .wp-block-template-part,
body.single-post .wp-block-template-part,
body.archive .wp-block-template-part,
body.search .wp-block-template-part,
body.error404 .wp-block-template-part {
	position: relative;
	z-index: 2;
}

body.home.blog .alignwide,
body.single-post .alignwide,
body.archive .alignwide,
body.search .alignwide,
body.error404 .alignwide {
	width: min(1240px, calc(100vw - 32px));
}

body.home.blog .af-site-header,
body.single-post .af-site-header,
body.archive .af-site-header,
body.search .af-site-header,
body.error404 .af-site-header {
	margin-top: 12px;
	padding: 14px 18px;
	border: 1px solid rgba(255, 250, 242, 0.88);
	border-radius: 999px;
	background: rgba(255, 250, 242, 0.74);
	backdrop-filter: blur(18px);
	box-shadow: 0 18px 44px rgba(59, 32, 20, 0.08);
}

.af-brand-lockup {
	gap: 12px;
}

.af-site-title {
	margin: 0 !important;
	font-family: 'Space Grotesk', 'Noto Sans KR', sans-serif !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

.af-site-tagline {
	margin: 0 !important;
	font-size: .78rem !important;
	color: #5b5346;
}

.af-site-nav-wrap {
	gap: 16px;
}

.af-site-nav .wp-block-navigation-item__content,
.af-footer-nav .wp-block-navigation-item__content {
	color: #171717;
	text-decoration: none !important;
}

.af-header-button .wp-block-button__link,
.af-button-primary .wp-block-button__link,
.af-button-secondary .wp-block-button__link,
.af-pagination .wp-block-query-pagination-previous,
.af-pagination .wp-block-query-pagination-next,
.af-pagination .wp-block-query-pagination-numbers a,
.af-pagination .page-numbers,
.af-post-nav-wrap a {
	border-radius: 999px;
	padding: 14px 20px;
	font-weight: 700;
	text-decoration: none;
}

.af-header-button .wp-block-button__link,
.af-button-secondary .wp-block-button__link,
.af-pagination .wp-block-query-pagination-previous,
.af-pagination .wp-block-query-pagination-next,
.af-pagination .wp-block-query-pagination-numbers a,
.af-pagination .page-numbers,
.af-post-nav-wrap a {
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(23,23,23,.12);
	color: #171717;
}

.af-button-primary .wp-block-button__link {
	background: linear-gradient(135deg, #ff5a36 0%, #ff824d 100%);
	box-shadow: 0 18px 28px rgba(255, 90, 54, 0.22);
	color: #fff;
}

.aiflowlab-home,
.af-single-shell,
.af-archive-shell {
	position: relative;
	z-index: 1;
	margin-top: 0 !important;
}

.af-kicker,
.af-card-label,
.af-post-terms,
.af-post-terms a {
	margin: 0 0 10px;
	color: #b02f11;
	font-family: 'Space Grotesk', sans-serif;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
}

.af-hero-shell,
.af-story-shell {
	position: relative;
	padding-top: 18px;
	padding-bottom: 0;
}

.af-hero-grid,
.af-story-card,
.af-stage-card,
.af-post-card,
.af-empty-state,
.af-single-hero,
.af-single-body,
.af-archive-hero,
.af-site-footer {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.78);
	border-radius: 38px;
	background: linear-gradient(180deg, rgba(255,250,242,.88), rgba(255,250,242,.72));
	box-shadow: 0 28px 80px rgba(66,31,18,.12);
}

.af-hero-grid,
.af-site-footer {
	padding: 28px;
}

.af-story-card,
.af-stage-card,
.af-post-card,
.af-empty-state,
.af-single-hero,
.af-single-body,
.af-archive-hero {
	padding: 24px;
}

.af-hero-grid::after,
.af-story-card::after,
.af-stage-card::after,
.af-post-card::after,
.af-empty-state::after,
.af-single-hero::after,
.af-single-body::after,
.af-archive-hero::after,
.af-site-footer::after {
	content: '';
	position: absolute;
	inset: auto -28% -58% auto;
	width: 180px;
	height: 180px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(255,255,255,.48), transparent 70%);
	pointer-events: none;
}

.af-stage-card {
	background: radial-gradient(circle at top right, rgba(255,179,71,.2), transparent 22%), linear-gradient(135deg, rgba(14,143,126,.94), rgba(11,79,83,.98));
}

.af-stage-card h3,
.af-stage-card li,
.af-stage-card .af-card-label {
	color: rgba(255,255,255,.9);
}

.af-hero-title,
.af-section-title,
.af-single-title {
	margin: 0;
	font-family: 'Space Grotesk', 'Noto Sans KR', sans-serif;
	letter-spacing: -.04em;
	color: #171717;
}

.af-hero-title {
	max-width: 10ch;
	font-size: clamp(2.8rem, 5vw, 5.4rem);
	line-height: .98;
}

.af-section-title {
	font-size: clamp(2rem, 4vw, 3.6rem);
	line-height: 1.02;
}

.af-single-title {
	font-size: clamp(2.4rem, 4vw, 4.2rem);
	line-height: 1.04;
}

.af-hero-text,
.af-story-card p,
.af-stage-card li,
.af-section-text,
.af-post-excerpt,
.af-post-meta,
.wp-block-post-date,
.wp-block-read-more,
.af-single-meta,
.af-single-tags,
.af-footer-text,
.af-footer-bottom,
.af-footer-list,
.af-site-tagline {
	color: #5b5346;
	line-height: 1.8;
}

.af-hero-actions {
	margin-top: 24px;
	gap: 14px;
}

.af-chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 0;
	margin: 24px 0 0;
	list-style: none;
}

.af-chip-list li {
	margin: 0;
	padding: 11px 14px;
	border: 1px solid rgba(23,23,23,.1);
	border-radius: 999px;
	background: rgba(255,255,255,.56);
}

.af-stage-list,
.af-footer-list {
	margin: 0;
	padding-left: 18px;
}

.af-story-grid {
	gap: 18px;
}

.af-story-card-accent {
	background: radial-gradient(circle at top right, rgba(14,143,126,.18), transparent 28%), linear-gradient(180deg, #fffaf2 0%, #f3f0e6 100%);
}

.af-feed-header,
.af-more-posts-head {
	padding-top: 36px;
	padding-bottom: 10px;
}

.af-post-feed {
	padding-bottom: 40px;
}

.af-post-feed .wp-block-post-template {
	gap: 18px;
}

.af-post-card {
	height: 100%;
}

.af-post-thumb img,
.af-single-thumb img {
	border-radius: 20px;
}

.af-post-title {
	margin-top: 10px;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	line-height: 1.18;
}

.af-post-title a,
.af-single-title a {
	text-decoration: none;
}

.af-post-excerpt {
	font-size: .98rem;
}

.af-post-meta,
.af-single-meta,
.af-footer-bottom {
	margin-top: 14px;
	font-size: .92rem;
}

.af-single-hero,
.af-single-body-wrap,
.af-post-nav-wrap {
	margin-top: 20px;
}

.af-single-body {
	padding-top: 30px;
	padding-bottom: 30px;
}

.af-single-body .wp-block-post-content {
	font-size: 1.08rem;
	line-height: 1.95;
}

.af-single-body .wp-block-post-content h2,
.af-single-body .wp-block-post-content h3,
.af-single-body .wp-block-post-content h4 {
	font-family: 'Space Grotesk', 'Noto Sans KR', sans-serif;
	letter-spacing: -.03em;
	color: #171717;
	margin-top: 1.8em;
}

.af-single-body .wp-block-post-content p,
.af-single-body .wp-block-post-content li {
	color: #2d261f;
}

.af-post-nav-wrap {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.af-site-footer-shell {
	padding-top: 16px;
	padding-bottom: 34px;
}

.af-footer-grid {
	gap: 24px;
}

.af-footer-title,
.af-footer-heading {
	margin: 0 0 12px;
	font-family: 'Space Grotesk', 'Noto Sans KR', sans-serif;
}

.af-footer-nav .wp-block-navigation-item {
	margin-bottom: 10px;
}

.af-footer-bottom {
	padding-top: 18px;
	border-top: 1px solid rgba(23,23,23,.08);
}

@media (max-width: 960px) {
	.af-hero-grid,
	.af-story-grid,
	.af-post-feed .wp-block-post-template,
	.af-footer-grid {
		grid-template-columns: 1fr !important;
	}

	.af-hero-title,
	.af-section-title,
	.af-single-title {
		max-width: none;
	}
}

@media (max-width: 720px) {
	.af-site-header {
		border-radius: 28px;
	}

	.af-hero-grid,
	.af-site-footer,
	.af-single-hero,
	.af-single-body,
	.af-archive-hero,
	.af-post-card {
		padding: 22px;
	}

	.af-hero-title {
		font-size: clamp(2.3rem, 10vw, 3.8rem);
	}
}

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;700;800&family=Space+Grotesk:wght@500;700&display=swap');

/* AiFlowLab premium tech magazine overrides */
:root {
	--af-bg: #f3efe8;
	--af-bg-deep: #0f1720;
	--af-paper: rgba(255, 251, 245, 0.9);
	--af-paper-strong: #fffdf9;
	--af-paper-dark: #121b25;
	--af-ink: #151310;
	--af-ink-soft: #5f584f;
	--af-ink-inverse: #f6f1ea;
	--af-line: rgba(21, 19, 16, 0.1);
	--af-line-strong: rgba(21, 19, 16, 0.18);
	--af-brand: #ff6a3d;
	--af-brand-deep: #d1481e;
	--af-mint: #7de2cf;
	--af-cyan: #9bd5ff;
	--af-shadow-soft: 0 24px 60px rgba(43, 29, 19, 0.08);
	--af-shadow-strong: 0 34px 80px rgba(15, 23, 32, 0.16);
	--af-radius-xl: 36px;
	--af-radius-lg: 26px;
	--af-radius-md: 18px;
}

body.home,
body.archive,
body.search,
body.single-post {
	background:
		radial-gradient(circle at 10% 8%, rgba(255, 106, 61, 0.12), transparent 24%),
		radial-gradient(circle at 88% 10%, rgba(125, 226, 207, 0.12), transparent 20%),
		linear-gradient(180deg, #fbf7f1 0%, #f2ede5 58%, #efe8de 100%);
	color: var(--af-ink);
	font-family: "Plus Jakarta Sans", "Noto Sans KR", sans-serif;
}

.wp-site-blocks {
	padding-top: 0;
	padding-bottom: 0;
}

h1, h2, h3, h4, h5, h6,
.wp-block-post-title,
.af-home-title,
.af-section-title,
.af-archive-title,
.af-single-title {
	font-family: "Space Grotesk", "Plus Jakarta Sans", "Noto Sans KR", sans-serif;
}

a {
	text-decoration: none !important;
}

.af-site-header-shell,
.af-site-footer-shell {
	padding-left: clamp(18px, 3vw, 42px);
	padding-right: clamp(18px, 3vw, 42px);
}

.af-site-header {
	margin-top: 18px;
	padding: 16px 20px;
	border: 1px solid rgba(255, 255, 255, 0.84);
	border-radius: 999px;
	background: rgba(255, 252, 247, 0.76);
	backdrop-filter: blur(16px);
	box-shadow: 0 16px 40px rgba(15, 23, 32, 0.08);
}

.af-brand-lockup {
	gap: 10px;
}

.af-site-title {
	margin: 0;
}

.af-site-title a,
.af-footer-title a {
	font-size: clamp(1.1rem, 0.8vw + 1rem, 1.45rem);
	font-weight: 800;
	letter-spacing: -0.03em;
}

.af-site-tagline {
	margin: 0;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--af-ink-soft);
}

.af-site-nav {
	gap: 8px;
}

.af-site-nav .wp-block-navigation-item__content {
	padding: 8px 10px;
	border-radius: 999px;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--af-ink-soft);
}

.af-site-nav .wp-block-navigation-item__content:hover,
.af-site-nav .wp-block-navigation-item__content:focus {
	background: rgba(21, 19, 16, 0.06);
	color: var(--af-ink);
}

.af-header-actions {
	margin-left: 8px;
}

.af-header-button .wp-block-button__link,
.af-button-primary .wp-block-button__link,
.af-button-secondary .wp-block-button__link {
	min-height: 48px;
	padding: 13px 22px;
	border-radius: 999px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.af-header-button .wp-block-button__link,
.af-button-secondary .wp-block-button__link {
	border: 1px solid var(--af-line-strong);
	background: rgba(255, 255, 255, 0.78);
	color: var(--af-ink);
}

.af-button-primary .wp-block-button__link {
	background: linear-gradient(135deg, var(--af-brand) 0%, #ff8b57 100%);
	color: #fff;
	box-shadow: 0 18px 32px rgba(255, 106, 61, 0.24);
}

.af-home,
.af-single-shell,
.af-archive-shell {
	padding-bottom: 92px;
}

.af-home-hero-shell {
	padding: 28px 18px 18px;
}

.af-home-hero {
	gap: 22px;
	align-items: stretch !important;
}

.af-home-hero-copy,
.af-format-card,
.af-process-band,
.af-post-card,
.af-empty-state,
.af-single-hero,
.af-single-media,
.af-single-content-wrap,
.af-single-nav,
.af-archive-hero,
.af-site-footer {
	border: 1px solid rgba(255, 255, 255, 0.86);
	border-radius: var(--af-radius-xl);
	background: linear-gradient(180deg, rgba(255, 252, 248, 0.94), rgba(255, 248, 239, 0.82));
	box-shadow: var(--af-shadow-soft);
}

.af-home-hero-copy {
	position: relative;
	padding: clamp(28px, 4vw, 52px);
	background:
		linear-gradient(140deg, rgba(255, 255, 255, 0.86), rgba(255, 246, 234, 0.84)),
		linear-gradient(180deg, #fffdf9 0%, #f7f0e5 100%);
	overflow: hidden;
}

.af-home-hero-copy::after {
	content: "";
	position: absolute;
	right: -40px;
	bottom: -40px;
	width: 220px;
	height: 220px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(255, 106, 61, 0.16) 0%, rgba(255, 106, 61, 0) 72%);
	pointer-events: none;
}

.af-kicker,
.af-card-label {
	margin: 0 0 14px;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--af-brand-deep);
}

.af-home-title,
.af-section-title,
.af-archive-title,
.af-single-title,
.af-page-title {
	margin: 0;
	line-height: 0.96;
	letter-spacing: -0.055em;
}

.af-home-title {
	font-size: clamp(2.35rem, 4.2vw, 4.45rem);
	word-break: keep-all;
	overflow-wrap: normal;
}

.af-home-lead,
.af-section-note,
.af-archive-description,
.af-footer-text {
	color: var(--af-ink-soft);
	line-height: 1.85;
	font-size: 0.98rem;
}

.af-home-actions {
	gap: 12px;
	margin: 28px 0 16px;
}

.af-inline-points {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	margin: 18px 0 0;
	list-style: none;
}

.af-inline-points li {
	padding: 11px 14px;
	border: 1px solid var(--af-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.7);
	font-size: 0.92rem;
	font-weight: 700;
}

.af-status-card {
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: var(--af-radius-xl);
	background:
		radial-gradient(circle at top right, rgba(155, 213, 255, 0.18), transparent 26%),
		linear-gradient(180deg, rgba(11, 17, 26, 0.98), rgba(17, 25, 37, 0.98));
	box-shadow: var(--af-shadow-strong);
}

.af-status-title {
	margin: 0;
	font-size: 1.55rem;
	line-height: 1.18;
	color: var(--af-ink-inverse);
}

.af-status-card .af-card-label {
	color: var(--af-mint);
}

.af-status-list {
	list-style: none;
	padding: 0;
	margin: 20px 0 0;
}

.af-status-list li {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 14px;
	align-items: start;
	padding: 14px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(246, 241, 234, 0.88);
}

.af-status-list li:first-child {
	border-top: none;
	padding-top: 0;
}

.af-status-list strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 0.92rem;
	color: var(--af-cyan);
}

.af-signal-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.af-metric {
	padding: 18px;
	border: 1px solid rgba(21, 19, 16, 0.08);
	border-radius: var(--af-radius-md);
	background: rgba(255, 255, 255, 0.72);
}

.af-metric p {
	margin: 0;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--af-ink-soft);
}

.af-metric strong {
	display: block;
	margin-top: 7px;
	line-height: 1.4;
	font-size: 0.98rem;
	color: var(--af-ink);
}

.af-format-strip,
.af-process-band,
.af-latest-shell,
.af-single-hero,
.af-single-media,
.af-single-content-wrap,
.af-single-nav,
.af-archive-hero {
	margin-top: 24px;
	padding: clamp(24px, 3vw, 38px);
}

.af-format-grid,
.af-process-grid,
.af-footer-grid {
	gap: 18px;
}

.af-format-card {
	height: 100%;
	padding: 30px;
}

.af-format-card h3 {
	margin-top: 0;
	margin-bottom: 12px;
	font-size: 1.42rem;
	line-height: 1.18;
	letter-spacing: -0.04em;
}

.af-format-card p:last-child {
	margin-bottom: 0;
	color: var(--af-ink-soft);
	line-height: 1.8;
}

.af-format-brief {
	background:
		linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(255, 244, 231, 0.86)),
		radial-gradient(circle at top left, rgba(255, 106, 61, 0.1), transparent 22%);
}

.af-format-applied {
	background:
		linear-gradient(180deg, rgba(248, 253, 255, 0.96), rgba(237, 247, 244, 0.88)),
		radial-gradient(circle at top right, rgba(125, 226, 207, 0.12), transparent 24%);
}

.af-process-band {
	background:
		linear-gradient(90deg, rgba(15, 23, 32, 0.98) 0%, rgba(24, 34, 48, 0.98) 100%);
	box-shadow: var(--af-shadow-strong);
}

.af-process-band .af-card-label,
.af-process-band strong,
.af-process-band p {
	color: var(--af-ink-inverse);
}

.af-process-grid .wp-block-column {
	padding: 18px 12px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.af-process-grid p {
	margin: 0;
	line-height: 1.8;
	color: rgba(246, 241, 234, 0.76);
}

.af-process-grid strong {
	display: block;
	margin-bottom: 6px;
	font-size: 1rem;
}

.af-latest-head {
	gap: 14px;
	margin-bottom: 18px;
}

.af-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.af-post-card {
	padding: 14px;
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.af-post-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 28px 50px rgba(15, 23, 32, 0.12);
}

.af-post-thumb {
	margin: -14px -14px 14px;
}

.af-post-thumb img {
	border-radius: 24px 24px 0 0;
	object-fit: cover;
}

.af-post-terms {
	margin: 0 0 10px;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--af-brand-deep);
}

.af-post-title {
	margin: 0 0 10px;
	font-size: 1.22rem;
	line-height: 1.24;
	letter-spacing: -0.03em;
}

.af-post-title a {
	color: var(--af-ink);
}

.af-post-excerpt {
	margin: 0;
	color: var(--af-ink-soft);
	line-height: 1.75;
	font-size: 0.98rem;
}

.af-post-meta {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--af-line);
}

.af-post-date,
.af-post-author,
.af-read-more,
.af-pagination {
	margin: 0;
	font-size: 0.88rem;
	color: var(--af-ink-soft);
}

.af-read-more a,
.af-nav-link a {
	font-weight: 800;
	color: var(--af-ink);
}

.af-empty-state {
	text-align: center;
}

.af-site-footer {
	margin-top: 28px;
	padding: clamp(28px, 3vw, 38px);
}

.af-footer-title {
	margin: 0 0 10px;
}

.af-footer-heading {
	margin-bottom: 12px;
	font-size: 1rem;
	letter-spacing: -0.03em;
}

.af-footer-nav {
	gap: 8px;
}

.af-footer-list {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--af-ink-soft);
	line-height: 1.75;
}

.af-single-title {
	font-size: clamp(2.4rem, 4.4vw, 4.8rem);
}

.af-page-shell {
	padding-bottom: 92px;
}

.af-page-hero,
.af-page-content-wrap {
	margin-top: 24px;
	padding: clamp(24px, 3vw, 38px);
	border: 1px solid rgba(255, 255, 255, 0.86);
	border-radius: var(--af-radius-xl);
	background: linear-gradient(180deg, rgba(255, 252, 248, 0.94), rgba(255, 248, 239, 0.82));
	box-shadow: var(--af-shadow-soft);
}

.af-page-title {
	font-size: clamp(2rem, 3.8vw, 3.6rem);
}

.af-page-content {
	font-size: 1rem;
	line-height: 1.9;
	color: var(--af-ink);
}

.af-page-content h2,
.af-page-content h3 {
	margin-top: 2.1em;
	margin-bottom: 0.7em;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.af-page-content p,
.af-page-content ul,
.af-page-content ol {
	margin-bottom: 1.05em;
}

.af-page-content a {
	color: var(--af-brand-deep);
}

.af-page-content input,
.af-page-content textarea,
.af-page-content select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--af-line-strong);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.82);
	font: inherit;
	color: var(--af-ink);
}

.af-page-content button,
.af-page-content input[type="submit"] {
	padding: 13px 20px;
	border: none;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--af-brand) 0%, #ff8b57 100%);
	color: #fff;
	font: inherit;
	font-weight: 800;
	box-shadow: 0 18px 32px rgba(255, 106, 61, 0.22);
}

.af-single-meta {
	margin-top: 18px;
	gap: 12px;
}

.af-single-content {
	font-size: 1.07rem;
	line-height: 1.92;
}

.af-single-content h2,
.af-single-content h3 {
	margin-top: 2.1em;
	margin-bottom: 0.7em;
	line-height: 1.18;
	letter-spacing: -0.03em;
}

.af-single-content p,
.af-single-content ul,
.af-single-content ol {
	margin-bottom: 1.05em;
}

.af-single-thumb img {
	border-radius: 24px;
}

.af-single-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.af-nav-link {
	padding: 18px;
	border: 1px solid var(--af-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.66);
}

.af-pagination {
	margin-top: 28px;
}

@media (max-width: 1100px) {
	.af-home-title {
		max-width: none;
	}

	.af-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.af-site-header {
		border-radius: 28px;
	}

	.af-site-nav-wrap {
		flex-wrap: wrap !important;
		justify-content: flex-start !important;
	}

	.af-signal-metrics,
	.af-post-grid,
	.af-single-nav {
		grid-template-columns: 1fr;
	}

	.af-home-hero-shell,
	.af-format-strip,
	.af-process-band,
	.af-latest-shell,
	.af-single-hero,
	.af-single-media,
	.af-single-content-wrap,
	.af-single-nav,
	.af-archive-hero,
	.af-page-hero,
	.af-page-content-wrap {
		padding-left: 18px;
		padding-right: 18px;
	}
}

