/* Partnerships page. Shares primitives with sections.css. Logical properties are used so an RTL (Arabic) layout can follow later. */

/* ---------- Hero (deep): headline + pathway index ---------- */
.cb-ph { background: var(--deep); color: var(--on-dark); padding-block-start: calc(var(--wp--custom--header-height, 84px) + clamp(2rem, 5vw, 5rem)); padding-block-end: clamp(3.5rem, 6vw, 6rem); min-height: min(100svh, 860px); display: flex; align-items: center; }
.cb-ph::before { content: ''; position: absolute; inset: 0; z-index: -2; background: radial-gradient(60% 80% at 85% 45%, rgba(198, 165, 108, 0.16), transparent 70%), radial-gradient(55% 80% at 80% 30%, rgba(39, 64, 106, 0.5), transparent 70%); }
.cb-ph__texture { position: absolute; inset: 0; z-index: -1; opacity: 0.1; mix-blend-mode: screen; filter: saturate(0.5); pointer-events: none; -webkit-mask-image: linear-gradient(100deg, transparent 15%, #000 70%); mask-image: linear-gradient(100deg, transparent 15%, #000 70%); }
.cb-ph__texture img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-ph__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.cb-ph__copy { display: grid; gap: 18px; justify-items: start; }
.cb-ph__title { font-size: clamp(2.4rem, 1rem + 4.2vw, 5.6rem); line-height: 1.03; letter-spacing: -0.04em; font-weight: 300; color: rgba(244, 241, 234, 0.86); text-wrap: balance; }
.cb-ph__title strong { font-weight: 650; color: var(--on-dark); }
.cb-ph .cb-lead { color: rgba(244, 241, 234, 0.78); max-width: 32rem; }
.cb-ph__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-block-start: 6px; }
.cb-ph :focus-visible, .cb-pp :focus-visible, .cb-pi :focus-visible { outline-color: var(--gold-light); }

.cb-ph__index { display: grid; max-width: 34rem; justify-self: end; width: 100%; border-block-start: 1px solid rgba(244, 241, 234, 0.2); }
.cb-ph__index-title { margin: 0; padding-block: 14px 10px; font-size: 0.875rem; font-weight: 600; color: var(--gold-light); }
.cb-ph__index a { display: grid; grid-template-columns: 1fr auto; grid-template-areas: 'name go' 'aud go'; align-items: center; column-gap: 16px; padding-block: 20px; border-block-start: 1px solid rgba(244, 241, 234, 0.14); color: var(--on-dark); transition: color 420ms var(--ease), padding 420ms var(--ease); }
.cb-ph__name { grid-area: name; font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.5rem); font-weight: 500; letter-spacing: -0.035em; line-height: 1.1; }
.cb-ph__aud { grid-area: aud; font-size: 0.9375rem; color: rgba(244, 241, 234, 0.7); margin-block-start: 4px; }
.cb-ph__go { grid-area: go; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(244, 241, 234, 0.28) inset; color: var(--gold-light); transition: translate 420ms var(--ease), background-color 420ms var(--ease), box-shadow 420ms var(--ease); }
.cb-ph__index a:hover { color: var(--gold-light); padding-inline-start: 12px; }
.cb-ph__index a:hover .cb-ph__go { translate: 0 3px; background: rgba(220, 197, 154, 0.12); box-shadow: 0 0 0 1px rgba(220, 197, 154, 0.6) inset; }
.cb-ph__index a:active { scale: 0.98; }

/* ---------- Why partner (ivory): statement + editorial list ---------- */
.cb-pw { background: var(--ivory); }
.cb-pw__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1.25rem, 3vw, 4rem); row-gap: 2.5rem; align-items: start; }
.cb-pw__head { grid-column: 1 / span 5; display: grid; gap: 22px; position: sticky; inset-block-start: 7rem; }
.cb-pw__statement { font-size: clamp(2.1rem, 1rem + 3.2vw, 4.2rem); line-height: 1.05; letter-spacing: -0.04em; font-weight: 300; color: var(--ink); text-wrap: balance; }
.cb-pw__statement strong { font-weight: 650; color: var(--navy-900); }
.cb-pw__list { grid-column: 7 / span 6; border-block-start: 1px solid var(--line-2); }
.cb-pw__list li { position: relative; padding-block: clamp(1.5rem, 2.6vw, 2.25rem); border-block-end: 1px solid var(--line-2); display: grid; gap: 8px; }
.cb-pw__list li::before { content: ''; position: absolute; inset-inline-start: 0; inset-block-start: -1px; width: 3.5rem; height: 2px; background: var(--gold-deep); }
.cb-pw__list h3 { font-size: clamp(1.4rem, 1.05rem + 1.1vw, 2.1rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1.15; color: var(--navy-900); }
.cb-pw__list p { font-size: 1.0625rem; line-height: 1.6; color: var(--ink-2); max-width: 36rem; }
.cb-js .cb-pw__list[data-reveal="rows"] li::before { transform: scaleX(0); transform-origin: left; transition: transform 1.1s var(--ease) calc(var(--i, 0) * 110ms + 200ms); }
.cb-js .cb-pw__list[data-reveal="rows"].is-in li::before { transform: scaleX(1); }
[dir="rtl"] .cb-pw__list li::before { transform-origin: right; }

/* ---------- Pathways (deep): three panels, three treatments ---------- */
.cb-pp { background: var(--deep); color: var(--on-dark); }
.cb-pp::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 60% at 0% 100%, rgba(39, 64, 106, 0.45), transparent 70%); }
.cb-pp__wrap { display: grid; gap: clamp(2rem, 4vw, 3.25rem); }
.cb-pp__head { display: grid; gap: 16px; max-width: 44rem; }
.cb-pp__head h2 { font-size: clamp(2.3rem, 1rem + 4vw, 5rem); line-height: 1.02; letter-spacing: -0.04em; font-weight: 650; text-wrap: balance; }
.cb-pp .cb-lead { color: rgba(244, 241, 234, 0.76); }
.cb-pp__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(0.875rem, 1.6vw, 1.5rem); }
.cb-pp__panel { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; row-gap: 1.5rem; padding: clamp(1.5rem, 3vw, 2.75rem); border-radius: 28px; color: var(--on-dark); transition: scale 200ms var(--ease), box-shadow 500ms var(--ease); }
.cb-pp__panel:active { scale: 0.985; }
/* Keep each panel's own text colour on hover/focus (the theme link hover colour is navy). */
.cb-pp__panel:hover, .cb-pp__panel:focus-visible { color: var(--on-dark); }
.cb-pp__panel--b:hover, .cb-pp__panel--b:focus-visible { color: var(--deep); }
.cb-pp__panel::before { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(244, 241, 234, 0.07); opacity: 0; transition: opacity 500ms var(--ease); }
.cb-pp__panel:hover::before, .cb-pp__panel:focus-visible::before { opacity: 1; }
.cb-pp__panel--a { grid-column: 1 / span 7; grid-row: 1 / span 2; min-height: clamp(420px, 38vw, 560px); background: radial-gradient(80% 90% at 80% 0%, #27406a, #14233f 70%); box-shadow: 0 0 0 1px rgba(244, 241, 234, 0.1) inset; }
.cb-pp__panel--b, .cb-pp__panel--c { min-height: 330px; }
.cb-pp__panel--b { grid-column: 8 / span 5; background: linear-gradient(150deg, #dcc59a, #c6a56c); color: var(--deep); }
.cb-pp__panel--b::before { background: rgba(8, 14, 26, 0.08); }
.cb-pp__panel--c { grid-column: 8 / span 5; box-shadow: 0 0 0 1px rgba(244, 241, 234, 0.28) inset; }
.cb-pp__motif { position: absolute; inset-block-start: clamp(1.25rem, 2.4vw, 2rem); inset-inline-end: clamp(1.25rem, 2.4vw, 2rem); width: clamp(120px, 16vw, 230px); opacity: 0.55; transition: translate 700ms var(--ease), opacity 500ms var(--ease); z-index: -1; }
.cb-pp__motif svg { display: block; width: 100%; height: auto; }
.cb-pp__panel--a .cb-pp__motif { width: clamp(180px, 28vw, 380px); color: var(--gold-light); opacity: 0.7; }
.cb-pp__panel--b .cb-pp__motif, .cb-pp__panel--c .cb-pp__motif { width: clamp(90px, 10vw, 140px); }
.cb-pp__panel--b .cb-pp__motif { color: var(--deep); opacity: 0.4; }
.cb-pp__panel--c .cb-pp__motif { color: var(--gold-light); }
.cb-pp__panel:hover .cb-pp__motif { translate: 0 -4px; opacity: 0.9; }
.cb-pp__aud { font-size: 0.9375rem; font-weight: 600; opacity: 0.8; }
.cb-pp__body { display: grid; gap: 12px; align-self: end; }
.cb-pp__name { font-size: clamp(2rem, 1rem + 2.8vw, 3.9rem); line-height: 1.02; letter-spacing: -0.04em; font-weight: 600; text-wrap: balance; }
.cb-pp__panel--b .cb-pp__name, .cb-pp__panel--c .cb-pp__name { font-size: clamp(1.8rem, 1rem + 2vw, 2.9rem); }
.cb-pp__panel--c .cb-pp__name { font-weight: 300; }
.cb-pp__text { font-size: 1.0625rem; line-height: 1.55; max-width: 28rem; opacity: 0.86; }
.cb-pp__go { display: inline-flex; align-items: center; gap: 10px; font-size: 0.9375rem; font-weight: 650; min-height: 44px; }
.cb-pp__panel--a .cb-pp__go, .cb-pp__panel--c .cb-pp__go { color: var(--gold-light); }
.cb-pp__go .cb-ico { transition: translate 420ms var(--ease); }
.cb-pp__panel:hover .cb-pp__go .cb-ico { translate: 5px 0; }

/* ---------- International presence (pearl): ledger ---------- */
.cb-pe { background: var(--pearl); }
.cb-pe__wrap { display: grid; gap: clamp(1.75rem, 3vw, 2.75rem); }
.cb-pe__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1.25rem, 3vw, 4rem); row-gap: 14px; align-items: end; }
.cb-pe__head .cb-h2 { grid-column: 1 / span 7; text-wrap: balance; }
.cb-pe__head .cb-lead { grid-column: 9 / span 4; padding-block-end: 6px; }
.cb-pe__ledger { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block-start: 1px solid var(--line-2); }
.cb-pe__ledger li { display: grid; align-content: start; gap: 6px; padding: 24px clamp(1rem, 1.8vw, 1.75rem) 26px; border-inline-start: 1px solid var(--line-2); }
.cb-pe__ledger li:first-child { border-inline-start: 0; padding-inline-start: 0; }
.cb-pe__ledger h3 { font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.5rem); font-weight: 600; letter-spacing: -0.035em; line-height: 1.08; color: var(--navy-900); }
.cb-pe__kind { font-size: 0.9375rem; font-weight: 600; color: var(--gold-deep); margin-block-end: 8px; }
.cb-pe__text, .cb-pe__ledger address { font-style: normal; font-size: 1rem; line-height: 1.55; color: var(--ink-2); }
.cb-pe__ledger .cb-link { margin-block-start: 6px; }

/* ---------- Inquiry (navy): closing ---------- */
.cb-pi { background: var(--navy-900); color: var(--on-dark); }
.cb-pi::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(55% 90% at 100% 100%, rgba(198, 165, 108, 0.2), transparent 70%), radial-gradient(60% 70% at 0% 0%, rgba(39, 64, 106, 0.55), transparent 70%); }
.cb-pi__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.cb-pi__copy { display: grid; gap: 20px; justify-items: start; }
.cb-pi__title { font-size: clamp(2.4rem, 1rem + 4.4vw, 5.6rem); line-height: 1.02; letter-spacing: -0.04em; font-weight: 300; color: rgba(244, 241, 234, 0.86); text-wrap: balance; }
.cb-pi__title strong { font-weight: 650; color: var(--on-dark); }
.cb-pi .cb-lead { color: rgba(244, 241, 234, 0.78); }
.cb-pi__routes { display: grid; border-block-start: 1px solid rgba(244, 241, 234, 0.2); }
.cb-pi__routes a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; padding-block: 16px; border-block-end: 1px solid rgba(244, 241, 234, 0.2); font-size: clamp(1.35rem, 1rem + 1.1vw, 2rem); font-weight: 500; letter-spacing: -0.03em; color: var(--on-dark); transition: color 420ms var(--ease), padding 420ms var(--ease); }
.cb-pi__routes a .cb-ico { color: var(--gold-light); transition: translate 420ms var(--ease); flex: none; }
.cb-pi__routes a:hover { color: var(--gold-light); padding-inline-start: 12px; }
.cb-pi__routes a:hover .cb-ico { translate: 5px 0; }
[dir="rtl"] .cb-pp .cb-ico, [dir="rtl"] .cb-pi .cb-ico, [dir="rtl"] .cb-ph .cb-ico { scale: -1 1; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
	.cb-sec { --sec-y: clamp(3.5rem, 2rem + 6vw, 6rem); }
	.cb-ph { min-height: 0; }
	.cb-ph__grid, .cb-pi__grid { grid-template-columns: 1fr; row-gap: 2.5rem; }
	.cb-ph__index { justify-self: start; max-width: 36rem; }
	.cb-pw__head { grid-column: 1 / -1; position: static; }
	.cb-pw__list { grid-column: 1 / -1; }
	.cb-pp__panel--a, .cb-pp__panel--b, .cb-pp__panel--c { grid-column: 1 / -1; grid-row: auto; }
	.cb-pp__panel--a { min-height: 380px; }
	.cb-pe__head .cb-h2, .cb-pe__head .cb-lead { grid-column: 1 / -1; }
	.cb-pe__ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cb-pe__ledger li:nth-child(odd) { border-inline-start: 0; padding-inline-start: 0; }
	.cb-pe__ledger li:nth-child(n + 3) { border-block-start: 1px solid var(--line-2); }
}
@media (max-width: 700px) {
	.cb-sec { --sec-y: 3.25rem; }
	.cb-ph { padding-block-start: calc(var(--wp--custom--header-height, 68px) + 1.25rem); }
	.cb-ph__ctas .cb-btn { flex: 1 1 100%; justify-content: space-between; }
	.cb-ph__index a { padding-block: 16px; }
	.cb-pp__panel { border-radius: 22px; row-gap: 1rem; }
	.cb-pp__panel--a { min-height: 340px; }
	.cb-pp__motif { width: 110px; }
	.cb-pp__panel--a .cb-pp__motif { width: 170px; }
	.cb-pe__ledger { grid-template-columns: 1fr; }
	.cb-pe__ledger li, .cb-pe__ledger li:first-child { border-inline-start: 0; padding-inline: 0; padding-block: 20px; border-block-start: 1px solid var(--line-2); }
	.cb-pe__ledger li:first-child { border-block-start: 0; }
	.cb-pi__routes a { min-height: 68px; }
}
@media (prefers-reduced-motion: reduce) {
	.cb-js .cb-pw__list[data-reveal="rows"] li::before { transform: none !important; }
	.cb-pp__panel, .cb-pp__motif, .cb-ph__index a, .cb-pi__routes a { transition-duration: 0.01ms !important; }
}
