/* ============================================================
   Teaching section — scoped to .atl-teaching
   Matches the existing portfolio design language (DM Serif + DM
   Sans, deep-rose / warm-black palette).
   ============================================================ */

.atl-teaching {
	--atl-deep-rose:   #B5536E;
	--atl-soft-rose:   #E8879E;
	--atl-muted-rose:  #C4869A;
	--atl-warm-black:  #1C1212;
	--atl-deep-plum:   #4A3840;
	--atl-dusty-mauve: #8A7880;
	--atl-rose-white:  #FDF8F9;
	--atl-blush-cream: #FAF4F6;
	--atl-pale-blush:  #F0DDE3;

	background: var(--atl-rose-white);
	color: var(--atl-warm-black);
	font-family: 'DM Sans', system-ui, sans-serif;
	font-weight: 300;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	padding: 56px 0;
	box-sizing: border-box;
}
.atl-teaching *,
.atl-teaching *::before,
.atl-teaching *::after { box-sizing: border-box; }

.atl-teaching .atl-container { width: 100%; }

/* ── Shared ──────────────────────────────────────────────── */
.atl-teaching em { font-style: italic; color: var(--atl-deep-rose); }
.atl-teaching .atl-meta {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--atl-dusty-mauve);
}
.atl-teaching .atl-meta--accent { color: var(--atl-deep-rose); }

/* ── Grid ─────────────────────────────────────────────────── */
.atl-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 64px;
	align-items: start;
}
.atl-grid--single { grid-template-columns: 1fr; max-width: 820px; margin: 0 auto; }

/* ── Feature column ──────────────────────────────────────── */
.atl-feature {
	display: flex;
	flex-direction: column;
	gap: 32px;
	min-width: 0;
}

.atl-image {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 0.5px solid rgba(28, 18, 18, 0.18);
	background:
		linear-gradient(135deg, rgba(181,83,110,0.16) 0%, rgba(200,122,82,0.08) 50%, rgba(253,248,249,0) 100%),
		repeating-linear-gradient(45deg, rgba(28,18,18,0.035) 0px, rgba(28,18,18,0.035) 2px, transparent 2px, transparent 8px),
		var(--atl-pale-blush);
}
.atl-image.atl-image--photo {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.atl-image__overline {
	position: absolute;
	bottom: 16px;
	left: 16px;
	font-family: 'DM Sans', sans-serif;
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--atl-dusty-mauve);
	background: rgba(253, 248, 249, 0.78);
	padding: 4px 8px;
	backdrop-filter: blur(2px);
}
.atl-image:not(.atl-image--photo) .atl-image__overline {
	background: transparent;
	padding: 0;
}

.atl-image-caption {
	font-family: 'DM Serif Display', Georgia, serif;
	font-style: italic;
	font-size: 15px;
	color: var(--atl-deep-plum);
	letter-spacing: -0.005em;
	line-height: 1.5;
	margin: 0;
}

.atl-headline {
	font-family: 'DM Serif Display', Georgia, serif;
	font-weight: 400;
	font-size: 56px;
	letter-spacing: -0.025em;
	line-height: 1.02;
	margin: 0;
	color: var(--atl-warm-black);
}

.atl-body {
	font-size: 16px;
	line-height: 1.7;
	color: var(--atl-deep-plum);
	margin: 0;
}

/* ── Sidebar (dark slab cards) ───────────────────────────── */
.atl-side { display: flex; flex-direction: column; min-width: 0; }
.atl-card {
	padding: 28px 28px 32px;
	background: var(--atl-warm-black);
	color: var(--atl-rose-white);
	border-top: 0.5px solid rgba(253, 248, 249, 0.18);
}
.atl-card:first-child { border-top: none; }
.atl-card .atl-meta {
	color: var(--atl-soft-rose);
	margin-bottom: 14px;
}

.atl-card__name {
	font-family: 'DM Serif Display', Georgia, serif;
	font-weight: 400;
	font-size: 26px;
	letter-spacing: -0.015em;
	line-height: 1.15;
	margin: 0 0 4px;
	color: var(--atl-rose-white);
}
.atl-card__sub {
	font-size: 13px;
	color: rgba(253, 248, 249, 0.6);
	margin-bottom: 24px;
}
.atl-card__grid {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 10px 20px;
	font-size: 13px;
	margin: 0;
}
.atl-card__grid dt { color: rgba(253, 248, 249, 0.55); }
.atl-card__grid dd { margin: 0; color: var(--atl-rose-white); }

/* Stats */
.atl-stat-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.atl-stat__figure {
	font-family: 'DM Serif Display', Georgia, serif;
	font-weight: 400;
	font-size: 56px;
	line-height: 1;
	letter-spacing: -0.025em;
	color: var(--atl-rose-white);
}
.atl-stat__figure em { color: var(--atl-soft-rose); font-style: italic; }
.atl-stat__caption {
	font-size: 12px;
	color: rgba(253, 248, 249, 0.65);
	margin-top: 10px;
	line-height: 1.5;
}

/* Outcomes */
.atl-card--outcomes ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 16px;
}
.atl-card--outcomes li {
	display: grid;
	grid-template-columns: 16px 1fr;
	gap: 12px;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(253, 248, 249, 0.85);
}
.atl-card--outcomes li::before {
	content: "→";
	font-family: 'DM Sans', sans-serif;
	color: var(--atl-soft-rose);
	font-size: 14px;
	line-height: 1.5;
}

/* ── Ledger ──────────────────────────────────────────────── */
.atl-ledger {
	margin-top: 64px;
	padding-top: 40px;
	border-top: 0.5px solid var(--atl-warm-black);
}
.atl-ledger__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 24px;
	gap: 16px;
}
.atl-ledger__head h3 {
	font-family: 'DM Serif Display', Georgia, serif;
	font-weight: 400;
	font-size: 32px;
	letter-spacing: -0.015em;
	margin: 6px 0 0;
	color: var(--atl-warm-black);
}
.atl-talks--empty {
	padding: 32px;
	text-align: center;
	color: var(--atl-dusty-mauve);
	font-size: 14px;
	border: 0.5px dashed rgba(28, 18, 18, 0.22);
}

/* ── Testimonials ────────────────────────────────────────── */
.atl-testimonials {
	margin-top: 64px;
	padding-top: 40px;
	border-top: 0.5px solid var(--atl-warm-black);
}
.atl-testimonials__head {
	margin-bottom: 32px;
}
.atl-testimonials__head h3 {
	font-family: 'DM Serif Display', Georgia, serif;
	font-weight: 400;
	font-size: 28px;
	letter-spacing: -0.015em;
	margin: 6px 0 0;
	color: var(--atl-warm-black);
}
.atl-testimonials__grid {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: 0.5px solid rgba(28, 18, 18, 0.22);
}
.atl-testimonial {
	padding: 28px;
	border-right: 0.5px solid rgba(28, 18, 18, 0.18);
	border-bottom: 0.5px solid rgba(28, 18, 18, 0.18);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.atl-testimonial:nth-child(3n) { border-right: none; }
.atl-testimonial__quote {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: 18px;
	font-style: italic;
	letter-spacing: -0.005em;
	line-height: 1.45;
	color: var(--atl-warm-black);
	margin: 0;
}
.atl-testimonial__quote::before {
	content: "“";
	display: inline;
	margin-right: 2px;
}
.atl-testimonial__quote::after {
	content: "”";
	display: inline;
	margin-left: 2px;
}
.atl-testimonial__attribution {
	font-family: 'DM Sans', sans-serif;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--atl-dusty-mauve);
	margin-top: auto;
}
.atl-testimonial__role { color: var(--atl-deep-plum); font-weight: 500; }
.atl-testimonial__sep { margin: 0 6px; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 960px) {
	.atl-grid { grid-template-columns: 1fr; gap: 40px; }
	.atl-headline { font-size: 44px; }
}
@media (max-width: 960px) {
	.atl-testimonials__grid { grid-template-columns: repeat(2, 1fr); }
	.atl-testimonial:nth-child(3n) { border-right: 0.5px solid rgba(28, 18, 18, 0.18); }
	.atl-testimonial:nth-child(2n) { border-right: none; }
}
@media (max-width: 720px) {
	.atl-teaching { padding: 32px 0; }
	.atl-headline { font-size: 34px; }
	.atl-stat-row { grid-template-columns: 1fr; }
	.atl-stat__figure { font-size: 42px; }
	.atl-card { padding: 22px 22px 26px; }
	.atl-ledger { margin-top: 40px; padding-top: 28px; }
	.atl-ledger__head { flex-direction: column; align-items: flex-start; }
	.atl-ledger__head h3 { font-size: 24px; }
	.atl-testimonials { margin-top: 40px; padding-top: 28px; }
	.atl-testimonials__grid { grid-template-columns: 1fr; }
	.atl-testimonial { border-right: none !important; }
}

/* ── Print ───────────────────────────────────────────────── */
@media print {
	.atl-teaching { background: var(--atl-rose-white) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; padding: 0; }
	.atl-grid { gap: 32px; }
	.atl-headline { font-size: 38px; }
	.atl-body { font-size: 13px; line-height: 1.55; }
	.atl-feature { gap: 18px; }
	.atl-card { padding: 18px 20px 22px; }
	.atl-card__name { font-size: 20px; }
	.atl-card__grid { font-size: 11px; }
	.atl-stat__figure { font-size: 40px; }
	.atl-stat__caption { font-size: 11px; }
	.atl-card--outcomes li { font-size: 12px; }
	.atl-ledger { margin-top: 32px; padding-top: 24px; page-break-inside: avoid; }
	.atl-ledger__head h3 { font-size: 24px; }
}
