/* GIRA theme — chrome + custom-block styling that theme.json cannot express. */

/* ---------- Top-level layout ----------
   The root blockGap makes WordPress inject margin-block-start between the
   top-level blocks (header/footer template parts, the main skip-link target,
   and root-level sections). These bands own their own spacing via padding and
   borders, so drop the inter-block margins to keep header/sections/footer flush. */
.wp-site-blocks > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
/* News list (blog index) and single post: separate the closing newsletter
   CTA band from the content above, as in the design. Scoped to those two
   templates only — composed pages keep the band flush. Targets the CTA-band
   block wrapper specifically (NOT .gira-cta, which the header button also
   uses). Higher specificity than the reset above so it wins. */
.blog .wp-block-gira-cta-band,
.single-post .wp-block-gira-cta-band {
	margin-block-start: 48px;
}

/* ---------- Header ---------- */
.gira-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(248, 249, 250, .88);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
	padding-top: 0;
	padding-bottom: 0;
}
.gira-header > .alignwide {
	min-height: 72px;
}
.gira-header .wp-block-navigation {
	font-size: 14.5px;
	font-weight: 500;
	/* [gira_menu style="header"] emits core Navigation markup without core's block-layout
	   classes, so the flex row the block used to get from `is-layout-flex` is set here.
	   Item spacing comes from the nav's inline `gap`, which core's CSS inherits down. */
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.gira-header .wp-block-navigation a {
	color: var(--wp--preset--color--neutral-700);
	text-decoration: none;
}
.gira-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--contrast);
}
.gira-header .gira-cta .wp-block-button__link {
	padding: 12px 20px;
	font-size: 14.5px;
}
.gira-header .wp-block-site-logo img {
	display: block;
}

/* ---------- Mobile nav overlay (core/navigation overlayMenu:"mobile") ----------
   The header's backdrop-filter makes it the containing block for fixed-position
   descendants, which traps the fixed nav overlay inside the ~72px header bar — so
   the open menu shows as a thin sliver. Drop the filter while the modal menu is
   open (html.has-modal-open is set by the Navigation block) so the overlay can
   resolve against the viewport and cover the full screen. */
html.has-modal-open .gira-header {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.gira-nav .wp-block-navigation__responsive-container-open,
.gira-nav .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--neutral-900);
}
/* Open overlay: solid, full-height, on-brand panel (core renders it unstyled). */
.gira-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	padding: 20px 24px 40px;
}
.gira-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	width: 100%;
	padding-top: 48px;
}
.gira-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	width: 100%;
	gap: 0;
	align-items: stretch;
}
.gira-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
}
/* Comfortable tap targets; override the compact desktop nav link styles. */
.gira-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 15px 2px;
	font-size: 19px;
	font-weight: 500;
	color: var(--wp--preset--color--neutral-900);
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}

/* ---------- Footer ---------- */
.gira-footer,
.gira-footer p,
.gira-footer li {
	color: #c7c9cd;
}
.gira-footer h4 {
	color: #fff;
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: 600;
}
.gira-footer a {
	color: #c7c9cd;
	text-decoration: none;
}
.gira-footer a:hover {
	color: #fff;
}
.gira-footer .wp-block-site-logo img {
	filter: brightness(0) invert(1);
}
.gira-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* ---------- Newsletter block ---------- */
.gira-newsletter {
	max-width: 340px;
}
.gira-newsletter.is-style-footer {
	max-width: 320px;
}
.gira-newsletter.is-style-band {
	max-width: 420px;
}
.gira-footer .gira-newsletter {
	margin-top: 20px;
}
.gira-newsletter__label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0 0 12px;
}
.gira-newsletter__row {
	display: flex;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid #3a3c40;
	padding-bottom: 8px;
}
.gira-newsletter.is-style-footer .gira-newsletter__row {
	gap: 12px;
	border-bottom-width: 1.5px;
	padding-bottom: 9px;
}
.gira-newsletter__email {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: 0;
	color: #fff;
	font: inherit;
	font-size: 15px;
	padding: 6px 0;
	outline: none;
}
.gira-newsletter.is-style-footer .gira-newsletter__email {
	font-size: 14.5px;
	padding: 2px 0;
}
.gira-newsletter__email::placeholder {
	color: #9a9da3;
}
.gira-newsletter__submit {
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: var(--wp--custom--radius--pill);
	border: 0;
	background: var(--wp--preset--color--accent);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
}
.gira-newsletter__submit:hover {
	background: var(--wp--preset--color--accent-600);
}
.gira-newsletter__submit:disabled {
	opacity: .6;
	cursor: default;
}
.gira-newsletter__consent {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin-top: 12px;
	font-size: 12.5px;
	color: #9a9da3;
}
.gira-newsletter__consent a {
	color: var(--wp--preset--color--accent-300);
	text-decoration: underline;
}
.gira-newsletter__note {
	font-size: 12px;
	color: var(--wp--preset--color--neutral-500);
	margin: 11px 0 0;
}
.gira-newsletter__error {
	color: #e98b80;
	font-size: 12.5px;
	margin: 8px 0 0;
}
.gira-newsletter__success {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #fff;
	font-size: 14px;
	min-height: 38px;
}
.gira-newsletter__success[hidden] {
	display: none;
}
.gira-newsletter__success p { margin: 0; }
.gira-newsletter__success-icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* =====================================================================
   Shared: CTA buttons (used by gira/hero and gira/cta-band)
   ===================================================================== */
.gira-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 16px;
	line-height: 1;
	border-radius: var(--wp--custom--radius--md);
	padding: 16px 28px;
	border: 1px solid transparent;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s, border-color .15s, color .15s;
}
.gira-btn__icon {
	width: 16px;
	height: 16px;
}
.gira-btn--primary {
	background: var(--wp--preset--color--accent);
	color: #fff;
}
.gira-btn--primary:hover {
	background: var(--wp--preset--color--accent-600);
	color: #fff;
}
.gira-btn--outline {
	background: transparent;
}
.gira-on-dark .gira-btn--outline {
	color: #fff;
	border-color: rgba(255, 255, 255, .42);
}
.gira-on-dark .gira-btn--outline:hover {
	border-color: #fff;
}
.gira-on-light .gira-btn--outline {
	color: var(--wp--preset--color--neutral-900);
	border-color: var(--wp--preset--color--neutral-300);
}
.gira-on-light .gira-btn--outline:hover {
	border-color: var(--wp--preset--color--neutral-900);
}
.gira-btn--ghost {
	background: transparent;
	border-color: transparent;
	padding-left: 8px;
	padding-right: 8px;
}
.gira-on-dark .gira-btn--ghost {
	color: #fff;
}
.gira-on-light .gira-btn--ghost {
	color: var(--wp--preset--color--neutral-900);
}

/* Striped photo placeholder (shared with .as-strip image frames) */
.as-strip {
	background: repeating-linear-gradient(135deg, #e7eaed 0 14px, #eef0f3 14px 28px);
}

/* gira/media-figure — framed image or striped placeholder with caption pill */
.gira-figure {
	position: relative;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: var(--wp--custom--elevation--e1);
}
.gira-figure__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.gira-figure__label {
	position: absolute;
	top: 18px;
	left: 18px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .06em;
	color: var(--wp--preset--color--neutral-500);
	background: rgba(255, 255, 255, .78);
	border: 1px solid var(--wp--preset--color--neutral-200);
	padding: 6px 11px;
	border-radius: 999px;
}
/* Optional play button overlay (media-figure video:true) */
.gira-figure__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 72px;
	height: 72px;
	border-radius: 999px;
	border: none;
	background: var(--wp--preset--color--accent);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 32px rgba(28, 29, 32, .24);
	z-index: 2;
}

/* =====================================================================
   gira/hero
   ===================================================================== */
.gira-hero {
	position: relative;
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
	padding: 0;
}
.gira-hero__inner {
	max-width: var(--wp--custom--container--wide);
	margin: 0 auto;
	padding: 84px 32px 76px;
}
.gira-hero__photo-label {
	position: absolute;
	top: 18px;
	right: 24px;
	z-index: 2;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .06em;
	color: rgba(255, 255, 255, .55);
}
.gira-hero__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-300);
	margin: 0;
}
.gira-on-light .gira-hero__eyebrow {
	color: var(--wp--preset--color--accent-600);
}
.gira-hero__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	letter-spacing: -.025em;
	margin: 16px 0 0;
	color: inherit;
}
.gira-hero__body {
	font-size: 19px;
	line-height: 30px;
	margin: 20px 0 0;
	max-width: 56ch;
}
.gira-on-dark .gira-hero__body {
	color: rgba(255, 255, 255, .82);
}
.gira-on-light .gira-hero__body {
	color: var(--wp--preset--color--neutral-600);
}
.gira-hero__meta {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 24px;
}
.gira-hero__meta-item {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
}
.gira-hero__meta-dot {
	width: 3px;
	height: 3px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--neutral-600);
	display: inline-block;
}
.gira-hero__buttons {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 34px;
}

/* Background variants */
.gira-hero--bg-dark {
	background: var(--wp--preset--color--neutral-900);
	color: #fff;
}
.gira-hero--bg-light {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--neutral-900);
}
.gira-hero--bg-striped {
	color: #fff;
	background:
		linear-gradient(105deg, rgba(20, 21, 24, .92) 0%, rgba(20, 21, 24, .62) 48%, rgba(20, 21, 24, .18) 100%),
		repeating-linear-gradient(135deg, #1c1d20 0 16px, #2d2f33 16px 32px);
}

/* Uploaded photo: full-bleed background image + legibility scrim */
.gira-hero__bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.gira-hero--has-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(105deg, rgba(20, 21, 24, .92) 0%, rgba(20, 21, 24, .62) 48%, rgba(20, 21, 24, .18) 100%);
}
.gira-hero--has-photo.gira-hero--bg-light::after {
	background: linear-gradient(105deg, rgba(248, 249, 250, .96) 0%, rgba(248, 249, 250, .72) 48%, rgba(248, 249, 250, .18) 100%);
}
.gira-hero--has-photo .gira-hero__inner {
	position: relative;
	z-index: 1;
}

/* Uploaded photo: media-aside image fills the framed box */
.gira-hero__media-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Full-bleed variant */
.gira-hero--full-bleed {
	min-height: 660px;
	overflow: hidden;
}
.gira-hero--full-bleed .gira-hero__inner {
	min-height: 660px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 56px;
	padding-bottom: 56px;
}
.gira-hero--full-bleed .gira-hero__content {
	max-width: 720px;
}
.gira-hero--full-bleed .gira-hero__heading {
	font-size: clamp(42px, 6vw, 66px);
	line-height: 1.06;
	margin: 16px 0 20px;
}
.gira-hero--full-bleed.gira-hero--bg-light {
	background:
		linear-gradient(105deg, rgba(248, 249, 250, .96) 0%, rgba(248, 249, 250, .72) 48%, rgba(248, 249, 250, .18) 100%),
		repeating-linear-gradient(135deg, #e7e8ea 0 16px, #eef0f2 16px 32px);
}

/* Page-header variant */
.gira-hero--page-header .gira-hero__heading {
	font-size: clamp(40px, 5vw, 58px);
	line-height: 1.1;
	max-width: 20ch;
}

/* Stats / media aside */
.gira-hero--has-aside .gira-hero__inner {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 64px;
	align-items: end;
}
.gira-hero__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 14px;
	overflow: hidden;
}
.gira-hero--bg-light .gira-hero__stats {
	background: var(--wp--preset--color--neutral-200);
	border-color: var(--wp--preset--color--neutral-200);
}
.gira-hero__stat {
	background: var(--wp--preset--color--neutral-900);
	padding: 22px 22px 20px;
}
.gira-hero--bg-light .gira-hero__stat {
	background: #fff;
}
.gira-hero__stat-value {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 30px;
	line-height: 1;
	font-weight: 600;
	color: #fff;
}
.gira-hero--bg-light .gira-hero__stat-value {
	color: var(--wp--preset--color--neutral-900);
}
.gira-hero__stat-label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
	margin-top: 8px;
}
.gira-hero__media {
	position: relative;
	border-radius: 16px;
	border: 1px solid var(--wp--preset--color--neutral-200);
	overflow: hidden;
	min-height: 420px;
}
.gira-hero__media-label {
	position: absolute;
	top: 18px;
	left: 18px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .06em;
	color: var(--wp--preset--color--neutral-500);
	background: rgba(255, 255, 255, .78);
	border: 1px solid var(--wp--preset--color--neutral-200);
	padding: 6px 11px;
	border-radius: var(--wp--custom--radius--pill);
}
.gira-hero--align-center .gira-hero__content {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.gira-hero--align-center .gira-hero__body,
.gira-hero--align-center .gira-hero__buttons,
.gira-hero--align-center .gira-hero__meta {
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}

/* =====================================================================
   gira/content-list
   ===================================================================== */
.gira-cl__header {
	max-width: 640px;
	margin: 0 0 48px;
}
.gira-cl__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 18px;
}
.gira-cl__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: clamp(30px, 4vw, 38px);
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0;
}
.gira-cl__num {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 13px;
	font-weight: 500;
	color: var(--wp--preset--color--accent);
	flex: 0 0 auto;
}
.gira-cl__icon {
	width: 40px;
	height: 40px;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--accent-50);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}
.gira-cl__icon svg {
	width: 18px;
	height: 18px;
	color: var(--wp--preset--color--accent);
}
.gira-cl__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--wp--preset--color--neutral-900);
}
.gira-cl__body {
	color: var(--wp--preset--color--neutral-600);
	margin: 0;
}
.gira-cl__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	margin-top: 14px;
}
a.gira-cl__item {
	color: inherit;
	text-decoration: none;
}

/* --- Grid layout --- */
.gira-cl--grid .gira-cl__items {
	display: grid;
	gap: 20px;
}
.gira-cl--grid.gira-cl--cols-2 .gira-cl__items { grid-template-columns: repeat(2, 1fr); }
.gira-cl--grid.gira-cl--cols-3 .gira-cl__items { grid-template-columns: repeat(3, 1fr); }
.gira-cl--grid.gira-cl--cols-4 .gira-cl__items { grid-template-columns: repeat(4, 1fr); }
.gira-cl--grid .gira-cl__item {
	background: #fff;
	display: flex;
	flex-direction: column;
	padding: 34px 28px 38px;
	min-height: 220px;
}
.gira-cl--grid .gira-cl__text {
	margin-top: 20px;
}
.gira-cl--grid .gira-cl__title {
	font-size: 22px;
	line-height: 28px;
	margin: 0 0 12px;
}
.gira-cl--grid .gira-cl__body {
	font-size: 14.5px;
	line-height: 22px;
}
/* Hairline grid: joined cells on a single hairline grid */
.gira-cl--grid.gira-cl--hairline .gira-cl__items {
	gap: 1px;
	background: var(--wp--preset--color--neutral-200);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 14px;
	overflow: hidden;
}
/* Bordered grid: separate cards */
.gira-cl--grid.gira-cl--bordered .gira-cl__item {
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 16px;
}
/* Plain grid */
.gira-cl--grid.gira-cl--plain .gira-cl__item {
	background: transparent;
	padding: 0;
	min-height: 0;
}
/* Icon / check grid cells (e.g. outcomes): tighter, smaller title */
.gira-cl--grid.gira-cl--marker-icon .gira-cl__item,
.gira-cl--grid.gira-cl--marker-check .gira-cl__item {
	min-height: 118px;
	padding: 24px 22px;
}
.gira-cl--grid.gira-cl--marker-icon .gira-cl__text,
.gira-cl--grid.gira-cl--marker-check .gira-cl__text {
	margin-top: 10px;
}
.gira-cl--grid.gira-cl--marker-icon .gira-cl__title,
.gira-cl--grid.gira-cl--marker-check .gira-cl__title {
	font-size: 16px;
	line-height: 22px;
	margin: 0;
}

/* --- Rows layout --- */
.gira-cl--rows .gira-cl__items {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-cl--rows .gira-cl__item {
	display: flex;
	gap: 18px;
	align-items: baseline;
	padding: 20px 0;
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-cl--rows.gira-cl--marker-icon .gira-cl__item,
.gira-cl--rows.gira-cl--marker-check .gira-cl__item {
	align-items: flex-start;
	gap: 18px;
}
.gira-cl--rows .gira-cl__title {
	font-size: 18px;
	line-height: 25px;
	margin: 0;
}
.gira-cl--rows .gira-cl__body {
	font-size: 15px;
	line-height: 23px;
	color: var(--wp--preset--color--neutral-500);
	margin: 4px 0 0;
}
.gira-cl--rows .gira-cl__icon {
	width: 42px;
	height: 42px;
	border: 1px solid var(--wp--preset--color--accent-100);
}

/* --- Statement emphasis (editorial mission/vision rows) --- */
.gira-cl--statement .gira-cl__items {
	display: flex;
	flex-direction: column;
	border-top: none;
}
.gira-cl--statement .gira-cl__item {
	display: grid;
	grid-template-columns: auto 200px 1fr;
	gap: 48px;
	align-items: start;
	padding: 48px 0;
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-cl--statement .gira-cl__item:last-child {
	border-bottom: none;
}
.gira-cl--statement .gira-cl__num {
	font-size: 15px;
	padding-top: 6px;
}
.gira-cl--statement .gira-cl__text {
	margin-top: 0;
	padding-top: 4px;
}
.gira-cl--statement .gira-cl__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 8px;
}
.gira-cl--statement .gira-cl__sub {
	font-size: 14px;
	line-height: 22px;
	color: var(--wp--preset--color--neutral-400);
	margin: 0;
}
.gira-cl--statement .gira-cl__statement {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: clamp(24px, 3vw, 30px);
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: -.015em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0;
}

/* =====================================================================
   gira/cta-band
   ===================================================================== */
.gira-cta {
	border-top: 1px solid var(--wp--preset--color--neutral-200);
	padding: 0;
}
.gira-cta--bg-dark {
	background: var(--wp--preset--color--neutral-900);
	color: #fff;
}
.gira-cta--bg-light {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--neutral-900);
}
.gira-cta--bg-gold {
	background: var(--wp--preset--color--accent);
	color: #fff;
}
.gira-cta__inner {
	max-width: var(--wp--custom--container--wide);
	margin: 0 auto;
	padding: 80px 32px;
}
.gira-cta--split .gira-cta__inner {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 56px;
	align-items: center;
}
.gira-cta--centered .gira-cta__inner {
	text-align: center;
}
.gira-cta--centered .gira-cta__content {
	max-width: 640px;
	margin: 0 auto;
}
.gira-cta__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-300);
	margin: 0;
}
.gira-cta--bg-light .gira-cta__eyebrow {
	color: var(--wp--preset--color--accent);
}
.gira-cta__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: clamp(30px, 4vw, 40px);
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: -.02em;
	margin: 14px 0 16px;
	color: inherit;
}
.gira-cta--centered .gira-cta__heading {
	max-width: 20ch;
	margin-left: auto;
	margin-right: auto;
}
.gira-cta__body {
	font-size: 17px;
	line-height: 28px;
	margin: 0;
	max-width: 50ch;
}
.gira-cta--bg-dark .gira-cta__body {
	color: var(--wp--preset--color--neutral-300);
}
.gira-cta--bg-light .gira-cta__body {
	color: var(--wp--preset--color--neutral-600);
}
.gira-cta--centered .gira-cta__body {
	margin: 0 auto;
}
.gira-cta--split .gira-cta__buttons {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.gira-cta--split .gira-cta__buttons .gira-btn {
	justify-content: center;
	padding: 18px 28px;
}
.gira-cta--centered .gira-cta__buttons {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 30px;
}

/* Boxed (Seal explainer) variant */
.gira-cta--boxed {
	border-top: none;
	background: transparent;
	padding: 80px 32px 96px;
	color: #fff;
}
.gira-cta--boxed .gira-cta__inner {
	background: var(--wp--preset--color--neutral-900);
	border-radius: 20px;
	padding: 44px 48px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 36px;
	align-items: center;
}
.gira-cta__icon {
	flex: 0 0 auto;
}
.gira-cta--boxed .gira-cta__icon {
	width: 72px;
	height: 72px;
	border-radius: 16px;
	background: var(--wp--preset--color--accent-50);
	border: 1px solid var(--wp--preset--color--accent-100);
	display: flex;
	align-items: center;
	justify-content: center;
}
.gira-cta--boxed .gira-cta__icon svg {
	width: 34px;
	height: 34px;
	color: var(--wp--preset--color--accent-300);
}
.gira-cta--boxed .gira-cta__heading {
	font-size: 24px;
	line-height: 30px;
	margin: 0 0 8px;
}
.gira-cta--boxed .gira-cta__body {
	font-size: 15.5px;
	line-height: 24px;
	color: var(--wp--preset--color--neutral-300);
	max-width: 62ch;
}
.gira-cta--boxed .gira-cta__buttons {
	flex-direction: row;
}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width: 900px) {
	.gira-hero--has-aside .gira-hero__inner,
	.gira-cta--split .gira-cta__inner,
	.gira-cta--boxed .gira-cta__inner,
	.gira-cl--statement .gira-cl__item {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.gira-cl--grid.gira-cl--cols-3 .gira-cl__items,
	.gira-cl--grid.gira-cl--cols-4 .gira-cl__items {
		grid-template-columns: repeat(2, 1fr);
	}
	.gira-cta--boxed .gira-cta__inner {
		align-items: start;
	}
	/* doc-toc: drop the sticky sidebar once the layout stacks — it just eats
	   vertical space above the article on narrow screens. */
	.gira-toc {
		position: static;
		margin-bottom: 32px;
	}
}
@media (max-width: 600px) {
	.gira-hero__inner,
	.gira-cta__inner {
		padding-left: 24px;
		padding-right: 24px;
	}
	/* Trim the big bands' vertical padding so they don't waste a phone screen. */
	.gira-hero__inner {
		padding-top: 56px;
		padding-bottom: 48px;
	}
	.gira-hero--full-bleed,
	.gira-hero--full-bleed .gira-hero__inner {
		min-height: auto;
	}
	.gira-cta__inner {
		padding-top: 56px;
		padding-bottom: 56px;
	}
	.gira-cl--grid.gira-cl--cols-2 .gira-cl__items,
	.gira-cl--grid.gira-cl--cols-3 .gira-cl__items,
	.gira-cl--grid.gira-cl--cols-4 .gira-cl__items {
		grid-template-columns: 1fr;
	}
}

/* =====================================================================
   gira/stat-grid
   ===================================================================== */
.gira-statgrid {
	display: grid;
	gap: 20px;
}
.gira-statgrid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.gira-statgrid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.gira-statgrid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.gira-statgrid__value {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 30px;
	line-height: 1;
	font-weight: 600;
}
.gira-statgrid__label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
	margin-top: 8px;
}
.gira-on-dark .gira-statgrid__value { color: #fff; }
.gira-on-light .gira-statgrid__value { color: var(--wp--preset--color--neutral-900); }
.gira-statgrid--bordered {
	gap: 1px;
	border-radius: 14px;
	overflow: hidden;
}
.gira-statgrid--bordered .gira-statgrid__item { padding: 22px 22px 20px; }
.gira-statgrid--bordered.gira-statgrid--bg-dark {
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .1);
}
.gira-statgrid--bordered.gira-statgrid--bg-dark .gira-statgrid__item { background: var(--wp--preset--color--neutral-900); }
.gira-statgrid--bordered.gira-statgrid--bg-light,
.gira-statgrid--bordered.gira-statgrid--bg-transparent {
	background: var(--wp--preset--color--neutral-200);
	border: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-statgrid--bordered.gira-statgrid--bg-light .gira-statgrid__item { background: #fff; }
.gira-statgrid--bordered.gira-statgrid--bg-transparent .gira-statgrid__item { background: var(--wp--preset--color--base); }

/* =====================================================================
   gira/section-split
   ===================================================================== */
.gira-split {
	display: grid;
	grid-template-columns: var(--gira-split-cols, 1fr 1.25fr);
	gap: 64px;
	align-items: start;
}
.gira-split--align-center { align-items: center; }
.gira-split--reverse .gira-split__head { order: 2; }
.gira-split__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 18px;
}
.gira-split__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: clamp(30px, 4vw, 38px);
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0;
}
.gira-split__body > :first-child { margin-top: 0; }
.gira-split__body > :last-child { margin-bottom: 0; }
.gira-split__body p {
	font-size: 18px;
	line-height: 30px;
	color: var(--wp--preset--color--neutral-700);
}

/* =====================================================================
   gira/people
   ===================================================================== */
.gira-people__legend {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	margin: 0 0 40px;
}
.gira-people__legend-item {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-600);
}
.gira-people__legend-dot {
	width: 10px;
	height: 10px;
	border-radius: var(--wp--custom--radius--pill);
	flex: 0 0 auto;
}
.gira-people__grid { display: grid; gap: 24px; }
.gira-people--cols-2 .gira-people__grid { grid-template-columns: repeat(2, 1fr); }
.gira-people--cols-3 .gira-people__grid { grid-template-columns: repeat(3, 1fr); }
.gira-people--cols-4 .gira-people__grid { grid-template-columns: repeat(4, 1fr); }
.gira-people__card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: border-color .18s, box-shadow .18s;
}
.gira-people__card:hover {
	border-color: var(--wp--preset--color--neutral-300);
	box-shadow: var(--wp--custom--elevation--e3);
}
.gira-people__photo {
	position: relative;
	aspect-ratio: 4 / 5;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--wp--preset--color--neutral-100);
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-people__img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Staff variant — square (1/1) photos instead of the 4/5 portrait, otherwise identical to the board */
.gira-people--staff .gira-people__photo { aspect-ratio: 1 / 1; }
.gira-people__photo-label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
}
.gira-people__seat {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	align-items: center;
	gap: 7px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: var(--wp--custom--radius--pill);
	padding: 5px 11px 5px 9px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-600);
}
.gira-people__seat-dot {
	width: 8px;
	height: 8px;
	border-radius: var(--wp--custom--radius--pill);
	flex: 0 0 auto;
}
.gira-people__body {
	padding: 26px 26px 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.gira-people__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 21px;
	line-height: 27px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 3px;
}
.gira-people__role {
	font-size: 14px;
	line-height: 20px;
	color: var(--wp--preset--color--accent-600);
	font-weight: 500;
	margin: 0 0 16px;
}
.gira-people__bio {
	font-size: 14.5px;
	line-height: 22px;
	color: var(--wp--preset--color--neutral-600);
	margin: 0 0 22px;
	flex: 1;
}
.gira-people__linkedin {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--wp--preset--color--neutral-900);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: var(--wp--custom--radius--pill);
	padding: 8px 14px 8px 12px;
	transition: background .15s, color .15s, border-color .15s;
}
.gira-people__linkedin svg { width: 15px; height: 15px; }
.gira-people__linkedin:hover {
	background: var(--wp--preset--color--neutral-900);
	color: #fff;
	border-color: var(--wp--preset--color--neutral-900);
}

/* =====================================================================
   gira/tiers
   ===================================================================== */
.gira-tiers {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-items: stretch;
}
.gira-tier {
	border-radius: 18px;
	padding: 42px 40px 44px;
	display: flex;
	flex-direction: column;
	border: 1px solid transparent;
}
.gira-tier--light {
	background: #fff;
	border-color: var(--wp--preset--color--neutral-200);
	color: var(--wp--preset--color--neutral-900);
}
.gira-tier--dark {
	background: var(--wp--preset--color--neutral-900);
	border-color: var(--wp--preset--color--neutral-900);
	color: #fff;
}
.gira-tier__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 8px;
}
.gira-tier__kicker {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.gira-tier--light .gira-tier__kicker { color: var(--wp--preset--color--accent); }
.gira-tier--dark .gira-tier__kicker { color: var(--wp--preset--color--accent-300); }
.gira-tier__price {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: var(--wp--custom--radius--pill);
	white-space: nowrap;
}
.gira-tier--light .gira-tier__price { background: var(--wp--preset--color--accent-50); color: var(--wp--preset--color--accent-600); }
.gira-tier--dark .gira-tier__price { background: var(--wp--preset--color--accent); color: #fff; }
.gira-tier__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 30px;
	line-height: 36px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: inherit;
	margin: 0 0 12px;
}
.gira-tier__tagline { font-size: 16px; line-height: 25px; margin: 0 0 30px; }
.gira-tier--light .gira-tier__tagline { color: var(--wp--preset--color--neutral-600); }
.gira-tier--dark .gira-tier__tagline { color: var(--wp--preset--color--neutral-300); }
.gira-tier__benefits-label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.gira-tier--light .gira-tier__benefits-label { color: var(--wp--preset--color--neutral-600); }
.gira-tier--dark .gira-tier__benefits-label { color: var(--wp--preset--color--neutral-300); }
.gira-tier__benefits {
	list-style: none;
	margin: 0 0 34px;
	padding: 0;
	border-top: 1px solid;
}
.gira-tier--light .gira-tier__benefits { border-top-color: var(--wp--preset--color--neutral-200); }
.gira-tier--dark .gira-tier__benefits { border-top-color: #34363a; }
.gira-tier__benefit {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 13px 0;
	border-bottom: 1px solid;
	font-size: 15.5px;
	line-height: 22px;
}
.gira-tier--light .gira-tier__benefit { border-bottom-color: var(--wp--preset--color--neutral-200); }
.gira-tier--dark .gira-tier__benefit { border-bottom-color: #34363a; }
.gira-tier__check {
	width: 20px;
	height: 20px;
	border-radius: var(--wp--custom--radius--pill);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}
.gira-tier__check svg { width: 11px; height: 11px; color: #fff; }
.gira-tier--light .gira-tier__check { background: var(--wp--preset--color--neutral-900); }
.gira-tier--dark .gira-tier__check { background: var(--wp--preset--color--accent); }
.gira-tier__cta {
	margin-top: auto;
	text-align: center;
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 16px;
	line-height: 1;
	border-radius: var(--wp--custom--radius--md);
	padding: 17px 28px;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background .15s;
}
.gira-tier--light .gira-tier__cta { background: var(--wp--preset--color--neutral-900); color: #fff; }
.gira-tier--dark .gira-tier__cta { background: var(--wp--preset--color--accent); color: #fff; }
.gira-tier--dark .gira-tier__cta:hover { background: var(--wp--preset--color--accent-600); }

/* =====================================================================
   gira/doc-toc
   ===================================================================== */
html {
	scroll-behavior: smooth;
	/* Anchor jumps (doc-toc links) must clear the 72px sticky .gira-header. */
	scroll-padding-top: 88px;
}
.gira-toc {
	position: sticky;
	top: var(--gira-toc-offset, 104px);
	align-self: start;
}
.gira-toc__label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 18px;
}
.gira-toc__nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-left: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-toc__link {
	display: flex;
	gap: 11px;
	align-items: baseline;
	font-size: 13.5px;
	line-height: 18px;
	font-weight: 500;
	color: var(--wp--preset--color--neutral-500);
	text-decoration: none;
	padding: 8px 0 8px 17px;
	margin-left: -1px;
	border-left: 2px solid transparent;
	transition: color .15s, border-color .15s;
}
.gira-toc__link:hover { color: var(--wp--preset--color--neutral-900); }
.gira-toc__link.is-active {
	color: var(--wp--preset--color--neutral-900);
	font-weight: 600;
	border-left-color: var(--wp--preset--color--accent);
}
.gira-toc__num {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	color: var(--wp--preset--color--accent);
	flex: 0 0 auto;
}

/* =====================================================================
   gira/contact-card
   ===================================================================== */
.gira-contact {
	background: #fff;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: var(--wp--custom--radius--lg);
	padding: 34px 36px;
}
.gira-contact__label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 14px;
}
.gira-contact__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 19px;
	line-height: 26px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 12px;
}
.gira-contact__body {
	font-size: 16px;
	line-height: 26px;
	color: var(--wp--preset--color--neutral-700);
	margin: 0 0 18px;
}
.gira-contact__rows {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 15px;
	color: var(--wp--preset--color--neutral-700);
}
.gira-contact__row { display: flex; gap: 10px; }
.gira-contact__key {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	flex: 0 0 auto;
	min-width: 54px;
}
.gira-contact__email {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--accent-300);
}

/* =====================================================================
   gira/article-byline
   ===================================================================== */
.gira-byline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	padding: 22px 0;
	border-top: 1px solid var(--wp--preset--color--neutral-200);
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-byline__author { display: flex; align-items: center; gap: 14px; }
.gira-byline__avatar {
	width: 44px;
	height: 44px;
	border-radius: var(--wp--custom--radius--pill);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--neutral-200);
	flex: 0 0 auto;
	display: block;
}
.gira-byline__avatar-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--wp--custom--radius--pill); display: block; }
.gira-byline__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--neutral-900);
}
.gira-byline__role { font-size: 13px; color: var(--wp--preset--color--neutral-500); }
.gira-byline__share { display: flex; align-items: center; gap: 9px; }
.gira-byline__btn {
	width: 38px;
	height: 38px;
	border-radius: var(--wp--custom--radius--pill);
	border: 1px solid var(--wp--preset--color--neutral-300);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 13px;
	font-weight: 500;
	color: var(--wp--preset--color--neutral-600);
	text-decoration: none;
	background: transparent;
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.gira-byline__btn:hover { border-color: var(--wp--preset--color--neutral-900); color: var(--wp--preset--color--neutral-900); }

/* =====================================================================
   gira/post-filters
   ===================================================================== */
.gira-filters {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.gira-filter {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 500;
	font-size: 14px;
	line-height: 1;
	border-radius: var(--wp--custom--radius--pill);
	padding: 11px 18px;
	cursor: pointer;
	background: transparent;
	color: var(--wp--preset--color--neutral-600);
	border: 1px solid var(--wp--preset--color--neutral-300);
	white-space: nowrap;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s;
}
.gira-filter:hover { border-color: var(--wp--preset--color--neutral-900); color: var(--wp--preset--color--neutral-900); }
.gira-filter.is-active {
	background: var(--wp--preset--color--neutral-900);
	color: #fff;
	border-color: var(--wp--preset--color--neutral-900);
}

/* =====================================================================
   core/image — "Framed" block style
   ===================================================================== */
.wp-block-image.is-style-gira-framed img {
	border-radius: 16px;
	border: 1px solid var(--wp--preset--color--neutral-200);
	display: block;
}

/* =====================================================================
   Featured story (sticky lead) — news index
   ===================================================================== */
.gira-feature .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0;
}
.gira-feature .wp-block-post-template > li { margin: 0; }
.gira-feature .wp-block-post-featured-image { margin: 0; }
.gira-feature .wp-block-post-featured-image img {
	aspect-ratio: 16 / 11;
	object-fit: cover;
	width: 100%;
	border-radius: 16px;
	display: block;
}
.gira-feature .gira-news-meta { margin: 0 0 14px; }
.gira-feature .wp-block-post-title {
	font-size: clamp(26px, 5vw, 38px);
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: -.02em;
	margin: 0 0 18px;
}
.gira-feature .wp-block-post-title a {
	color: var(--wp--preset--color--neutral-900);
	text-decoration: none;
	transition: color .15s;
}
.gira-feature .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); }
.gira-feature .wp-block-post-excerpt {
	font-size: 17px;
	line-height: 28px;
	color: var(--wp--preset--color--neutral-600);
}
.gira-feature .wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: 8px;
	font-weight: 600;
	color: var(--wp--preset--color--neutral-900);
	text-decoration: none;
}
.gira-feature .wp-block-post-excerpt__more-link:hover { color: var(--wp--preset--color--accent); }

/* =====================================================================
   News query-loop cards (template wiring)
   ===================================================================== */
.gira-news-grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
.gira-news-grid .wp-block-post-template > li {
	background: #fff;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .18s, box-shadow .18s;
}
.gira-news-grid .wp-block-post-template > li:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--custom--elevation--e3);
}
.gira-news-grid .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-news-grid .wp-block-post-title {
	font-size: 21px;
	line-height: 28px;
	letter-spacing: -.01em;
}
.gira-news-grid .wp-block-post-title a { color: var(--wp--preset--color--neutral-900); text-decoration: none; }
.gira-news-grid .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); }
.gira-news-meta {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

/* =====================================================================
   Enrollment form (gira/enrollment-form)
   ===================================================================== */
.gira-enroll {
	border-top: 1px solid var(--wp--preset--color--neutral-200);
	background: #fff;
	padding: 78px 0 96px;
}
.gira-enroll__head {
	max-width: var(--wp--style--global--wide-size, 1180px);
	margin: 0 auto 48px;
	padding: 0 32px;
}
.gira-enroll__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 14px;
}
.gira-enroll__heading {
	font-size: 42px;
	line-height: 50px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 14px;
	max-width: 20ch;
}
.gira-enroll__intro {
	font-size: 18px;
	line-height: 28px;
	color: var(--wp--preset--color--neutral-600);
	margin: 0;
	max-width: 60ch;
}
.gira-enroll__grid {
	max-width: var(--wp--style--global--wide-size, 1180px);
	margin: 0 auto;
	padding: 0 32px;
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 28px;
	align-items: start;
}

/* ---- Form card ---- */
.gira-enroll__main {
	background: var(--wp--preset--color--neutral-50);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 18px;
	padding: 40px;
}
.gira-enroll__form { margin: 0; }
.gira-enroll__field { display: block; margin-bottom: 20px; }
.gira-enroll__row2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 20px;
}
.gira-enroll__row2 .gira-enroll__field { margin-bottom: 0; }
.gira-enroll__label {
	display: block;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--wp--preset--color--neutral-700);
	margin-bottom: 7px;
}
.gira-enroll__label em {
	color: var(--wp--preset--color--accent);
	font-style: normal;
}
.gira-enroll__opt {
	color: var(--wp--preset--color--neutral-400);
	font-weight: 400;
}
.gira-enroll__input {
	box-sizing: border-box;
	width: 100%;
	font-family: inherit;
	font-size: 15px;
	line-height: 23px;
	color: var(--wp--preset--color--neutral-900);
	background: #fff;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 10px;
	padding: 13px 14px;
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}
.gira-enroll__input:focus {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 1px var(--wp--preset--color--accent);
}
textarea.gira-enroll__input { resize: vertical; display: block; }
.gira-enroll__input::placeholder { color: var(--wp--preset--color--neutral-400); }

/* Standalone single-line fields (org, website, "how did you hear") shouldn't
   stretch the full card width — cap them. Paired rows keep their grid widths
   and the message textarea stays full-width. */
.gira-enroll__form > .gira-enroll__field > .gira-enroll__input:not(textarea),
.gira-enroll__form > .gira-enroll__field > .gira-enroll__select,
.gira-enroll__form > .gira-enroll__field > .gira-enroll__prefixed {
	max-width: 440px;
}

/* select + chevron */
.gira-enroll__select { position: relative; display: block; }
.gira-enroll__select select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 38px;
	cursor: pointer;
}
.gira-enroll__chevron {
	position: absolute;
	right: 13px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: var(--wp--preset--color--neutral-500);
	display: inline-flex;
}

/* website prefix */
.gira-enroll__prefixed {
	box-sizing: border-box;
	display: flex;
	align-items: stretch;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.gira-enroll__prefixed:focus-within {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 1px var(--wp--preset--color--accent);
}
.gira-enroll__prefix {
	display: flex;
	align-items: center;
	padding: 0 12px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 13.5px;
	color: var(--wp--preset--color--neutral-400);
	background: var(--wp--preset--color--neutral-100);
	border-right: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-enroll__input--bare {
	border: none;
	border-radius: 0;
	background: transparent;
}
.gira-enroll__input--bare:focus { box-shadow: none; }

/* ---- Membership type segmented cards ---- */
.gira-enroll__types { border: 0; margin: 0 0 20px; padding: 0; }
.gira-enroll__types legend { padding: 0; margin-bottom: 10px; }
.gira-enroll__type-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.gira-enroll__type { display: block; cursor: pointer; }
.gira-enroll__type input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.gira-enroll__type-card {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 15px 16px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--neutral-200);
	transition: border-color .15s, background .15s, box-shadow .15s;
}
.gira-enroll__type:hover .gira-enroll__type-card {
	border-color: var(--wp--preset--color--accent-300);
}
.gira-enroll__type input:focus-visible + .gira-enroll__type-card {
	box-shadow: 0 0 0 2px var(--wp--preset--color--accent);
}
.gira-enroll__type input:checked + .gira-enroll__type-card {
	background: var(--wp--preset--color--accent-50);
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 1px var(--wp--preset--color--accent);
}
.gira-enroll__type-icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	background: var(--wp--preset--color--neutral-100);
	color: var(--wp--preset--color--neutral-500);
}
.gira-enroll__type input:checked + .gira-enroll__type-card .gira-enroll__type-icon {
	background: var(--wp--preset--color--neutral-900);
	color: #fff;
}
.gira-enroll__type-text { flex: 1; min-width: 0; }
.gira-enroll__type-name {
	display: block;
	font-weight: 600;
	font-size: 15px;
	color: var(--wp--preset--color--neutral-900);
}
.gira-enroll__type-note {
	display: block;
	font-size: 12.5px;
	line-height: 17px;
	color: var(--wp--preset--color--neutral-500);
	margin-top: 2px;
}
.gira-enroll__type-check {
	width: 20px;
	height: 20px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border: 1px solid var(--wp--preset--color--neutral-300);
	color: #fff;
}
.gira-enroll__type-check svg { width: 11px; height: 11px; opacity: 0; }
.gira-enroll__type input:checked + .gira-enroll__type-card .gira-enroll__type-check {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}
.gira-enroll__type input:checked + .gira-enroll__type-card .gira-enroll__type-check svg { opacity: 1; }

/* ---- Consent / submit ---- */
.gira-enroll__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 20px;
	font-size: 13.5px;
	line-height: 21px;
	color: var(--wp--preset--color--neutral-600);
	cursor: pointer;
}
.gira-enroll__consent input {
	width: 17px;
	height: 17px;
	margin-top: 1px;
	accent-color: var(--wp--preset--color--accent);
	flex: 0 0 auto;
}
.gira-enroll__consent a { color: var(--wp--preset--color--accent-700); font-weight: 500; }

/* ---- Registration-form extensions (gira/registration-form reuses the
   .gira-enroll design; these cover its extra pieces) ---- */
/* Participation types as full-width rows (one card per row). */
.gira-enroll__type-grid--rows { grid-template-columns: 1fr; }
/* Required marker on consent rows (same accent as .gira-enroll__label em). */
.gira-enroll__consent em {
	color: var(--wp--preset--color--accent);
	font-style: normal;
	font-weight: 600;
}
.gira-enroll__checks-field { border: 0; margin: 0 0 20px; padding: 0; }
.gira-enroll__checks-field legend { padding: 0; margin-bottom: 10px; }
.gira-enroll__checks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 18px;
}
.gira-enroll__check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13.5px;
	line-height: 20px;
	color: var(--wp--preset--color--neutral-600);
	cursor: pointer;
}
.gira-enroll__check input {
	width: 17px;
	height: 17px;
	margin-top: 1px;
	accent-color: var(--wp--preset--color--accent);
	flex: 0 0 auto;
}
.gira-register__details {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 24px;
}
.gira-register__detail {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.gira-register__detail-icon {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .08);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: var(--wp--preset--color--accent-300, #FFA55C);
}
.gira-register__detail-label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .65;
	margin: 0 0 2px;
}
.gira-register__detail-value {
	font-size: 14.5px;
	font-weight: 600;
	margin: 0;
}
@media ( max-width: 781px ) {
	.gira-enroll__checks { grid-template-columns: 1fr; }
}
.gira-enroll__error {
	margin: 0 0 14px;
	font-size: 13.5px;
	color: #c0392b;
}
.gira-enroll__submit {
	width: 100%;
	justify-content: center;
	padding: 18px 28px;
	font-size: 16px;
}
.gira-enroll__submit:disabled { opacity: .65; cursor: not-allowed; }
.gira-enroll__assurance {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 16px 0 0;
	font-size: 12.5px;
	color: var(--wp--preset--color--neutral-500);
}
.gira-enroll__assurance svg { color: var(--wp--preset--color--accent); flex: 0 0 auto; }

/* ---- Success state ---- */
.gira-enroll__success {
	background: var(--wp--preset--color--neutral-50);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 18px;
	padding: 48px 40px;
}
.gira-enroll__success-icon {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
	color: #fff;
}
.gira-enroll__success-icon svg { width: 28px; height: 28px; }
.gira-enroll__success-title {
	font-size: 30px;
	line-height: 36px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 12px;
}
.gira-enroll__success-body {
	font-size: 17px;
	line-height: 27px;
	color: var(--wp--preset--color--neutral-600);
	margin: 0 0 30px;
	max-width: 46ch;
}
.gira-enroll__recap { margin: 0 0 32px; border-top: 1px solid var(--wp--preset--color--neutral-200); }
.gira-enroll__recap > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-enroll__recap dt { font-size: 14px; color: var(--wp--preset--color--neutral-500); }
.gira-enroll__recap dd {
	margin: 0;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--wp--preset--color--neutral-900);
	text-align: right;
}

/* ---- "What happens next" aside ---- */
.gira-enroll__aside {
	position: sticky;
	top: 104px;
	background: var(--wp--preset--color--neutral-900);
	border-radius: 18px;
	padding: 42px 40px;
	color: #fff;
	overflow: hidden;
}
.gira-enroll__aside-eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-300);
	margin: 0;
}
.gira-enroll__aside-heading {
	font-size: 26px;
	line-height: 32px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: #fff;
	margin: 12px 0 10px;
}
.gira-enroll__aside-body {
	font-size: 15px;
	line-height: 23px;
	color: var(--wp--preset--color--neutral-300);
	margin: 0 0 30px;
}
.gira-enroll__steps { list-style: none; margin: 0 0 32px; padding: 0; }
.gira-enroll__step {
	display: flex;
	gap: 16px;
	padding: 18px 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
}
.gira-enroll__step-num {
	width: 30px;
	height: 30px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .18);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 13px;
	color: var(--wp--preset--color--accent-300);
}
.gira-enroll__step-title {
	font-size: 15.5px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 4px;
}
.gira-enroll__step-body {
	font-size: 14px;
	line-height: 21px;
	color: var(--wp--preset--color--neutral-400);
	margin: 0;
}
.gira-enroll__aside-foot {
	border-top: 1px solid rgba(255, 255, 255, .1);
	padding-top: 22px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.gira-enroll__benefits {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 15px;
	color: #fff;
	text-decoration: none;
}
.gira-enroll__benefits-arrow { color: var(--wp--preset--color--accent-300); display: inline-flex; }
.gira-enroll__contact {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 13.5px;
	color: var(--wp--preset--color--neutral-400);
}
.gira-enroll__contact a { color: #fff; }

/* =====================================================================
   Marketplace preview sections (gira/supplier-grid, gira/product-grid)
   ===================================================================== */
.gira-mktsec { background: var(--wp--preset--color--base); }
.gira-mktsec__inner {
	max-width: var(--wp--custom--container--wide);
	margin: 0 auto;
	padding: 80px 32px 16px;
}
.gira-mktsec__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
.gira-mktsec__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0;
}
.gira-mktsec__heading {
	font-size: clamp(26px, 4vw, 34px);
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 12px 0 0;
}
.gira-mktsec__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1;
	border: 1px solid var(--wp--preset--color--neutral-300);
	border-radius: 10px;
	padding: 13px 20px;
	color: var(--wp--preset--color--neutral-600);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .15s, color .15s;
}
.gira-mktsec__link:hover {
	border-color: var(--wp--preset--color--neutral-900);
	color: var(--wp--preset--color--neutral-900);
}
.gira-mktsec__link-arrow { display: inline-flex; }
.gira-mktsec__link-arrow svg { width: 15px; height: 15px; }

/* Shared card hover + arrow nudge */
.g-card {
	transition: border-color .15s, box-shadow .2s, transform .2s;
}
.g-card:hover {
	border-color: var(--wp--preset--color--neutral-300);
	box-shadow: var(--wp--custom--elevation--e3);
	transform: translateY(-2px);
}
.g-card .g-arrow { display: inline-block; transition: transform .2s; }
.g-card:hover .g-arrow { transform: translateX(3px); }

/* Seal pill */
.gira-seal-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--wp--preset--color--accent-50);
	border: 1px solid var(--wp--preset--color--accent-100);
	border-radius: 999px;
	padding: 5px 10px 5px 8px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-700);
	white-space: nowrap;
}
.gira-seal-pill__icon { display: inline-flex; color: var(--wp--preset--color--accent); }
.gira-seal-pill__icon svg { width: 12px; height: 12px; }
.gira-seal-pill--sm { padding: 4px 9px 4px 7px; font-size: 9.5px; }
.gira-seal-pill--sm .gira-seal-pill__icon svg { width: 11px; height: 11px; }

/* ---- Supplier cards ---- */
.gira-suppliers__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.gira-mktsec--cols-2 .gira-suppliers__grid { grid-template-columns: repeat(2, 1fr); }
.gira-mktsec--cols-4 .gira-suppliers__grid { grid-template-columns: repeat(4, 1fr); }
.gira-supplier-card {
	display: flex;
	flex-direction: column;
	min-height: 262px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 16px;
	padding: 26px 24px 22px;
	text-decoration: none;
	color: inherit;
}
.gira-supplier-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
.gira-supplier-card__logo {
	width: 54px;
	height: 54px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 18px;
	font-weight: 500;
}
.gira-supplier-card__name {
	font-size: 20px;
	line-height: 26px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--wp--preset--color--neutral-900);
	margin: 18px 0 6px;
}
.gira-supplier-card__meta {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 12px;
}
.gira-supplier-card__tagline {
	font-size: 14.5px;
	line-height: 22px;
	color: var(--wp--preset--color--neutral-600);
	margin: 0;
	flex: 1;
}
.gira-supplier-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--wp--preset--color--neutral-100);
}
.gira-supplier-card__refs {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	color: var(--wp--preset--color--neutral-500);
}
.gira-supplier-card__refs-icon { display: inline-flex; color: var(--wp--preset--color--accent); }
.gira-supplier-card__refs-icon svg { width: 14px; height: 14px; }
.gira-supplier-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	white-space: nowrap;
}

/* ---- Product cards ---- */
.gira-products__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.gira-mktsec--cols-2 .gira-products__grid { grid-template-columns: repeat(2, 1fr); }
.gira-mktsec--cols-3 .gira-products__grid { grid-template-columns: repeat(3, 1fr); }
.gira-product-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
}
.gira-product-card__shot {
	position: relative;
	height: 158px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-product-card__shot-label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10.5px;
	letter-spacing: .04em;
	color: var(--wp--preset--color--neutral-500);
}
.gira-product-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.gira-product-card__seal { position: absolute; top: 10px; left: 10px; }
.gira-product-card__category {
	position: absolute;
	top: 10px;
	right: 10px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-600);
	background: rgba(255, 255, 255, .86);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 7px;
	padding: 3px 8px;
}
.gira-product-card__body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.gira-product-card__name {
	font-size: 16px;
	line-height: 21px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 5px;
}
.gira-product-card__supplier {
	font-size: 13px;
	color: var(--wp--preset--color--neutral-400);
	margin: 0 0 14px;
}
.gira-product-card__specs { margin-top: auto; display: flex; flex-direction: column; gap: 7px; }
.gira-product-card__spec {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 12px;
	color: var(--wp--preset--color--neutral-500);
}
.gira-product-card__spec-key {
	font-family: var(--wp--preset--font-family--geist-mono);
	letter-spacing: .04em;
	text-transform: uppercase;
}
.gira-product-card__spec-val { color: var(--wp--preset--color--neutral-900); font-weight: 500; }
.gira-product-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 11px;
	padding-top: 13px;
	border-top: 1px solid var(--wp--preset--color--neutral-100);
}
.gira-product-card__price { font-size: 12.5px; color: var(--wp--preset--color--neutral-500); }
.gira-product-card__cta {
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	white-space: nowrap;
}

/* =====================================================================
   Block-specific responsive
   ===================================================================== */
@media (max-width: 900px) {
	.gira-split,
	.gira-tiers {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.gira-split--reverse .gira-split__head { order: 0; }
	.gira-people--cols-3 .gira-people__grid,
	.gira-people--cols-4 .gira-people__grid,
	.gira-news-grid .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr);
	}
	.gira-statgrid--cols-3,
	.gira-statgrid--cols-4 { grid-template-columns: repeat(2, 1fr); }
	.gira-enroll__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.gira-enroll__aside { position: static; }
	.gira-enroll__heading { font-size: 34px; line-height: 42px; }
	.gira-suppliers__grid,
	.gira-mktsec--cols-3 .gira-suppliers__grid,
	.gira-mktsec--cols-4 .gira-suppliers__grid,
	.gira-products__grid,
	.gira-mktsec--cols-3 .gira-products__grid,
	.gira-mktsec--cols-4 .gira-products__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.gira-people__grid,
	.gira-news-grid .wp-block-post-template,
	.gira-statgrid {
		grid-template-columns: 1fr !important;
	}
	.gira-enroll__main,
	.gira-enroll__success { padding: 28px 22px; }
	.gira-enroll__row2,
	.gira-enroll__type-grid { grid-template-columns: 1fr; }
	.gira-suppliers__grid,
	.gira-products__grid {
		grid-template-columns: 1fr !important;
	}
	/* Trim oversized band/card padding for phones. */
	.gira-enroll { padding: 48px 0 56px; }
	.gira-enroll__heading { font-size: 28px; line-height: 36px; }
	.gira-mktsec__inner { padding-top: 56px; }
	.gira-tier { padding: 28px 24px 30px; }
	.gira-cta--boxed { padding: 48px 22px 56px; }
	.gira-cta--boxed .gira-cta__inner { padding: 32px 26px; }
	.gira-cta--boxed .gira-cta__buttons { flex-direction: column; }
	/* Prevent iOS Safari from auto-zooming when a sub-16px input gains focus. */
	.gira-enroll__input,
	.gira-enroll__prefix,
	.gira-enroll__select select,
	.gira-newsletter__email,
	.gira-newsletter.is-style-footer .gira-newsletter__email {
		font-size: 16px;
	}
}

/* =====================================================================
   Small phones (≤480px)
   ===================================================================== */
@media (max-width: 480px) {
	/* Header: logo + hamburger only — the standalone CTA crowds the bar.
	   Membership stays reachable from the nav overlay and the footer.
	   Scoped to .gira-header so it never touches the .gira-cta-band block. */
	.gira-header .gira-cta {
		display: none;
	}
	/* Give constrained reading content a touch more width at phone sizes. */
	:root {
		--wp--style--root--padding-left: 20px;
		--wp--style--root--padding-right: 20px;
	}
}

/* =====================================================================
   AmberSky brand — "one design language, two coats of paint"
   Remap the accent ramp to the amber palette under the AmberSky section
   (body.is-brand-ambersky, set by inc/brand.php). Every block that themes
   off --wp--preset--color--accent* recolors automatically; GIRA stays bronze.
   The body-scoped selector out-specifies WordPress' :root preset vars.
   ===================================================================== */
body.is-brand-ambersky {
	--wp--preset--color--accent: #FF7301;
	--wp--preset--color--accent-50: #FFF1E6;
	--wp--preset--color--accent-100: #FFDBBD;
	--wp--preset--color--accent-300: #FFA55C;
	--wp--preset--color--accent-500: #FF7301;
	--wp--preset--color--accent-600: #D96201;
	--wp--preset--color--accent-700: #B35101;
}

/* Dark form aside (.gira-enroll__aside): GIRA uses near-black; on AmberSky
   pages recolor it to the petrol ramp so it matches the AmberSky footer. */
body.is-brand-ambersky .gira-enroll__aside {
	background: linear-gradient(165deg, var(--wp--preset--color--petrol-600) 0%, var(--wp--preset--color--petrol-700) 100%);
}

/* =====================================================================
   Brand switcher (GIRA / AmberSky segmented toggle)
   Shared markup in both headers; the active side follows the body scope,
   so the same snippet is correct on every page.
   ===================================================================== */
.gira-brandswitch {
	display: inline-flex;
	align-items: center;
	background: var(--wp--preset--color--neutral-100);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: var(--wp--custom--radius--pill);
	padding: 3px;
	flex: 0 0 auto;
}
.gira-brandswitch__seg {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 13px;
	line-height: 1;
	border-radius: var(--wp--custom--radius--pill);
	padding: 8px 14px;
	text-decoration: none;
	color: var(--wp--preset--color--neutral-400);
	background: transparent;
	transition: color .2s, background .2s;
}
.gira-brandswitch__seg:hover {
	color: var(--wp--preset--color--neutral-700);
}
/* Active = current brand: white pill with a brand-colored label. */
body:not(.is-brand-ambersky) .gira-brandswitch__seg--gira,
body.is-brand-ambersky .gira-brandswitch__seg--amber {
	color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--white);
	box-shadow: 0 1px 2px rgba(28, 29, 32, .14);
	cursor: default;
}

/* =====================================================================
   Announcement / top bar (AmberSky "Next event" strip above the header)
   ===================================================================== */
.gira-topbar {
	background: var(--wp--preset--color--neutral-900);
	color: #fff;
}
.gira-topbar__inner {
	max-width: var(--wp--custom--container--wide);
	margin: 0 auto;
	min-height: 40px;
	padding: 7px 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}
.gira-topbar__label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-300);
}
.gira-topbar__text {
	font-size: 13px;
	color: #e4e5e8;
}

/* =====================================================================
   AmberSky header + footer chrome (reuses .gira-header / .gira-footer)
   ===================================================================== */
.gira-brand-logo {
	display: block;
	height: 26px;
	width: auto;
	flex: 0 0 auto;
}
.gira-header--ambersky .gira-header__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 0 0 auto;
}
/* White wordmark on the petrol footer. */
.gira-footer--ambersky .gira-brand-logo {
	filter: brightness(0) invert(1);
	margin-bottom: 14px;
}

/* =====================================================================
   gira/testimonials — quote carousel (video/photo + rotating quotes)
   ===================================================================== */
.gira-testimonials__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 12px;
}
.gira-testimonials__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 44px;
	max-width: 18ch;
}
.gira-testimonials__grid {
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	gap: 48px;
	align-items: center;
}
/* Media column — stacked slides, only the active one visible. */
.gira-testimonials__media-col {
	position: relative;
	min-height: 420px;
}
.gira-testimonials__media {
	position: absolute;
	inset: 0;
	border-radius: 16px;
	border: 1px solid var(--wp--preset--color--neutral-200);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--wp--custom--elevation--e1);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease;
}
.gira-testimonials__media.is-active {
	opacity: 1;
	visibility: visible;
}
.gira-testimonials__media-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gira-testimonials__dur {
	position: absolute;
	top: 16px;
	left: 16px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10px;
	letter-spacing: .05em;
	color: var(--wp--preset--color--neutral-500);
	background: rgba(255, 255, 255, .85);
	border: 1px solid var(--wp--preset--color--neutral-200);
	padding: 4px 9px;
	border-radius: 999px;
	z-index: 2;
}
.gira-testimonials__play {
	position: relative;
	width: 72px;
	height: 72px;
	border-radius: 999px;
	border: none;
	background: var(--wp--preset--color--accent);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 32px rgba(28, 29, 32, .2);
	z-index: 2;
}
/* Quote column — stacked quotes share one grid cell (height = tallest). */
.gira-testimonials__quotes {
	display: grid;
}
.gira-testimonials__quote {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease;
}
.gira-testimonials__quote.is-active {
	opacity: 1;
	visibility: visible;
}
.gira-testimonials__mark {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 60px;
	line-height: 1;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	height: 34px;
}
.gira-testimonials__text {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 28px;
	line-height: 38px;
	font-weight: 500;
	letter-spacing: -.015em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 28px;
	text-wrap: pretty;
}
.gira-testimonials__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--neutral-900);
}
.gira-testimonials__role {
	font-size: 14.5px;
	color: var(--wp--preset--color--neutral-500);
	margin-top: 3px;
}
.gira-testimonials__controls {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 32px;
}
.gira-testimonials__nav {
	width: 46px;
	height: 46px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--neutral-300);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--neutral-600);
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color .15s, color .15s;
}
.gira-testimonials__nav:hover {
	border-color: var(--wp--preset--color--neutral-500);
	color: var(--wp--preset--color--neutral-900);
}
.gira-testimonials__dots {
	display: flex;
	gap: 7px;
	margin-left: 6px;
}
.gira-testimonials__dot {
	height: 7px;
	width: 7px;
	border: none;
	padding: 0;
	border-radius: 999px;
	cursor: pointer;
	background: var(--wp--preset--color--neutral-300);
	transition: width .2s, background .2s;
}
.gira-testimonials__dot.is-active {
	width: 22px;
	background: var(--wp--preset--color--accent);
}
.gira-testimonials__count {
	margin-left: auto;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	color: var(--wp--preset--color--neutral-400);
}
@media (max-width: 880px) {
	.gira-testimonials__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.gira-testimonials__media-col {
		min-height: 320px;
	}
	.gira-testimonials__text {
		font-size: 23px;
		line-height: 32px;
	}
}

/* =====================================================================
   gira/breadcrumb — slim trail bar
   ===================================================================== */
.gira-breadcrumb {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}
.gira-breadcrumb__inner {
	max-width: var(--wp--custom--container--wide);
	margin: 0 auto;
	padding: 14px 32px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11.5px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
}
.gira-breadcrumb__link {
	color: var(--wp--preset--color--neutral-400);
	text-decoration: none;
	transition: color .15s;
}
.gira-breadcrumb__link:hover {
	color: var(--wp--preset--color--neutral-900);
}
.gira-breadcrumb__sep {
	color: var(--wp--preset--color--neutral-300);
}
.gira-breadcrumb__current {
	color: var(--wp--preset--color--neutral-600);
}

/* =====================================================================
   gira/schedule — multi-day grid with audience filter
   ===================================================================== */
.gira-schedule__filter {
	display: flex;
	gap: 8px;
	margin-bottom: 32px;
	flex-wrap: wrap;
	align-items: center;
}
.gira-schedule__filter-label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
	margin-right: 4px;
}
.gira-schedule__chip {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 13px;
	border: 1px solid var(--wp--preset--color--neutral-300);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--neutral-600);
	border-radius: var(--wp--custom--radius--pill);
	padding: 9px 16px;
	cursor: pointer;
	transition: border-color .15s, color .15s, background .15s;
}
.gira-schedule__chip:hover {
	border-color: var(--wp--preset--color--neutral-500);
}
.gira-schedule__chip.is-active {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: #fff;
}
.gira-schedule__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 22px;
	align-items: start;
}
.gira-schedule__day-head {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 16px;
	padding-bottom: 13px;
	border-bottom: 2px solid var(--wp--preset--color--accent);
}
.gira-schedule__date {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 32px;
	line-height: 1;
	color: var(--wp--preset--color--neutral-900);
}
.gira-schedule__dow {
	font-size: 14px;
	color: var(--wp--preset--color--neutral-500);
}
.gira-schedule__events {
	display: flex;
	flex-direction: column;
	gap: 11px;
}
.gira-schedule__event {
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 12px;
	background: var(--wp--preset--color--white);
	padding: 15px 17px;
	box-shadow: var(--wp--custom--elevation--e1);
	transition: border-color .15s;
}
.gira-schedule__event:hover {
	border-color: var(--wp--preset--color--neutral-300);
}
.gira-schedule__time {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	color: var(--wp--preset--color--neutral-500);
	margin-bottom: 6px;
}
.gira-schedule__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 15.5px;
	line-height: 21px;
	color: var(--wp--preset--color--neutral-900);
}
.gira-schedule__sub {
	font-size: 13px;
	color: var(--wp--preset--color--neutral-500);
	margin-top: 4px;
	line-height: 18px;
}
.gira-schedule__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 11px;
}
.gira-schedule__tag {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 10px;
	letter-spacing: .03em;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--neutral-100);
	color: var(--wp--preset--color--neutral-600);
}

/* =====================================================================
   gira/event-schedule — settings-driven wrapper around the schedule grid
   ===================================================================== */
.gira-event-schedule__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 28px;
}
.gira-event-schedule__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0 0 6px;
}
.gira-event-schedule__dates {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.1;
	color: var(--wp--preset--color--neutral-900);
	margin: 0;
}
.gira-event-schedule__download {
	white-space: nowrap;
}
.gira-event-schedule__empty {
	border: 1px dashed var(--wp--preset--color--neutral-300);
	border-radius: 12px;
	background: var(--wp--preset--color--neutral-100);
	color: var(--wp--preset--color--neutral-500);
	text-align: center;
	padding: 40px 24px;
	font-size: 15px;
}

/* =====================================================================
   gira/feature-split — full-width two-column media | content section
   Deterministic flex layout (independent of core's generated layout
   classes); the section's constrained-layout classes centre the columns
   at the wide content width.
   ===================================================================== */
.gira-feature-split__cols {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
}
.gira-feature-split__cols.are-vertically-aligned-center {
	align-items: center;
}
.gira-feature-split__media {
	flex-grow: 0;
	flex-shrink: 0;
	/* Top-align so the figure can stick while the taller content column scrolls. */
	align-self: flex-start;
}
.gira-feature-split__content {
	flex: 1 1 0;
	min-width: 0;
}
/* Drop the content-list's trailing hairline inside a feature split — the
   register band supplies its own top hairline, so keeping both draws a
   redundant double line just above "Next event". */
.gira-feature-split .gira-cl--rows .gira-cl__item:last-child {
	border-bottom: none;
}
@media ( min-width: 782px ) {
	.gira-feature-split__cols {
		flex-wrap: nowrap;
		gap: 64px;
	}
	/* Sticky media figure — stays in view (below the sticky header) while the
	   content column scrolls past it. */
	.gira-feature-split__media {
		position: sticky;
		top: 96px;
	}
}
@media ( max-width: 781px ) {
	.gira-feature-split__media,
	.gira-feature-split__content {
		flex-basis: 100% !important;
	}
	.gira-feature-split__media {
		position: static;
	}
}

/* =====================================================================
   gira/event-register — inline "Next event · dates · Register now" band
   ===================================================================== */
.gira-event-register {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--neutral-200, #e4e5e8);
}
.gira-event-register--flush {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
.gira-event-register__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.gira-event-register__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500, #71757b);
	margin: 0;
}
.gira-event-register__date {
	font-size: 18px;
	font-weight: 600;
	margin: 0;
	color: var(--wp--preset--color--neutral-900);
}

/* =====================================================================
   gira/airline-map — airline partners maps, one row per region:
   hoverable airline list | region map with logo pins (list ↔ pin sync
   via .is-active from view.js)
   ===================================================================== */
.gira-airmap__region {
	display: grid;
	grid-template-columns: minmax(280px, 360px) 1fr;
	gap: 56px;
	align-items: start;
	margin-bottom: 64px;
}
.gira-airmap__region:last-child {
	margin-bottom: 0;
}
.gira-airmap__intro {
	margin-bottom: 38px;
}
.gira-airmap__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 16px;
}
.gira-airmap__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 34px;
	line-height: 40px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 18px;
}
.gira-airmap__intro-body {
	font-size: 16px;
	line-height: 26px;
	color: var(--wp--preset--color--neutral-600);
	margin: 0;
}
.gira-airmap__region-head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 18px;
}
.gira-airmap__region-title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 21px;
	line-height: 24px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0;
}
.gira-airmap__region-rule {
	flex: 1;
	height: 1px;
	background: var(--wp--preset--color--neutral-200);
}
.gira-airmap__region-count {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .06em;
	color: var(--wp--preset--color--neutral-400);
	white-space: nowrap;
}
.gira-airmap__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 9px 22px;
}
.gira-airmap__list--cols-2 {
	grid-template-columns: 1fr 1fr;
}
.gira-airmap__list-item {
	font-size: 14.5px;
	line-height: 20px;
	color: var(--wp--preset--color--neutral-700);
	cursor: pointer;
	transition: color .15s;
	display: flex;
	align-items: center;
	gap: 9px;
}
.gira-airmap__list-dot {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	flex: 0 0 auto;
	opacity: .65;
	transition: opacity .15s;
}
.gira-airmap__list-item:hover,
.gira-airmap__list-item.is-active {
	color: var(--wp--preset--color--accent-600);
	font-weight: 600;
}
.gira-airmap__list-item:hover .gira-airmap__list-dot,
.gira-airmap__list-item.is-active .gira-airmap__list-dot {
	opacity: 1;
}
.gira-airmap__map-col {
	position: relative;
}
.gira-airmap__map {
	position: relative;
	margin: 0 auto;
	max-width: 100%;
}
.gira-airmap__map-img {
	width: 100%;
	height: auto;
	display: block;
	user-select: none;
	-webkit-user-drag: none;
}
/* Pin anchoring (ported from the legacy plugin, which placed these exactly):
   the pin box IS the dot — translate(-50%,-50%) centres the DOT on the stored
   (x%, y%) coordinate. The logo is absolutely positioned relative to the dot
   (top:100% + self-centering translate, like legacy `.position-below`), so it
   hangs just under the point without shifting the anchor. */
.gira-airmap__pin {
	position: absolute;
	transform: translate(-50%, -50%);
	z-index: 2;
	cursor: default;
	transition: transform .18s ease;
}
.gira-airmap__pin:hover,
.gira-airmap__pin.is-active {
	transform: translate(-50%, -50%) scale(1.2);
	z-index: 30;
}
.gira-airmap__pin-dot {
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	border: 2px solid #fff;
	box-shadow: 0 1px 3px rgba(28, 29, 32, .4);
	transition: background .15s;
}
.gira-airmap__pin:hover .gira-airmap__pin-dot,
.gira-airmap__pin.is-active .gira-airmap__pin-dot {
	background: var(--wp--preset--color--accent-600);
}
/* Legacy production sizing: 80×30, object-fit contain. */
.gira-airmap__pin-img {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin-top: 8px;
	width: 80px;
	height: 30px;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 3px 7px rgba(28, 29, 32, .28));
}
@media ( max-width: 781px ) {
	.gira-airmap__region {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.gira-airmap__map {
		width: 100% !important;
	}
	.gira-airmap__list--cols-2 {
		grid-template-columns: 1fr;
	}
	.gira-airmap__pin-img {
		width: 56px;
		height: 22px;
	}
}
/* Closing highlight card under the maps (used on the partners page). */
.gira-airmap-note {
	margin-top: 8px;
	padding: 34px 40px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-left: 3px solid var(--wp--preset--color--accent);
	border-radius: 14px;
}
.gira-airmap-note p {
	margin: 0;
	font-size: 16.5px;
	line-height: 28px;
	color: var(--wp--preset--color--neutral-600);
}

/* =====================================================================
   gira/award-featured — one spotlighted winner (photo/logo + copy)
   ===================================================================== */
.gira-awardf {
	display: flex;
	gap: 72px;
	align-items: center;
}
.gira-awardf--reverse {
	flex-direction: row-reverse;
}
.gira-awardf__media {
	flex: 0 0 var(--gira-awardf-media, 420px);
	border-radius: 14px;
	background-color: var(--wp--preset--color--neutral-200);
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
}
.gira-awardf--fit-contain .gira-awardf__media {
	background-size: contain;
	background-position: center;
	border-radius: 0;
	background-color: transparent;
}
.gira-awardf__body {
	flex: 1 1 auto;
	min-width: 0;
}
.gira-awardf__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-600);
	margin: 0 0 20px;
}
.gira-awardf__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 52px;
	line-height: 56px;
	font-weight: 600;
	letter-spacing: -.025em;
	color: var(--wp--preset--color--neutral-900);
}
.gira-awardf__subtitle {
	font-size: 19px;
	color: var(--wp--preset--color--neutral-500);
	margin-top: 12px;
}
.gira-awardf__text {
	font-size: 17px;
	line-height: 28px;
	color: var(--wp--preset--color--neutral-600);
	margin: 32px 0 0;
	max-width: 46ch;
}
@media (max-width: 780px) {
	.gira-awardf,
	.gira-awardf--reverse {
		flex-direction: column;
		align-items: stretch;
		gap: 32px;
	}
	.gira-awardf__media {
		flex-basis: auto;
	}
	.gira-awardf__name {
		font-size: 40px;
		line-height: 44px;
	}
}

/* =====================================================================
   gira/award-grid — medal podium + category winners
   ===================================================================== */
.gira-awardgrid__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
	margin: 0 0 8px;
}
.gira-awardgrid__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 32px;
	line-height: 40px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0 0 48px;
}
.gira-awardgrid--divided .gira-awardgrid__heading {
	margin-bottom: 40px;
}
.gira-awardgrid__groups {
	display: grid;
	grid-template-columns: repeat(var(--gira-awardgrid-cols, 3), 1fr);
	gap: 48px;
	align-items: start;
}
.gira-awardgrid__group-label {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-600);
	margin-bottom: 20px;
}
.gira-awardgrid--divided .gira-awardgrid__group {
	border-top: 1px solid var(--wp--preset--color--neutral-200);
	padding-top: 28px;
}
.gira-awardgrid--divided .gira-awardgrid__group-label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 18px;
	line-height: 24px;
	font-weight: 600;
	letter-spacing: normal;
	text-transform: none;
	color: var(--wp--preset--color--neutral-900);
	margin-bottom: 24px;
}
.gira-awardgrid__people {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.gira-awardgrid__photo {
	aspect-ratio: 4 / 5;
	border-radius: 12px;
	background-color: var(--wp--preset--color--neutral-200);
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
}
.gira-awardgrid__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 14.5px;
	line-height: 19px;
	color: var(--wp--preset--color--neutral-900);
	margin-top: 12px;
}
.gira-awardgrid__airline {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
	margin-top: 3px;
}
@media (max-width: 900px) {
	.gira-awardgrid__groups {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

/* =====================================================================
   gira/gallery — collection covers, per-album photo grids, lightbox
   ===================================================================== */
.gira-gallery__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
.gira-gallery__eyebrow {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-500);
}
.gira-gallery__meta {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--wp--preset--color--neutral-400);
}
.gira-gallery__covers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.gira-gallery__cover {
	position: relative;
	display: block;
	width: 100%;
	text-align: left;
	border: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--neutral-100);
	aspect-ratio: 4 / 3;
	transition: box-shadow .2s;
}
.gira-gallery__cover:hover {
	box-shadow: 0 18px 40px rgba(28, 29, 32, .18);
}
.gira-gallery__cover-img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform .55s cubic-bezier(.2, .6, .2, 1);
}
.gira-gallery__cover:hover .gira-gallery__cover-img {
	transform: scale(1.06);
}
.gira-gallery__cover-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(14, 18, 22, .86) 0%, rgba(14, 18, 22, .28) 44%, rgba(14, 18, 22, 0) 70%);
}
.gira-gallery__cover-go {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 38px;
	height: 38px;
	border-radius: var(--wp--custom--radius--pill);
	background: rgba(255, 255, 255, .18);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .2s, transform .2s, background .2s;
}
.gira-gallery__cover:hover .gira-gallery__cover-go {
	opacity: 1;
	transform: translateX(0);
	background: var(--wp--preset--color--accent);
}
.gira-gallery__cover-body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 22px 20px 18px;
	display: block;
}
.gira-gallery__cover-date {
	display: block;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .72);
	margin-bottom: 7px;
}
.gira-gallery__cover-title {
	display: block;
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 19px;
	line-height: 24px;
	letter-spacing: -.01em;
	color: #fff;
	text-wrap: pretty;
}
.gira-gallery__cover-count {
	display: block;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	color: var(--wp--preset--color--accent-300);
	margin-top: 9px;
}
.gira-gallery__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 13.5px;
	color: var(--wp--preset--color--neutral-500);
	padding: 0;
	margin-bottom: 22px;
	transition: color .15s;
}
.gira-gallery__back:hover {
	color: var(--wp--preset--color--neutral-900);
}
.gira-gallery__album-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.gira-gallery__album-title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 26px;
	line-height: 32px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--neutral-900);
	margin: 0;
	text-wrap: pretty;
	max-width: 26ch;
}
.gira-gallery__album-date {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
	margin-top: 8px;
}
.gira-gallery__album-count {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--wp--preset--color--neutral-500);
	white-space: nowrap;
}
.gira-gallery__grid {
	display: grid;
	grid-template-columns: repeat(var(--gira-gallery-cols, 4), minmax(0, 1fr));
	gap: 12px;
}
.gira-gallery__tile {
	position: relative;
	border: none;
	padding: 0;
	margin: 0;
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	border-radius: 10px;
	overflow: hidden;
	background: var(--wp--preset--color--neutral-100);
	cursor: zoom-in;
}
.gira-gallery__tile::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px rgba(28, 29, 32, .06);
	pointer-events: none;
}
.gira-gallery__tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s cubic-bezier(.2, .6, .2, 1);
}
.gira-gallery__tile:hover img {
	transform: scale(1.065);
}
.gira-gallery__nav {
	margin-top: 44px;
	border-top: 1px solid var(--wp--preset--color--neutral-200);
	padding-top: 26px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}
.gira-gallery__navbtn {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	text-align: left;
}
.gira-gallery__navbtn--next {
	text-align: right;
	margin-left: auto;
}
.gira-gallery__nav-label {
	display: block;
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--neutral-400);
	margin-bottom: 8px;
}
.gira-gallery__nav-arrow {
	display: inline-block;
	transition: transform .18s ease;
}
.gira-gallery__navbtn--prev:hover .gira-gallery__nav-arrow {
	transform: translateX(-3px);
}
.gira-gallery__navbtn--next:hover .gira-gallery__nav-arrow {
	transform: translateX(3px);
}
.gira-gallery__nav-title {
	display: block;
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 18px;
	line-height: 24px;
	color: var(--wp--preset--color--neutral-900);
	max-width: 34ch;
	text-wrap: pretty;
	transition: color .15s;
}
.gira-gallery__navbtn--next .gira-gallery__nav-title {
	margin-left: auto;
}
.gira-gallery__navbtn:hover .gira-gallery__nav-title {
	color: var(--wp--preset--color--accent);
}
@media (max-width: 900px) {
	.gira-gallery__covers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.gira-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	.gira-gallery__covers {
		grid-template-columns: 1fr;
	}
}

/* lightbox (appended to body by view.js) */
.gira-gallery-lb {
	position: fixed;
	inset: 0;
	z-index: 80;
	background: rgba(14, 18, 22, .94);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 48px;
}
.gira-gallery-lb.is-open {
	display: flex;
	animation: gira-lb-in .18s ease;
}
@keyframes gira-lb-in {
	from { opacity: 0; }
	to { opacity: 1; }
}
.gira-gallery-lb__img {
	width: min(88vw, 1500px);
	height: 82vh;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	animation: gira-lb-zoom .22s cubic-bezier(.2, .6, .2, 1);
}
@keyframes gira-lb-zoom {
	from { opacity: 0; transform: scale(.97); }
	to { opacity: 1; transform: scale(1); }
}
.gira-gallery-lb__btn {
	position: absolute;
	border-radius: var(--wp--custom--radius--pill);
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(255, 255, 255, .08);
	color: #fff;
	cursor: pointer;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .15s, border-color .15s;
}
.gira-gallery-lb__btn:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}
.gira-gallery-lb__close {
	top: 20px;
	right: 24px;
	width: 46px;
	height: 46px;
	font-size: 24px;
}
.gira-gallery-lb__prev,
.gira-gallery-lb__next {
	top: 50%;
	transform: translateY(-50%);
	width: 52px;
	height: 52px;
	font-size: 26px;
}
.gira-gallery-lb__prev { left: 24px; }
.gira-gallery-lb__next { right: 24px; }
.gira-gallery-lb__caption {
	position: absolute;
	bottom: 22px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 14px;
	white-space: nowrap;
}
.gira-gallery-lb__album {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	letter-spacing: .05em;
	color: rgba(255, 255, 255, .72);
}
.gira-gallery-lb__dot {
	width: 4px;
	height: 4px;
	border-radius: var(--wp--custom--radius--pill);
	background: rgba(255, 255, 255, .35);
}
.gira-gallery-lb__counter {
	font-family: var(--wp--preset--font-family--geist-mono);
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--wp--preset--color--accent-300);
}

/* =====================================================================
   Video lightbox (media-figure / feature-split / testimonials play buttons)
   ===================================================================== */
.gira-video-lb {
	position: fixed;
	inset: 0;
	z-index: 80;
	background: rgba(14, 18, 22, .94);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 48px;
}
.gira-video-lb.is-open {
	display: flex;
	animation: gira-lb-in .18s ease;
}
.gira-video-lb__stage {
	width: min(90vw, 1200px);
	aspect-ratio: 16 / 9;
	max-height: 84vh;
	background: #000;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
	animation: gira-lb-zoom .22s cubic-bezier(.2, .6, .2, 1);
}
.gira-video-lb__frame,
.gira-video-lb__video {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	background: #000;
}
.gira-video-lb__close {
	position: absolute;
	top: 20px;
	right: 24px;
	width: 46px;
	height: 46px;
	font-size: 24px;
	border-radius: var(--wp--custom--radius--pill);
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(255, 255, 255, .08);
	color: #fff;
	cursor: pointer;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .15s, border-color .15s;
}
.gira-video-lb__close:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}
.gira-video-lb__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 52px;
	height: 52px;
	font-size: 26px;
	border-radius: var(--wp--custom--radius--pill);
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(255, 255, 255, .08);
	color: #fff;
	cursor: pointer;
	line-height: 1;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .15s, border-color .15s;
}
.gira-video-lb__nav:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}
.gira-video-lb.has-nav .gira-video-lb__nav {
	display: flex;
}
.gira-video-lb__prev { left: 24px; }
.gira-video-lb__next { right: 24px; }

/* =====================================================================
   gira/year-nav — page tab row (Winners 2024 / 2025 / 2026)
   ===================================================================== */
.gira-year-nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 28px;
	margin-top: 24px;
}
.gira-year-nav__item {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 500;
	font-size: 15px;
	color: var(--wp--preset--color--neutral-400);
	text-decoration: none;
	padding-bottom: 6px;
	border-bottom: 2px solid transparent;
	transition: color .15s, border-color .15s;
}
.gira-year-nav__item:hover {
	color: var(--wp--preset--color--neutral-900);
}
.gira-year-nav__item.is-active {
	font-weight: 600;
	color: var(--wp--preset--color--neutral-900);
	border-bottom-color: var(--wp--preset--color--accent);
}

/* =====================================================================
   gira/social-links — pill row of social links
   ===================================================================== */
.gira-social-links {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 32px;
}
.gira-social-links--start { justify-content: flex-start; }
.gira-social-links--center { justify-content: center; }
.gira-social-links--end { justify-content: flex-end; }
.gira-social-links__link {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 14px;
	color: var(--wp--preset--color--neutral-600);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--neutral-200);
	border-radius: 999px;
	padding: 11px 22px;
	transition: color .15s, border-color .15s;
}
.gira-social-links__link:hover {
	color: var(--wp--preset--color--neutral-900);
	border-color: var(--wp--preset--color--neutral-300);
}
.gira-social-links__empty {
	font-size: 13px;
	color: var(--wp--preset--color--neutral-400);
}

/* =====================================================================
   gira/schedule-download — event schedule download button
   ===================================================================== */
.gira-schedule-pdf {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 14px;
	color: var(--wp--preset--color--accent-700);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--accent-100);
	background: var(--wp--preset--color--accent-50);
	border-radius: 10px;
	padding: 13px 18px;
	white-space: nowrap;
	transition: background .15s, border-color .15s;
}
.gira-schedule-pdf:hover {
	border-color: var(--wp--preset--color--accent-300);
}
.gira-schedule-pdf__icon {
	width: 16px;
	height: 16px;
	flex: none;
}
.gira-schedule-pdf--empty {
	color: var(--wp--preset--color--neutral-500);
	background: var(--wp--preset--color--neutral-50);
	border-color: var(--wp--preset--color--neutral-200);
	font-weight: 500;
}
