:root{--cbf-deep:#011c39;--cbf-navy:#04294c;--cbf-blue:#0a4774;--cbf-coral:#e96747;--cbf-white:#fff;--cbf-soft:#e8ecee;--cbf-text:#344454;--cbf-border:#c9d4da}html{scroll-behavior:smooth}body{background:var(--cbf-white);color:var(--cbf-text)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--cbf-coral);outline-offset:3px}.cbf-site-header{position:sticky;top:0;z-index:30;background:var(--cbf-navy);border-bottom:3px solid transparent}.cbf-site-header.is-scrolled{border-color:var(--cbf-coral)}.cbf-brand{display:inline-flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none}.cbf-brand img{width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.35);border-radius:3px;background:#fff}.cbf-brand__lead,.cbf-brand__accent{display:block;font-family:"Playfair Display",Georgia,serif;font-weight:700;line-height:1;letter-spacing:.13em}.cbf-brand__lead{font-size:.78rem}.cbf-brand__accent{margin-top:.22rem;color:#fff;font-size:.67rem;letter-spacing:.22em}.cbf-navigation{gap:1.35rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.cbf-navigation .wp-block-navigation-item__content{color:#fff;text-decoration:none}.cbf-navigation .wp-block-navigation-item__content:hover,.cbf-navigation .wp-block-navigation-item__content:focus,.cbf-navigation .wp-block-navigation-item.current-menu-item>.wp-block-navigation-item__content{color:var(--cbf-coral)}.cbf-navigation .cbf-nav-cta .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:2.55rem;padding:0 .9rem;background:var(--cbf-coral);color:#fff;border-radius:2px}.cbf-navigation .cbf-nav-cta .wp-block-navigation-item__content:hover{background:#d65335;color:#fff}.cbf-hero{background:var(--cbf-soft);border-bottom:1px solid var(--cbf-border);padding:clamp(2rem,5vw,5rem) 0}.cbf-hero .wp-block-columns{gap:0}.cbf-hero-visual{min-height:29rem;display:flex;align-items:flex-end;padding:2rem;background:linear-gradient(145deg,var(--cbf-blue),var(--cbf-deep));position:relative;overflow:hidden}.cbf-hero-visual:before,.cbf-work-card:before{content:"";position:absolute;inset:1.35rem;border:1px solid rgba(255,255,255,.55);background:repeating-linear-gradient(90deg,transparent 0 22%,rgba(255,255,255,.12) 22.4% 23%),repeating-linear-gradient(0deg,transparent 0 28%,rgba(255,255,255,.10) 28.4% 29%)}.cbf-hero-visual>*{position:relative;color:#fff}.cbf-hero-copy{display:flex;align-items:center;padding:clamp(2rem,5vw,5rem);background:var(--cbf-deep)}.cbf-hero-copy h1{margin:0;color:#fff;font-size:clamp(2.9rem,5.4vw,5.9rem)}.cbf-hero-copy .has-muted-color{color:#d5e0e5!important}.cbf-eyebrow,.cbf-card__number{margin:0 0 1rem;color:var(--cbf-coral);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.cbf-section{padding:clamp(3.7rem,7vw,6.5rem) 0}.cbf-section--panel{background:var(--cbf-soft)}.cbf-section--ink{background:var(--cbf-deep);color:#fff}.cbf-section--ink h1,.cbf-section--ink h2,.cbf-section--ink h3{color:#fff}.cbf-section--ink .has-muted-color,.cbf-section--ink p{color:#d5e0e5}.cbf-section--gold{background:var(--cbf-navy);color:#fff;border-top:4px solid var(--cbf-coral)}.cbf-section--gold h2,.cbf-section--gold p{color:#fff!important}.cbf-section-title{margin-bottom:2.4rem}.cbf-section-title h2{color:var(--cbf-navy);margin:.5rem 0;font-size:clamp(2.1rem,4vw,3.5rem)}.cbf-section-title p:last-child{max-width:43rem}.wp-block-button__link{background:var(--cbf-coral)!important;color:#fff!important;border-radius:2px!important;font-weight:700}.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--cbf-navy)!important;border:2px solid var(--cbf-navy)!important}.cbf-section--ink .is-style-outline .wp-block-button__link{color:#fff!important;border-color:#fff!important}.cbf-card{height:100%;padding:1.55rem;background:#fff;border:1px solid var(--cbf-border);border-radius:0;box-shadow:0 3px 10px rgba(1,28,57,.05)}.cbf-card h3,.cbf-card h2{color:var(--cbf-navy);margin:.7rem 0}.cbf-card p{color:var(--cbf-text)}.cbf-work-card{position:relative;min-height:24rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding-top:11rem}.cbf-work-card:before{inset:0;background:linear-gradient(160deg,rgba(10,71,116,.84),rgba(1,28,57,.92))}.cbf-work-card>*{position:relative}.cbf-work-card h2,.cbf-work-card h3,.cbf-work-card p{color:#fff}.cbf-work-card .cbf-card__number{color:#ff9a83}.cbf-process{border-top:1px solid rgba(233,103,71,.65)}.cbf-process .wp-block-column{padding:1.3rem 1rem;border-bottom:1px solid rgba(233,103,71,.42)}.cbf-process .wp-block-column p:first-child{color:var(--cbf-coral);font-size:.78rem;font-weight:800}.cbf-future-card{border:2px solid var(--cbf-coral);padding:2rem;background:#fff}.cbf-future-card h3{color:var(--cbf-navy)!important}.cbf-future-card p{color:var(--cbf-text)!important}.cbf-info-band{background:#fff;border-top:1px solid var(--cbf-border);border-bottom:1px solid var(--cbf-border)}.cbf-info-band h3{color:var(--cbf-navy)}.cbf-footer{background:var(--cbf-deep);border-top:5px solid var(--cbf-coral)}.cbf-footer h2,.cbf-footer h3{color:#fff;margin-top:0}.cbf-footer p,.cbf-footer a{color:#d5e0e5;text-decoration:none}.cbf-footer a:hover,.cbf-footer a:focus{color:var(--cbf-coral)}.cbf-footer__mark{width:2.6rem;height:2.6rem;background:#fff;border-radius:3px}@media(max-width:781px){.cbf-site-header .wp-block-group{padding-top:.85rem!important;padding-bottom:.85rem!important}.cbf-brand__lead{font-size:.68rem}.cbf-brand__accent{font-size:.58rem}.cbf-navigation{gap:0}.cbf-navigation .wp-block-navigation__responsive-container-open{color:#fff}.cbf-navigation .wp-block-navigation__responsive-container.is-menu-open{background:var(--cbf-deep);color:#fff}.cbf-navigation .wp-block-navigation__responsive-container-content{padding:2rem}.cbf-navigation .wp-block-navigation__container{align-items:flex-start!important;gap:1rem!important}.cbf-navigation .wp-block-navigation-item__content{font-size:.9rem}.cbf-navigation .cbf-nav-cta .wp-block-navigation-item__content{padding:.9rem 1rem}.cbf-hero{padding:0}.cbf-hero-visual{min-height:16rem}.cbf-hero-copy{padding:3rem 1.4rem}.cbf-section{padding:4rem 0}}
@media(min-width:782px){.cbf-hero-copy h1{font-size:clamp(2.7rem,3.3vw,4rem)}}.cbf-navigation .wp-block-navigation-item__content{color:#fff!important}


/* =========================================================
   CB FILMS — PATCH 01
   Wider institutional layout, contact page and footer polish
   ========================================================= */

.cbf-main,
.cbf-main--front {
	margin: 0;
	padding: 0;
}

.cbf-main > .wp-block-post-content,
.cbf-main--front > .wp-block-post-content {
	margin-block-start: 0;
}

.cbf-hero,
.cbf-section {
	box-sizing: border-box;
	width: min(calc(100% - 2rem), 1280px);
	margin-inline: auto;
}

.cbf-section {
	padding-left: clamp(1.25rem, 3vw, 3.25rem);
	padding-right: clamp(1.25rem, 3vw, 3.25rem);
}

.cbf-section--panel {
	background: var(--cbf-soft);
}

.cbf-section--ink {
	background: var(--cbf-deep);
}

.cbf-section + .cbf-section {
	margin-top: 1.25rem;
}

.cbf-main .wp-block-heading {
	text-wrap: balance;
}

.cbf-main p {
	text-wrap: pretty;
}


/* Better body scale */

.cbf-main p {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
}

.cbf-main h1 {
	font-size: clamp(2.6rem, 5vw, 4.9rem);
}

.cbf-main h2 {
	font-size: clamp(2rem, 3.5vw, 3.25rem);
}

.cbf-main h3 {
	font-size: clamp(1.25rem, 2vw, 1.65rem);
}


/* Contact */

.cbf-contact-hero {
	padding-top: clamp(3rem, 6vw, 5.5rem);
	padding-bottom: clamp(3rem, 6vw, 5.5rem);
}

.cbf-contact-hero > * {
	max-width: 52rem;
}

.cbf-contact-hero .wp-block-button__link {
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	padding: 1rem 1.35rem;
}

.cbf-contact-area {
	background: var(--cbf-white);
}

.cbf-contact-intro {
	max-width: 48rem;
	margin-bottom: 2.25rem;
}

.cbf-contact-grid {
	gap: 1rem;
}

.cbf-contact-card {
	height: 100%;
	padding: clamp(1.4rem, 2.5vw, 2rem);
	border: 1px solid var(--cbf-border);
	background: var(--cbf-white);
	box-shadow: 0 3px 12px rgba(1, 28, 57, .045);
}

.cbf-contact-card h3 {
	margin-top: 0;
	color: var(--cbf-navy);
}

.cbf-contact-card p {
	margin-bottom: .75rem;
}

.cbf-contact-card a {
	color: var(--cbf-blue);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
}

.cbf-contact-card a:hover,
.cbf-contact-card a:focus {
	color: var(--cbf-coral);
}

.cbf-application-note {
	margin-top: 2rem;
	padding: clamp(1.3rem, 2.5vw, 2rem);
	background: var(--cbf-soft);
	border-left: 5px solid var(--cbf-coral);
}

.cbf-application-note h3 {
	margin-top: 0;
	margin-bottom: .65rem;
	color: var(--cbf-navy);
}

.cbf-application-note p {
	max-width: 52rem;
	margin-bottom: 0;
}


/* Footer */

.cbf-footer {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin-top: clamp(2rem, 5vw, 4rem);
	padding: clamp(3rem, 5vw, 4.5rem) max(1.25rem, calc((100vw - 1280px) / 2));
	background: var(--cbf-deep);
	border-top: 5px solid var(--cbf-coral);
}

.cbf-footer__columns {
	gap: clamp(1.75rem, 4vw, 4rem);
	margin-bottom: 2rem;
}

.cbf-footer h2,
.cbf-footer h3,
.cbf-footer .cbf-footer__title {
	color: #fff !important;
}

.cbf-footer p,
.cbf-footer li,
.cbf-footer a,
.cbf-footer .cbf-footer__statement {
	color: #dbe6eb !important;
}

.cbf-footer .cbf-footer__statement {
	max-width: 24rem;
}

.cbf-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cbf-footer li {
	margin: .45rem 0;
}

.cbf-footer a {
	text-decoration: none;
}

.cbf-footer a:hover,
.cbf-footer a:focus {
	color: var(--cbf-coral) !important;
}

.cbf-footer__bottom {
	margin-top: 2rem;
	padding-top: 1.2rem;
	border-top: 1px solid rgba(255,255,255,.35);
}

.cbf-footer__bottom p {
	margin: 0;
	font-size: .82rem !important;
}

.cbf-footer__mark {
	margin-bottom: 1rem;
}


/* Tablet */

@media (max-width: 900px) {

	.cbf-hero,
	.cbf-section {
		width: min(calc(100% - 1.5rem), 1280px);
	}

}


/* Mobile */

@media (max-width: 781px) {

	.cbf-section {
		padding: 3rem 1.25rem;
	}

	.cbf-section + .cbf-section {
		margin-top: .75rem;
	}

	.cbf-contact-grid {
		gap: .8rem;
	}

	.cbf-footer {
		padding: 3rem 1.25rem 2rem;
	}

	.cbf-footer__columns {
		gap: 1.4rem;
	}

	.cbf-footer__bottom {
		align-items: flex-start !important;
		gap: .5rem;
	}

}


/* =========================================================
   CB FILMS — PATCH 02
   Platform homepage
   ========================================================= */

/* Remove Gutenberg/template gaps around main site regions */
body,
.wp-site-blocks {
	margin: 0;
}

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

.wp-site-blocks > *,
.cbf-main,
.cbf-main--front,
.cbf-main > .wp-block-post-content,
.cbf-main--front > .wp-block-post-content {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.cbf-main > .wp-block-post-content > *,
.cbf-main--front > .wp-block-post-content > * {
	margin-block-start: 0;
	margin-block-end: 0;
}


/* Platform hero */

.cbf-platform-hero {
	width: min(calc(100% - 2rem), 1280px);
	margin-inline: auto;
	background: var(--cbf-soft);
}

.cbf-platform-hero .wp-block-columns {
	gap: 0;
	margin: 0;
}

.cbf-platform-hero__visual {
	position: relative;
	min-height: clamp(28rem, 42vw, 38rem);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background:
		linear-gradient(135deg, rgba(10,71,116,.82), rgba(1,28,57,.95));
}

.cbf-platform-hero__visual::before {
	content: "";
	position: absolute;
	inset: 1.5rem;
	border: 1px solid rgba(255,255,255,.5);
	background:
		linear-gradient(90deg,
			transparent 0 24%,
			rgba(255,255,255,.12) 24.3% 24.8%,
			transparent 25% 49%,
			rgba(255,255,255,.12) 49.3% 49.8%,
			transparent 50% 74%,
			rgba(255,255,255,.12) 74.3% 74.8%,
			transparent 75%),
		linear-gradient(0deg,
			transparent 0 32%,
			rgba(255,255,255,.12) 32.3% 32.8%,
			transparent 33% 65%,
			rgba(255,255,255,.12) 65.3% 65.8%,
			transparent 66%);
}

.cbf-platform-hero__visual > * {
	position: relative;
	z-index: 2;
	color: #fff;
}

.cbf-platform-hero__visual p:last-child {
	max-width: 19rem;
	font-size: 1.1rem;
}

.cbf-platform-hero__copy {
	display: flex;
	align-items: center;
	min-height: clamp(28rem, 42vw, 38rem);
	padding: clamp(2.5rem, 5vw, 5rem);
	background: var(--cbf-deep);
}

.cbf-platform-hero__copy h1 {
	max-width: 10ch;
	margin: .5rem 0 1.25rem;
	color: #fff;
	font-size: clamp(3rem, 4.8vw, 5.2rem);
	line-height: 1.02;
}

.cbf-platform-hero__copy .cbf-hero-summary {
	max-width: 34rem;
	color: #dbe6eb;
	font-size: clamp(1.2rem, 1.8vw, 1.6rem);
}


/* Platform destinations */

.cbf-platform {
	background: #fff;
}

.cbf-platform-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.cbf-platform-grid > .wp-block-group {
	margin: 0 !important;
}

.cbf-platform-card {
	position: relative;
	min-height: 15rem;
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	background: #fff;
	border: 1px solid var(--cbf-border);
	transition:
		transform .18s ease,
		border-color .18s ease,
		box-shadow .18s ease;
}

.cbf-platform-card:hover {
	transform: translateY(-3px);
	border-color: var(--cbf-blue);
	box-shadow: 0 10px 25px rgba(1,28,57,.08);
}

.cbf-platform-card h3 {
	margin: .25rem 0 .7rem;
	color: var(--cbf-navy);
	font-size: clamp(1.55rem, 2.2vw, 2rem);
}

.cbf-platform-card p {
	margin-top: 0;
}

.cbf-platform-card__status {
	margin-top: auto !important;
	padding-top: 1.5rem;
	color: var(--cbf-coral) !important;
	font-size: .77rem !important;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cbf-platform-card--active {
	border-top: 5px solid var(--cbf-coral);
}

.cbf-platform-card--future {
	background: var(--cbf-soft);
}


/* Writers Room feature */

.cbf-wr-feature {
	background: var(--cbf-soft);
}

.cbf-wr-feature__grid {
	align-items: stretch !important;
}

.cbf-wr-feature__copy {
	padding: clamp(1.5rem, 3vw, 3rem);
	background: #fff;
	border: 1px solid var(--cbf-border);
}

.cbf-wr-feature__copy h2 {
	max-width: 12ch;
}

.cbf-wr-feature__aside {
	padding: clamp(1.5rem, 3vw, 3rem);
	background: var(--cbf-navy);
	color: #fff;
}

.cbf-wr-feature__aside h3 {
	color: #fff;
}

.cbf-wr-feature__aside p {
	color: #dbe6eb;
}

.cbf-wr-locations {
	display: inline-flex;
	gap: .65rem;
	margin-top: 1rem;
}

.cbf-wr-locations span {
	padding: .4rem .7rem;
	border: 1px solid rgba(255,255,255,.4);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}


/* Institutional three-column information row */

.cbf-institution-band {
	background: #fff;
	border-top: 1px solid var(--cbf-border);
	border-bottom: 1px solid var(--cbf-border);
}

.cbf-institution-band .wp-block-column {
	padding-right: clamp(1rem, 3vw, 2.5rem);
}

.cbf-institution-band .wp-block-column:not(:last-child) {
	border-right: 1px solid var(--cbf-border);
}

.cbf-institution-band h3 {
	color: var(--cbf-navy);
}


/* Future SWE feature */

.cbf-swe-feature {
	background: var(--cbf-navy);
	color: #fff;
}

.cbf-swe-feature h2,
.cbf-swe-feature h3 {
	color: #fff;
}

.cbf-swe-feature p {
	color: #dbe6eb;
}

.cbf-swe-badge {
	display: inline-block;
	padding: .4rem .7rem;
	background: var(--cbf-coral);
	color: #fff !important;
	font-size: .72rem !important;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}


/* Responsive */

@media (max-width: 960px) {
	.cbf-platform-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {

	.cbf-platform-hero {
		width: 100%;
	}

	.cbf-platform-hero__visual,
	.cbf-platform-hero__copy {
		min-height: auto;
	}

	.cbf-platform-hero__visual {
		min-height: 18rem;
	}

	.cbf-platform-hero__copy {
		padding: 3rem 1.4rem;
	}

	.cbf-platform-hero__copy h1 {
		font-size: clamp(2.7rem, 13vw, 4rem);
	}

	.cbf-platform-grid {
		grid-template-columns: 1fr;
	}

	.cbf-platform-card {
		min-height: auto;
	}

	.cbf-institution-band .wp-block-column:not(:last-child) {
		border-right: 0;
		border-bottom: 1px solid var(--cbf-border);
		padding-bottom: 1.5rem;
	}

}


/* =========================================================
   CB FILMS — PATCH 02A
   Typography, internal heroes and Selected Work refinement
   ========================================================= */


/* ---------------------------------------------------------
   GLOBAL TYPE SCALE
   Keep Playfair editorial, but stop headings dominating pages
   --------------------------------------------------------- */

.cbf-main h1 {
	font-size: clamp(2.65rem, 4.15vw, 4.15rem);
	line-height: 1.03;
	letter-spacing: -.025em;
}

.cbf-main h2,
.cbf-section-title h2 {
	font-size: clamp(2rem, 3vw, 2.9rem);
	line-height: 1.08;
	letter-spacing: -.018em;
}

.cbf-main h3 {
	font-size: clamp(1.3rem, 1.8vw, 1.75rem);
	line-height: 1.12;
}

.cbf-platform-hero__copy h1 {
	max-width: 12ch;
	font-size: clamp(2.85rem, 4vw, 4.35rem);
	line-height: 1.015;
}

.cbf-platform-hero__copy .cbf-hero-summary {
	font-size: clamp(1.12rem, 1.45vw, 1.42rem);
	line-height: 1.5;
}


/* ---------------------------------------------------------
   INTERNAL PAGE HEROES
   --------------------------------------------------------- */

.cbf-main .cbf-section--ink:first-child {
	padding-top: clamp(3rem, 5vw, 4.5rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

.cbf-main .cbf-section--ink:first-child > h1,
.cbf-main .cbf-section--ink:first-child > .wp-block-heading:first-of-type {
	max-width: 15ch;
	margin-bottom: 1.25rem;
}

.cbf-main .cbf-section--ink:first-child > p:not(.cbf-eyebrow) {
	max-width: 52rem;
	font-size: clamp(1.12rem, 1.55vw, 1.42rem);
	line-height: 1.55;
}


/* WordPress preset colours can carry !important.
   Force readable text inside navy areas. */

.cbf-section--ink .has-muted-color,
.cbf-section--ink .has-muted-color.has-text-color,
.cbf-section--ink p.has-muted-color,
.cbf-section--ink p {
	color: #dbe6eb !important;
}

.cbf-section--ink .cbf-eyebrow {
	color: var(--cbf-coral) !important;
}

.cbf-section--ink h1,
.cbf-section--ink h2,
.cbf-section--ink h3,
.cbf-section--ink .wp-block-heading {
	color: #fff !important;
}


/* ---------------------------------------------------------
   WRITERS' ROOM PROGRAMME
   --------------------------------------------------------- */

.cbf-process {
	margin-top: 2.4rem;
}

.cbf-process .wp-block-column {
	padding: 1.35rem 1rem 1.5rem;
}

.cbf-process .wp-block-column h3 {
	margin-top: .5rem;
	margin-bottom: .65rem;
	font-size: clamp(1.45rem, 1.8vw, 1.8rem);
}

.cbf-process .wp-block-column p {
	font-size: 1rem;
	line-height: 1.5;
}


/* ---------------------------------------------------------
   SELECTED WORK
   Image-ready editorial film cards
   --------------------------------------------------------- */

.cbf-work-card {
	position: relative;
	min-height: 0;
	height: 100%;
	display: block;
	overflow: hidden;

	/* room for image/still */
	padding: 13rem 1.6rem 1.7rem;

	background: #fff;
	border: 1px solid var(--cbf-border);
	box-shadow: 0 4px 14px rgba(1,28,57,.055);
}


/* Replace old full-card blue treatment with an image region */

.cbf-work-card::before {
	content: "";
	position: absolute;

	top: 0;
	left: 0;
	right: 0;

	height: 11rem;

	border: 0;

	background:
		linear-gradient(
			145deg,
			rgba(10,71,116,.80),
			rgba(1,28,57,.96)
		);

	transition:
		transform .3s ease,
		filter .3s ease;
}


/* Cinematic frame lines while real stills are not yet present */

.cbf-work-card::after {
	content: "";

	position: absolute;

	top: 1rem;
	left: 1rem;
	right: 1rem;

	height: 9rem;

	border: 1px solid rgba(255,255,255,.38);

	background:
		linear-gradient(
			90deg,
			transparent 0 32%,
			rgba(255,255,255,.12) 32.4% 32.8%,
			transparent 33% 65%,
			rgba(255,255,255,.12) 65.4% 65.8%,
			transparent 66%
		),
		linear-gradient(
			0deg,
			transparent 0 49%,
			rgba(255,255,255,.12) 49.4% 50%,
			transparent 50.5%
		);

	pointer-events: none;
}


.cbf-work-card:hover::before {
	filter: brightness(1.08);
	transform: scale(1.025);
}


.cbf-work-card > * {
	position: relative;
	z-index: 2;
}


.cbf-work-card .cbf-card__number {
	margin-bottom: .65rem;

	color: var(--cbf-coral) !important;

	font-family: var(--wp--preset--font-family--cbfilms-body);
	font-size: .72rem !important;
	font-weight: 800;

	letter-spacing: .12em;
	line-height: 1.45;

	text-transform: uppercase;
}


.cbf-work-card h2,
.cbf-work-card h3 {
	margin: .25rem 0 .85rem;

	color: var(--cbf-navy) !important;

	font-size: clamp(1.55rem, 2vw, 2rem);
	line-height: 1.08;

	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}


.cbf-work-card p:not(.cbf-card__number) {
	margin-bottom: 0;

	color: var(--cbf-text) !important;

	font-size: 1rem;
	line-height: 1.55;
}


/* Make three cards feel like one editorial series */

.cbf-section--panel .wp-block-columns:has(.cbf-work-card) {
	align-items: stretch;
	gap: 1.25rem;
}

.cbf-section--panel .wp-block-columns:has(.cbf-work-card) > .wp-block-column {
	display: flex;
}


/* Slightly vary placeholder panels until approved film imagery arrives */

.cbf-section--panel
	.wp-block-columns:has(.cbf-work-card)
	> .wp-block-column:nth-child(1)
	.cbf-work-card::before {
	background:
		linear-gradient(
			145deg,
			rgba(41,102,125,.87),
			rgba(1,28,57,.96)
		);
}

.cbf-section--panel
	.wp-block-columns:has(.cbf-work-card)
	> .wp-block-column:nth-child(2)
	.cbf-work-card::before {
	background:
		linear-gradient(
			145deg,
			rgba(53,82,112,.88),
			rgba(1,28,57,.96)
		);
}

.cbf-section--panel
	.wp-block-columns:has(.cbf-work-card)
	> .wp-block-column:nth-child(3)
	.cbf-work-card::before {
	background:
		linear-gradient(
			145deg,
			rgba(22,83,104,.88),
			rgba(1,28,57,.96)
		);
}


/* ---------------------------------------------------------
   SECTION RHYTHM
   --------------------------------------------------------- */

.cbf-section {
	padding-top: clamp(3.25rem, 5vw, 5rem);
	padding-bottom: clamp(3.25rem, 5vw, 5rem);
}

.cbf-section-title {
	margin-bottom: 2rem;
}

.cbf-section-title h2 {
	margin-top: .45rem;
	margin-bottom: .75rem;
}

.cbf-section-title p:last-child {
	max-width: 46rem;
}


/* Avoid excessive CTA height */

.cbf-section--gold {
	padding-top: clamp(2.75rem, 4vw, 4rem);
	padding-bottom: clamp(2.75rem, 4vw, 4rem);
}

.cbf-section--gold h2 {
	margin-top: 0;
	margin-bottom: .75rem;
	font-size: clamp(2rem, 3vw, 2.8rem);
}


/* ---------------------------------------------------------
   CONTACT
   Slightly more compact after Patch 01
   --------------------------------------------------------- */

.cbf-contact-hero {
	padding-top: clamp(2.8rem, 4.5vw, 4rem);
	padding-bottom: clamp(2.8rem, 4.5vw, 4rem);
}

.cbf-contact-hero h1 {
	font-size: clamp(2.8rem, 4vw, 4rem);
}


/* ---------------------------------------------------------
   DESKTOP
   --------------------------------------------------------- */

@media (min-width: 1100px) {

	.cbf-platform-hero__visual,
	.cbf-platform-hero__copy {
		min-height: 32rem;
	}

	.cbf-platform-hero__copy {
		padding: 3.75rem 4.25rem;
	}

}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 960px) {

	.cbf-work-card {
		padding-top: 11.5rem;
	}

	.cbf-work-card::before {
		height: 9.5rem;
	}

	.cbf-work-card::after {
		height: 7.5rem;
	}

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 781px) {

	.cbf-main h1 {
		font-size: clamp(2.35rem, 10vw, 3.3rem);
	}

	.cbf-main h2,
	.cbf-section-title h2 {
		font-size: clamp(1.9rem, 8vw, 2.6rem);
	}

	.cbf-platform-hero__copy h1 {
		font-size: clamp(2.5rem, 11vw, 3.6rem);
	}

	.cbf-section--panel .wp-block-columns:has(.cbf-work-card) {
		gap: 1rem;
	}

	.cbf-work-card {
		padding-top: 13rem;
	}

	.cbf-work-card::before {
		height: 11rem;
	}

	.cbf-work-card::after {
		height: 9rem;
	}

	.cbf-process .wp-block-column {
		padding-left: 0;
		padding-right: 0;
	}

}


/* HANDOFF 04 — seeded content + temporary visuals */
/* HANDOFF 04 — seeded content + temporary visuals */
.cbf-media-hero-image img,
.cbf-feature-split__image img,
.cbf-feature-card .wp-block-image img,
.cbf-film-query .wp-block-post-featured-image img {
  width: 100%;
  display: block;
}

.cbf-media-hero-image,
.cbf-feature-split__image {
  height: 100%;
}

.cbf-media-hero-image img {
  min-height: 30rem;
  max-height: 36rem;
  object-fit: cover;
}

.cbf-home-hero-copy h1,
.cbf-section-title h2,
.cbf-feature-split__copy h2,
.cbf-home-cta h2,
.cbf-film-page-hero h1 {
  line-height: .95;
}

.cbf-feature-split .wp-block-columns,
.cbf-home-hero .wp-block-columns {
  align-items: stretch !important;
}

.cbf-feature-card {
  background: #fff;
  border: 1px solid var(--cbf-border);
  height: 100%;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(1, 28, 57, .05);
}

.cbf-feature-card .wp-block-image { margin: 0; }

.cbf-feature-card .wp-block-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.cbf-feature-card__body {
  padding: 1.2rem 1.2rem 1.4rem;
}

.cbf-feature-card__eyebrow {
  margin: 0 0 .6rem;
  color: var(--cbf-coral);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cbf-feature-card__body h3 {
  margin: 0 0 .75rem;
  color: var(--cbf-navy);
}

.cbf-feature-card__body p:last-child { margin-bottom: 0; }

.cbf-film-query .wp-block-post-template {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
}

.cbf-film-query .wp-block-post {
  border: 1px solid var(--cbf-border);
  background: #fff;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(1, 28, 57, .05);
}

.cbf-film-query .wp-block-post-featured-image { margin: 0; }
.cbf-film-query .wp-block-post-featured-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.cbf-film-query .wp-block-post-terms,
.cbf-film-query .wp-block-post-title,
.cbf-film-query .wp-block-post-excerpt,
.cbf-film-query .wp-block-read-more {
  padding-left: 1.2rem;
  padding-right: 1.2rem;
}

.cbf-film-query .wp-block-post-terms {
  margin: 1rem 0 0;
  color: var(--cbf-coral);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cbf-film-query .wp-block-post-title {
  margin-top: .4rem;
  margin-bottom: .6rem;
  color: var(--cbf-navy);
}

.cbf-film-query .wp-block-post-title a { text-decoration: none; }
.cbf-film-query .wp-block-post-title a:hover,
.cbf-film-query .wp-block-post-title a:focus { color: var(--cbf-coral); }

.cbf-film-query .wp-block-post-excerpt { color: var(--cbf-text); }
.cbf-film-query .wp-block-read-more {
  display: inline-block;
  padding-bottom: 1.2rem;
  font-weight: 700;
  color: var(--cbf-navy);
  text-decoration: none;
}

.cbf-film-query .wp-block-read-more:hover,
.cbf-film-query .wp-block-read-more:focus { color: var(--cbf-coral); }

.cbf-inline-link a {
  color: var(--cbf-navy);
  font-weight: 700;
  text-decoration: none;
}

.cbf-inline-link a:hover,
.cbf-inline-link a:focus { color: var(--cbf-coral); }

@media (max-width: 781px) {
  .cbf-media-hero-image img {
    min-height: 18rem;
    max-height: 22rem;
  }

  .cbf-film-query .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}


/* HANDOFF 05 — public profiles and structured record templates */
.cbf-record-archive__hero h1,
.cbf-record-single-hero h1,
.cbf-person-hero h1 { max-width: 13ch; }

.cbf-record-archive__hero > p:last-child,
.cbf-record-single-hero__excerpt,
.cbf-person-hero__excerpt {
  max-width: 48rem;
  font-size: clamp(1.08rem, 1.4vw, 1.35rem);
  line-height: 1.55;
}

.cbf-record-query .wp-block-post-template {
  gap: 1.4rem;
}

.cbf-record-card {
  background: #fff;
  border: 1px solid var(--cbf-border);
  overflow: hidden;
  height: 100%;
  box-shadow: 0 4px 16px rgba(1,28,57,.055);
}

.cbf-record-card > .wp-block-post-featured-image { margin: 0; }
.cbf-record-card > .wp-block-post-featured-image img {
  width: 100%;
  object-fit: cover;
}

.cbf-record-card__body { padding: 1.4rem 1.45rem 1.6rem; }
.cbf-record-card__body h2,
.cbf-record-card__body h3 { margin: .35rem 0 .8rem; }
.cbf-record-card__body h2 a,
.cbf-record-card__body h3 a { color: var(--cbf-navy); text-decoration: none; }
.cbf-record-card__body h2 a:hover,
.cbf-record-card__body h3 a:hover { color: var(--cbf-coral); }

.cbf-record-card__terms,
.cbf-record-card__terms a,
.cbf-record-single-hero__terms,
.cbf-record-single-hero__terms a,
.cbf-person-hero__roles,
.cbf-person-hero__roles a {
  color: var(--cbf-coral) !important;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
}

.cbf-record-card__link {
  display: inline-block;
  margin-top: .3rem;
  color: var(--cbf-navy);
  font-weight: 750;
  text-decoration: none;
}
.cbf-record-card__link:hover { color: var(--cbf-coral); }

.cbf-person-hero__image img {
  width: 100%;
  max-height: 42rem;
  object-fit: cover;
}

.cbf-person-hero .cbf-record-details {
  margin-top: 1.5rem;
}

.cbf-reading-section {
  font-size: 1.08rem;
  line-height: 1.72;
}
.cbf-reading-section p { margin-bottom: 1.25rem; }
.cbf-reading-section h2 { margin-top: 2.2rem; }

.cbf-record-single-body > .wp-block-post-featured-image { margin-bottom: 2rem; }
.cbf-record-single-body > .wp-block-post-featured-image img {
  width: 100%;
  max-height: 42rem;
  object-fit: cover;
}

.cbf-record-single-body__columns { gap: clamp(2rem, 4vw, 4rem); }
.cbf-record-facts {
  padding: 1.4rem;
  background: var(--cbf-soft);
  border-top: 4px solid var(--cbf-coral);
  position: sticky;
  top: 7rem;
}
.cbf-record-facts h3 { margin-top: 0; }
.cbf-record-facts .cbf-record-details { margin: 0; }
.cbf-record-facts .wp-block-post-terms { margin-top: 1rem; }

.cbf-record-cta { margin-top: 0; }

@media (max-width: 781px) {
  .cbf-record-query .wp-block-post-template { grid-template-columns: 1fr !important; }
  .cbf-person-hero__image img { max-height: 34rem; }
  .cbf-record-facts { position: static; }
}



/* =========================================================
   HANDOFF 06 — Writers' Room functional/public system
   Community-first portraits + programme layout
   ========================================================= */

.cbf-people-query .wp-block-post-featured-image img,
.cbf-person-hero__image img,
.cbf-person-card .wp-block-post-featured-image img,
.cbf-community-portrait img {
	filter: grayscale(100%) !important;
}

.cbf-wr-hero {
	padding-top: clamp(3.2rem, 5vw, 5rem);
	padding-bottom: clamp(3.2rem, 5vw, 5rem);
}

.cbf-wr-hero h1 {
	max-width: 14ch;
}

.cbf-wr-intro-image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.cbf-wr-process {
	counter-reset: wrstep;
}

.cbf-wr-process > .wp-block-column {
	border-top: 3px solid var(--cbf-coral);
	padding-top: 1rem;
}

.cbf-wr-process > .wp-block-column::before {
	counter-increment: wrstep;
	content: "0" counter(wrstep);
	display: block;
	margin-bottom: .65rem;
	color: var(--cbf-coral);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.cbf-wr-cohort-query .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cbf-wr-cohort-query .wp-block-post {
	border: 1px solid var(--cbf-border);
	background: #fff;
	overflow: hidden;
}

.cbf-wr-cohort-query .wp-block-post-featured-image {
	margin: 0;
}

.cbf-wr-cohort-query .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
	display: block;
}

.cbf-wr-cohort-query .wp-block-post-title,
.cbf-wr-cohort-query .wp-block-post-excerpt,
.cbf-wr-cohort-query .wp-block-post-terms,
.cbf-wr-cohort-query .wp-block-read-more {
	margin-left: 1.2rem;
	margin-right: 1.2rem;
}

.cbf-wr-cohort-query .wp-block-post-terms {
	margin-top: 1rem;
	color: var(--cbf-coral);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cbf-wr-cohort-query .wp-block-post-title {
	margin-top: .4rem;
	margin-bottom: .6rem;
}

.cbf-wr-cohort-query .wp-block-read-more {
	display: inline-block;
	margin-bottom: 1.25rem;
	color: var(--cbf-navy);
	font-weight: 700;
	text-decoration: none;
}

.cbf-wr-faqs details {
	border-top: 1px solid var(--cbf-border);
	padding: 1rem 0;
}

.cbf-wr-faqs details:last-child {
	border-bottom: 1px solid var(--cbf-border);
}

.cbf-wr-faqs summary {
	cursor: pointer;
	color: var(--cbf-navy);
	font-weight: 750;
}

.cbf-wr-values .wp-block-column {
	border-left: 2px solid var(--cbf-coral);
	padding-left: 1rem;
}

.cbf-cohort-relationships {
	margin-top: 2.2rem;
	padding-top: 2.2rem;
	border-top: 1px solid var(--cbf-border);
}

@media (max-width: 781px) {
	.cbf-wr-cohort-query .wp-block-post-template {
		grid-template-columns: 1fr;
	}

	.cbf-wr-process > .wp-block-column,
	.cbf-wr-values .wp-block-column {
		margin-bottom: 1.2rem;
	}
}



/* =========================================================
   HANDOFF 07 — Community & Learning Foundation
   ========================================================= */

.cbf-learning-hero h1 {
	max-width: 13ch;
}

.cbf-learning-principles .wp-block-column {
	border-top: 3px solid var(--cbf-coral);
	padding-top: 1rem;
}

.cbf-learning-roadmap {
	display: grid;
	gap: 1rem;
}

.cbf-learning-roadmap__item {
	padding: 1.2rem;
	border: 1px solid var(--cbf-border);
	background: #fff;
}

.cbf-learning-roadmap__item h3 {
	margin-top: 0;
	margin-bottom: .5rem;
}

.cbf-learning-engine-note {
	padding: 1rem 1.15rem;
	border-left: 4px solid var(--cbf-coral);
	background: var(--cbf-soft);
}

@media (max-width: 781px) {
	.cbf-learning-principles .wp-block-column {
		margin-bottom: 1rem;
	}
}

/* =========================================================
   L0A — Launch shell: public cinematic/editorial direction
   ========================================================= */
:root {
	--cbf-deep: #171717;
	--cbf-navy: #5a3a22;
	--cbf-blue: #5a3a22;
	--cbf-coral: #b45d3a;
	--cbf-white: #fbf9f5;
	--cbf-soft: #efe8dd;
	--cbf-text: #403932;
	--cbf-border: #e6ded2;
	--cbf-ivory: #f6f2ea;
	--cbf-paper: #fbf9f5;
	--cbf-ink: #171717;
	--cbf-earth: #5a3a22;
	--cbf-terracotta: #b45d3a;
	--cbf-gold: #b89a6a;
	--cbf-sand: #e6d0b7;
	--cbf-warm-grey: #8e8a83;
	--cbf-border-warm: #e6ded2;
	--cbf-muted-warm: #efe8dd;
}

body { background: var(--cbf-ivory); color: var(--cbf-ink); }
body, button, input, select, textarea { font-family: Inter, "Noto Sans Devanagari", ui-sans-serif, system-ui, sans-serif; }
.wp-site-blocks { background: var(--cbf-ivory); }
.wp-block-heading, h1, h2, h3 { font-family: Georgia, "Noto Serif Devanagari", "Nirmala UI", ui-serif, serif; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: var(--cbf-terracotta); }

.cbf-site-header { background: rgba(246,242,234,.96); border-bottom: 1px solid var(--cbf-border-warm); backdrop-filter: blur(12px); }
.cbf-site-header.is-scrolled { border-color: var(--cbf-terracotta); }
.cbf-brand { color: var(--cbf-ink); }
.cbf-brand img { width: 2.25rem; height: 2.25rem; border: 0; border-radius: 0; background: transparent; }
.cbf-brand__lead, .cbf-brand__accent { font-family: Georgia, "Noto Serif Devanagari", serif; color: var(--cbf-ink); letter-spacing: .08em; }
.cbf-brand__lead { font-size: .78rem; }
.cbf-brand__accent { margin-top: .17rem; color: var(--cbf-earth); font-size: .57rem; letter-spacing: .16em; }
.cbf-navigation { gap: 1.1rem; font-size: .74rem; font-weight: 700; letter-spacing: .01em; text-transform: none; }
.cbf-navigation .wp-block-navigation-item__content, .cbf-navigation .wp-block-navigation-item__content { color: var(--cbf-ink) !important; }
.cbf-navigation .wp-block-navigation-item__content:hover, .cbf-navigation .wp-block-navigation-item__content:focus, .cbf-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content { color: var(--cbf-terracotta) !important; }
.cbf-navigation .cbf-nav-signin .wp-block-navigation-item__content { display: inline-flex; min-height: 2.45rem; align-items: center; padding: 0 .9rem; border-radius: .3rem; background: var(--cbf-terracotta); color: #fff !important; }
.cbf-navigation .cbf-nav-signin .wp-block-navigation-item__content:hover { background: var(--cbf-earth); color: #fff !important; }

.cbf-l0a-hero { width: min(calc(100% - 2rem), 1280px); margin: 1.25rem auto 0; overflow: hidden; background: var(--cbf-paper); }
.cbf-l0a-hero__grid { gap: 0; margin: 0; }
.cbf-l0a-hero__copy { box-sizing: border-box; min-height: clamp(31rem, 46vw, 42rem); padding: clamp(2.5rem, 6vw, 6rem); display: flex; flex-direction: column; justify-content: center; }
.cbf-l0a-eyebrow { margin: 0 0 .8rem; color: var(--cbf-terracotta); font-size: .72rem !important; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.cbf-l0a-hero h1 { margin: 0; color: var(--cbf-earth); font-size: clamp(3.25rem, 6vw, 6rem) !important; line-height: .98; letter-spacing: -.045em; }
.cbf-l0a-hero__line { margin: 1.2rem 0 .75rem; color: var(--cbf-terracotta); font-family: Georgia, "Noto Serif Devanagari", serif; font-size: clamp(1.35rem, 2vw, 1.85rem) !important; font-style: italic; }
.cbf-l0a-hero__copy > p:last-of-type { max-width: 30rem; margin: 0; color: #544c45; }
.cbf-l0a-actions { margin-top: 1.7rem; }
.cbf-l0a-hero__media { min-height: clamp(31rem, 46vw, 42rem); overflow: hidden; background: var(--cbf-earth); }
.cbf-l0a-hero__media figure, .cbf-l0a-hero__media img { width: 100%; height: 100%; margin: 0; }
.cbf-l0a-hero__media img { display: block; object-fit: cover; filter: sepia(.14) saturate(.9) contrast(1.04); }
.wp-block-button__link { border-radius: .3rem !important; background: var(--cbf-terracotta) !important; color: #fff !important; font-weight: 700; }
.wp-block-button__link:hover, .wp-block-button__link:focus { background: var(--cbf-earth) !important; }
.is-style-outline .wp-block-button__link { border: 1px solid var(--cbf-earth) !important; background: transparent !important; color: var(--cbf-earth) !important; }
.is-style-outline .wp-block-button__link:hover, .is-style-outline .wp-block-button__link:focus { background: var(--cbf-earth) !important; color: #fff !important; }

.cbf-l0a-section { box-sizing: border-box; width: min(calc(100% - 2rem), 1280px); margin: 0 auto; padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3.25rem); }
.cbf-l0a-section-heading { max-width: 48rem; margin-bottom: 2rem; }
.cbf-l0a-section-heading h2, .cbf-l0a-entry h2 { margin: 0; color: var(--cbf-earth); font-size: clamp(2.1rem, 4vw, 4rem) !important; line-height: 1.03; letter-spacing: -.035em; }
.cbf-l0a-pathways { background: var(--cbf-ivory); }
.cbf-l0a-pathways__grid { gap: 1rem; margin: 0; }
.cbf-l0a-pathway { height: 100%; overflow: hidden; border: 1px solid var(--cbf-border-warm); background: var(--cbf-paper); }
.cbf-l0a-pathway__image, .cbf-l0a-pathway__image img { display: block; width: 100%; height: 13rem; margin: 0; }
.cbf-l0a-pathway__image img { object-fit: cover; filter: sepia(.15) saturate(.85); }
.cbf-l0a-pathway__placeholder { display: grid; min-height: 13rem; place-items: center; background: linear-gradient(135deg, #e6d0b7, #f6f2ea 65%, #b89a6a); color: var(--cbf-earth); }
.cbf-l0a-pathway__placeholder span, .cbf-l0a-pathway__placeholder-mark { margin: 0; font-family: "Noto Serif Devanagari", "Nirmala UI", serif; font-size: clamp(3.4rem, 6vw, 5.2rem) !important; line-height: 1; }
.cbf-l0a-pathway__body { display: flex; min-height: 15rem; flex-direction: column; padding: 1.5rem; }
.cbf-l0a-pathway__index { margin: 0; color: var(--cbf-terracotta); font-size: .72rem !important; font-weight: 800; letter-spacing: .12em; }
.cbf-l0a-pathway h3 { margin: .55rem 0 .5rem; color: var(--cbf-earth); font-size: clamp(1.65rem, 2.4vw, 2.2rem) !important; }
.cbf-l0a-pathway__body > p:not(.cbf-l0a-pathway__index) { margin: 0; color: #554d45; }
.cbf-l0a-pathway a { margin-top: auto; padding-top: 1.25rem; color: var(--cbf-terracotta); font-weight: 800; text-decoration: none; }
.cbf-l0a-pathway a:hover, .cbf-l0a-pathway a:focus { color: var(--cbf-earth); text-decoration: underline; }
.cbf-l0a-pathway__body .wp-block-buttons { margin-top: auto; padding-top: 1.25rem; }
.cbf-l0a-pathway__body .wp-block-button__link { font-size: .88rem; }

.cbf-l0a-work { box-sizing: border-box; width: min(calc(100% - 2rem), 1280px); margin: 0 auto; padding: clamp(3rem, 6vw, 5.5rem) clamp(1.25rem, 4vw, 3.25rem); background: var(--cbf-ink); color: #f7f1e8; }
.cbf-l0a-work__heading { max-width: 25rem; margin-bottom: 2rem; }
.cbf-l0a-work h2 { margin: 0 0 1rem; color: #f7f1e8; font-size: clamp(2.3rem, 4vw, 4.1rem) !important; line-height: 1.02; }
.cbf-l0a-work p { color: #ded4c8; }
.cbf-l0a-work__heading a { color: var(--cbf-gold); font-weight: 800; text-decoration: none; }
.cbf-l0a-work__grid { gap: 1rem; margin: 0; }
.cbf-l0a-film { display: block; overflow: hidden; color: #fff; text-decoration: none; }
.cbf-l0a-film figure { margin: 0; }
.cbf-l0a-film img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; filter: sepia(.12) saturate(.86); transition: transform .25s ease; }
.cbf-l0a-film:hover img, .cbf-l0a-film:focus img { transform: scale(1.03); }
.cbf-l0a-film span, .cbf-l0a-film h3 { display: block; margin: .7rem 0 0; font-family: Georgia, "Noto Serif Devanagari", serif; font-size: 1.15rem !important; }
.cbf-l0a-film h3 a { color: #fff; text-decoration: none; }
.cbf-l0a-film h3 a:hover, .cbf-l0a-film h3 a:focus { color: var(--cbf-gold); text-decoration: underline; }
.cbf-l0a-work .is-style-outline .wp-block-button__link { border-color: #f7f1e8 !important; color: #f7f1e8 !important; }
.cbf-l0a-work .is-style-outline .wp-block-button__link:hover, .cbf-l0a-work .is-style-outline .wp-block-button__link:focus { background: #f7f1e8 !important; color: var(--cbf-earth) !important; }

/* Every public film display is a responsive cinematic frame, never a portrait card. */
.cbf-film-query .wp-block-post-featured-image, .cbf-film-query .wp-block-post-featured-image img, .cbf-film-single__image, .cbf-film-single__image img { aspect-ratio: 16 / 9; }
.cbf-film-query .wp-block-post-featured-image img, .cbf-film-single__image img { width: 100%; height: 100%; object-fit: cover; }
.cbf-l0a-entry { box-sizing: border-box; width: min(calc(100% - 2rem), 960px); margin: 0 auto; padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3.25rem); text-align: center; }
.cbf-l0a-entry .cbf-l0a-eyebrow { text-align: center; }
.cbf-l0a-entry .wp-block-buttons { margin-top: 1.75rem; }

.cbf-footer { background: var(--cbf-earth); border-top-color: var(--cbf-gold); }
.cbf-footer p, .cbf-footer li, .cbf-footer a, .cbf-footer .cbf-footer__statement { color: #f5eadc !important; }
.cbf-footer a:hover, .cbf-footer a:focus { color: var(--cbf-sand) !important; }
.cbf-footer__mark { background: transparent; border-radius: 0; }

@media (max-width: 781px) {
	.cbf-site-header .wp-block-group { padding-top: .75rem !important; padding-bottom: .75rem !important; }
	.cbf-navigation .wp-block-navigation__responsive-container-open { color: var(--cbf-earth); }
	.cbf-navigation .wp-block-navigation__responsive-container.is-menu-open { background: var(--cbf-ivory); color: var(--cbf-ink); }
	.cbf-navigation .wp-block-navigation__responsive-container-content { padding: 2rem 1.5rem; }
	.cbf-navigation .wp-block-navigation__container { align-items: flex-start !important; gap: 1rem !important; }
	.cbf-navigation .wp-block-navigation-item__content { font-size: 1rem; }
	.cbf-l0a-hero { margin-top: 0; width: 100%; }
	.cbf-l0a-hero__grid { display: flex; flex-direction: column-reverse; }
	.cbf-l0a-hero__copy, .cbf-l0a-hero__media { min-height: auto; }
	.cbf-l0a-hero__copy { padding: 3.5rem 1.5rem; }
	.cbf-l0a-hero__media { height: 21rem; }
	.cbf-l0a-section, .cbf-l0a-work, .cbf-l0a-entry { width: 100%; }
	.cbf-l0a-pathways__grid, .cbf-l0a-work__grid { gap: 1rem; }
	.cbf-l0a-pathway__image, .cbf-l0a-pathway__image img, .cbf-l0a-pathway__placeholder { height: 12rem; min-height: 12rem; }
}
