/* Manifesto section — full width after removing aside */
	.ab-manifesto__grid {
		grid-template-columns: 1fr !important;
	}
	.ab-manifesto__body {
		max-width: 720px;
		margin: 0 auto;
		text-align: center;
	}
	.ab-manifesto__lede {
		margin: clamp(1.6rem, 3vw, 2.4rem) auto 0;
		max-width: 44rem;
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: clamp(1.15rem, 1.6vw, 1.4rem);
		line-height: 1.6;
		color: rgba(46, 41, 33, 0.78);
	}

	/* Typewriter effect */
	.js-typewriter {
		display: inline-block;
		min-height: 1.1em;
		white-space: pre-wrap;
	}
	.js-typewriter::after {
		content: '';
		display: inline-block;
		width: 2px;
		height: 0.95em;
		margin-left: 0.08em;
		vertical-align: -0.08em;
		background: currentColor;
		opacity: 0.85;
		animation: tw-caret 1s steps(1) infinite;
	}
	@keyframes tw-caret {
		50% { opacity: 0; }
	}

	/* My Story hero — brighter overlay so the bg image shows through */
	.ab-hero__bg-overlay {
		background:
			radial-gradient(50% 70% at 0% 0%, rgba(95, 123, 69, 0.18) 0%, transparent 60%),
			radial-gradient(45% 65% at 100% 100%, rgba(221, 135, 30, 0.14) 0%, transparent 60%),
			linear-gradient(160deg, rgba(15, 22, 18, 0.18) 0%, rgba(15, 22, 18, 0.4) 100%) !important;
	}
	.ab-hero__bg-grain {
		opacity: 0.1 !important;
	}

	@media (max-width: 899px) {
		/* Match Offerings / Contact mobile hero — compact, cover-fill */
		.ab-hero {
			min-height: clamp(20rem, 75vw, 28rem) !important;
			height: auto !important;
			aspect-ratio: auto !important;
			padding: calc(var(--site-header-height) + clamp(1.25rem, 4vw, 2rem)) 0 clamp(2.5rem, 7vw, 4rem) !important;
			display: flex !important;
			align-items: center !important;
			justify-content: center !important;
		}

		.ab-hero__bg img {
			width: 100% !important;
			height: 100% !important;
			object-fit: cover !important;
			object-position: center center !important;
			transform: none !important;
			animation: none !important;
			opacity: 1 !important;
			mix-blend-mode: normal !important;
			filter: none !important;
		}

		.ab-hero__inner {
			display: flex !important;
			flex-direction: column;
			align-items: center !important;
			justify-content: center !important;
			justify-items: center !important;
			text-align: center !important;
			width: 100%;
			min-height: 0 !important;
			padding-left: clamp(1rem, 4vw, 1.5rem);
			padding-right: clamp(1rem, 4vw, 1.5rem);
			box-sizing: border-box;
		}

		.ab-hero__title--story {
			text-align: center !important;
			justify-items: center !important;
		}

		.ab-hero__ornament {
			display: none !important;
		}
	}

	@media (min-width: 900px) {
		/* My Story hero — fix J descender clipping and order; right-align hero text */
		.ab-hero__inner {
			justify-items: end;
			text-align: right;
		}
		.ab-hero__title--story {
			gap: 0.6rem;
			text-align: right;
			justify-items: end;
		}
		.ab-hero__title--story .ab-word--name {
			line-height: 1.05;
			padding-bottom: 0.12em;
			display: inline-block;
		}
		.ab-hero__title--story .ab-hero__lines--top {
			font-size: clamp(1rem, 1.5vw, 1.3rem);
			letter-spacing: 0.18em;
			text-transform: uppercase;
			font-style: italic;
		}
		.ab-hero__title--story .ab-hero__lines--top .ab-hero__line--em {
			font-size: clamp(1rem, 1.5vw, 1.3rem);
			text-transform: uppercase;
			letter-spacing: 0.32em;
		}
	}

	/* ==========================================================
	   AB-STORY — single-column editorial: photo + flowing text
	   ========================================================== */
	.ab-story {
		display: block;
		width: 100%;
		background: #ede2c9;
		padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 3vw, 3rem);
		box-sizing: border-box;
	}
	.ab-story__inner {
		display: block;
		width: 100%;
		max-width: 760px;
		margin: 0 auto;
	}

	/* Photo — narrower, centred at top */
	.ab-story__photo {
		margin: 0 auto clamp(3rem, 5vw, 4rem);
		max-width: 480px;
		display: flex;
		flex-direction: column;
		gap: 0.8rem;
	}
	.ab-story__photo-frame {
		position: relative;
		width: 100%;
		aspect-ratio: 4 / 5;
		overflow: hidden;
		border-radius: 2px;
		box-shadow: 0 24px 60px -28px rgba(46, 41, 33, 0.4);
	}
	.ab-story__photo-frame::after {
		content: '';
		position: absolute;
		inset: 0;
		box-shadow: inset 0 0 0 1px rgba(255, 253, 248, 0.18);
		pointer-events: none;
	}
	.ab-story__photo-frame img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.ab-story__caption {
		display: flex;
		flex-direction: column;
		gap: 0.35rem;
	}
	.ab-story__caption-tag {
		font-family: var(--font-sans);
		font-size: 0.7rem;
		letter-spacing: 0.22em;
		text-transform: uppercase;
		color: rgba(46, 41, 33, 0.55);
	}
	.ab-story__caption-text {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: 0.95rem;
		color: rgba(46, 41, 33, 0.65);
	}

	/* Body — wider, more generous typography */
	.ab-story__text {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(1.1rem, 1.4vw, 1.25rem);
		line-height: 1.8;
		color: rgba(46, 41, 33, 0.92);
		max-width: 720px;
		margin: 0 auto;
	}
	.ab-story__title {
		margin: 0 0 clamp(1.6rem, 3vw, 2.4rem);
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-weight: 400;
		font-size: clamp(2rem, 3.6vw, 3rem);
		line-height: 1.1;
		letter-spacing: -0.005em;
		color: #2e2921;
		text-align: center;
	}
	.ab-story__title em {
		font-style: italic;
		color: #6f4c1f;
	}
	.ab-story__text > p {
		margin: 0 0 1.4rem 0;
	}
	.ab-story__text > p:first-of-type::first-letter {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-weight: 500;
		font-size: 3.4em;
		line-height: 0.85;
		float: left;
		padding: 0.05em 0.14em 0 0;
		color: #6f4c1f;
	}
	.ab-story__text > p:last-child {
		margin-bottom: 0;
	}

	/* Closing pull-quote */
	.ab-story__pull {
		margin: clamp(3.5rem, 6vw, 5rem) auto 0;
		max-width: 60rem;
		text-align: center;
		padding-top: clamp(2.5rem, 5vw, 4rem);
		border-top: 1px solid rgba(46, 41, 33, 0.12);
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: clamp(1.3rem, 1.9vw, 1.7rem);
		line-height: 1.5;
		color: rgba(46, 41, 33, 0.88);
	}
	.ab-story__pull blockquote {
		margin: 0;
		display: flex;
		flex-direction: column;
		gap: 0.55em;
	}
	.ab-story__pull-credit {
		display: block;
		margin-top: 1.6rem;
		font-family: var(--font-sans);
		font-style: normal;
		font-size: 0.7rem;
		letter-spacing: 0.22em;
		text-transform: uppercase;
		color: rgba(46, 41, 33, 0.55);
	}

	/* Trainings list — single column, no tags, tighter spacing */
	.ab-trainings__list--no-roman .ab-train {
		grid-template-columns: 1fr;
	}
	.ab-trainings { padding: clamp(3.5rem, 6vw, 5rem) 0 clamp(4rem, 7vw, 6rem) !important; }
	.ab-trainings__list--no-roman .ab-train {
		padding: clamp(0.9rem, 1.8vw, 1.3rem) 0 !important;
	}
	.ab-trainings__list--no-roman .ab-train__title {
		font-size: clamp(1.05rem, 1.5vw, 1.3rem) !important;
	}
	.ab-trainings__list--no-roman .ab-train__detail {
		font-size: 0.88rem !important;
	}
