/* =========================================================
   InsuraBeat — About page
   Reuses .ib-arch-cover for the hero, then editorial sections.
   ========================================================= */

.ib-about { background: var(--ib-bg); }

/* Strip GP container constraints on this page (covered by global rules; explicit for safety). */
body.page-template-page-about .inside-article,
body.page-template-page-about article.page {
	background: transparent;
	padding: 0;
	box-shadow: none;
}

.ib-about-cover .ib-arch-cover__title { max-width: 22ch; }
.ib-about-cover .ib-arch-cover__inner { padding-top: var(--ib-sp-9); padding-bottom: var(--ib-sp-9); }

/* ---------- Generic section ---------- */
.ib-about__section {
	padding: var(--ib-sp-9) 0;
	background: #fff;
}

.ib-about__section--alt { background: var(--ib-bg-alt); }

.ib-about__section .ib-container { max-width: 1080px; }

.ib-about__eyebrow {
	margin: 0 0 var(--ib-sp-3);
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-xs);
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ib-accent);
}

.ib-about__h2 {
	font-family: var(--ib-font-serif);
	font-size: clamp(1.625rem, 3vw, var(--ib-fs-2xl));
	color: var(--ib-navy-900);
	line-height: 1.18;
	letter-spacing: -0.015em;
	margin: 0 0 var(--ib-sp-5);
	max-width: 22ch;
}

.ib-about__lead {
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-md);
	line-height: 1.6;
	color: var(--ib-ink-muted);
	margin: 0 0 var(--ib-sp-6);
	max-width: 64ch;
}

.ib-about__prose {
	font-family: var(--ib-font-serif);
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--ib-ink);
	max-width: 65ch;
}

.ib-about__prose p { margin: 0 0 1.1em; }
.ib-about__prose p:last-child { margin-bottom: 0; }
.ib-about__prose strong { color: var(--ib-navy-900); }

/* ---------- 4-axes matrix ---------- */
.ib-about__matrix {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--ib-sp-5);
	margin-top: var(--ib-sp-5);
}

@media (max-width: 720px) { .ib-about__matrix { grid-template-columns: 1fr; } }

.ib-about__axis {
	background: #fff;
	border: 1px solid var(--ib-line);
	border-radius: var(--ib-radius-lg);
	padding: var(--ib-sp-5);
	transition: border-color var(--ib-dur) var(--ib-ease), box-shadow var(--ib-dur) var(--ib-ease);
}

.ib-about__axis:hover {
	border-color: var(--ib-navy-200);
	box-shadow: var(--ib-shadow);
}

.ib-about__axis-title {
	font-family: var(--ib-font-serif);
	font-size: var(--ib-fs-lg);
	color: var(--ib-navy-900);
	margin: 0 0 var(--ib-sp-3);
	display: flex;
	align-items: baseline;
	gap: var(--ib-sp-3);
}

.ib-about__axis-title span {
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--ib-accent);
}

.ib-about__axis p {
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-sm);
	line-height: 1.55;
	color: var(--ib-ink-muted);
	margin: 0;
}

/* ---------- Daily rhythm schedule ---------- */
.ib-about__schedule {
	list-style: none;
	margin: var(--ib-sp-5) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--ib-sp-4);
}

@media (max-width: 720px) { .ib-about__schedule { grid-template-columns: 1fr; } }

.ib-about__schedule li {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: var(--ib-sp-4);
	padding: var(--ib-sp-4);
	background: #fff;
	border: 1px solid var(--ib-line);
	border-radius: var(--ib-radius);
	border-left: 3px solid var(--ib-accent);
}

.ib-about__slot {
	font-family: var(--ib-font-serif);
	font-size: var(--ib-fs-lg);
	font-weight: 700;
	color: var(--ib-navy-900);
	letter-spacing: -0.01em;
	line-height: 1.1;
}

.ib-about__schedule strong {
	display: block;
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-sm);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ib-navy-800);
	margin-bottom: 4px;
}

.ib-about__schedule p {
	margin: 0;
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-sm);
	line-height: 1.5;
	color: var(--ib-ink-muted);
}

.ib-about__rhythm-foot {
	margin-top: var(--ib-sp-5);
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-sm);
	color: var(--ib-ink-soft);
	font-style: italic;
}

/* ---------- Author cards ---------- */
.ib-about__authors {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--ib-sp-5);
	margin-top: var(--ib-sp-5);
}

@media (max-width: 860px) { .ib-about__authors { grid-template-columns: 1fr; } }

.ib-about__author {
	background: #fff;
	border: 1px solid var(--ib-line);
	border-radius: var(--ib-radius-lg);
	padding: var(--ib-sp-6);
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: var(--ib-sp-5);
	align-items: start;
}

@media (max-width: 600px) {
	.ib-about__author { grid-template-columns: 1fr; text-align: center; }
	.ib-about__author-avatar { margin: 0 auto; }
}

.ib-about__author-avatar {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--ib-navy-100);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ib-navy-800);
	font-family: var(--ib-font-serif);
	font-size: 2.5rem;
	font-weight: 700;
}

.ib-about__author-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ib-about__author-name {
	font-family: var(--ib-font-serif);
	font-size: var(--ib-fs-xl);
	color: var(--ib-navy-900);
	margin: 0 0 6px;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.ib-about__author-role {
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-xs);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ib-accent);
	margin: 0 0 var(--ib-sp-3);
}

.ib-about__author-bio {
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-sm);
	line-height: 1.6;
	color: var(--ib-ink-muted);
	margin: 0 0 var(--ib-sp-3);
}

.ib-about__author-more {
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ib-navy-800);
}

.ib-about__author-more:hover { color: var(--ib-accent); }

.ib-about__author-meta { margin: 0; }

/* ---------- Editorial standards ---------- */
.ib-about__principles {
	list-style: none;
	margin: var(--ib-sp-5) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--ib-sp-5);
}

@media (max-width: 720px) { .ib-about__principles { grid-template-columns: 1fr; } }

.ib-about__principles li {
	padding: var(--ib-sp-5) 0 var(--ib-sp-5) var(--ib-sp-5);
	border-left: 2px solid var(--ib-accent);
}

.ib-about__principles h3 {
	font-family: var(--ib-font-serif);
	font-size: var(--ib-fs-lg);
	color: var(--ib-navy-900);
	margin: 0 0 var(--ib-sp-2);
	letter-spacing: -0.005em;
}

.ib-about__principles p {
	font-family: var(--ib-font-sans);
	font-size: var(--ib-fs-sm);
	line-height: 1.6;
	color: var(--ib-ink-muted);
	margin: 0;
}
