/* ==========================================================
   Home hero (Gutenberg core blocks) — .ra-hero
   ========================================================== */
.ra-hero.wp-block-cover {
	min-height: 810px;
	padding: 60px 24px;
	align-items: center;
}
.ra-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}
.ra-hero__content {
	max-width: 660px;
}
.ra-hero__heading.wp-block-heading {
	color: #fff;
	font-size: 44px;
	line-height: 1.22;
	font-weight: 600;
	margin: 0 0 34px;
}
.ra-hero__item {
	display: flex;
	gap: 30px;
	align-items: flex-start;
	padding: 20px 0 22px;
	margin: 0 !important;
}
.ra-hero__item + .ra-hero__item {
	border-top: 1px solid rgba(255, 255, 255, 0.28);
}
.ra-hero__icon.wp-block-image {
	flex: 0 0 104px;
	width: 104px;
	margin: -6px 0 0 !important;
}
.ra-hero__icon img {
	width: 104px;
	height: 104px;
	display: block;
}
.ra-hero__text {
	flex: 1;
}
.ra-hero__title.wp-block-heading {
	color: #fff;
	font-size: 25px;
	line-height: 1.3;
	font-weight: 600;
	margin: 0 0 6px;
}
.ra-hero__desc {
	color: #fff;
	font-size: 17px;
	line-height: 1.55;
	margin: 0 0 18px !important;
}
.ra-hero__btns {
	margin: 0 !important;
}
.ra-hero .ra-hero__btn .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1.5px solid #fff;
	border-radius: 4px;
	padding: 11px 30px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	transition: background-color .2s ease, color .2s ease;
}
.ra-hero .ra-hero__btn .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 14px;
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}
.ra-hero .ra-hero__btn .wp-block-button__link:hover,
.ra-hero .ra-hero__btn .wp-block-button__link:focus {
	background: #fff;
	color: #0b1f3a;
}

@media (max-width: 921px) {
	.ra-hero.wp-block-cover { min-height: 0; padding: 50px 20px; }
	.ra-hero .wp-block-cover__image-background { object-position: 70% 50% !important; }
	.ra-hero__heading.wp-block-heading { font-size: 34px; }
	.ra-hero__title.wp-block-heading { font-size: 22px; }
}
@media (max-width: 544px) {
	.ra-hero.wp-block-cover { padding: 40px 16px; }
	.ra-hero__heading.wp-block-heading { font-size: 28px; margin-bottom: 20px; }
	.ra-hero__item { gap: 16px; }
	.ra-hero__icon.wp-block-image { flex-basis: 60px; width: 60px; margin-top: 0 !important; }
	.ra-hero__icon img { width: 60px; height: 60px; }
	.ra-hero__title.wp-block-heading { font-size: 19px; }
	.ra-hero__desc { font-size: 15px; }
	.ra-hero .ra-hero__btn .wp-block-button__link { font-size: 15px; padding: 9px 22px; }
}

/* --- overrides: navy overlay + beat Astra/global button & text colours --- */
.ra-hero.wp-block-cover .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(90deg, rgba(7,23,46,.96) 0%, rgba(7,23,46,.9) 35%, rgba(7,23,46,.55) 52%, rgba(7,23,46,0) 68%) !important;
}
.ra-hero.wp-block-cover p.ra-hero__desc,
.ra-hero.wp-block-cover .ra-hero__title,
.ra-hero.wp-block-cover .ra-hero__heading { color: #fff !important; }
.ra-hero.wp-block-cover .wp-block-button.ra-hero__btn .wp-block-button__link {
	background: transparent !important;
	color: #fff !important;
	border: 1.5px solid #fff !important;
	border-radius: 4px !important;
}
.ra-hero.wp-block-cover .wp-block-button.ra-hero__btn .wp-block-button__link:hover,
.ra-hero.wp-block-cover .wp-block-button.ra-hero__btn .wp-block-button__link:focus {
	background: #fff !important;
	color: #07172e !important;
}
@media (max-width: 1100px) {
	.ra-hero.wp-block-cover .wp-block-cover__background {
		background: linear-gradient(90deg, rgba(7,23,46,.95) 0%, rgba(7,23,46,.85) 60%, rgba(7,23,46,.55) 100%) !important;
	}
}
.ra-hero.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
}
.ra-hero .ra-hero__item.wp-block-group { align-items: flex-start !important; }
@media (max-width: 544px) {
	.ra-hero .ra-hero__icon img { width: 60px !important; height: 60px !important; }
}

/* Align hero content with the header/logo (Astra header: max-width 90%, 35px side padding) */
@media (min-width: 922px) {
	.ra-hero.wp-block-cover { padding-left: 0; padding-right: 0; }
	.ra-hero.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container {
		max-width: 90% !important;
		padding-left: 35px;
		padding-right: 35px;
		box-sizing: border-box;
	}
}
/* full-width without the scrollbar offset, so the 90% matches the header exactly.
   --ra-sbw (scrollbar width) is set by a tiny script in functions.php */
.entry-content > .ra-hero.alignfull {
	width: calc(100vw - var(--ra-sbw, 0px)) !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw + var(--ra-sbw, 0px) / 2) !important;
	margin-right: calc(50% - 50vw + var(--ra-sbw, 0px) / 2) !important;
}
/* text column: at least 50% of the container width */
@media (min-width: 922px) {
	.ra-hero .ra-hero__content {
		width: max(50%, 760px);
		max-width: 100%;
	}
	.ra-hero.wp-block-cover .wp-block-cover__background {
		background: linear-gradient(90deg, rgba(7,23,46,.96) 0%, rgba(7,23,46,.9) 42%, rgba(7,23,46,.55) 58%, rgba(7,23,46,0) 74%) !important;
	}
}
