/*--------------------------------------------------------------
# Page Builder Styles
# Appended to style.css or enqueued as page-builder.css
--------------------------------------------------------------*/

/* Variables
--------------------------------------------- */
:root {
	/* Brand colours */
	--color-wisdom-blue:    #03124D;
	--color-wisdom-blue-80: rgba(3, 18, 77, 0.8);
	--color-wisdom-blue-10: rgba(3, 18, 77, 0.1);
	--color-citrus:         #FABF0A;
	--color-citrus-dark:    #D9A200;
	--color-lime:           #8CD98C;
	--color-lime-dark:      #6ABF6A;
	--color-sky-blue:		#668CCC;

	--pb-color-text:        #404040;
	--pb-color-heading:     #1a1a1a;
	--pb-color-primary:     #4169e1;
	--pb-color-primary-dark:#2a4db8;
	--pb-color-white:       #ffffff;
	--pb-color-light:       #f5f5f5;
	--pb-color-dark:        #1a1a1a;
	--pb-color-dark-text:   #f0f0f0;
	--pb-color-border:      #e0e0e0;
	--pb-color-eyebrow:     #4169e1;
	--pb-color-card-bg:     #ffffff;
	--pb-color-card-border: #e8e8e8;

	--pb-container-width:   87%;
	--pb-container-pad:     0px;

	--pb-gap-xs:  0.5rem;
	--pb-gap-sm:  1rem;
	--pb-gap-md:  1.5rem;
	--pb-gap-lg:  2.5rem;
	--pb-gap-xl:  5rem;

	--pb-pad-sm:  2rem;
	--pb-pad-md:  4rem;
	--pb-pad-lg:  6rem;
	--pb-pad-xl:  8rem;

	--pb-radius:  30px;
	--pb-transition: 0.2s ease;
}

/* Body background — white. Replaces WP custom-background Customizer control. */
body {
	background-color: #ffffff !important;
}


/* Container
--------------------------------------------- */
.pb-container {
	width: 87%;
	max-width: 1400px;
	margin-inline: auto;
}

/* Section base
--------------------------------------------- */
.pb-section {
	position: relative;
	width: 100%;
	padding-block: 5rem;
}

/* Sections with no background get consistent vertical margin between them */
.pb-section + .pb-section {
	margin-top: 0; /* padding handles spacing */
}


/* No section inside pb-content-wrap ever gets border-radius.
   The wrap itself rounds at the top; the CTA handles the bottom. */
.pb-content-wrap .pb-section {
	border-radius: 0 !important;
}

/* Sections never add their own bottom-radius — bg-wraps (tabs/columns/cards) handle their own */
/* Section padding is now controlled by PHP auto-spacing (sds_section_auto_padding).
   The base rule only sets position/width. */

/* ── Automatic coloured-section blending ────────────────────────────────────
   When consecutive sections share a Cream or Wisdom Blue background they
   merge into one visual block: no gap, no radius at the join.

   Rules:
   • A coloured section that follows another coloured section → remove top radius + top padding
   • A coloured section that precedes another coloured section → remove bottom radius + bottom padding
   • Together, only the very first keeps its top radius, only the very last keeps its bottom radius.
   Uses :has() (all modern browsers, 94%+ global support).
──────────────────────────────────────────────────────────────────────────── */

/* Coloured section immediately after another coloured section */
.pb-bg--cream  + .pb-bg--cream,
.pb-bg--cream  + .pb-bg--wisdom,
.pb-bg--wisdom + .pb-bg--cream,
.pb-bg--wisdom + .pb-bg--wisdom {
	padding-top: 0 !important;
	margin-top: 0 !important;
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
}

/* Coloured section that has a coloured section immediately after it */
.pb-bg--cream:has(+ .pb-bg--cream),
.pb-bg--cream:has(+ .pb-bg--wisdom),
.pb-bg--wisdom:has(+ .pb-bg--cream),
.pb-bg--wisdom:has(+ .pb-bg--wisdom) {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}

/* Backgrounds
--------------------------------------------- */
.pb-bg--white   { background-color: var(--pb-color-white); }
.pb-bg--light   { background-color: var(--pb-color-light); }
.pb-bg--dark    { background-color: var(--pb-color-dark); color: var(--pb-color-dark-text); }
.pb-bg--primary { background-color: var(--pb-color-primary); color: var(--pb-color-white); }
.pb-bg--wisdom  { background-color: var(--color-wisdom-blue); color: var(--pb-color-white); }

.pb-bg--dark  h1,
.pb-bg--dark  h2,
.pb-bg--dark  h3,
.pb-bg--dark  h4,
.pb-bg--dark  h5,
.pb-bg--dark  h6,
.pb-bg--primary h1,
.pb-bg--primary h2,
.pb-bg--primary h3,
.pb-bg--primary h4,
.pb-bg--primary h5,
.pb-bg--primary h6,
.pb-bg--wisdom h1,
.pb-bg--wisdom h2,
.pb-bg--wisdom h3,
.pb-bg--wisdom h4,
.pb-bg--wisdom h5,
.pb-bg--wisdom h6 {
	color: inherit;
}

/* Padding
--------------------------------------------- */
.pb-padding--none { padding-block: 0; }
.pb-padding--sm   { padding-block: var(--pb-pad-sm); }
.pb-padding--md   { padding-block: var(--pb-pad-md); }
.pb-padding--lg   { padding-block: var(--pb-pad-lg); }
.pb-padding--xl   { padding-block: var(--pb-pad-xl); }

/* Section header (shared heading + intro)
--------------------------------------------- */
.pb-section__header {
	text-align: center;
	margin-bottom: 3rem;
}

/* Constrained centred header (used by layouts that don't need full-width alignment) */
.pb-section__header--constrained {
	max-width: 720px;
	margin-inline: auto;
}

.pb-section__heading {
	margin-top: 0;
	color: var(--color-wisdom-blue);
}

.pb-section__intro {
	font-size: 1.125rem;
	color: var(--color-wisdom-blue);
	margin-bottom: 2rem; /* PHP overrides to 0 when CTA has no top image */
}

/* Eyebrow
--------------------------------------------- */
/* Eyebrow — base style (all non-hero eyebrows) */
.pb-eyebrow {
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #B5B8C5;
	margin: 0 0 1rem;
}

.pb-bg--dark .pb-eyebrow,
.pb-bg--primary .pb-eyebrow {
	color: rgba(255,255,255,0.75);
}

/* Headings inside content blocks
--------------------------------------------- */
.pb-heading {
	margin: 0 0 1rem;
	color: var(--color-wisdom-blue);
	line-height: 110%;
}

/* Body text
--------------------------------------------- */
.pb-body > *:last-child { margin-bottom: 0; }

/* Bullet list
--------------------------------------------- */
.pb-bullet-list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.pb-bullet-list li {
	padding-left: 1.5rem;
	position: relative;
	margin-bottom: 0.5rem;
}

.pb-bullet-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background-color: var(--pb-color-primary);
}

/* Images
--------------------------------------------- */
.pb-image {
	margin: 0;
}

.pb-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 30px;
}

.pb-image__caption {
	font-size: 0.875rem;
	color: #888;
	margin-top: 0.5rem;
	text-align: center;
}


/* Video inside one-column: always fills the full container width.
   Uses viewport-unit trick to escape pb-one-col max-width constraint. */
.pb-col__content .pb-video {
	width: 100vw;
	max-width: var(--pb-container-width, 87%);
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 30px;
}
/* Buttons
--------------------------------------------- */
.pb-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	padding: 0.4rem 2rem;
	border-radius: 50px;
	border: 2px solid transparent;
	cursor: pointer;
	transition:
		background-color var(--pb-transition),
		color var(--pb-transition),
		border-color var(--pb-transition);
}

/* Citrus */
.pb-btn--citrus,
.pb-btn--citrus:visited {
	background-color: var(--color-citrus);
	color: #FFF;
	border-color: var(--color-citrus);
}

/* Sky Blue */
.pb-btn--sky-blue,
.pb-btn--sky-blue:visited {
	background-color: var(--color-sky-blue);
	color: #FFF;
	border-color: var(--color-sky-blue);
}

/* Wisdom Blue */
.pb-btn--wisdom-blue,
.pb-btn--wisdom-blue:visited {
	background-color: var(--color-wisdom-blue);
	color: #FFF;
	border-color: var(--color-wisdom-blue);
}
.pb-btn--wisdom-blue:hover,
.pb-btn--wisdom-blue:focus { /* opacity: 0.8 via .pb-btn:hover */ }

/* Lime — wisdom blue text */
.pb-btn--lime,
.pb-btn--lime:visited {
	background-color: var(--color-lime);
	color: var(--color-wisdom-blue);
	border-color: var(--color-lime);
}

/* Circle-chevron: slides right on hover — NOTHING ELSE CHANGES */
.pb-btn .pb-btn__chevron {
	flex-shrink: 0;
	transition: transform var(--pb-transition);
}

/* Lock all visual properties on hover — only chevron moves */
.pb-btn:hover,
.pb-btn:focus,
.pb-btn--citrus:hover,
.pb-btn--citrus:focus,
.pb-btn--lime:hover,
.pb-btn--lime:focus,
.pb-btn--sky-blue:hover,
.pb-btn--sky-blue:focus,
.pb-btn--wisdom-blue:hover,
.pb-btn--wisdom-blue:focus,
.pb-btn--white:hover,
.pb-btn--white:focus,
.pb-btn--outline:hover,
.pb-btn--outline:focus,
a.pb-btn:hover,
a.pb-btn:focus {
	opacity: 1 !important;
	background-color: inherit !important;
	border-color: inherit !important;
}

/* Citrus hover: lock to citrus colour */
.pb-btn--citrus:hover, .pb-btn--citrus:focus { color: #FFF !important; background-color: var(--color-citrus) !important; }
.pb-btn--lime:hover, .pb-btn--lime:focus { color: var(--color-wisdom-blue) !important; background-color: var(--color-lime) !important; }
.pb-btn--sky-blue:hover, .pb-btn--sky-blue:focus { color: #FFF !important; background-color: var(--color-sky-blue) !important; }
.pb-btn--wisdom-blue:hover, .pb-btn--wisdom-blue:focus { color: #FFF !important; background-color: var(--color-wisdom-blue) !important; }
.pb-btn--white:hover, .pb-btn--white:focus { color: var(--color-wisdom-blue) !important; background-color: #ffffff !important; }

.pb-btn:hover .pb-btn__chevron,
.pb-btn:focus .pb-btn__chevron {
	/* no movement */
}

.pb-button-wrap {
	margin-top: 1.5rem;
}

/* Multiple buttons: flex row with wrap, gap between them */
.pb-col__content:has(.pb-button-wrap + .pb-button-wrap),
.pb-col__inner:has(.pb-button-wrap + .pb-button-wrap) {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem; /* gap from content above */
	align-items: flex-start;
}

/* Each button-wrap inside the flex row loses its own margin-top (parent handles it) */
.pb-col__content:has(.pb-button-wrap + .pb-button-wrap) > .pb-button-wrap,
.pb-col__inner:has(.pb-button-wrap + .pb-button-wrap) > .pb-button-wrap {
	margin-top: 0;
}

/* Text alignment utilities
--------------------------------------------- */
.pb-text--left,
.pb-section__header.pb-text--left { text-align: left; max-width: none; margin-inline: 0; }
.pb-text--center { text-align: center; }
.pb-text--right  { text-align: right; }

/*--------------------------------------------------------------
# Column layouts
--------------------------------------------------------------*/

/* Gap utilities
--------------------------------------------- */
.pb-gap--none { --pb-col-gap: 0; }
.pb-gap--xs   { --pb-col-gap: var(--pb-gap-xs); }
.pb-gap--sm   { --pb-col-gap: var(--pb-gap-sm); }
.pb-gap--md   { --pb-col-gap: var(--pb-gap-md); }
.pb-gap--lg   { --pb-col-gap: var(--pb-gap-lg); }
.pb-gap--xl   { --pb-col-gap: var(--pb-gap-xl); }

/* Columns wrapper
--------------------------------------------- */
.pb-columns {
	display: grid;
	gap: var(--pb-col-gap, var(--pb-gap-md));
}

.pb-columns--1 { grid-template-columns: 1fr; }
.pb-columns--2 { grid-template-columns: repeat(2, 1fr); }
.pb-columns--3 { grid-template-columns: repeat(3, 1fr); }

/* Columns should fill full height so bg/padding applies uniformly */
.pb-col {
	display: flex;
	flex-direction: column;
}

.pb-col__content {
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* Column inner padding
--------------------------------------------- */
.pb-col--pad-xs { padding: 0.5rem; }
.pb-col--pad-sm { padding: 1rem; }
.pb-col--pad-md { padding: 3rem; }
.pb-col--pad-lg { padding: 4rem; }
.pb-col--pad-xl { padding: 6rem; }

/* One-column padding */
.pb-one-col.pb-col--pad-xs { padding: 0.5rem; }
.pb-one-col.pb-col--pad-sm { padding: 1rem; }
.pb-one-col.pb-col--pad-md { padding: 1.5rem; }
.pb-one-col.pb-col--pad-lg { padding: 2rem; }
.pb-one-col.pb-col--pad-xl { padding: 3rem; }

/* Vertical alignment
--------------------------------------------- */
/* pb-valign handled via align-self on .pb-col — see equal height section below */

/* Column split overrides (two columns only)
--------------------------------------------- */
.pb-split--50-50 { grid-template-columns: 1fr 1fr; }
.pb-split--60-40 { grid-template-columns: 3fr 2fr; }
.pb-split--40-60 { grid-template-columns: 2fr 3fr; }
.pb-split--66-33 { grid-template-columns: 2fr 1fr; }
.pb-split--33-66 { grid-template-columns: 1fr 2fr; }
.pb-split--25-75 { grid-template-columns: 1fr 3fr; }
.pb-split--75-25 { grid-template-columns: 3fr 1fr; }
.pb-split--25-25-50 { grid-template-columns: 1fr 1fr 2fr; }
.pb-split--50-25-25 { grid-template-columns: 2fr 1fr 1fr; }
.pb-split--25-50-25 { grid-template-columns: 1fr 2fr 1fr; }

/* Individual column
--------------------------------------------- */
.pb-col {
	position: relative;
	min-width: 0; /* prevent grid blowout */
}

/* Column link wrap — makes the whole column clickable */
.pb-col__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	height: 100%;
	color: inherit;
	text-decoration: none;
	border-radius: inherit;
	transition: opacity var(--pb-transition);
}
.pb-col__link:hover,
.pb-col__link:focus {
	opacity: 0.85;
}

/* One column layout
--------------------------------------------- */
.pb-one-col {
	margin-inline: auto;
	text-align: center;
}

.pb-one-col--narrow { max-width: 640px; }
.pb-one-col--medium { max-width: 800px; }
.pb-one-col--wide   { max-width: 1060px; }
.pb-one-col--full   { max-width: none; }

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background-color: var(--color-wisdom-blue);
	width: 100%;
	transform: translateY(0);
	transition: transform 0.3s ease;
}

.site-header--hidden {
	transform: translateY(-100%);
}

/* Push page content below fixed header */
/* site-main has no margin-top — each first-section handles header offset */

/* Logo toggle — default (reversed) shown on dark, colour shown on cream */
.site-logo--colour { display: none; }
.site-logo--default { display: block; }

.site-header--cream .site-logo--default { display: none; }
.site-header--cream .site-logo--colour  { display: block; }

.site-branding__logo {
	height: 55px;
	width: auto;
	display: block;
}

/* Cream header — when hero background is white or cream */
.site-header--cream {
	background-color: #F9F7F2;
}

/* All nav text → wisdom blue on cream header */
.site-header--cream .main-navigation > ul > li > a,
.site-header--cream .main-navigation > ul > li > a:visited,
.site-header--cream .menu-toggle {
	color: var(--color-wisdom-blue);
}

/* Buttons keep white text on cream header */
.site-header--cream .site-header__cta ul li a {
	color: var(--pb-color-white);
}

.site-header__inner {
	display: flex;
	align-items: center;
	width: 93%;
	margin-inline: auto;
	height: 72px;
	gap: 2rem;
}

/* Branding
--------------------------------------------- */
.site-branding {
	flex-shrink: 0;
}

.site-branding .custom-logo-link,
.site-branding .custom-logo-link img {
	display: block;
	max-height: 55px;
	width: auto;
}

.site-branding__name {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--pb-color-white);
	text-decoration: none;
	letter-spacing: -0.02em;
	white-space: nowrap;
}

.site-branding__name:hover,
.site-branding__name:focus {
	color: rgba(255, 255, 255, 0.8);
}

/* Primary nav (centre) — Mega Menu
--------------------------------------------- */
.main-navigation {
	flex: 1;
	display: flex;
	justify-content: center;
}

/* Top-level list */
.main-navigation > ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0.25rem;
	align-items: center;
}

/* Top-level items */
.main-navigation > ul > li {
	position: relative; /* sub-menu positions from this li */
}

/* Top-level links */
.main-navigation > ul > li > a,
.main-navigation > ul > li > a:visited {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.5rem 0.875rem;
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	font-size: 0.9375rem;
	font-weight: 500;
	border-radius: 0.375rem;
	transition: color 0.15s ease, background-color 0.15s ease;
	white-space: nowrap;
	cursor: pointer;
}

.main-navigation > ul > li > a:hover,
.main-navigation > ul > li > a:focus {
	color: rgba(255, 255, 255, 0.65);
	background-color: transparent;
}

/* Cream header — hover fades wisdom blue text, not white */
.site-header--cream .main-navigation > ul > li > a:hover,
.site-header--cream .main-navigation > ul > li > a:focus {
	color: rgba(3, 18, 77, 0.65);
}

.main-navigation > ul > li[aria-expanded="true"] > a,
.main-navigation .current-menu-item > a,
.main-navigation .current-page-ancestor > a {
	color: var(--pb-color-white);
	background-color: transparent;
}

/* Cream header — active/expanded items stay wisdom blue */
.site-header--cream .main-navigation > ul > li[aria-expanded="true"] > a,
.site-header--cream .main-navigation .current-menu-item > a,
.site-header--cream .main-navigation .current-page-ancestor > a {
	color: var(--color-wisdom-blue);
}

/* Cream header — mega-active uses opacity instead of white */
.site-header--cream .main-navigation > ul > li.mega-active > a {
	opacity: 0.65;
	color: var(--color-wisdom-blue);
}

/* Chevron indicator on items that have children */
.main-navigation > ul > li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--color-citrus);
	border-bottom: 2px solid var(--color-citrus);
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s ease;
}

.main-navigation > ul > li.menu-item-has-children[aria-expanded="true"] > a::after {
	transform: rotate(-135deg) translateY(-2px);
}

/* ── Standard Dropdown Menu ──────────────────────────────────────────────────── */
.main-navigation li.menu-item-has-children {
	position: relative;
}

/* All sub-menu levels */
.main-navigation ul.sub-menu {
	display: block;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 4px); /* small gap bridged by pseudo-element */
	left: 0;
	min-width: 220px;
	background-color: #ffffff;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	padding: 0.5rem 0;
	z-index: 999;
	list-style: none;
	margin: 0;
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
	transform: translateY(-4px);
}

/* Invisible bridge prevents gap from closing menu */
.main-navigation li.menu-item-has-children > a::before {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	height: 8px;
	background: transparent;
}

/* Open state — driven by aria-expanded on the parent li */
.main-navigation li.menu-item-has-children[aria-expanded="true"] > ul.sub-menu {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

/* Level 3 — appears to the right of level 2 */
.main-navigation ul.sub-menu li.menu-item-has-children {
	position: relative;
}

.main-navigation ul.sub-menu ul.sub-menu {
	top: 0;
	left: 100%;
	margin-left: 4px;
	border-radius: 12px;
}

/* Chevron indicator for items with children at level 2+ */
.main-navigation ul.sub-menu li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-top: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	margin-left: auto;
	float: right;
	margin-top: 6px;
}

/* Sub-menu items */
.main-navigation ul.sub-menu li {
	display: block;
}

.main-navigation ul.sub-menu a,
.main-navigation ul.sub-menu a:visited {
	display: flex;
	align-items: center;
	padding: 0.5rem 1rem;
	color: var(--color-wisdom-blue);
	text-decoration: none;
	font-size: 0.9375rem;
	font-weight: 500;
	transition: background-color 0.12s ease;
	white-space: nowrap;
}

.main-navigation ul.sub-menu a:hover,
.main-navigation ul.sub-menu a:focus {
	background-color: transparent;
	opacity: 0.55;
}

.main-navigation ul.sub-menu .current-menu-item > a {
	background-color: transparent;
	opacity: 1;
	font-weight: 700;
}

/* CTA buttons (right)
--------------------------------------------- */
.site-header__cta {
	flex-shrink: 0;
}

.site-header__cta ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0.75rem;
	align-items: center;
}

/* First CTA item = outline style, second = solid white */
.site-header__cta ul li:first-child a {
	display: inline-block;
	padding: 0.4rem 1.2rem;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 50px;
	text-decoration: none;
	color: var(--pb-color-white);
	background-color: var(--color-sky-blue);
	border: 1.5px solid var(--color-sky-blue);
	transition: all 0.2s ease;
	white-space: nowrap;
}

.site-header__cta ul li:first-child a:hover,
.site-header__cta ul li:first-child a:focus{
    background: transparent;
    border: 1.5px solid var(--color-sky-blue);
    opacity: 1;
}

/* Cream header first pill — opacity only, preserve sky-blue bg */
.site-header--cream .site-header__cta ul li:first-child a:hover,
.site-header--cream .site-header__cta ul li:first-child a:focus {
	background-color: var(--color-sky-blue);
	opacity: 0.6;
}

.site-header__cta ul li:last-child a {
	display: inline-block;
	padding: 0.4rem 1.2rem;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 50px;
	text-decoration: none;
	color: var(--color-wisdom-blue);
	background-color: #ffffff;
	border: 1px solid #FFF;
	transition: all 0.2s ease;
	white-space: nowrap;
}

/* Dark header: last button hover */
.site-header__cta ul li:last-child a:hover,
.site-header__cta ul li:last-child a:focus {
	background: transparent;
	border: 1px solid #FFF;
	opacity: 1;
	color: #FFF;
}

/* Cream header — invert last button */
.site-header--cream .site-header__cta ul li:last-child a {
	color: #ffffff;
	background-color: var(--color-wisdom-blue);
	border: 1.5px solid var(--color-wisdom-blue);
}

/* Cream header: both buttons use opacity on hover, no bg change */
.site-header--cream .site-header__cta ul li:first-child a:hover,
.site-header--cream .site-header__cta ul li:first-child a:focus {
    background: transparent;
    border: 1.5px solid var(--color-sky-blue);;
    color: var(--color-wisdom-blue);
	opacity: 1;
}

/* Restore bg for cream last button (wisdom blue — just fade it) */
.site-header--cream .site-header__cta ul li:last-child a:hover,
.site-header--cream .site-header__cta ul li:last-child a:focus {
	background-color: transparent;
	border: 1.5px solid var(--color-wisdom-blue);
	color: var(--color-wisdom-blue);
}

/* Only one CTA — treat it as the solid button */
.site-header__cta ul li:only-child a {
	border: 2px solid var(--pb-color-white);
	color: var(--color-wisdom-blue);
	background-color: var(--pb-color-white);
}

/* Hamburger button (mobile)
--------------------------------------------- */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0.375rem;
	cursor: pointer;
	margin-left: auto;
	flex-shrink: 0;
}

.menu-toggle__bar {
	display: block;
	width: 22px;
	height: 2px;
	background-color: var(--pb-color-white);
	border-radius: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
	transform-origin: center;
}

.menu-toggle.is-active .menu-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.menu-toggle.is-active .menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

.menu-toggle.is-active .menu-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* Mobile drawer
--------------------------------------------- */
.site-header__mobile-nav {
	background-color: var(--color-wisdom-blue);
	padding: 1rem 6.5% 1.5rem;
	min-height: calc(100vh - 72px); /* fill viewport below header */
	box-sizing: border-box;
	overflow-y: auto;
}

/* Cream header: mobile nav background stays navy, but burger icon is wisdom blue */
.site-header--cream .menu-toggle__bar {
	background-color: var(--color-wisdom-blue);
}

/* Parent menu item with submenu: add citrus chevron */
.site-header__mobile-nav li.menu-item-has-children > a {
	display: flex;
	align-items: center;
}
.site-header__mobile-nav li.menu-item-has-children > a::after {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--color-citrus);
	border-bottom: 2px solid var(--color-citrus);
	transform: rotate(45deg) translateY(-2px);
	margin-left: auto;
	transition: transform 0.2s ease;
	flex-shrink: 0;
}

/* Open state: chevron rotates up */
.site-header__mobile-nav li.menu-item-has-children.is-open > a::after {
	transform: rotate(-135deg) translateY(-2px);
}

/* Parent item text: white normally, citrus when open */
.site-header__mobile-nav li.menu-item-has-children > a {
	color: rgba(255, 255, 255, 0.85);
}
.site-header__mobile-nav li.menu-item-has-children.is-open > a {
	color: var(--color-citrus);
	opacity: 1;
}

/* Submenu styling — indented, smaller, different weight */
.site-header__mobile-nav .sub-menu a,
.site-header__mobile-nav .sub-menu a:visited {
	padding: 0.55rem 0 0.55rem 1.25rem;
	font-size: 0.9rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.65);
	border-bottom-color: rgba(255, 255, 255, 0.04);
}

.site-header__mobile-nav .sub-menu a:hover {
	color: rgba(255, 255, 255, 0.9);
}

/* Cream header: parent item open = wisdom blue text */
.site-header--cream .site-header__mobile-nav li.menu-item-has-children.is-open > a {
	color: var(--color-citrus);
}

.site-header__mobile-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-header__mobile-nav a,
.site-header__mobile-nav a:visited {
	display: block;
	padding: 0.75rem 0;
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	transition: color 0.15s ease;
}

.site-header__mobile-nav a:hover,
.site-header__mobile-nav a:focus {
	color: var(--pb-color-white);
}

/* CTA buttons in mobile drawer */
#mobile-cta-menu {
	padding-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

#mobile-cta-menu li {
	flex: 1;
}

#mobile-cta-menu a {
	display: block;
	text-align: center;
	border-bottom: none !important;
	border-radius: 0.375rem;
	padding: 0.65rem 1rem !important;
}

#mobile-cta-menu li:first-child a {
	background-color: var(--color-sky-blue);
	color: #ffffff;
	border: none;
	border-radius: 50px;
}

#mobile-cta-menu li:last-child a {
	background-color: #ffffff;
	color: var(--color-wisdom-blue);
	border: none;
	border-radius: 50px;
}

/* Responsive header
--------------------------------------------- */
@media (max-width: 900px) {
	.main-navigation,
	.site-header__cta {
		display: none;
	}

	.menu-toggle {
		display: flex;
	}
}

/*--------------------------------------------------------------
# Hero
--------------------------------------------------------------*/
.pb-section--hero {
	padding-bottom: 0; /* content-wrap overlaps */
	position: relative;
	z-index: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Dark variant (default) */
.pb-hero--dark {
	background-color: var(--color-wisdom-blue);
	color: var(--pb-color-white);
}

.pb-hero--dark .pb-eyebrow {
	color: var(--color-sky-blue);
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	font-family: "Playfair Display", serif;
	text-transform: none;
}

.pb-hero--dark .pb-hero__heading {
	color: var(--pb-color-white);
	font-size: 55px;
	line-height: 1.2;
}

.pb-hero--dark .pb-hero__subheading {
	color: #FFF;
}

/* Light variant */
.pb-hero--light {
	background-color: var(--pb-color-white);
	color: var(--pb-color-text);
}

.pb-hero--light .pb-eyebrow {
	color: var(--color-wisdom-blue);
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	font-family: "Playfair Display", serif;
	text-transform: none;
}

.pb-hero--light .pb-hero__heading {
	color: var(--color-wisdom-blue);
}

.pb-hero--light .pb-hero__subheading {
	color: #555;
}

/* Two-column layout */
.pb-hero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5rem;
	align-items: center;
	padding: 5rem 0 calc(5rem + 60px);
	width: 100%;
}

/* Left: content */
/* Left column */
.pb-hero__left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.pb-hero__heading {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: 52px;
	font-weight: 700;
	line-height: 1.1;
}

.pb-hero__body {
	margin-top: 0.5rem;
}

.pb-hero__body p {
	font-size: 17px;
	font-weight: 400;
	line-height: 27px;
}

.pb-hero__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2rem;
}

/* Right column */
.pb-hero__right {
	display: flex;
	align-items: flex-end;
	align-self: stretch;
}

/* Image base */
.pb-hero__image {
	width: 100%;
	overflow: hidden;
}

.pb-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Rectangle shape: aspect-ratio 1.32/1, border-radius 30px */
.pb-hero__image--rectangle {
	aspect-ratio: 1.32 / 1;
	border-radius: 30px;
}

.pb-hero__image--rectangle img {
	border-radius: 30px;
}

/* Arch shape: 834×596 viewBox, SVG clip-path */
.pb-hero__image--arch {
	aspect-ratio: 834 / 596;
	width: 100%;
}

/* Scoop shape: SVG clip-path, matches 929×593 viewBox (ratio ≈ 1.568/1) */
.pb-hero__image--scoop {
	aspect-ratio: 929 / 593;
	width: 100%;
}

.pb-hero__scoop-svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* Curved Corner Right shape: 729×616 viewBox */
.pb-hero__image--curved-corner-right {
	aspect-ratio: 729 / 616;
	width: 100%;
}

.pb-hero__shape-svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* White / None variant */
.pb-hero--white {
	background-color: var(--pb-color-white);
	color: var(--pb-color-text);
}

.pb-hero--white .pb-hero__heading {
	color: var(--color-wisdom-blue);
}

.pb-hero--white .pb-hero__body {
	color: var(--pb-color-text);
}

/* Cream variant */
.pb-hero--cream {
	background-color: #F9F7F2;
	color: var(--pb-color-text);
}

.pb-hero--cream .pb-hero__heading {
	color: var(--color-wisdom-blue);
}

.pb-hero--cream .pb-hero__body {
	color: var(--pb-color-text);
}

/* Shared Playfair typography for all hero eyebrows */
.pb-section--hero .pb-eyebrow {
	font-size: 35px;
	font-weight: 600;
	line-height: 1.1;
	font-family: "Playfair Display", serif;
	text-transform: none;
}

/* Eyebrow colour overrides (white/none background only) */
.pb-hero--white .pb-eyebrow--sky-blue {
	color: #668CCC;
}

.pb-hero--white .pb-eyebrow--lime {
	color: #8CD98C;
}

/* Min-height modifiers */
.pb-hero--height-sm  { min-height: 40vh; }
.pb-hero--height-md  { min-height: 60vh; }
.pb-hero--height-lg  { min-height: 80vh; }

@media (max-width: 768px) {
	.pb-section--hero {
		min-height: 0 !important;
		height: auto !important;
	}
	.pb-hero--height-sm,
	.pb-hero--height-md,
	.pb-hero--height-lg { min-height: 0; }
}
.pb-hero--height-full { min-height: 100vh; }

/*--------------------------------------------------------------
# Content wrap — rounded top after hero
--------------------------------------------------------------*/
.pb-content-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	background-color: var(--pb-color-white);
	border-radius: 60px 60px 0 0; /* default: flat bottom — PHP overrides when no-image CTA */
	margin-top: -60px;
	padding-top: 0;
	padding-bottom: 5rem;
	margin-bottom: 0;
	overflow: hidden;
}

.is-front-page .pb-content-wrap {
	padding-bottom: 5rem;
}


/* Section header above column layouts (left-aligned by default)
--------------------------------------------- */
.pb-section__header--cols {
	text-align: left;
	max-width: 760px;
	margin-inline: 0;
	margin-bottom: 2.5rem;
}

/*--------------------------------------------------------------
# Image + Text
--------------------------------------------------------------*/
.pb-section--image-text {
	width: 100%;
	padding-block: 5rem;
	margin-block: 0;
}

/* With background: constrain with padding and add radius */
.pb-section--image-text.pb-bg--cream,
.pb-section--image-text.pb-bg--wisdom {
	padding-inline: 6.5%;
	box-sizing: border-box;
	border-radius: 60px;
}

/* With background: constrain to a reasonable max width so it doesn't go wall-to-wall on huge screens */
.pb-section--image-text.pb-bg--cream,
.pb-section--image-text.pb-bg--wisdom {
	max-width: 1520px;
	margin-inline: auto;
	overflow: hidden;
}

/* Wisdom blue background variant (replaces "dark") */
.pb-section--image-text.pb-bg--wisdom h1,
.pb-section--image-text.pb-bg--wisdom h2,
.pb-section--image-text.pb-bg--wisdom h3,
.pb-section--image-text.pb-bg--wisdom h4,
.pb-section--image-text.pb-bg--wisdom p {
	color: var(--pb-color-white);
}

.pb-section--image-text.pb-bg--wisdom .pb-eyebrow {
	color: #B5B8C5;
}

.pb-image-text__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: center;
}

.pb-image-text--right .pb-image-text__inner {
	direction: rtl;
}
.pb-image-text--right .pb-image-text__inner > * {
	direction: ltr;
}

.pb-image-text__image {
	position: relative;
}

/* Image shape system */
.pb-image-text__image img,
.pb-image-text__image .pb-img-shape-svg {
	width: 100%;
	height: auto;
	display: block;
}

/* Default: landscape with 30px radius */
.pb-image-text__image img {
	border-radius: 30px;
	object-fit: cover;
}

/* Shape: organic blob (SVG clip) */
.pb-image-text__image--shape-blob img {
	border-radius: 0;
	clip-path: none;
}
.pb-image-text__image--shape-blob .pb-img-clip-wrap {
	display: block;
	width: 100%;
}
.pb-image-text__image--shape-blob .pb-img-clip-wrap svg {
	width: 100%;
	height: auto;
	display: block;
}

/* Shape: pill-left  border-radius: 4000px 50px 50px 4000px */
.pb-image-text__image--shape-pill-left img {
	border-radius: 4000px 50px 50px 4000px;
	object-fit: cover;
	aspect-ratio: 16/9;
}

/* Shape: corner-pop  border-radius: 60px 60px 400px 60px */
.pb-image-text__image--shape-corner img {
	border-radius: 60px 60px 400px 60px;
	object-fit: cover;
	aspect-ratio: 729 / 616;
}

/* Image-text button group */
.pb-image-text__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 0.5rem;
}

.pb-image-text__buttons .pb-button-wrap {
	margin-top: 0;
}



/*--------------------------------------------------------------
# CTA Banner
--------------------------------------------------------------*/
.pb-section--cta-banner {
	position: relative;
	background-color: #FFF;
	padding-block: 0;
}

.is-front-page .pb-section--cta-banner {
	padding-top: 5rem;
}

/* Top image — sits above the coloured content block, full screen width, 70vh */
.pb-cta-banner__top-image {
	position: relative;
	height: 70vh;
	line-height: 0;
	border-radius: 60px;
	overflow: hidden;
	margin-bottom: -60px; /* pull content-wrap up so image overlaps it */
	z-index: 1;
}

.pb-cta-banner__top-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Overlay element — used for bg-image variant */
.pb-cta-banner__overlay {
	display: none;
}

.pb-section--cta-banner .pb-container {
	position: relative;
	z-index: 2;
}

/* Content-wrap: coloured block beneath the image, flat bottom against footer */
.pb-cta-banner__content-wrap {
	border-radius: 0;
	position: relative; /* establish stacking context */
}

/* No top image: round the top */
.pb-cta-banner--no-top-image .pb-cta-banner__content-wrap {
	border-radius: 60px 60px 0 0;
}

.pb-cta-banner__inner {
	max-width: 760px;
	margin-inline: auto;
	/* 60px extra top compensates for the -60px margin-bottom on the top image */
	padding-top: calc(5rem + 60px);
	padding-bottom: 5rem;
}

.pb-text--center .pb-cta-banner__inner {
	text-align: center;
}

.pb-cta-banner__eyebrow {
	margin-bottom: 1rem;
	color: #B5B8C5 !important;
}

.pb-cta-banner__heading {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	margin-top: 0;
}

.pb-cta-banner__subtext {
	font-size: 1.125rem;
	margin-top: 1rem;
}

.pb-cta-banner__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2rem;
}

.pb-cta-banner__buttons .pb-btn:hover {
    background-color: var(--color-wisdom-blue) !important;
}

.pb-text--center .pb-cta-banner__buttons {
	justify-content: center;
}

/* ── Wisdom Blue style (default) ──────────────────── */
.pb-cta-banner--wisdom .pb-cta-banner__content-wrap {
	background-color: var(--color-wisdom-blue);
}

.pb-cta-banner--wisdom .pb-cta-banner__inner,
.pb-cta-banner--wisdom .pb-cta-banner__heading,
.pb-cta-banner--wisdom .pb-cta-banner__subtext,
.pb-cta-banner--wisdom .pb-cta-banner__eyebrow {
	color: var(--pb-color-white);
}

/* ── Wisdom Blue + Background Image ───────────────── */
.pb-cta-banner--wisdom-bg-image .pb-cta-banner__content-wrap {
	background-color: var(--color-wisdom-blue);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative; /* needed so overlay is contained within */
}

.pb-cta-banner--wisdom-bg-image .pb-cta-banner__overlay {
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: rgba(3, 18, 77, 0.75);
	pointer-events: none;
}

/* Inner content always above the overlay */
.pb-cta-banner--wisdom-bg-image .pb-cta-banner__inner {
	position: relative;
	z-index: 2;
}

.pb-cta-banner--wisdom-bg-image .pb-cta-banner__inner,
.pb-cta-banner--wisdom-bg-image .pb-cta-banner__heading,
.pb-cta-banner--wisdom-bg-image .pb-cta-banner__subtext,
.pb-cta-banner--wisdom-bg-image .pb-cta-banner__eyebrow {
	color: var(--pb-color-white);
}

/* ── Light style ──────────────────────────────────── */
.pb-cta-banner--light {
	background-color: var(--pb-color-light);
}

/* ── Accent style ─────────────────────────────────── */
.pb-cta-banner--accent {
	background-color: var(--color-citrus);
}

/* pb-btn__icon: consolidated into pb-btn__chevron */
/* ── White outline button (secondary on dark backgrounds) */
.pb-btn--outline-white {
	background-color: transparent;
	color: #FFF !important;
	border-color: var(--pb-color-white);
}

.pb-btn--outline-white:hover,
.pb-btn--outline-white:focus {
	background-color: var(--pb-color-white);
	color: var(--color-wisdom-blue) !important;
}


/*--------------------------------------------------------------
# Tabs
--------------------------------------------------------------*/
.pb-section--tabs {
	/* Section is full width — pb-tabs-bg-wrap handles sizing and colour */
	width: 100%;
	margin-inline: 0;
	margin-block: 0;
	border-radius: 0;
	padding-block: 0 !important;
	background: #FFF;
}

/* 93%-wide cream box matching columns/accordion pattern */

/* Tabs: bg-wrap handles padding, not the section */
.pb-section--tabs {
	padding-block: 0;
}
.pb-tabs-bg-wrap {
	width: 93%;
	margin-inline: auto;
	border-radius: 60px;
	padding-block: 5rem;
	background-color: #F9F7F2;
	overflow: hidden;
}

/* Narrow centred intro content above the tab nav */
.pb-tabs__intro {
	max-width: 640px;
	margin-inline: auto;
	text-align: center;
	margin-bottom: 2.5rem;
}

.pb-tabs__intro .pb-heading,
.pb-tabs__intro h2,
.pb-tabs__intro h3,
.pb-tabs__intro p,
.pb-tabs__intro .pb-eyebrow {
	text-align: center;
}

.pb-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 4rem;
	padding-bottom: 0;
	border-bottom: none;
}

.pb-tabs__nav--center {
	justify-content: center;
}

.pb-tabs__nav-btn {
	background: transparent;
	border: none;
	padding: 0.6rem 1.4rem;
	font-family: "Roboto", sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--color-wisdom-blue);
	cursor: pointer;
	border-radius: 50px;
	transition: background-color var(--pb-transition), color var(--pb-transition);
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.pb-tabs__nav-btn:hover {
	background-color: var(--color-sky-blue);
	color: #FFF;
}

.pb-tabs__nav-btn[aria-selected="true"] {
	background-color: var(--color-sky-blue);
	color: #FFF;
}

.pb-tabs__nav-btn-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
}

.pb-tabs__nav-btn-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* Invert icon to white when tab is active or hovered */
.pb-tabs__nav-btn:hover .pb-tabs__nav-btn-icon img,
.pb-tabs__nav-btn[aria-selected="true"] .pb-tabs__nav-btn-icon img {
	filter: brightness(0) invert(1);
}

.pb-tabs__panel {
	display: none;
}

.pb-tabs__panel[aria-hidden="false"] {
	display: block;
}

/* Column grid inside a tab panel — reuses .pb-columns styles */
.pb-tabs__panel .pb-columns {
	align-items: start;
}

/* Left column with icon: icon sits top-left, content flows beside it */
.pb-col--with-icon {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
}

.pb-col__icon-wrap {
	flex-shrink: 0;
	width: 56px;
}

.pb-col__icon-wrap img {
	width: 100%;
	height: auto;
	display: block;
}

.pb-col__icon-content {
	flex: 1;
	min-width: 0;
}

/* Intro copy above cards */
.pb-tabs__intro,
.pb-tabs__panel > .pb-col__content {
	margin-bottom: 2rem;
}

/* Tab cards grid — configurable columns */
.pb-tab-cards {
	display: flex;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
	align-items: stretch;
}
.pb-tab-cards--2col { grid-template-columns: repeat(2, 1fr); }
.pb-tab-cards--3col { grid-template-columns: repeat(3, 1fr); }
.pb-tab-cards--4col { grid-template-columns: repeat(4, 1fr); }
.pb-tab-cards--5col { grid-template-columns: repeat(5, 1fr); }

/* Tab cards fill grid cell height, button anchors to bottom */
.pb-tab-card {
	align-self: stretch;
}

.pb-tab-card .pb-col__body {
	flex: 1;
}

.pb-tab-card .pb-button-wrap {
	margin-top: auto;
}

/* Odd card in even-column grid spans full width */
.pb-tab-card--span { grid-column: 1 / -1; max-width: 50%; margin-inline: auto; }

@media (max-width: 900px) {
	.pb-tab-cards--3col,
	.pb-tab-cards--4col,
	.pb-tab-cards--5col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.pb-tab-cards { grid-template-columns: 1fr; }
	.pb-tab-card--span { max-width: 100%; }
}

/* Individual card */
.pb-tab-card {
	background: #FFF;
	border-radius: 60px;
	padding: 2.5rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pb-tab-card__icon {
	width: 56px;
	height: 56px;
	flex-shrink: 0;
}

.pb-tab-card__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pb-tab-card__heading {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0;
	color: var(--color-wisdom-blue);
}

.pb-tab-card__body {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: inherit;
	margin: 0;
}

.pb-tab-card__body p {
	margin: 0 0 0.75em;
}

.pb-tab-card__body p:last-child {
	margin-bottom: 2rem; /* PHP overrides to 0 when CTA has no top image */
}

.pb-tab-card__link {
	margin-top: auto;
	align-self: flex-start;
}


/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/
.pb-section--gallery { background-color: #FFFFFF; }

.pb-bg--cream { background-color: #F9F7F2; }

/* ── Masonry gallery — 3-column, portrait | 2×landscape | portrait pattern ─ */
/*
   Layout per group of 4 images:
     [ portrait  ] [ landscape ] [ portrait  ]
     [ portrait  ] [ landscape ] [ portrait  ]
   col-1 and col-3 are portrait (span 2 rows).
   col-2 has 2 landscape images stacked (1 row each).
   Portrait height == combined height of 2 landscapes + gap.
*/

.pb-gallery__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-auto-rows: 340px;
	gap: var(--pb-gallery-gap, 16px);
	grid-auto-flow: dense;
}

.pb-gallery__item {
	margin: 0;
	overflow: hidden;
	border-radius: var(--pb-gallery-radius, 12px);
	position: relative;
}

.pb-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ── Explicit placement per image position ──────────────────────────────────
   Pattern repeats every 4 images:
     col 1 — portrait  (spans 2 rows)
     col 2 — landscape (row 1 of pair)
     col 2 — landscape (row 2 of pair)
     col 3 — portrait  (spans 2 rows)
   Using explicit grid-row start lines so auto-placement can't misplace items.
────────────────────────────────────────────────────────────────────────── */

/* Group 1 — images 1–4 */
.pb-gallery__item:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
.pb-gallery__item:nth-child(2) { grid-column: 2; grid-row: 1; }
.pb-gallery__item:nth-child(3) { grid-column: 2; grid-row: 2; }
.pb-gallery__item:nth-child(4) { grid-column: 3; grid-row: 1 / span 2; }
/* Group 2 — images 5–8 */
.pb-gallery__item:nth-child(5) { grid-column: 1; grid-row: 3 / span 2; }
.pb-gallery__item:nth-child(6) { grid-column: 2; grid-row: 3; }
.pb-gallery__item:nth-child(7) { grid-column: 2; grid-row: 4; }
.pb-gallery__item:nth-child(8) { grid-column: 3; grid-row: 3 / span 2; }
/* Group 3 — images 9–12 */
.pb-gallery__item:nth-child(9) { grid-column: 1; grid-row: 5 / span 2; }
.pb-gallery__item:nth-child(10) { grid-column: 2; grid-row: 5; }
.pb-gallery__item:nth-child(11) { grid-column: 2; grid-row: 6; }
.pb-gallery__item:nth-child(12) { grid-column: 3; grid-row: 5 / span 2; }
/* Group 4 — images 13–16 */
.pb-gallery__item:nth-child(13) { grid-column: 1; grid-row: 7 / span 2; }
.pb-gallery__item:nth-child(14) { grid-column: 2; grid-row: 7; }
.pb-gallery__item:nth-child(15) { grid-column: 2; grid-row: 8; }
.pb-gallery__item:nth-child(16) { grid-column: 3; grid-row: 7 / span 2; }
/* Group 5 — images 17–20 */
.pb-gallery__item:nth-child(17) { grid-column: 1; grid-row: 9 / span 2; }
.pb-gallery__item:nth-child(18) { grid-column: 2; grid-row: 9; }
.pb-gallery__item:nth-child(19) { grid-column: 2; grid-row: 10; }
.pb-gallery__item:nth-child(20) { grid-column: 3; grid-row: 9 / span 2; }
/* Group 6 — images 21–24 */
.pb-gallery__item:nth-child(21) { grid-column: 1; grid-row: 11 / span 2; }
.pb-gallery__item:nth-child(22) { grid-column: 2; grid-row: 11; }
.pb-gallery__item:nth-child(23) { grid-column: 2; grid-row: 12; }
.pb-gallery__item:nth-child(24) { grid-column: 3; grid-row: 11 / span 2; }
/* Group 7 — images 25–28 */
.pb-gallery__item:nth-child(25) { grid-column: 1; grid-row: 13 / span 2; }
.pb-gallery__item:nth-child(26) { grid-column: 2; grid-row: 13; }
.pb-gallery__item:nth-child(27) { grid-column: 2; grid-row: 14; }
.pb-gallery__item:nth-child(28) { grid-column: 3; grid-row: 13 / span 2; }
/* Group 8 — images 29–32 */
.pb-gallery__item:nth-child(29) { grid-column: 1; grid-row: 15 / span 2; }
.pb-gallery__item:nth-child(30) { grid-column: 2; grid-row: 15; }
.pb-gallery__item:nth-child(31) { grid-column: 2; grid-row: 16; }
.pb-gallery__item:nth-child(32) { grid-column: 3; grid-row: 15 / span 2; }
/* Group 9 — images 33–36 */
.pb-gallery__item:nth-child(33) { grid-column: 1; grid-row: 17 / span 2; }
.pb-gallery__item:nth-child(34) { grid-column: 2; grid-row: 17; }
.pb-gallery__item:nth-child(35) { grid-column: 2; grid-row: 18; }
.pb-gallery__item:nth-child(36) { grid-column: 3; grid-row: 17 / span 2; }
/* Group 10 — images 37–40 */
.pb-gallery__item:nth-child(37) { grid-column: 1; grid-row: 19 / span 2; }
.pb-gallery__item:nth-child(38) { grid-column: 2; grid-row: 19; }
.pb-gallery__item:nth-child(39) { grid-column: 2; grid-row: 20; }
.pb-gallery__item:nth-child(40) { grid-column: 3; grid-row: 19 / span 2; }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
	.pb-gallery__grid {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 280px;
	}
	.pb-gallery__item:nth-child(n) {
		grid-column: unset !important;
		grid-row: unset !important;
	}
}

@media (max-width: 480px) {
	.pb-gallery__grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 260px;
	}
	.pb-gallery__item:nth-child(n) {
		grid-column: 1 !important;
		grid-row: span 1 !important;
	}
}

.pb-gallery__link {
	display: block;
	height: 100%;
	position: relative;
	overflow: hidden;
}

.pb-gallery__zoom {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(3, 18, 77, 0.35);
	opacity: 0;
	transition: opacity var(--pb-transition);
	pointer-events: none;
}

.pb-gallery__link:hover .pb-gallery__zoom,
.pb-gallery__link:focus .pb-gallery__zoom {
	opacity: 1;
}

/* Lightbox */
.pb-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
}

.pb-lightbox[hidden] {
	display: none;
}

.pb-lightbox__stage {
	max-width: 90vw;
	max-height: 90vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pb-lightbox__img {
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	border-radius: 8px;
}

.pb-lightbox__close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	line-height: 0;
}

.pb-lightbox__prev,
.pb-lightbox__next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	line-height: 0;
	transition: transform var(--pb-transition);
}

.pb-lightbox__prev { left: 1.5rem; }
.pb-lightbox__next { right: 1.5rem; }

.pb-lightbox__prev:hover { transform: translateY(-50%) translateX(-3px); }
.pb-lightbox__next:hover { transform: translateY(-50%) translateX(3px); }

/*--------------------------------------------------------------
# Accordion
--------------------------------------------------------------*/

/* ── Section wrapper — no bg, no padding, just vertical rhythm ──────────── */
/* ── Accordion section — always container width, always 60px radius ─────── */
.pb-section--accordion {
	/* Section is full width — bg-wrap handles sizing and colour */
	width: 100%;
	max-width: none;
	margin-inline: 0;
	border-radius: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Without a background: keep the original contained look */
.pb-section--accordion:not(.pb-section--accordion-styled) {
	width: 87%;
	max-width: 1400px;
	margin-inline: auto;
	border-radius: 60px;
	padding: 5rem;
}

/* Background colours — now handled by pb-accordion-bg-wrap, not the section */
.pb-section--accordion.pb-bg--cream  { background: #FFF; }
.pb-section--accordion.pb-bg--wisdom { background: #FFF; }

/* ── Stacked non-styled accordions — blend into one continuous block ─────── */
.pb-section--accordion:not(.pb-section--accordion-styled) + .pb-section--accordion:not(.pb-section--accordion-styled) {
	margin-top: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.pb-section--accordion:not(.pb-section--accordion-styled):has(+ .pb-section--accordion:not(.pb-section--accordion-styled)) {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

/* Container inside accordion */
.pb-section--accordion .pb-container {
	width: 100%;
	max-width: 100%;
}

/* ── The wrap constrains content width inside the section ───────────────── */
.pb-accordion-wrap {
	width: 100%;
	box-sizing: border-box;
}

/* Content width variants */
.pb-accordion-wrap--narrow  { max-width: 640px;  margin-inline: auto; }
.pb-accordion-wrap--medium  { max-width: 760px;  margin-inline: auto; }
.pb-accordion-wrap--wide    { max-width: 960px;  margin-inline: auto; }
.pb-accordion-wrap--full    { max-width: 100%;   margin-inline: auto; }

/* ── Intro above items ───────────────────────────────────────────────────── */
.pb-accordion__intro {
	margin-bottom: 2.5rem;
}

/* Intro text on cream or none/white → wisdom blue */
.pb-section--accordion:not(.pb-bg--wisdom) .pb-accordion__intro .pb-section__heading,
.pb-section--accordion:not(.pb-bg--wisdom) .pb-accordion__intro .pb-eyebrow,
.pb-section--accordion:not(.pb-bg--wisdom) .pb-accordion__intro .pb-section__intro,
.pb-section--accordion:not(.pb-bg--wisdom) .pb-accordion__intro .pb-section__intro * {
	color: var(--color-wisdom-blue);
}

/* Intro text on wisdom blue → white */
.pb-bg--wisdom .pb-accordion__intro .pb-section__heading,
.pb-bg--wisdom .pb-accordion__intro .pb-eyebrow,
.pb-bg--wisdom .pb-accordion__intro .pb-section__intro,
.pb-bg--wisdom .pb-accordion__intro .pb-section__intro * {
	color: #FFF;
}

/* ── Accordion list ─────────────────────────────────────────────────────── */
.pb-accordion {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

/* ── Single item ────────────────────────────────────────────────────────── */
.pb-accordion__item {
	background: #FFF;
	border-radius: 20px;
	padding: 2rem;
	transition: box-shadow 0.2s ease;
}

.pb-accordion__item a,
.pb-accordion__item a:visited {
	color: var(--color-wisdom-blue);
}

.pb-accordion__item a:hover {
	opacity: 0.7;
}

/* Pill buttons — never change opacity or colour on hover, chevron only */
.pb-btn:hover,
.pb-btn:focus,
a.pb-btn:hover,
a.pb-btn:focus {
	opacity: 1 !important;
	color: inherit !important;
}


.pb-btn:hover .pb-btn__chevron,
.pb-btn:focus .pb-btn__chevron {
	/* no movement */
}

.pb-btn__chevron {
	transition: transform 0.2s ease;
}

.pb-accordion__item.is-open {
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.06);
}

/* ── Trigger (question button) ──────────────────────────────────────────── */
.pb-accordion__trigger {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	text-align: left;
	cursor: pointer;
	gap: 1.25rem;
}

.pb-accordion__label {
	color: var(--color-wisdom-blue);
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 26px;
	flex: 1;
	min-width: 0;
}

/* ── Arrow icon ─────────────────────────────────────────────────────────── */
.pb-accordion__arrow {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.25s ease;
}

.pb-accordion__trigger[aria-expanded="true"] .pb-accordion__arrow {
	transform: rotate(180deg);
}

/* ── Panel ──────────────────────────────────────────────────────────────── */
.pb-accordion__panel {
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.pb-accordion__content {
	padding-top: 1.25rem;
}

/* ── Body copy inside answer ────────────────────────────────────────────── */
.pb-accordion__body {
	margin: 0;
}
.pb-accordion__body p { margin: 0 0 0.75em; }
.pb-accordion__body p:last-child { margin-bottom: 0; }

/* ── Grid block inside answer ───────────────────────────────────────────── */
.pb-accordion__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.5rem;
	margin-top: 1rem;
}

.pb-accordion__grid-heading {
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--color-wisdom-blue);
	margin: 0 0 0.375rem;
}

.pb-accordion__grid-body {
	font-size: 0.875rem;
	line-height: 1.6;
	margin: 0;
}
.pb-accordion__grid-body p { margin: 0 0 0.5em; }
.pb-accordion__grid-body p:last-child { margin-bottom: 0; }

/*--------------------------------------------------------------
# Video
--------------------------------------------------------------*/
.pb-video {
	position: relative;
	width: 100%;
	border-radius: 30px;
	overflow: hidden;
}

/* Full-width: break out of the pb-one-col width constraint */
.pb-video--fullwidth {
	width: 100%;
	border-radius: 30px;
}

.pb-video--16-9  { aspect-ratio: 16 / 9; }
.pb-video--4-3   { aspect-ratio: 4  / 3; }
.pb-video--1-1   { aspect-ratio: 1  / 1; }
.pb-video--9-16  { aspect-ratio: 9  / 16; max-width: 400px; margin-inline: auto; }

.pb-video iframe,
.pb-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

/* ── Thumbnail overlay ── */
.pb-video__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pb-video__thumbnail {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.pb-video__overlay:hover .pb-video__thumbnail {
	transform: scale(1.02);
}

.pb-video__play {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease;
	transform: scale(0.5);
}

.pb-video__overlay:hover .pb-video__play,
.pb-video__overlay:focus .pb-video__play {
	transform: scale(0.54);
}

.pb-video__overlay:focus {
	outline: 3px solid #FABF0A;
	outline-offset: 3px;
}

/*--------------------------------------------------------------
# Stats
--------------------------------------------------------------*/
.pb-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 5rem;
	text-align: center;
}

.pb-stat__number {
	font-size: 65px !important;
	font-weight: 400 !important;
	line-height: 1;
	color: var(--color-wisdom-blue);
	margin: 0 0 1rem;
	font-family: "Playfair Display";
}

.pb-stat__label {
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-wisdom-blue);
	margin: 0 0 0.25rem;
	font-family: Roboto;
	font-size: 15px;
	font-weight: 400;
	line-height: 22px;
}

.pb-stat__description {
	font-size: 0.875rem;
	color: var(--color-wisdom-blue)
	margin: 0;
	font-family: Roboto;
	font-size: 15px;
	font-weight: 400;
	line-height: 22px;
}

/*--------------------------------------------------------------
# Form Section
--------------------------------------------------------------*/
.pb-form--side-by-side .pb-form__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: start;
}

.pb-form__header .pb-section__heading {
	margin-top: 0;
}

/*--------------------------------------------------------------
# Spacer / Divider
--------------------------------------------------------------*/
.pb-spacer--xs  { height: 1rem; }
.pb-spacer--sm  { height: 2rem; }
.pb-spacer--md  { height: 4rem; }
.pb-spacer--lg  { height: 6rem; }
.pb-spacer--xl  { height: 8rem; }

.pb-divider {
	border: none;
	border-top: 1px solid var(--pb-color-border);
	margin: 0;
}

/*--------------------------------------------------------------
# Cards
--------------------------------------------------------------*/
.pb-cards__grid {
	display: grid;
	gap: 2rem;
}

.pb-cards__grid--2col { grid-template-columns: repeat(2, 1fr); }
.pb-cards__grid--3col { grid-template-columns: repeat(3, 1fr); }
.pb-cards__grid--4col { grid-template-columns: repeat(4, 1fr); }

/* Card base
--------------------------------------------- */
.pb-card {
	background-color: var(--pb-color-card-bg);
	border: 1px solid var(--pb-color-card-border);
	border-radius: var(--pb-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow var(--pb-transition), transform var(--pb-transition);
}

.pb-card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,0.1);
	transform: translateY(-2px);
}

.pb-card__image {
	overflow: hidden;
	border-radius: 30px 30px 0 0; /* top corners only — bottom merges with card body */
}

.pb-card__image img {
	display: block;
	width: 100%;
	height: 240px;
	object-fit: cover;
}

.pb-card__body {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* Leadership cards
--------------------------------------------- */
.pb-card--leadership .pb-card__image img {
	height: 280px;
	object-fit: cover;
	object-position: top center;
}

.pb-card--leadership .pb-card__name {
	font-size: 1.125rem;
	margin: 0 0 0.25rem;
	color: var(--pb-color-heading);
}

.pb-card--leadership .pb-card__title {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--pb-color-primary);
	margin: 0 0 0.25rem;
}

.pb-card--leadership .pb-card__department {
	font-size: 0.8125rem;
	color: #888;
	margin: 0 0 0.75rem;
}

.pb-card--leadership .pb-card__bio {
	font-size: 0.875rem;
	color: #555;
	line-height: 1.6;
	margin: 0;
	flex: 1;
}

.pb-card__links {
	display: flex;
	gap: 0.75rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--pb-color-card-border);
}

.pb-card__link {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #888;
	text-decoration: none;
	transition: color var(--pb-transition);
}

.pb-card__link:hover {
	color: var(--pb-color-primary);
}

/* News cards
--------------------------------------------- */
.pb-card--news .pb-card__image a {
	display: block;
	overflow: hidden;
}

.pb-card--news .pb-card__image img {
	transition: transform 0.3s ease;
}

.pb-card--news:hover .pb-card__image img {
	transform: scale(1.03);
}

.pb-card__meta {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.75rem;
}

.pb-card__category {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pb-color-primary);
}

.pb-card__date {
	font-size: 0.8125rem;
	color: #999;
}

.pb-card--news .pb-card__title {
	font-size: 1.0625rem;
	margin: 0 0 0.75rem;
	line-height: 1.4;
}

.pb-card--news .pb-card__title a {
	color: var(--pb-color-heading);
	text-decoration: none;
}

.pb-card--news .pb-card__title a:hover {
	color: var(--pb-color-primary);
}

.pb-card__excerpt {
	font-size: 0.875rem;
	color: #666;
	line-height: 1.6;
	flex: 1;
	margin: 0 0 1.25rem;
}

.pb-card__cta {
	align-self: flex-start;
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	background-color: var(--color-citrus);
	color: var(--color-wisdom-blue);
	border-color: var(--color-citrus);
}
.pb-card__cta:hover,
.pb-card__cta:focus {
	background-color: var(--color-citrus-dark);
	border-color: var(--color-citrus-dark);
	color: var(--color-wisdom-blue);
}

/*--------------------------------------------------------------
# Responsive
--------------------------------------------------------------*/
@media (max-width: 900px) {
	.pb-columns--2,
	.pb-columns--3,
	.pb-split--50-50,
	.pb-split--60-40,
	.pb-split--40-60,
	.pb-split--66-33,
	.pb-split--33-66 {
		grid-template-columns: 1fr;
	}

	.pb-columns--reverse-mobile .pb-col:last-child {
		order: -1;
	}

	.pb-hero__inner,
	.pb-image-text__inner {
		grid-template-columns: 1fr;
	}

	.pb-image-text--right .pb-image-text__inner {
		direction: ltr;
	}

	.pb-section--image-text {
		width: calc(100% - 1.5rem);
		border-radius: 30px;
		margin-block: 1rem;
	}

	.pb-cards__grid--2col { grid-template-columns: 1fr; }
	.pb-cards__grid--3col { grid-template-columns: repeat(2, 1fr); }
	.pb-cards__grid--4col { grid-template-columns: repeat(2, 1fr); }

	.pb-form--side-by-side .pb-form__inner {
		grid-template-columns: 1fr;
	}

	.pb-stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.pb-pad-lg { padding-block: 3rem; }
	.pb-pad-xl { padding-block: 5rem; }
}

@media (max-width: 600px) {
	:root {
		/* mobile: container is already 87% width */
		--pb-pad-md: 2.5rem;
		--pb-pad-lg: 3rem;
		--pb-pad-xl: 4rem;
	}

	.pb-section--hero {
		padding-top: 1.5rem !important;
		padding-bottom: 8vh !important;
	}

	.pb-cards__grid--3col,
	.pb-cards__grid--4col {
		grid-template-columns: 1fr;
	}

	.pb-stats {
		grid-template-columns: 1fr;
	}

	.pb-hero__buttons {
		flex-direction: column;
	}
}


/*--------------------------------------------------------------
# Responsive — hero & content-wrap
--------------------------------------------------------------*/
@media (max-width: 900px) {
	.pb-hero__inner {
		grid-template-columns: 1fr;
		gap: 3rem;
		padding-top: 0;
		padding-bottom: calc(1rem + 32px);
	}

	/* On mobile, image stacks below — soften shapes */
	.pb-hero__image--rectangle,
	.pb-hero__image--rectangle img {
		border-radius: 1rem;
	}

	.pb-hero__image--arch,
	.pb-hero__image--arch img {
		border-radius: 1rem;
	}

	/* Hero right: full width, cap height */
	.pb-hero__right {
		display: flex;
		width: 100%;
	}

	.pb-hero__image--scoop,
	.pb-hero__image--arch,
	.pb-hero__image--rectangle,
	.pb-hero__image--curved-corner-right {
		width: 100%;
		max-height: 240px;
		overflow: hidden;
	}

	/* SVG: fill full width, let viewBox ratio set height, clamp with max-height */
	.pb-hero__shape-svg,
	.pb-hero__image svg {
		width: 100% !important;
		height: auto !important;
		max-height: 240px;
		display: block;
		overflow: hidden;
	}

	.pb-content-wrap {
		border-radius: 30px 30px 0 0;
		margin-top: -30px;
	}
}

@media (max-width: 600px) {
	.pb-content-wrap {
		border-radius: 30px 30px 0 0 !important;
	}
}

/* cards-styled rules moved to end */

/* Wisdom Blue text inversion */
.pb-bg--wisdom .pb-section__heading,
.pb-bg--wisdom .pb-eyebrow,
.pb-bg--wisdom .pb-section__intro,
.pb-bg--wisdom .pb-section__intro * {
	color: #FFF;
}

.pb-cards-width-wrap {
	width: 100%;
}
.pb-cards-width-wrap.pb-one-col--narrow { max-width: 640px; margin-inline: auto; }
.pb-cards-width-wrap.pb-one-col--medium { max-width: 800px; margin-inline: auto; }
.pb-cards-width-wrap.pb-one-col--wide   { max-width: 1060px; margin-inline: auto; }

/* ── Cards page-builder layout grid ────────────────────────────────────────── */
.pb-cards-grid {
	display: grid;
	gap: 1rem;
	width: 100%;
	box-sizing: border-box;
}

.pb-cards-grid--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pb-cards-grid--3col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pb-cards-grid--4col { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pb-cards-grid--5col { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Masonry: last-row cards span proportionally to fill the grid width */
/* Span styles are applied inline by PHP (grid-column: span N) */
.pb-cards-grid--masonry {
	/* grid handles it — no extra CSS needed, PHP sets span inline */
}

/* Tighter padding for 4- and 5-col cards */
.pb-cards-grid--4col .pb-fc-card,
.pb-cards-grid--5col .pb-fc-card {
	padding: 0;
}

@media (max-width: 1024px) {
	.pb-cards-grid--4col,
	.pb-cards-grid--5col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.pb-cards-grid--3col,
	.pb-cards-grid--4col,
	.pb-cards-grid--5col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.pb-cards-grid { grid-template-columns: minmax(0, 1fr); }
}

.pb-section--cards {
	overflow-x: clip;
}

/* Card icon — auto-above-heading */
.pb-fc-card__icon {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 0;
	align-self: flex-start;
}

.pb-fc-card__icon--svg img {
	object-fit: contain;
	display: block;
	height: auto;
	max-width: 100%;
}

/* Non-SVG image: full card width, 436:376 aspect ratio, 12px radius */
.pb-fc-card__image {
	width: 100%;
	margin-bottom: 1rem;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 436 / 376;
}

.pb-fc-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Individual card in the Cards layout — always white */
.pb-fc-card {
	background: #FFF;
	border-radius: 60px;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	color: inherit;
	text-decoration: none;
	min-width: 0;
	box-sizing: border-box;
}
.pb-fc-card:visited {
	color: inherit;
	text-decoration: none;
}

/* Chevron icon rendered via button style='chevron' */
.pb-card__chevron-icon {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: auto;
	padding-top: 0.75rem;
}

.pb-fc-card .pb-tab-card__image,
.pb-fc-card .pb-image {
	border-radius: 12px;
	overflow: hidden;
	display: block;
	/* Dimensions set via inline style from ACF — ensure the figure clips the img */
	position: relative;
}

/* Img always fills the figure's dimensions exactly */
.pb-fc-card .pb-tab-card__image img,
.pb-fc-card .pb-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}

/* Also applies to tab cards */
.pb-tab-card .pb-tab-card__image {
	border-radius: 12px;
	overflow: hidden;
	display: block;
}
.pb-tab-card .pb-tab-card__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.pb-fc-card .pb-tab-card__heading {
	margin: 0;
}

.pb-fc-card .pb-button-wrap {
	margin-top: auto;
	padding-top: 0.5rem;
}

/* Eyebrow inside a card — inherits card alignment, not forced centre */
.pb-card__eyebrow {
	text-align: left;
	line-height: 1.4;
	margin-bottom: 0.25rem;
}


/* pb-no-* utilities removed — handled automatically via CSS adjacent selectors */

/* ── Files List ─────────────────────────────────────────────────────────────── */
.pb-files-list {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.pb-file-item__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
	background: #FFF;
	border-radius: 20px;
	padding: 0.875rem 1.25rem;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.pb-file-item__inner:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transform: translateY(-1px);
}

.pb-file-item__left-icon,
.pb-file-item__file-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 43px;
	height: 43px;
}

.pb-file-item__title {
	flex: 1;
	min-width: 0;
	font-weight: 500;
	font-size: 0.9375rem;
	color: var(--color-wisdom-blue);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: left;
}

.pb-file-item__type-badge {
	flex-shrink: 0;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #B5B8C5;
	background: #F4F5F7;
	border-radius: 6px;
	padding: 0.2em 0.5em;
}

.pb-file-item__right-icon {
	margin-left: auto;
	flex-shrink: 0;
	opacity: 0.5;
}

/* ── Numbered List ──────────────────────────────────────────────────────────── */
.pb-numbered-list {
	list-style: none;
	margin: 5rem 0 0;
	padding: 0;
	counter-reset: pb-numbered;
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.pb-numbered-item {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
}

.pb-numbered-item__num {
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: var(--color-wisdom-blue);
	color: #FFF;
	font-size: 0.9375rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.pb-numbered-item__content {
	flex: 1;
	min-width: 0;
}

.pb-numbered-item__heading {
	font-size: 1.0625rem;
	font-weight: 700;
	margin: 0 0 0.375rem;
	color: var(--color-wisdom-blue);
}

.pb-numbered-item__body {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.pb-numbered-item__body p { margin: 0 0 0.5em; }
.pb-numbered-item__body p:last-child { margin-bottom: 0; }

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer {
	background-color: #030F3E;
	color: rgba(255, 255, 255, 0.85);
	margin-top: -24px;
}

/* ── 4-column grid ── */
.site-footer__columns {
	padding: 7rem 0 1rem;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1.8fr 1fr 1fr;
	gap: 5rem;
	align-items: start;
}

.site-footer__col {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.site-footer__logo img {
	max-width: 160px;
	height: auto;
	display: block;
}

.site-footer__site-name {
	font-size: 1.25rem;
	font-weight: 700;
	color: #FFF;
	margin: 0;
}

/* Footer widget typography */
.footer-widget__title {
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #FFF;
	margin: 0 0 0.75rem;
}

.footer-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.footer-widget ul a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
	font-size: 0.9375rem;
	transition: color 0.15s ease;
}

.footer-widget ul a:hover {
	color: #FFF;
}

.footer-widget p {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9375rem;
	line-height: 1.65;
	margin: 0;
}

/* ── Acknowledgement of Country ── */
.site-footer__acknowledgement {
	padding: 2rem 0;
}

.site-footer__acknowledgement p {
	color: rgba(255, 255, 255, 0.65);
	font-size: 15px;
	line-height: 1.7;
	text-align: center;
	max-width: 860px;
	margin-inline: auto;
	font-style: italic;
}

/* ── Socket bar ── */
.site-footer__socket {
	padding: 0;
}

.site-footer__socket-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.site-footer__copyright {
	color: #FFF;
	font-size: 11px;
	margin: 0;
}

.site-footer__legal-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.site-footer__legal-links ul {
	display: flex;
	gap: 1rem;
}

.site-footer__legal-links li {
	list-style: none;
}

.site-footer__legal-links a {
	color: #FFF;
	text-decoration: none;
	font-size: 11px;
	transition: color 0.15s ease;
}

.site-footer__legal-links a:hover {
	color: #FFF;
}

/* ── Responsive ── */
@media (max-width: 900px) {
	.site-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.site-footer__grid {
		grid-template-columns: 1fr;
	}
	.site-footer__socket-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
	}
}

/* Text-link button style — plain text, no padding, wisdom blue */
.pb-btn--text-link {
	display: inline;
	background: none;
	border: none;
	padding: 0;
	color: var(--color-wisdom-blue);
	font-size: 15px;
	font-weight: 400;
	cursor: pointer;
	text-decoration: none;
	transition: 0.6s ease;
}

.pb-btn--text-link:hover,
.pb-btn--text-link:focus,
.pb-btn--text-link:visited {
	color: var(--color-wisdom-blue);
	text-decoration: none;
	opacity: 0.6;
}

/* White button — citrus style but white background */
.pb-btn--white,
.pb-btn--white:visited {
	background-color: #FFF;
	color: var(--color-wisdom-blue);
	border-color: #FFF;
}
.pb-btn--white:hover,
.pb-btn--white:focus { /* opacity: 0.8 via .pb-btn:hover */ }

/* Image+text: two-column chevron bullet list style */
.pb-image-text--list-style .pb-bullet-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5rem 1.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.pb-image-text--list-style .pb-bullet-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	padding-left: 0; /* override base indent */
	position: static; /* override base relative */
	margin-bottom: 2rem; /* PHP overrides to 0 when CTA has no top image */
}

.pb-image-text--list-style .pb-bullet-list li::before {
	content: '';
	position: static; /* override base absolute */
	display: block;
	flex-shrink: 0;
	width: 12px;
	height: 18px;
	margin-top: 3px;
	border-radius: 0;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='18' viewBox='0 0 12 18' fill='none'%3E%3Cpath d='M1 16.8302L10 8.91514L1 1' stroke='%23FABF0A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}

@media (max-width: 640px) {
	.pb-image-text--list-style .pb-bullet-list {
		grid-template-columns: 1fr;
	}
}

/* Cards intro width overrides — applied directly on pb-section__header */
.pb-section__header.pb-one-col--narrow { max-width: 640px;  margin-inline: auto; }
.pb-section__header.pb-one-col--medium { max-width: 800px;  margin-inline: auto; }
.pb-section__header.pb-one-col--wide   { max-width: 1060px; margin-inline: auto; }

/*--------------------------------------------------------------
# News Feed
--------------------------------------------------------------*/

/* ── Section ─────────────────────────────────────────────── */
.pb-section--news-feed {
	background: #FFF;
}

/* ── Small feed header: eyebrow+heading left, button right ── */
.pb-news-feed__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin-bottom: 2.5rem;
}

.pb-news-feed__header-text {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.pb-news-feed__heading {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin: 0;
	color: var(--color-wisdom-blue);
}

.pb-news-feed__view-all {
	flex-shrink: 0;
	gap: 0;
	font-size: 14px;
	padding: 0.7rem 2rem;
}

/* ── 3-column grid (both layouts) ───────────────────────── */
.pb-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

@media (max-width: 900px) {
	.pb-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.pb-news-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ── Card ────────────────────────────────────────────────── */
.pb-news-card {
	background: #FBF7F5;
	border-radius: 15px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.pb-news-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.pb-news-card__link:visited {
	color: inherit;
}

/* ── Featured image — full width, 484:233 ratio ─────────── */
.pb-news-card__image {
	width: 100%;
	aspect-ratio: 484 / 233;
	overflow: hidden;
	flex-shrink: 0;
}

.pb-news-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.pb-news-card__link:hover .pb-news-card__image img {
	transform: scale(1.03);
}

/* ── Card body ───────────────────────────────────────────── */
.pb-news-card__body {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
	background: #FBF7F5;
}

.is-single-post .pb-news-card__body {
	background: #FFF;
}

.pb-news-card__category {
	color: #668CCC;
	margin: 0;
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
	line-height: 22px;
}

.pb-news-card__title {
	font-weight: 700;
	line-height: 1.35;
	color: var(--color-wisdom-blue);
	margin: 0;
	font-size: 20px;
}

.pb-news-card__excerpt {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #555;
	margin: 0;
}

.pb-news-card__chevron {
	display: flex;
	margin-top: auto;
	padding-top: 0.75rem;
}

/* ── Pagination ──────────────────────────────────────────── */
.pb-news-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 3rem;
}

.pb-news-pagination__btn {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	text-decoration: none;
	color: var(--color-wisdom-blue);
	font-weight: 600;
	font-size: 0.9375rem;
	transition: opacity 0.15s ease;
}

.pb-news-pagination__btn:hover {
	opacity: 0.75;
}

.pb-news-pagination__count {
	font-size: 0.875rem;
	color: #888;
}

/*--------------------------------------------------------------
# Column inner wrapper — width + alignment (Columns layout, 1-col mode)
--------------------------------------------------------------*/
.pb-col__inner {
	width: 100%;
	box-sizing: border-box;
}
.pb-col__inner.pb-one-col--narrow { max-width: 640px;  margin-inline: auto; }
.pb-col__inner.pb-one-col--medium { max-width: 800px;  margin-inline: auto; }
.pb-col__inner.pb-one-col--wide   { max-width: 1060px; margin-inline: auto; }
.pb-col__inner.pb-text--left   { text-align: left; }
.pb-col__inner.pb-text--center { text-align: center; }
.pb-col__inner.pb-text--right  { text-align: right; }

/*--------------------------------------------------------------
# H2 defaults — 45px / 57px (ratio 1.2667, used for auto line-height)
--------------------------------------------------------------*/
h2 {
	line-height: 110%;
}

h3 {
	line-height: 120%;
}

/* Default sizes only when no inline font-size is set */
h2:not([style]) {
	font-size: 52px;
}

h3:not([style]) {
	font-size: 1.5rem;
}

/* Inline style always wins — ensure no conflicting line-height from class rules */
.pb-heading[style],
h2[style],
h3[style] {
	line-height: 1.2;
}

/* Video block inside column content — breathing room above */
.pb-col .pb-video,
.pb-col__inner .pb-video {
	margin-top: 2.5rem;
}

/* In 1-col mode with a width constraint, video breaks out to full container width */
.pb-col__inner.pb-one-col--narrow .pb-video,
.pb-col__inner.pb-one-col--medium .pb-video,
.pb-col__inner.pb-one-col--wide .pb-video {
	width: 100vw;
	max-width: calc(var(--pb-container-max, 1400px) * 0.93);
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 20px;
	overflow: hidden;
}



/*--------------------------------------------------------------
# Scroll animations
--------------------------------------------------------------*/
.animate-ready {
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.animate-ready.animate-in {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.animate-ready {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/*--------------------------------------------------------------
# Hero slide-up (pure CSS — content-wrap slides over sticky hero)
--------------------------------------------------------------*/
.pb-section--hero {
	position: sticky;
	top: 0;
	min-height: fit-content;
	z-index: 0;
	border-radius: 0 !important;
	height: 90vh;
}

.pb-content-wrap {
	position: relative;
	z-index: 1;
}

/*--------------------------------------------------------------
# Columns — coloured background box
# Section is full width / transparent.
# pb-columns-bg-wrap is 93% wide, centred, border-radius 60px.
# pb-container inside stays at normal container width.
--------------------------------------------------------------*/
.pb-section--columns-styled {
	padding-block: 0 !important;
	background: #FFF;
}

.is-front-page .pb-section--columns-styled {
	background: #F9F7F2;
}

.pb-columns-bg-wrap {
	width: 93%;
	margin-inline: auto;
	border-radius: 60px;
	padding-block: 5rem;
	overflow: hidden;
}

.pb-section--columns.pb-bg--white      .pb-columns-bg-wrap { background-color: #FFFFFF; }
.pb-section--columns.pb-bg--cream      .pb-columns-bg-wrap { background-color: #F9F7F2; }
.pb-section--columns.pb-bg--cream-dark .pb-columns-bg-wrap { background-color: #ECE8DF; }
.pb-section--columns.pb-bg--wisdom     .pb-columns-bg-wrap { background-color: #03124D; }

/* White text on wisdom blue */
.pb-section--columns.pb-bg--wisdom .pb-columns-bg-wrap h1,
.pb-section--columns.pb-bg--wisdom .pb-columns-bg-wrap h2,
.pb-section--columns.pb-bg--wisdom .pb-columns-bg-wrap h3,
.pb-section--columns.pb-bg--wisdom .pb-columns-bg-wrap h4,
.pb-section--columns.pb-bg--wisdom .pb-columns-bg-wrap p { color: #fff; }


.pb-section--columns.pb-bg--wisdom .pb-columns-bg-wrap .pb-eyebrow {color:#B5B8C5}

/* Adjacent coloured columns sections: continuous bg with slight padding between */
.pb-section--columns-styled + .pb-section--columns-styled {
	padding-top: 0;
}

.pb-section--columns-styled + .pb-section--columns-styled .pb-columns-bg-wrap {
	margin-top: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	padding-top: 80px; /* breathing room between stacked sections */ /* subtle divider */
}

.pb-section--columns-styled:has(+ .pb-section--columns-styled) .pb-columns-bg-wrap {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	padding-bottom: 0;
}

/*--------------------------------------------------------------
# Accordion — coloured background box (matches Columns pattern)
--------------------------------------------------------------*/
.pb-section--accordion-styled {
	padding-block: 0 !important;
	background: #FFF;
}

.pb-accordion-bg-wrap {
	width: 93%;
	margin-inline: auto;
	border-radius: 60px;
	padding-block: 5rem;
	overflow: hidden;
}

.pb-section--accordion.pb-bg--cream      .pb-accordion-bg-wrap { background-color: #F9F7F2; }
.pb-section--accordion.pb-bg--cream-dark .pb-accordion-bg-wrap { background-color: #ECE8DF; }
.pb-section--accordion.pb-bg--wisdom     .pb-accordion-bg-wrap { background-color: #03124D; }
.pb-section--accordion.pb-bg--white      .pb-accordion-bg-wrap { background-color: #FFFFFF; }

.pb-section--accordion.pb-bg--wisdom .pb-accordion-bg-wrap h1,
.pb-section--accordion.pb-bg--wisdom .pb-accordion-bg-wrap h2,
.pb-section--accordion.pb-bg--wisdom .pb-accordion-bg-wrap h3,
.pb-section--accordion.pb-bg--wisdom .pb-accordion-bg-wrap h4,
.pb-section--accordion.pb-bg--wisdom .pb-accordion-bg-wrap p,
.pb-section--accordion.pb-bg--wisdom .pb-accordion-bg-wrap .pb-eyebrow { color: #fff; }

/* Any styled section (accordion OR columns) immediately before a styled accordion:
   remove the top radius of the accordion bg-wrap so backgrounds butt together */
.pb-section--accordion-styled + .pb-section--accordion-styled,
.pb-section--columns-styled   + .pb-section--accordion-styled {
	padding-top: 0;
}

.pb-section--accordion-styled + .pb-section--accordion-styled .pb-accordion-bg-wrap,
.pb-section--columns-styled   + .pb-section--accordion-styled .pb-accordion-bg-wrap {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	padding-top: 7rem;
}

/* Any styled accordion with a styled section immediately after:
   remove bottom radius */
.pb-section--accordion-styled:has(+ .pb-section--accordion-styled) .pb-accordion-bg-wrap,
.pb-section--accordion-styled:has(+ .pb-section--columns-styled)   .pb-accordion-bg-wrap {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	padding-bottom: 0;
}

/* Same for columns adjacent to accordion */
.pb-section--columns-styled:has(+ .pb-section--accordion-styled) .pb-columns-bg-wrap {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	padding-bottom: 0;
}
.pb-section--accordion-styled + .pb-section--columns-styled .pb-columns-bg-wrap {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	padding-top: 40px;
}

/* CTA banner sits flush — no gap above or below */
.pb-section + .pb-section--cta-banner {
	margin-top: 0;
}

.pb-section--cta-banner {
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Files list universal style — matches one-column file item styling */
.pb-files-list__item { list-style: none; }

.pb-files-list__link {
	display: flex;
	align-items: center;
	gap: 1rem;
	background: #FFF;
	border-radius: 20px;
	padding: 0.875rem 1.25rem;
	text-decoration: none;
	color: var(--color-wisdom-blue);
	font-weight: 500;
	font-size: 0.9375rem;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.pb-files-list__link:hover {
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
	transform: translateY(-1px);
}

.pb-files-list__link::before {
	content: "";
	width: 43px;
	height: 43px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2303124D' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E") center/24px no-repeat;
	border-radius: 10px;
	background-color: #F9F7F2;
}

/*--------------------------------------------------------------
# Cards — coloured background box (matches Columns/Accordion)
--------------------------------------------------------------*/
.pb-section--cards-styled {
	padding-block: 0 !important;
	background: #FFF;
}

.pb-cards-bg-wrap {
	width: 100%;
	margin-inline: auto;
}

/* Only style the bg-wrap when there's an actual background colour */
.pb-section--cards-styled .pb-cards-bg-wrap {
	width: 93%;
	border-radius: 60px;
	padding-block: 5rem;
}

.pb-section--cards.pb-bg--cream      .pb-cards-bg-wrap { background-color: #F9F7F2; }
.pb-section--cards.pb-bg--cream-dark .pb-cards-bg-wrap { background-color: #ECE8DF; }
.pb-section--cards.pb-bg--wisdom     .pb-cards-bg-wrap { background-color: #03124D; }
.pb-section--cards.pb-bg--white      .pb-cards-bg-wrap { background-color: #FFFFFF; }

.pb-section--cards.pb-bg--wisdom .pb-cards-bg-wrap h1,
.pb-section--cards.pb-bg--wisdom .pb-cards-bg-wrap h2,
.pb-section--cards.pb-bg--wisdom .pb-cards-bg-wrap h3,
.pb-section--cards.pb-bg--wisdom .pb-cards-bg-wrap h4,
.pb-section--cards.pb-bg--wisdom .pb-cards-bg-wrap p,
.pb-section--cards.pb-bg--wisdom .pb-cards-bg-wrap .pb-eyebrow { color: #fff; }

/* Cards last partial row — flex so remainder cards share space equally */
.pb-cards-last-row {
	display: flex;
	gap: 1rem;
}
.pb-cards-last-row .pb-fc-card {
	flex: 1 1 0;
	min-width: 0;
}

/* Article wrapper must not have its own background */
.site-main article {
	background: transparent;
}

/*--------------------------------------------------------------
# Events
--------------------------------------------------------------*/
.pb-section--events {
	padding-block: 0 !important;
	background: #FFF;
}

.pb-events-bg-wrap {
	width: 93%;
	margin-inline: auto;
	border-radius: 60px;
	padding-block: 5rem;
	background-color: #F9F7F2;
}

.pb-events__intro {
	margin-bottom: 2.5rem;
}

.pb-events-grid {
	display: grid;
	gap: 1.25rem;
}

.pb-events-grid--2col { grid-template-columns: repeat(2, minmax(0,1fr)); }
.pb-events-grid--3col { grid-template-columns: repeat(3, minmax(0,1fr)); }

/* Card — white bg, 30px radius */
.pb-event-card {
	background: var(--color-wisdom-blue) !important;
	border-radius: 16px;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	box-shadow: 0 2px 16px rgba(3,18,77,0.07);
	position: relative;
}

.pb-event-card__date {
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-sky-blue);
	margin: 0;
}

.pb-event-card__title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--color-wisdom-blue);
	margin: 0;
}

.pb-event-card__cal-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.5rem;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #FFF;
	opacity: 0.6;
	transition: opacity 0.2s ease;
}

.pb-event-card__cal-btn:hover {
	opacity: 1;
}

.pb-event-card__body {
	padding: 0.875rem 2.5rem 0.875rem 1rem; /* right padding for cal btn */
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	flex: 1;
	justify-content: center;
	min-width: 0;
}

.pb-event-card__cal-weekday {
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-wisdom-blue);
	opacity: 0.5;
}

.pb-event-card__title {
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.3;
	color: #FFF;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* duplicate pb-event-card__cal-btn removed */

.pb-event-card__link {
	font-size: 0.8125rem;
	font-weight: 800;
	color: #03124D;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border-bottom: 2px solid #FABF0A;
	padding-bottom: 1px;
}

.pb-event-card__link:hover { opacity: 0.7; }

@media (max-width: 900px) {
	.pb-events-grid--3col { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
	.pb-events-grid--2col,
	.pb-events-grid--3col { grid-template-columns: minmax(0,1fr); }
}

/* Gravity Forms — reset text alignment regardless of column alignment setting */
.pb-gravity-form input,
.pb-gravity-form textarea,
.pb-gravity-form select,
.pb-gravity-form .ginput_container input,
.pb-gravity-form .ginput_container textarea,
.pb-gravity-form .ginput_container select {
	text-align: left !important;
}

/* Tabs: content always left-aligned */
.pb-section--tabs .pb-col__content {
 	max-width: 678px;
   margin: 0 auto 3rem;
}

/* Tabs cards: remove top margin from buttons */
.pb-section--tabs .pb-tab-card .pb-button-wrap,
.pb-section--tabs .pb-tab-card .pb-btn {
	margin-top: 0;
}

.pb-tab-card__body p:last-child { margin-bottom: 0.5rem; }

/* Inside coloured bg-wrap, container fills full width so accordion-wrap controls sizing */
.pb-accordion-bg-wrap .pb-container,
.pb-columns-bg-wrap .pb-container,
.pb-cards-bg-wrap .pb-container,
.pb-tabs-bg-wrap .pb-container,
.pb-events-bg-wrap .pb-container {
	width: 93%;
	max-width: 1400px;
}

/*--------------------------------------------------------------
# Icon List
# Uses CSS grid: icon col auto-sized, content col fills rest.
# All rows share the same grid so icons align across items.
--------------------------------------------------------------*/
.pb-icon-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	/* icon col = auto (set by widest icon); content = rest */
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 0.875rem 1rem;
	margin-top: 3rem;
}

.pb-icon-list__item {
	/* Span both columns — inner content uses subgrid to align with siblings */
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	align-items: center;
	gap: 1rem;
}

/* Fallback for browsers without subgrid */
@supports not (grid-template-columns: subgrid) {
	.pb-icon-list__item {
		display: flex;
		align-items: center;
		gap: 1rem;
	}
}

.pb-icon-list__icon {
	display: block;
	flex-shrink: 0;
}

.pb-icon-list__content {
 	display: grid;
   grid-template-areas: "a a";
   grid-template-columns: 20% 80%;
	align-items: baseline;
	gap: 0.25rem;
}

.pb-icon-list__heading {
	font-weight: 700;
	color: var(--color-wisdom-blue, #03124D);
	margin: 0;
	font-size: 1rem;
}

.pb-icon-list__body {
	margin: 0;
}

/*--------------------------------------------------------------
# Social Icons — plain icons, no circles
--------------------------------------------------------------*/
.pb-social-icons {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.pb-social-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #03124D;
	text-decoration: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
	background: none;
	border-radius: 0;
	width: auto;
	height: auto;
}

.pb-social-icon:hover {
	opacity: 0.6;
	transform: translateY(-2px);
}

.pb-social-icon svg,
.pb-social-icon img {
	width: 24px;
	height: 24px;
	display: block;
}

/*--------------------------------------------------------------
# Shortcode section
--------------------------------------------------------------*/
.pb-section--shortcode {
	background-color: #FFFFFF;
}

/*--------------------------------------------------------------
# Content block image shapes
--------------------------------------------------------------*/
.pb-image {
	display: block;
	margin: 0;
}

.pb-image__shape-svg {
	display: block;
	width: 100%;
	height: auto;
}

/* Aspect ratios per shape */
.pb-image--arch             { aspect-ratio: 834 / 596; }
.pb-image--scoop            { aspect-ratio: 929 / 593; }
.pb-image--curved-corner-right { aspect-ratio: 729 / 616; }

/* Rectangle — standard rounded corners */
.pb-image--rectangle img {
	border-radius: 20px;
	display: block;
	width: 100%;
	height: auto;
}

/* Homepage — cream content-wrap background */
.is-front-page .pb-content-wrap {
	background-color: #F9F7F2;
}

/* Mid Cream colour */
.pb-bg--mid-cream { background-color: #F4F2EF; }

/* Columns: mid-cream bg-wrap colour */
.pb-section--columns.pb-bg--mid-cream .pb-columns-bg-wrap { background-color: #F4F2EF; }

/* Columns: Edge to Edge — full width, no border-radius, no bg-wrap */
.pb-section--columns-edge {
	padding-block: 5rem;
	width: 100%;
}
.pb-section--columns-edge.pb-bg--white      { background-color: #FFFFFF; }
.pb-section--columns-edge.pb-bg--cream      { background-color: #F9F7F2; }
.pb-section--columns-edge.pb-bg--mid-cream  { background-color: #F4F2EF; }
.pb-section--columns-edge.pb-bg--cream-dark { background-color: #ECE8DF; }
.pb-section--columns-edge.pb-bg--wisdom     { background-color: #03124D; }
.pb-section--columns-edge.pb-bg--wisdom h1,
.pb-section--columns-edge.pb-bg--wisdom h2,
.pb-section--columns-edge.pb-bg--wisdom h3,
.pb-section--columns-edge.pb-bg--wisdom h4,
.pb-section--columns-edge.pb-bg--wisdom p,
.pb-section--columns-edge.pb-bg--wisdom .pb-eyebrow { color: #fff; }

/* Transparent background option — section shows through to page background */
.pb-bg--transparent,
.pb-section--columns:not(.pb-section--columns-styled):not(.pb-section--columns-edge) {
	background: transparent !important;
}

/*--------------------------------------------------------------
# Numbered Cards
--------------------------------------------------------------*/
.pb-numbered-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	align-items: start;
}

.pb-numbered-card {
	background: #ECE8DF;
	border-radius: 20px;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	box-shadow: 0 4px 25px 0 rgba(0, 0, 0, 0.05);
}

.pb-numbered-card__num {
	display: block;
	margin-bottom: 0.25rem;
	color: #FBF7F5;
	font-family: "Playfair Display", sans-serif;
	font-size: 75px;
	font-style: normal;
	font-weight: 600;
	line-height: 57px;
}

.pb-numbered-card__heading {
	color: #03124D;
	margin: 0;
	font-family: "Playfair Display", serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 26px;
}

.pb-numbered-card__body {
	font-size: 0.9375rem;
	color: #03124D;
	margin: 0;
}

.pb-numbered-card__body > *:last-child { margin-bottom: 0; }

@media (max-width: 560px) {
	.pb-numbered-cards { grid-template-columns: 1fr; }
}

/*--------------------------------------------------------------
# Link List
--------------------------------------------------------------*/
.pb-link-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.pb-link-list__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	text-decoration: none;
	color: #03124D;
	transition: opacity 0.15s ease;
	background: #FFF;
	border-radius: 15px;
	padding: 1rem;
}

a.pb-link-list__row:hover {
	opacity: 0.65;
}

.pb-link-list__left {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 1;
	min-width: 0;
}

.pb-link-list__icon {
	width: 48px;
	height: 48px;
	object-fit: contain;
	flex-shrink: 0;
}

.pb-link-list__label {
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.3;
	color: #03124D;
	font-family: "Playfair Display", serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 26px;
}

.pb-link-list__chevron {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	color: #03124D;
	opacity: 0.5;
}

a.pb-link-list__row:hover .pb-link-list__chevron {
	opacity: 1;
}

/*--------------------------------------------------------------
# Lead paragraph styling
--------------------------------------------------------------*/
.pb-body--lead p,
.pb-body--lead > p:first-of-type {
	font-size: 20px;
	line-height: 150%;
}

/*--------------------------------------------------------------
# Standard paragraph font size
--------------------------------------------------------------*/
.pb-body p,
.pb-section p {
	font-size: 15px;
}

/*--------------------------------------------------------------
# Column with Wisdom Blue background — text colours
--------------------------------------------------------------*/
.pb-col--dark {
	color: #ffffff;
}

.pb-col--dark h1,
.pb-col--dark h2,
.pb-col--dark h3,
.pb-col--dark h4,
.pb-col--dark h5,
.pb-col--dark h6,
.pb-col--dark p,
.pb-col--dark li,
.pb-col--dark .pb-body {
	color: #ffffff;
}

.pb-col--dark .pb-eyebrow {
	color: #B5B8C5;
}

/* Buttons inside dark columns keep their own colours */
.pb-col--dark .pb-btn { color: inherit; }

/*--------------------------------------------------------------
# Blockquote styling
--------------------------------------------------------------*/
.pb-body blockquote,
.pb-section blockquote {
	margin: 1.5rem 0;
	padding: 0.5rem 2.5rem;
	border: none;
	background: none;
	border-radius: 0;
	font-size: 1.125rem;
	font-style: normal;
	line-height: 1.6;
	color: #03124D;
	position: relative;
}

.pb-body blockquote::before,
.pb-body blockquote::after {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 5rem;
	line-height: 0;
	color: #668CCC;
	position: absolute;
}

.pb-body blockquote::before {
	content: '\201C';
	top: 1.5rem;
	left: 0;
}

.pb-body blockquote::after {
	content: '\201D';
	bottom: -0.5rem;
	right: 0;
}

.pb-body blockquote p {
	margin: 0;
	font-size: inherit;
	color: inherit;
}

.pb-body blockquote cite {
	display: block;
	margin-top: 0.75rem;
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
	color: #03124D;
	opacity: 0.6;
}

.pb-body blockquote cite::before {
	content: '— ';
}

/* Tabs with icon column: icon | left content | right content */
.pb-columns--with-icon {
	grid-template-columns: 122px 1fr 1fr;
	align-items: start;
}

.pb-col--icon-only {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	width: 122px;
}

.pb-col--icon-only img {
	display: block;
	width: 122px;
	height: auto;
	filter: invert(55%) sepia(30%) saturate(600%) hue-rotate(185deg) brightness(90%);
}

/*--------------------------------------------------------------
# Numbered List — left aligned, Playfair Display numbers
--------------------------------------------------------------*/
.pb-numbered-list {
	text-align: left !important;
}

.pb-numbered-list__item {
	display: flex;
	align-items: flex-start;
	gap: 3rem;
	text-align: left;
}

.pb-numbered-list__num {
	color: #668CCC;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 75px;
	font-weight: 600;
	line-height: 0.9;
	flex-shrink: 0;
	min-width: 60px;
}

.pb-numbered-list__content {
	padding-top: 0.5rem;
}

.pb-numbered-list__heading {
	color: var(--color-wisdom-blue);
	margin: 0 0 0.25rem;
	font-size: 28px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.5
}

.pb-numbered-list__body {
	margin: 0;
}


.pb-section--stats {
	/* padding set by PHP auto-spacing */
}

/*--------------------------------------------------------------
# Equal height columns — buttons always at the bottom
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Equal height columns + button anchored to bottom
--------------------------------------------------------------*/

/* Grid: equal height rows */
.pb-columns {
	align-items: stretch !important;
}

/* Column always fills the grid cell height */
.pb-col {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
}

/* 1-col inner wrapper fills the column */
.pb-col__inner {
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* pb-col__content fills remaining space */
.pb-col > .pb-col__content,
.pb-col__inner > .pb-col__content {
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* Vertical alignment: move content within the filled column */
.pb-valign--top    .pb-col > .pb-col__content { flex: 0 0 auto; margin-bottom: auto; }
.pb-valign--middle .pb-col > .pb-col__content { flex: 0 0 auto; margin-block: auto; }
.pb-valign--bottom .pb-col > .pb-col__content { flex: 0 0 auto; margin-top: auto; }

/* pb-col__content always fills when no valign set, flex column so button sticks to bottom */
.pb-col__content {
	display: flex;
	flex-direction: column;
}

/* pb-col__body wraps all content except the button — fills remaining space */
.pb-col__body {
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Button anchors to bottom — outside pb-col__body, direct child of pb-col__content */
.pb-col__content > .pb-button-wrap {
	margin-top: 3rem;
	padding-top: 0;
}

/* Footer — all text and links white, no underlines */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .pb-eyebrow,
.site-footer .pb-icon-list__heading,
.site-footer .pb-icon-list__label {
	color: #ffffff;
}

.site-footer a,
.site-footer a:visited {
	color: #ffffff;
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
}

.site-footer .pb-icon-list__row {
	color: #ffffff;
}

/*--------------------------------------------------------------
# Prevent orphaned words on headings
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6,
.pb-heading, .pb-eyebrow, .pb-cta-banner__heading,
.pb-section__heading, .pb-fc-card__heading,
.pb-numbered-card__heading, .pb-tab-card__heading {
	text-wrap: balance;
}

/* Card heading default size — overridden by inline style from heading_font_size field */
.pb-fc-card__heading {
	font-size: 28px;
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 0.35rem;
	color: var(--color-wisdom-blue);
}

/*--------------------------------------------------------------
# Single Post Layout
--------------------------------------------------------------*/

/* White background on main — each section handles its own bg */
.is-single-post .sds-single-post-main {
	background-color: #ffffff;
}

/* ── Post Hero ── */
.sds-post-hero {
	background-color: #F9F7F2;
	padding: 9rem 0 3rem; /* legacy */ padding: 4rem 0 3rem;
	text-align: center;
}

.sds-post-hero__inner {
	width: 87%;
	max-width: 760px;
	margin-inline: auto;
}

/* Category pill */
.sds-post-category-pill {
	display: inline-block;
	padding: 0.35rem 1rem;
	background-color: #ECE8DF;
	color: var(--color-sky-blue);
	border-radius: 50px;
	text-decoration: none;
	margin-bottom: 1.25rem;
	font-family: Roboto, sans-serif;
	font-size: 13px;
	font-style: normal;
	font-weight: 500;
	line-height: 22px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.sds-post-hero__category {
	margin-bottom: 1rem;
}

/* Post title */
.sds-post-hero__title {
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 110%;
	color: #03124D;
	margin: 0 0 1.25rem;
}

/* Date */
.sds-post-hero__date {
	font-size: 15px;
	color: var(--color-wisdom-blue);
	margin: 0;
}

/* ── Featured Image ── */
.sds-post-featured-image {
	background-color: #F9F7F2;
}

.sds-post-featured-image .pb-container {
	max-width: 960px;
	position: relative;
	z-index: 2;
}

.sds-post-featured-image__img {
	aspect-ratio: 2.1/1;
	object-fit: cover;
	display: block;
	width: 100%;
	height: auto;
	max-height: 420px; /* cap on large screens so overlap stays proportional */
	border-radius: 30px;
	position: relative;
	z-index: 2;
}

/* ── Post Body ── */
.sds-post-body {
	background-color: #ffffff;
	border-radius: 60px 60px 0 0;
	padding: calc(140px + 5rem) 0 0;
	margin-top: -140px;
	margin-bottom: -20px;
	position: relative;
	z-index: 1;
}

@media (max-width: 640px) {
	.sds-post-body {
		padding-top: calc(40vw + 3rem);
		margin-top: -40vw;
		border-radius: 30px 30px 0 0;
	}
}

.sds-post-body .pb-container {
	max-width: 760px;
	padding-bottom: 7rem;
}

.sds-post-body__content {
	font-size: 15px;
	line-height: 1.75;
	color: #03124D;
}

.sds-post-body__content h1,
.sds-post-body__content h2,
.sds-post-body__content h3,
.sds-post-body__content h4,
.sds-post-body__content h5,
.sds-post-body__content h6 {
	color: #03124D;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
	line-height: 1.2;
}

.sds-post-body__content p { margin-bottom: 1.25rem; }
.sds-post-body__content p:last-child { margin-bottom: 0; }

.sds-post-body__content img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	margin: 1.5rem 0;
}

.sds-post-body__content a {
	color: #668CCC;
	text-decoration: underline;
}

.sds-post-body__content a:hover {
	color: #03124D;
}

.sds-post-body__content ul,
.sds-post-body__content ol {
	padding-left: 1.5rem;
	margin-bottom: 1.25rem;
}

.sds-post-body__content li { margin-bottom: 0.4rem; }

/* Single post — cancel footer negative margin pull-up + ensure clean stacking */
.is-single-post .site-footer {
	margin-top: 0 !important;
	border-radius: 0;
}

/* Ensure post body fully contains all content including Gutenberg blocks */
.sds-post-body {
	overflow: hidden;
}

.sds-post-body__content::after {
	content: '';
	display: table;
	clear: both;
}

/* Reset any Gutenberg negative margins inside post content */
.sds-post-body__content .wp-block-image,
.sds-post-body__content figure,
.sds-post-body__content .alignfull,
.sds-post-body__content .alignwide {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

/*--------------------------------------------------------------
# Related Posts — uses same pb-news-grid / pb-news-card classes as news feed
--------------------------------------------------------------*/
.sds-related-posts {
	padding: 3rem 0 4rem;
	margin-top: 0;
	background: #F9F7F2;
}

/* Expand news feed container to full width inside the post body */
.sds-related-posts .pb-container {
	max-width: 1400px;
}

:where(.wp-block-columns) {
	margin-bottom: 0;
}

/* Non-hero pages: push first section below fixed header */
.pb-content-wrap {
	scroll-margin-top: 80px;
}

.site-main > article > section:first-child:not(.pb-section--hero),
.site-main > section:first-child:not(.pb-section--hero) {
	padding-top: calc(80px + 5rem);
}

/*--------------------------------------------------------------
# Styled two-column bullet points
--------------------------------------------------------------*/
.pb-body--styled-bullets ul {
	list-style: none;
	padding: 0;
	margin: 0.5rem 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 2rem;
}

.pb-body--styled-bullets ul li {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	line-height: 1.5;
}

.pb-body--styled-bullets ul li::before {
	content: '';
	display: block;
	flex-shrink: 0;
	width: 12px;
	height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='18' viewBox='0 0 12 18' fill='none'%3E%3Cpath d='M1 16.8302L10 8.91514L1 1' stroke='%23FABF0A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-top: 0.15em;
}

@media (max-width: 640px) {
	.pb-body--styled-bullets ul {
		grid-template-columns: 1fr;
	}
}


.gform_button.button {
	background: var(--color-wisdom-blue) !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 0.4rem 2rem !important;
}

#label_1_7_1 {
	text-align: left;
}

.gform-field-label,
.gfield_description {
	text-align: left !important;
}

form {
	margin-top: 3rem !important;
}

.pb-section--shortcode .pb-container {
	width: 100%;
	max-width: 100%;
}
/*--------------------------------------------------------------
# News feed category filters
--------------------------------------------------------------*/
.pb-news-filter {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 2.5rem;
}

.pb-news-filter__label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-wisdom-blue);
	white-space: nowrap;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.pb-news-filter__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.pb-news-filter__pill {
	display: inline-block;
	padding: 0.4rem 1rem;
	border-radius: 50px;
	font-size: 0.875rem;
	font-weight: 500;
	font-family: inherit;
	text-decoration: none;
	border: 1.5px solid rgba(3, 18, 77, 0.2);
	color: var(--color-wisdom-blue);
	background: transparent;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pb-news-filter__pill:hover {
	border-color: var(--color-wisdom-blue);
	background: rgba(3, 18, 77, 0.05);
}

.pb-news-filter__pill.is-active {
	background: var(--color-wisdom-blue);
	border-color: var(--color-wisdom-blue);
	color: #fff;
}

/*--------------------------------------------------------------
# Mega Menu
--------------------------------------------------------------*/

/* Hide old sub-menu dropdowns on top-level items — mega menu handles them */
.main-navigation > ul > li.menu-item-has-children > ul.sub-menu {
	display: none !important;
}

/* Mega menu panel — slides down from header bottom */
.mega-menu {
	color: #ffffff; /* default dark menu */
	display: none;
	position: fixed;
	top: 0; /* set by JS to header height */
	left: 0;
	right: 0;
	background: #030F3E;
	z-index: 999;
	overflow: hidden;
	border-radius: 0 0 60px 60px;
}

.mega-menu.is-open {
	display: block;
	animation: megaSlideDown 0.25s ease forwards;
}

.mega-menu.is-closing {
	display: block;
	animation: megaSlideUp 0.2s ease forwards;
}

@keyframes megaSlideDown {
	from { opacity: 0; transform: translateY(-12px); }
	to   { opacity: 1; transform: translateY(0); }
}

@keyframes megaSlideUp {
	from { opacity: 1; transform: translateY(0); }
	to   { opacity: 0; transform: translateY(-12px); }
}

/* Inner layout */
.mega-menu__inner {
	display: grid;
	grid-template-columns: 25vw 1fr;
	min-height: 500px;
 	width: 87%;
 	max-width: 1400px;
 	margin: 0 auto;
 	padding: 6rem 0;
}

/* Left panel — parent item info */
.mega-menu__left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 2rem 0;
	padding-right: 2.5rem;
   border-right: 1px solid #FFF;
}

.mega-menu__parent-title {
	font-family: "Playfair Display", serif;
	font-size: 30px;
	font-weight: 700;
	color: var(--color-sky-blue) !important;
	line-height: 1.2;
	text-decoration: none;
	display: block;
	margin-bottom: 2rem;
}

.mega-menu__parent-title:hover {
	opacity: 0.7;
}

.mega-menu__parent-desc {
	font-size: 15px;
	color: #FFF;
	line-height: 1.6;
	margin: 0;
}

.mega-menu__view-all {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-wisdom-blue) !important;
	text-decoration: none;
	margin-top: 2rem;
	background-color: var(--color-citrus, #FABF0A);
	border: 1px solid var(--color-cirtus, #FABF0A);
	padding: 0.5rem 0.75rem 0.5rem 1.25rem;
	border-radius: 50px;
	transition: all 0.2s ease;
	align-self: flex-start;
}

.mega-menu__view-all svg {
	flex-shrink: 0;
}

/* Cream header — wisdom blue button, white text */
.mega-menu--cream .mega-menu__view-all {
	background-color: var(--color-wisdom-blue);
	color: #fff !important;
	border: 1.5px solid var(--color-wisdom-blue) !important;
}

.mega-menu--cream .mega-menu__view-all:hover {
    color: var(--color-wisdom-blue) !important; 
    border: 1.5px solid var(--color-wisdom-blue) !important;
}

.mega-menu--cream .mega-menu__view-all:hover ellipse { 
    fill: var(--color-wisdom-blue) !important; 
    
}

.mega-menu--cream .mega-menu__view-all:hover path { 
    stroke: #ffffff !important; 
    
}

/* Right panel — sub-menu links in 2 columns */
.mega-menu__right {
	padding: 4rem 3rem 3rem;
	position: relative;
}

.mega-menu__links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.25rem 3rem;
	list-style: none;
	margin: 0;
	padding: 0;
	width: fit-content;
}

.mega-menu__links li a {
	display: block;
	padding: 0.6rem 0;
	font-size: 18px;
	color: #FFF;
	text-decoration: none;
	transition: color 0.6s ease;
}

.mega-menu__links li a:hover,
.mega-menu__links li.current-menu-item > a,
.mega-menu__links li.current-page-ancestor > a {
	color: var(--color-citrus) !important;
	opacity: 1 !important;
}

/* Close button */
.mega-menu__close {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1.5px solid rgba(3, 18, 77, 0.25);
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-wisdom-blue);
	transition: background 0.15s ease;
	z-index: 10;
}

.mega-menu__close:hover {
	background: rgba(3, 18, 77, 0.06);
}

.mega-menu__close svg {
	display: block;
	width: 16px;
	height: 16px;
}

/* White bg mega menu — wisdom blue X */
.mega-menu:not(.mega-menu--cream) .mega-menu__close {
	border-color: rgba(3, 18, 77, 0.4);
}

.mega-menu:not(.mega-menu--cream) .mega-menu__close-icon line {
	stroke: #03124D;
}

/* Wisdom blue mega menu — white X */
.mega-menu--cream .mega-menu__close {
	border-color: rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.12);
}

.mega-menu--cream .mega-menu__close:hover {
	background: rgba(255, 255, 255, 0.22);
}

.mega-menu--cream .mega-menu__close-icon line {
	stroke: #ffffff;
}



/* Overlay behind mega menu */
.mega-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(3, 18, 77, 0.2);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	z-index: 998;
}

.mega-overlay.is-open {
	display: block;
}

/* Mega menu group headings (for 3-level menus) */
.mega-menu__links .mega-menu__group-heading {
	grid-column: 1 / -1;
	margin-top: 1rem;
}

.mega-menu__links .mega-menu__group-heading:first-child {
	margin-top: 0;
}

.mega-menu__links .mega-menu__group-heading span {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(3, 18, 77, 0.4);
}

/* Cream header mega menu — white background, wisdom blue text (same as dark) */
.mega-menu--cream {
	background: #ffffff;
	color: var(--color-wisdom-blue);
}

.mega-menu--cream .mega-menu__left {
	border-right: 1px solid var(--color-wisdom-blue);
}

.mega-menu--cream .mega-menu__parent-title,
.mega-menu--cream .mega-menu__parent-desc,
.mega-menu--cream .mega-menu__links li a {
	color: var(--color-wisdom-blue);
}

.mega-menu--cream .mega-menu__links li a {
	border-bottom-color: rgba(3, 18, 77, 0.07);
}

/* cream close handled above */

.mega-menu--cream .mega-menu__group-heading span {
	color: rgba(255, 255, 255, 0.45);
}

/* Descriptor text under parent menu item */
.mega-menu__parent-desc {
	font-size: 15px;
	color: #FFF;
	line-height: 1.6;
	margin: 0.5rem 0 0;
}

/* Mega menu — sub-submenu dropdown */
.mega-menu__has-dropdown {
	grid-column: 1 / -1;
}

.mega-menu__dropdown-toggle {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	width: 100%;
	background: none;
	border: none;
	padding: 0.6rem 0;
	font-size: 18px;
	font-family: inherit;
	color: #FFF;
	cursor: pointer;
	text-align: left;
}

.mega-menu__dropdown-toggle svg {
	margin-left: auto;
	transition: transform 0.2s ease;
	flex-shrink: 0;
}

.mega-menu__has-dropdown.is-open .mega-menu__dropdown-toggle svg {
	transform: rotate(180deg);
}

.mega-menu__dropdown {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0.25rem 0 0.25rem 1rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.25s ease;
}

.mega-menu__has-dropdown.is-open .mega-menu__dropdown {
	max-height: 400px;
}

.mega-menu__dropdown li a {
	display: block;
	padding: 0.45rem 0;
	font-size: 16px;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.mega-menu__dropdown li a:hover {
	color: var(--color-citrus);
}

/* Cream mega menu — all text wisdom blue */
.mega-menu--cream .mega-menu__dropdown-toggle,
.mega-menu--cream .mega-menu__dropdown li a,
.mega-menu--cream .mega-menu__links li a,
.mega-menu--cream .mega-menu__parent-title,
.mega-menu--cream .mega-menu__parent-desc {
	color: var(--color-wisdom-blue) !important;
}

.mega-menu--cream .mega-menu__dropdown-toggle,
.mega-menu--cream .mega-menu__dropdown li a {
	border-bottom-color: rgba(3, 18, 77, 0.1);
}

.mega-menu--cream .mega-menu__links li a {
	border-bottom-color: rgba(3, 18, 77, 0.07);
}

.mega-menu--cream .mega-menu__links li a:hover,
.mega-menu--cream .mega-menu__dropdown li a:hover {
	color: var(--color-wisdom-blue) !important;
}

/* Remove focus dots/outlines on nav items */
.main-navigation a:focus,
.main-navigation a:focus-visible,
.main-navigation li:focus,
.main-navigation button:focus,
.mega-menu__dropdown-toggle:focus,
.mega-menu__close:focus {
	outline: none;
	box-shadow: none;
}

/*--------------------------------------------------------------
# Mobile — comprehensive responsive fixes
--------------------------------------------------------------*/

/* ── Cards: all 1 column on mobile ── */
@media (max-width: 640px) {
	.pb-cards-grid,
	.pb-cards-grid--2col,
	.pb-cards-grid--3col,
	.pb-cards-grid--4col,
	.pb-cards-grid--5col {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.pb-cards-last-row {
		flex-direction: column;
	}

	.pb-cards-last-row .pb-fc-card {
		flex: 1 1 auto;
	}
}

/* ── Columns: stack on mobile ── */
@media (max-width: 768px) {
	.pb-columns {
		grid-template-columns: 1fr !important;
	}

	.pb-col__body {
		flex: unset;
	}
}

/* ── Footer: 2 cols then 1 col ── */
@media (max-width: 900px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}
}

@media (max-width: 560px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem;
	}

	/* First col spans both columns */
	.site-footer__col:first-child {
		grid-column: 1 / -1;
	}

	/* Second col spans both columns */
	.site-footer__col:nth-child(2) {
		grid-column: 1 / -1;
	}

	/* Last two cols sit side by side */
	.site-footer__col:nth-child(3),
	.site-footer__col:nth-child(4) {
		grid-column: auto;
	}

	.site-footer__columns {
		padding: 3rem 0 1rem;
	}
}

/* ── Stats: 2 col on mobile ── */
@media (max-width: 640px) {
	.pb-stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 400px) {
	.pb-stats-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Tabs: stack nav ── */
@media (max-width: 640px) {
	.pb-tabs__nav {
		flex-direction: column;
		gap: 0.5rem;
	}

	.pb-tabs__nav-btn {
		width: 100%;
		justify-content: flex-start;
	}
}

/* ── Accordion grid: 2 col on mobile, 1 on small ── */
@media (max-width: 768px) {
	.pb-accordion__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}

@media (max-width: 480px) {
	.pb-accordion__grid {
		grid-template-columns: 1fr;
	}
}

/* ── Events grid: 1 col on mobile ── */
@media (max-width: 640px) {
	.pb-events-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ── Related posts: 1 col on mobile ── */
@media (max-width: 640px) {
	.sds-related-posts__grid {
		grid-template-columns: 1fr;
	}
}

/* ── Container width: full bleed on small screens ── */
@media (max-width: 480px) {
	.pb-container {
		width: 93%;
	}

	.pb-section {
		padding-block: 3rem;
	}

	.pb-section--hero {
		padding-top: calc(70px + 2rem);
	}
}

/* ── Mega menu: hide on mobile (handled by mobile drawer) ── */
@media (max-width: 900px) {
	.mega-menu,
	.mega-overlay {
		display: none !important;
	}
}

/* ── Hero: reduce text sizes on mobile ── */
@media (max-width: 640px) {
	.pb-hero__heading {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.pb-hero--dark .pb-eyebrow,
	.pb-hero--light .pb-eyebrow,
	.pb-section--hero .pb-eyebrow {
		font-size: clamp(1.5rem, 5vw, 2.5rem);
	}
}

/* ── Section headings: scale down on mobile ── */
@media (max-width: 640px) {
	h2:not([style]) {
		font-size: clamp(1.75rem, 6vw, 2.5rem);
	}
}

/* ── CTA banner: reduce padding on mobile ── */
@media (max-width: 640px) {
	.pb-cta-banner__content-wrap {
		padding-block: 3rem;
	}
}

/* ── Single post ── */
@media (max-width: 640px) {
	.sds-post-hero__title {
		font-size: clamp(1.75rem, 6vw, 2.5rem);
	}
}

/* ── Styled bullet points: 1 col on mobile ── */
@media (max-width: 640px) {
	.pb-body--styled-bullets ul {
		grid-template-columns: 1fr;
	}
}

/* ── File list: full width on mobile ── */
@media (max-width: 640px) {
	.pb-files-list {
		gap: 0.5rem;
	}
}

/* ── Gallery: 2 col on mobile ── */
@media (max-width: 640px) {
	.pb-gallery-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* ── Tab cards: 1 col on mobile ── */
@media (max-width: 480px) {
	.pb-tab-cards,
	.pb-tab-cards--2col,
	.pb-tab-cards--3col,
	.pb-tab-cards--4col,
	.pb-tab-cards--5col {
		grid-template-columns: 1fr;
	}
}

/* ── Mobile header adjustments ── */


/*--------------------------------------------------------------
# Prevent overscroll / bounce
--------------------------------------------------------------*/
html,
body {
	overscroll-behavior: none;
}

/*--------------------------------------------------------------
# Global links — wisdom blue, no underline
--------------------------------------------------------------*/
a,
a:visited,
a:visited:hover {
	color: var(--color-wisdom-blue);
	text-decoration: none;
}

a:hover {
	opacity: 0.7;
}

/* Pill buttons — never change opacity or colour on hover, chevron only */
.pb-btn:hover,
.pb-btn:focus,
a.pb-btn:hover,
a.pb-btn:focus {
	opacity: 1 !important;
	color: inherit !important;
}


.pb-btn:hover .pb-btn__chevron,
.pb-btn:focus .pb-btn__chevron {
	/* no movement */
}

.pb-btn__chevron {
	transition: transform 0.2s ease;
	pointer-events: none; /* pass mouse events to parent <a> */
}

/*--------------------------------------------------------------
# Footer social icons row
--------------------------------------------------------------*/
.socials-footer {
	display: flex;
	gap: 1rem;
	align-items: center;
}

/* #location-map — overlaps footer by 80px */
#location-map {
	position: relative;
	z-index: 2;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* location-map overlaps the footer */
body:has(#location-map) .site-footer {
	margin-top: -100px !important;
	position: relative;
	z-index: 1;
}

#location-map {
	position: relative;
	z-index: 2;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Pill buttons — hover: chevron only, no colour/opacity change */


/* Remove focus outlines on mega menu clicks */
.mega-menu__links li a:focus,
.mega-menu__links li a:focus-visible,
.mega-menu__dropdown-toggle:focus,
.mega-menu__dropdown-toggle:focus-visible,
.main-navigation > ul > li > a:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/* Section with id=negative-bottom-margin: next CTA overlaps it */
#negative-bottom-margin {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* CTA that follows #negative-bottom-margin pulls itself up */
#negative-bottom-margin ~ .pb-section--cta-banner,
#negative-bottom-margin + .pb-section--cta-banner {
	margin-top: -60px !important;
	padding-top: 0 !important;
}

/* Also suppress any content-wrap padding-bottom that creates the gap */
#negative-bottom-margin ~ * .pb-content-wrap,
.pb-content-wrap:has(~ .pb-section--cta-banner) {
	padding-bottom: 0 !important;
}



.wp-block-columns { gap: 0 !important; }

@media (max-width: 768px) {
	.sds-post-hero {
		padding-top: 7rem;
	}
}

/* ── Mobile border-radius: 60px → 30px everywhere ─────────────────────── */
@media (max-width: 768px) {
	.pb-content-wrap,
	.pb-section--image-text.pb-bg--cream,
	.pb-section--image-text.pb-bg--wisdom,
	.pb-tabs-bg-wrap,
	.pb-columns-bg-wrap,
	.pb-accordion-bg-wrap,
	.pb-section--cards-styled .pb-cards-bg-wrap,
	.pb-cta-banner__content-wrap,
	.pb-cta-banner--no-top-image .pb-cta-banner__content-wrap,
	.pb-cta-banner__top-image,
	.pb-numbered-card,
	.pb-accordion__item,
	.pb-event-card,
	.sds-post-body,
	.pb-section:last-of-type:not(.pb-section--cta-banner) {
		border-radius: 30px !important;
	}
	.pb-content-wrap {
		border-radius: 30px 30px 0 0 !important;
	}
	.sds-post-body {
		border-radius: 30px 30px 0 0 !important;
	}
}

/* Chevron default colours — via CSS classes (no HTML attrs) */
.pb-btn__chevron-circle {
	fill: #ffffff;
	transition: fill 0.2s ease;
}

.pb-btn__chevron-arrow {
	stroke: #03124D;
	transition: stroke 0.2s ease;
}

/* On hover: reverse — wisdom blue circle, white arrow */
.pb-btn:hover .pb-btn__chevron-circle,
.pb-btn:focus .pb-btn__chevron-circle {
	fill: var(--color-wisdom-blue);
}

.pb-btn:hover .pb-btn__chevron-arrow,
.pb-btn:focus .pb-btn__chevron-arrow {
	stroke: #ffffff;
}

/* Wisdom blue background: already reversed state, hover goes back to white/blue */
.pb-bg--wisdom .pb-btn:hover .pb-btn__chevron-circle,
.pb-bg--wisdom .pb-btn:focus .pb-btn__chevron-circle,
.pb-hero__buttons .pb-btn:hover .pb-btn__chevron-circle,
.pb-hero__buttons .pb-btn:focus .pb-btn__chevron-circle {
	fill: var(--color-wisdom-blue);
}

.pb-bg--wisdom .pb-btn:hover .pb-btn__chevron-arrow,
.pb-bg--wisdom .pb-btn:focus .pb-btn__chevron-arrow,
.pb-hero__buttons .pb-btn:hover .pb-btn__chevron-arrow,
.pb-hero__buttons .pb-btn:focus .pb-btn__chevron-arrow {
	stroke: #ffffff;
}

.mega-menu__view-all:hover {
    background: transparent;
    color: #fff !important;
    border: 1px solid #fff !important;
    opacity: 1;
}

/*--------------------------------------------------------------
# Card background colour variants
--------------------------------------------------------------*/
.pb-fc-card--cream {
	background: #F9F7F2 !important;
	color: var(--color-wisdom-blue);
}

.pb-fc-card--wisdom-blue {
	background: var(--color-wisdom-blue) !important;
	color: #ffffff;
}

.pb-fc-card--wisdom-blue .pb-fc-card__heading,
.pb-fc-card--wisdom-blue h2,
.pb-fc-card--wisdom-blue h3,
.pb-fc-card--wisdom-blue h4,
.pb-fc-card--wisdom-blue p,
.pb-fc-card--wisdom-blue li,
.pb-fc-card--wisdom-blue a {
	color: #ffffff;
}

.pb-fc-card--sky-blue {
	background: var(--color-sky-blue) !important;
	color: #ffffff;
}

.pb-fc-card--sky-blue .pb-fc-card__heading,
.pb-fc-card--sky-blue h2,
.pb-fc-card--sky-blue h3,
.pb-fc-card--sky-blue h4,
.pb-fc-card--sky-blue p,
.pb-fc-card--sky-blue a {
	color: #ffffff;
}

.pb-fc-card--citrus {
	background: var(--color-citrus) !important;
	color: var(--color-wisdom-blue);
}

.pb-fc-card--citrus .pb-fc-card__heading,
.pb-fc-card--citrus h2,
.pb-fc-card--citrus h3,
.pb-fc-card--citrus h4,
.pb-fc-card--citrus p,
.pb-fc-card--citrus a {
	color: var(--color-wisdom-blue);
}

/* Post hero desktop padding */
.sds-post-hero {
	padding: 9rem 0 3rem;
}

@media (max-width: 768px) {
	.sds-post-body .pb-container {
		padding-bottom: 0;
	}
}

/*--------------------------------------------------------------
# WordPress Gallery — masonry layout in post body
--------------------------------------------------------------*/
.sds-post-body__content .gallery {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	width: 100%;
}

.sds-post-body__content .gallery-item,
.sds-post-body__content dl.gallery-item {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	box-sizing: border-box;
}

.sds-post-body__content .gallery-icon {
	margin: 0 !important;
	padding: 0 !important;
	height: 100%;
}

.sds-post-body__content .gallery-item img,
.sds-post-body__content .gallery-icon img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
	display: block !important;
	border-radius: 8px;
	cursor: zoom-in;
	transition: opacity 0.2s;
	margin: 0 !important;
}

.sds-post-body__content .gallery-item a {
	display: block;
}

.sds-post-body__content .gallery-item a:hover img {
	opacity: 0.85;
}

@media (max-width: 540px) {
	.sds-post-body__content .gallery {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* Lightbox overlay */
.sds-lightbox-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.88);
	z-index: 99999;
	align-items: center;
	justify-content: center;
	cursor: zoom-out;
}

.sds-lightbox-overlay.is-open {
	display: flex;
}

.sds-lightbox-overlay__img {
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 8px 60px rgba(0,0,0,0.5);
}

.sds-lightbox-overlay__close {
	position: fixed;
	top: 1.5rem;
	right: 1.5rem;
	background: none;
	border: none;
	color: #fff;
	font-size: 2rem;
	cursor: pointer;
	line-height: 1;
	opacity: 0.8;
}

.sds-lightbox-overlay__close:hover {
	opacity: 1;
}

.sds-lightbox-overlay__nav {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,0.15);
	border: none;
	color: #fff;
	font-size: 2rem;
	padding: 0.5rem 1rem;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s;
}

.sds-lightbox-overlay__nav:hover { background: rgba(255,255,255,0.3); }
.sds-lightbox-overlay__prev { left: 1.5rem; }
.sds-lightbox-overlay__next { right: 1.5rem; }



/* Ensure last section in content-wrap still shows wrap's bottom padding/radius */
.pb-content-wrap > .pb-section:last-of-type {
	margin-bottom: 0;
}

/* CTA banner — no negative margin, sits naturally below content-wrap */

/* Very small phones: compress hero so full content fits before body */
@media (max-width: 420px) {
	.pb-hero__image--scoop,
	.pb-hero__image--arch,
	.pb-hero__image--rectangle,
	.pb-hero__image--curved-corner-right {
		max-height: 160px;
	}
	.pb-hero__shape-svg,
	.pb-hero__image svg {
		height: 160px;
	}
	.pb-hero__body {
		display: none; /* hide body text on very small screens to save space */
	}
	.pb-hero__inner {
		padding-bottom: calc(0.5rem + 30px);
	}
}

.pb-events__empty {
	color: inherit;
	opacity: 0.6;
	font-style: italic;
	padding: 2rem 0;
}
