/**
 * Senior HR Forum – Update 15 (v1.7.0). Loads after every v14 layer.
 * 1. Type: Maven Pro headings (light + bold mix in big titles) and Lato text.
 * 2. Homepage hero: asymmetric layout, staged entrance, community badge lower right.
 * 3. Page headers: soft, low-saturation architectural textures behind the text.
 * 4. Top menu: Explore dropdown, Contact, Join Us hover.
 * 5. Contact page.
 * 6. Motion: gentle heading rise on pages v14 did not cover. Nothing moves with reduced motion.
 */

/* ===================== 1. Type ===================== */
body { font-family: var(--wp--preset--font-family--lato); }
h1, h2, h3, h4, h5, h6,
.wp-block-post-title, .wp-block-site-title, .wp-block-navigation, .wp-element-button,
.shf-kicker, .shf-accent-bar, .shf-stat__num, .shf-hero-stat__num, .shf-about-band__num {
	font-family: var(--wp--preset--font-family--maven-pro);
}
h1, h2, h3, h4 { letter-spacing: -0.012em; }
/* Maven Pro is wider than the old face: tighten the very large titles a touch. */
.shf-hero__title, .shf-ed-hero__title, .shf-events-hero__title, .shf-about-hero__title, .shf-404__code { letter-spacing: -0.02em !important; }
/* Light + bold mix (like the reference): the title is regular, the key words are bold. */
.shf-hero__title, .shf-about__title, .shf-events__title, .shf-ed-head__title,
.shf-tools .shf-section__title, .shf-about-hero__title, .shf-contact-hero__title {
	font-weight: 400 !important;
}
:is(.shf-hero__title, .shf-about__title, .shf-events__title, .shf-ed-head__title, .shf-tools .shf-section__title, .shf-about-hero__title, .shf-contact-hero__title) :is(strong, b, mark) {
	font-weight: 700;
}
.wp-element-button, .wp-block-button__link { letter-spacing: 0.005em; }

/* ===================== 2. Homepage hero ===================== */
.shf-hero--v15.wp-block-cover {
	background: #EAF7FA;
	min-height: clamp(620px, 30vw + 300px, 760px) !important;
	padding-top: clamp(56px, 3vw + 36px, 88px) !important;
	padding-bottom: clamp(120px, 9vw, 150px) !important;
	align-items: stretch;
}
.shf-hero--v15 .wp-block-cover__image-background {
	object-position: 50% 100% !important;
	top: auto !important; bottom: 0 !important; height: 100% !important;
}
/* Layer: a soft cyan glow top right, for depth behind the badge. (v1.8.18: the faint teal ring was removed.) */
.shf-hero--v15::before {
	content: ""; position: absolute; pointer-events: none; z-index: 2; border-radius: 50%;
	width: clamp(320px, 42vw, 640px); aspect-ratio: 1; right: -8%; top: -30%;
	background: radial-gradient(closest-side, rgba(34, 184, 207, 0.20), rgba(34, 184, 207, 0));
}
/* Light wash on the text side keeps the copy AA over the skyline. */
.shf-hero--v15 .wp-block-cover__background {
	opacity: 1 !important; z-index: 1;
	background: linear-gradient(90deg, rgba(234, 247, 250, 0.92) 0%, rgba(234, 247, 250, 0.72) 38%, rgba(234, 247, 250, 0.12) 70%, rgba(234, 247, 250, 0) 100%) !important;
}
.shf-hero--v15 .wp-block-cover__inner-container {
	width: 100% !important; max-width: 1200px !important; margin: 0 auto !important;
	display: flex; flex-direction: column;
}
.shf-hero2 {
	flex: 1 1 auto;
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-rows: auto auto 1fr;
	column-gap: clamp(24px, 4vw, 64px);
	text-align: left;
}
.shf-hero2 > * { margin: 0 !important; }
.shf-hero2__intro { grid-column: 1; grid-row: 1; }
.shf-hero2__intro > * { margin: 0 !important; }
.shf-hero2__tagline { grid-column: 1; grid-row: 2; margin-top: 26px !important; }
.shf-hero2__join { grid-column: 2; grid-row: 3; align-self: end; justify-self: end; margin-top: 36px !important; }

.shf-hero--v15 .shf-hero2__brand { justify-content: flex-start; margin: 0 0 18px !important; font-size: 0.9rem !important; letter-spacing: 0.18em; }
.shf-hero--v15 .shf-hero__title {
	text-align: left;
	font-size: clamp(2.5rem, 1.3rem + 4.4vw, 4.9rem) !important;
	line-height: 1.04 !important;
	max-width: 13ch;
	margin: 0 !important;
	color: var(--shf-ink) !important;
}
.shf-hero--v15 .shf-hero__title strong { color: var(--shf-teal); }
.shf-hero--v15 .shf-hero__sub {
	position: relative;
	margin: 0 !important;
	padding-left: 56px;
	font-family: var(--wp--preset--font-family--maven-pro);
	font-size: clamp(1.05rem, 0.9rem + 0.5vw, 1.3rem) !important;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--shf-ink);
}
.shf-hero--v15 .shf-hero__sub::before {
	content: ""; position: absolute; left: 0; top: 50%; width: 40px; height: 2px; background: var(--shf-sunset);
}
.shf-hero--v15 .shf-hero__search { margin: 22px 0 0 !important; max-width: 460px; }
.shf-hero--v15 .shf-hero__content { background: none; }

/* Community badge + buttons (lower right, floating over the skyline) */
.shf-hero2__join {
	display: flex; flex-direction: column; align-items: flex-end; gap: 18px;
}
.shf-proof {
	display: flex; align-items: center; gap: 14px;
	padding: 12px 20px 12px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: 0 14px 34px rgba(11, 26, 51, 0.12);
}
.shf-proof__icons { position: relative; display: flex; align-items: center; padding-right: 10px; flex: none; }
.shf-proof__icon {
	display: inline-grid; place-items: center;
	width: 42px; height: 42px; border-radius: 50%;
	color: #fff; text-decoration: none;
	border: 3px solid #fff;
	transition: transform .18s ease;
}
.shf-proof__icon + .shf-proof__icon { margin-left: -12px; }
.shf-proof__icon--li { background: var(--shf-teal); z-index: 2; }
.shf-proof__icon--fb { background: var(--shf-cyan); z-index: 1; }
.shf-proof__icon:hover, .shf-proof__icon:focus-visible { transform: translateY(-3px); z-index: 3; }
.shf-proof__icon:focus-visible { outline: 3px solid var(--shf-teal-dark); outline-offset: 2px; }
.shf-proof__check {
	position: absolute; right: 0; bottom: -2px;
	display: inline-grid; place-items: center;
	width: 20px; height: 20px; border-radius: 50%;
	background: var(--shf-sunset); color: #fff; border: 2px solid #fff; z-index: 4;
}
.shf-proof__text { margin: 0; color: var(--shf-ink); font-size: 0.95rem; line-height: 1.35; white-space: nowrap; }
.shf-proof__text strong { font-family: var(--wp--preset--font-family--maven-pro); font-weight: 700; font-size: 1.08rem; color: var(--shf-teal-dark); }
.shf-proof__item { white-space: nowrap; }
.shf-proof__sep { margin: 0 6px; color: var(--shf-slate); }
.shf-hero-join__buttons { gap: 12px; justify-content: flex-end; }
.shf-hero-join__buttons .wp-block-button__link { padding: 14px 26px; font-size: 1rem; }
.shf-hero--v15 .shf-btn-light .wp-block-button__link { background: rgba(255, 255, 255, 0.9); border-color: rgba(255,255,255,0.9); }

@media (max-width: 900px) {
	.shf-hero2 { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
	.shf-hero2__intro, .shf-hero2__tagline, .shf-hero2__join { grid-column: 1; grid-row: auto; }
	.shf-hero2__join { justify-self: stretch; align-items: flex-start; margin-top: 30px !important; }
	.shf-hero-join__buttons { justify-content: flex-start; }
}
@media (max-width: 600px) {
	.shf-hero--v15.wp-block-cover { min-height: 0 !important; padding-top: 40px !important; padding-bottom: 130px !important; }
	.shf-hero--v15 .wp-block-cover__image-background { object-position: 40% 100% !important; }
	.shf-hero--v15 .shf-hero__title { font-size: 2.45rem !important; }
	.shf-proof { padding: 10px 16px 10px 10px; border-radius: 22px; }
	.shf-proof__text { font-size: 0.9rem; white-space: normal; }
	.shf-proof__sep { display: none; }
	.shf-proof__item { display: block; }
	.shf-hero-join__buttons { width: 100%; }
	.shf-hero-join__buttons .wp-block-button { width: 100%; }
	.shf-hero-join__buttons .wp-block-button__link { width: 100%; text-align: center; }
}

/* Staged entrance: 1) name + slogan, 2) tagline + search, 3) community badge + buttons. */
@media (prefers-reduced-motion: no-preference) {
	@keyframes shf-v15-rise { from { opacity: 0; transform: translate3d(0, 26px, 0); } to { opacity: 1; transform: none; } }
	@keyframes shf-v15-drift { from { opacity: 0; transform: translate3d(28px, 18px, 0); } to { opacity: 1; transform: none; } }
	@keyframes shf-v15-sky { from { opacity: 0.35; transform: scale(1.05); } to { opacity: 1; transform: none; } }
	/* Time-based only (never scroll): the last item is fully in place 2.0 s after load. */
	.shf-hero--v15 .wp-block-cover__image-background { animation: shf-v15-sky 1600ms cubic-bezier(0.22, 0.61, 0.36, 1) both; transform-origin: 50% 100%; }
	.shf-hero--v15 .shf-hero2__intro .shf-hero2__brand { animation: shf-v15-rise 600ms cubic-bezier(0.22, 0.61, 0.36, 1) 60ms both; }
	.shf-hero--v15 .shf-hero2__intro .shf-hero__title { animation: shf-v15-rise 720ms cubic-bezier(0.22, 0.61, 0.36, 1) 180ms both; }
	.shf-hero--v15 .shf-hero2__tagline .shf-hero__sub { animation: shf-v15-rise 680ms cubic-bezier(0.22, 0.61, 0.36, 1) 720ms both; }
	.shf-hero--v15 .shf-hero2__tagline .shf-hero__search { animation: shf-v15-rise 680ms cubic-bezier(0.22, 0.61, 0.36, 1) 860ms both; }
	.shf-hero--v15 .shf-hero2__join .shf-proof { animation: shf-v15-drift 700ms cubic-bezier(0.22, 0.61, 0.36, 1) 1160ms both; }
	.shf-hero--v15 .shf-hero2__join .shf-hero-join__buttons { animation: shf-v15-drift 700ms cubic-bezier(0.22, 0.61, 0.36, 1) 1300ms both; }
	.editor-styles-wrapper .shf-hero--v15 * { animation: none !important; }
}

/* ===================== 3. Page headers: soft textures ===================== */
/* One pseudo-layer per header, behind the text. Light headers get a pale photo with a white
   wash on the text side; dark headers get a faint photo blended into the teal/navy. */
.shf-title-band, .shf-about-hero, .shf-events-hero, .shf-ed-hero, .shf-404, .shf-contact-hero {
	position: relative; isolation: isolate; overflow: hidden;
}
.shf-title-band::before, .shf-404::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
}
/* Search results, archives, categories, ordinary pages */
.shf-title-band::before {
	background:
		linear-gradient(90deg, rgba(244, 250, 251, 0.96) 0%, rgba(244, 250, 251, 0.86) 45%, rgba(244, 250, 251, 0.35) 100%),
		url("../images/headers/header-white-geometry.webp") right center / cover no-repeat;
}
.shf-title-band > * { position: relative; z-index: 1; }
/* About: pale glass grid on both sides, a clear centre for the heading */
.shf-about-hero {
	background:
		radial-gradient(60% 75% at 50% 45%, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.86) 55%, rgba(255, 255, 255, 0.45) 100%),
		url("../images/headers/header-glass-grid.webp") center / cover no-repeat;
}
/* Events (dark teal) */
.shf-events-hero {
	background:
		radial-gradient(50% 70% at 90% 10%, rgba(34, 184, 207, 0.30) 0%, rgba(34, 184, 207, 0) 70%),
		linear-gradient(100deg, rgba(8, 84, 106, 0.97) 0%, rgba(7, 74, 94, 0.90) 50%, rgba(6, 63, 80, 0.72) 100%),
		url("../images/headers/header-glass-diagonal.webp") right center / cover no-repeat,
		#063F50;
}
/* Articles (navy) */
.shf-ed-hero {
	background:
		radial-gradient(40% 70% at 95% 0%, rgba(34, 184, 207, 0.28) 0%, rgba(34, 184, 207, 0) 70%),
		linear-gradient(100deg, rgba(11, 26, 51, 0.97) 0%, rgba(11, 26, 51, 0.88) 48%, rgba(14, 53, 80, 0.66) 100%),
		url("../images/headers/header-glass-facade.webp") right 30% / cover no-repeat,
		#0B1A33;
}
/* 404 (ink): a dim skyline along the bottom */
.shf-404::before {
	background:
		linear-gradient(180deg, rgba(11, 26, 51, 1) 0%, rgba(11, 26, 51, 0.96) 40%, rgba(11, 26, 51, 0.62) 100%),
		url("../images/headers/header-skyline-dusk.webp") center bottom / cover no-repeat;
}
.shf-404 > * { position: relative; z-index: 1; }
@media (max-width: 700px) {
	.shf-title-band::before { background: linear-gradient(180deg, rgba(244, 250, 251, 0.94), rgba(244, 250, 251, 0.82)), url("../images/headers/header-white-geometry.webp") center / cover no-repeat; }
}

/* ===================== 4. Top menu ===================== */
.shf-nav .shf-nav-explore > .wp-block-navigation-submenu__toggle,
.shf-nav .shf-nav-explore > .wp-block-navigation-item__content {
	color: var(--shf-ink); font: inherit; padding: 6px 0; background: none; border: 0; cursor: pointer;
}
.shf-nav .shf-nav-explore > .wp-block-navigation-submenu__toggle:hover { color: var(--shf-teal); }
.shf-nav .shf-nav-explore .wp-block-navigation__submenu-icon { display: inline-flex; margin-left: 6px !important; width: 10px; height: 10px; transition: transform .2s ease; }
.shf-nav .shf-nav-explore > .wp-block-navigation-submenu__toggle { display: inline-flex; align-items: center; padding-right: 0 !important; }
.shf-nav .shf-nav-explore:hover .wp-block-navigation__submenu-icon,
.shf-nav .shf-nav-explore:focus-within .wp-block-navigation__submenu-icon,
.shf-nav .shf-nav-explore > [aria-expanded="true"] .wp-block-navigation__submenu-icon { transform: rotate(180deg); }
/* Open on hover too (desktop). Click/tap and keyboard use the button. */
@media (min-width: 992px) {
	.shf-nav .shf-nav-explore:hover > .wp-block-navigation__submenu-container,
	.shf-nav .shf-nav-explore:focus-within > .wp-block-navigation__submenu-container {
		visibility: visible !important; opacity: 1 !important; overflow: visible !important;
		width: auto !important; height: auto !important; min-width: 230px !important;
	}
}
.shf-nav .shf-nav-explore > .wp-block-navigation__submenu-container {
	top: calc(100% + 10px) !important; left: -18px !important;
	padding: 10px !important;
	border: 0 !important; border-radius: 16px;
	background: #fff !important;
	box-shadow: 0 18px 40px rgba(11, 26, 51, 0.14), 0 0 0 1px rgba(11, 26, 51, 0.04);
	transition: opacity .18s ease, transform .18s ease;
}
.shf-nav .shf-nav-explore > .wp-block-navigation__submenu-container::before { /* hover bridge */
	content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px;
}
.shf-nav .shf-nav-explore .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block; width: 100%; padding: 10px 14px !important; border-radius: 10px; white-space: nowrap;
	color: var(--shf-ink) !important;
}
.shf-nav .shf-nav-explore .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.shf-nav .shf-nav-explore .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--shf-cyan-soft); color: var(--shf-teal-dark) !important; box-shadow: none;
}
/* Mobile menu: Explore becomes a small heading with its links listed underneath. */
.shf-nav .is-menu-open .shf-nav-explore { flex-direction: column; align-items: stretch !important; }
.shf-nav .is-menu-open .shf-nav-explore > .wp-block-navigation-submenu__toggle {
	width: 100%; text-align: left; font-size: 0.8rem !important; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--shf-teal) !important; padding: 20px 4px 6px !important; cursor: default;
}
.shf-nav .is-menu-open li.shf-nav-explore .wp-block-navigation__submenu-icon { display: none !important; }
.shf-nav .is-menu-open li.shf-nav-explore > ul.wp-block-navigation__submenu-container { display: flex !important; flex-direction: column; align-items: stretch; }
.shf-nav .is-menu-open .shf-nav-explore > .wp-block-navigation__submenu-container {
	position: static !important; box-shadow: none; padding: 0 !important; border-radius: 0; background: transparent !important;
	opacity: 1 !important; visibility: visible !important; width: 100% !important; height: auto !important;
}
.shf-nav .is-menu-open .shf-nav-explore > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 12px 4px !important; border-radius: 0; font-size: 1.1rem !important;
}
/* Line the Explore links up with Home, About and Contact (core indents submenus). */
.shf-nav .is-menu-open li.shf-nav-explore > ul.wp-block-navigation__submenu-container { margin: 0 !important; left: auto !important; transform: none !important; }
.shf-nav .is-menu-open li.shf-nav-explore > ul.wp-block-navigation__submenu-container > li { margin: 0 !important; padding: 0 !important; }

/* Join Us button: a light sheen sweeps across, the pill lifts and turns teal-to-cyan. */
.shf-join-btn .wp-block-button__link {
	position: relative; overflow: hidden; isolation: isolate;
	background: var(--shf-teal) !important;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}
.shf-join-btn .wp-block-button__link::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
	background: linear-gradient(110deg, var(--shf-teal) 0%, var(--shf-cyan) 100%);
	opacity: 0; transition: opacity .25s ease;
}
.shf-join-btn .wp-block-button__link::after {
	content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; z-index: -1;
	background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.45) 50%, rgba(255,255,255,0) 100%);
	transform: skewX(-20deg);
}
.shf-join-btn .wp-block-button__link:hover,
.shf-join-btn .wp-block-button__link:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(11, 106, 133, 0.32), 0 0 0 4px rgba(34, 184, 207, 0.18);
}
.shf-join-btn .wp-block-button__link:hover::before,
.shf-join-btn .wp-block-button__link:focus-visible::before { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
	.shf-join-btn .wp-block-button__link:hover::after,
	.shf-join-btn .wp-block-button__link:focus-visible::after { left: 120%; transition: left .7s ease; }
}
@media (prefers-reduced-motion: reduce) {
	.shf-join-btn .wp-block-button__link:hover, .shf-join-btn .wp-block-button__link:focus-visible { transform: none; }
}

/* ===================== 5. Contact page ===================== */
.shf-contact-hero {
	background:
		radial-gradient(45% 70% at 80% 40%, rgba(34, 184, 207, 0.18) 0%, rgba(34, 184, 207, 0) 70%),
		linear-gradient(180deg, #F4FAFB 0%, #EAF7FA 100%);
}
.shf-contact-hero > * { position: relative; z-index: 1; }
.shf-contact-hero__grid {
	display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(24px, 4vw, 64px); align-items: center;
}
.shf-contact-hero__grid > * { margin: 0 !important; }
.shf-contact-hero__text > * { margin: 0 !important; }
.shf-contact-hero .shf-kicker { margin: 0 0 18px !important; color: var(--shf-teal) !important; }
.shf-contact-hero__title {
	font-size: clamp(2.7rem, 1.4rem + 4.6vw, 5.2rem) !important; line-height: 1.02 !important;
	max-width: 11ch; color: var(--shf-ink) !important;
}
.shf-contact-hero__title strong { display: inline; color: var(--shf-ink); }
.shf-dot { color: var(--shf-sunset); }
.shf-contact-hero__lead { margin-top: 24px !important; font-size: clamp(1.1rem, 0.95rem + 0.5vw, 1.35rem); color: var(--shf-slate); max-width: 34ch; }
.shf-network { position: relative; width: 100%; max-width: 540px; justify-self: end; }
.shf-network svg { display: block; width: 100%; height: auto; overflow: visible; }
@media (prefers-reduced-motion: no-preference) {
	@keyframes shf-bm-float { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-8px, -10px); } }
	.shf-brandmark__back { animation: shf-bm-float 8.7s ease-in-out infinite; }
}
/* Light teal band: details on the left, the message card on the right lifts over the hero edge. */
.shf-contact-band { background: var(--shf-cyan-soft); position: relative; display: flow-root; }
.shf-contact-band::before { /* soft ring, for depth */
	content: ""; position: absolute; left: -140px; bottom: -160px; width: 420px; aspect-ratio: 1; border-radius: 50%;
	border: 1.5px solid rgba(11, 106, 133, 0.12); pointer-events: none;
}
.shf-contact-split {
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: start;
	position: relative; z-index: 2;
}
.shf-contact-split > * { margin: 0 !important; }
.shf-contact-details { padding-top: var(--wp--preset--spacing--50); }
.shf-contact-details > * { margin: 0 !important; }
.shf-contact-details__title { font-size: clamp(2rem, 1.4rem + 2vw, 3rem) !important; font-weight: 400 !important; line-height: 1.08 !important; color: var(--shf-ink) !important; }
.shf-contact-details__title strong { font-weight: 700; }
.shf-contact-details__lead { margin-top: 14px !important; max-width: 44ch; color: var(--shf-slate); }
.shf-contact-row {
	display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; margin-top: 24px !important;
}
.shf-contact-row > * { margin: 0 !important; grid-column: 2; }
.shf-contact-row__icon {
	grid-column: 1 !important; grid-row: 1 / span 2; display: inline-grid; place-items: center;
	width: 44px; height: 44px; border-radius: 14px; background: #fff; color: var(--shf-teal);
	box-shadow: 0 8px 18px rgba(11, 26, 51, 0.08);
}
.shf-contact-row__label { font-family: var(--wp--preset--font-family--maven-pro); font-weight: 700; color: var(--shf-ink); line-height: 1.3; }
.shf-contact-row__value { color: var(--shf-slate); }
.shf-contact-row__colon { margin-left: -0.14em; } /* Maven Pro's colon has a wide left side-bearing */
.shf-contact-row__value a { color: var(--shf-teal-dark); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.shf-contact-row__value a:hover, .shf-contact-row__value a:focus-visible { text-decoration: underline; }
.shf-contact-row__value span { margin: 0 6px; }
/* Message card: white, on an offset teal block, lifted over the hero. */
.shf-contact-formcard {
	position: relative; isolation: isolate; margin-top: -120px !important;
	padding: clamp(24px, 3vw, 40px);
	border-radius: 26px; background: #fff;
	box-shadow: 0 26px 56px rgba(11, 26, 51, 0.14);
}
.shf-contact-formcard::before {
	content: ""; position: absolute; z-index: -2; inset: 22px -22px -22px 22px; border-radius: 26px;
	background: linear-gradient(140deg, var(--shf-teal) 0%, var(--shf-cyan) 100%);
}
.shf-contact-formcard::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 26px; background: #fff; }
.shf-contact-formcard > * { margin: 0 !important; }
.shf-contact-formcard__title { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem) !important; margin-bottom: 20px !important; color: var(--shf-ink) !important; }
.shf-cform__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.shf-cform__field { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.shf-cform__field--wide { grid-column: 1 / -1; }
.shf-cform label,
.shf-contact-formcard :is(.wp-block-jetpack-contact-form label, .wpcf7 label) { font-size: 0.92rem; font-weight: 700; color: var(--shf-ink); }
.shf-cform :is(input, select, textarea),
.shf-contact-formcard :is(.wp-block-jetpack-contact-form, .wpcf7) :is(input:not([type=checkbox]):not([type=submit]), select, textarea) {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--shf-ink);
	padding: 12px 14px; border-radius: 12px; border: 1.5px solid #D5E6EA; background: #F6FAFB;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.shf-cform textarea { resize: vertical; min-height: 130px; }
.shf-cform :is(input, select, textarea):focus,
.shf-contact-formcard :is(input, select, textarea):focus {
	outline: none; border-color: var(--shf-cyan); background: #fff; box-shadow: 0 0 0 4px rgba(34, 184, 207, 0.18);
}
.shf-cform__actions { margin: 20px 0 0; }
.shf-cform__submit,
.shf-contact-formcard :is(.wp-block-jetpack-contact-form .wp-block-button__link, .wpcf7-submit) {
	display: inline-flex; align-items: center; gap: 10px; cursor: pointer; border: 0;
	padding: 14px 30px; border-radius: 999px; background: var(--shf-teal); color: #fff;
	font-family: var(--wp--preset--font-family--maven-pro); font-weight: 700; font-size: 1rem;
	box-shadow: 0 10px 22px rgba(11, 106, 133, 0.25); transition: background-color .18s ease, transform .18s ease;
}
.shf-cform__submit::after { content: "\2192"; color: #BFEFF6; } /* v1.8.8: light cyan, was peach */
.shf-cform__submit:hover, .shf-cform__submit:focus-visible { background: var(--shf-teal-dark); transform: translateY(-2px); }
.shf-cform__submit:focus-visible { outline: 3px solid var(--shf-teal-dark); outline-offset: 3px; }
.shf-cform__note { margin: 10px 0 0; font-size: 0.92rem; color: var(--shf-teal-dark); }
.shf-cform__note:empty { display: none; }
.shf-contact-formcard__join { margin-top: 18px !important; padding-top: 16px; border-top: 1px solid var(--shf-line); font-size: 0.95rem; color: var(--shf-slate); }
.shf-contact-formcard__join a { color: var(--shf-teal-dark); font-weight: 700; text-decoration: none; }
.shf-contact-formcard__join a span { color: var(--shf-teal); } /* v1.8.8: was orange */
.shf-contact-formcard__join a:hover, .shf-contact-formcard__join a:focus-visible { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .shf-cform__submit:hover { transform: none; } }
@media (max-width: 900px) {
	.shf-contact-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.shf-network { max-width: 380px; justify-self: center; margin-top: 8px !important; }
	.shf-contact-split { grid-template-columns: minmax(0, 1fr); }
	.shf-contact-formcard { margin-top: -90px !important; order: -1; }
	.shf-contact-formcard::before { inset: 14px -10px -14px 10px; }
	.shf-contact-details { padding-top: var(--wp--preset--spacing--40); }
}
@media (max-width: 560px) {
	.shf-cform__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ===================== 6. Motion: heading rise on the remaining page types ===================== */
@media (prefers-reduced-motion: no-preference) {
	.shf-404 :is(.shf-404__code, .shf-404__title, .shf-404__text) {
		animation: shf-v15-rise 720ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
	}
	.shf-404 .shf-404__title { animation-delay: 120ms; }
	.shf-404 .shf-404__text { animation-delay: 220ms; }
	.shf-contact-formcard { animation: shf-v15-rise 760ms cubic-bezier(0.22, 0.61, 0.36, 1) 260ms both; }
	.shf-network { animation: shf-v15-rise 900ms cubic-bezier(0.22, 0.61, 0.36, 1) 200ms both; }
	.editor-styles-wrapper :is(.shf-404__code, .shf-contact-formcard, .shf-network, h1) { animation: none !important; }
}

/* Entrance safety net (assets/js/entrance.js): about 2.5 s after load every page-load entrance is
   ended, so nothing can be left half-faded if the browser stops drawing frames (background tabs,
   power saving, some screenshot tools) or if a section is only partly in view. The script ends the
   finite shf-* animations; these rules are the backstop for the known entrance items. Looping
   decorations (logo marquee, Contact ring) are not touched. */
/* v1.8.1: the same backstop also applies whenever the page was not marked "motion ready" by the small
   inline script in <head> (inc/v18.php): if scripts are delayed, blocked or never run (some speed or
   caching plugins hold scripts back until the visitor interacts), entrances are simply not played and
   everything is visible from the first frame. */
html:is(.shf-entrance-done, :not(.shf-motion)) :is(.shf-hero, .shf-about-hero, .shf-events-hero, .shf-ed-hero, .shf-title-band, .shf-page-hero, .shf-404, .shf-contact-hero, [class*="-hero "], [class$="-hero"])
	:is(h1, h2, p, .wp-block-buttons, .wp-block-search, .shf-event-chips, .shf-proof, .shf-hero2__brand, .shf-404__code, .wp-block-post-date, .wp-block-post-terms, .wp-block-term-description, .wp-block-cover__image-background, .shf-network, .shf-accent-bar, .shf-kicker, .shf-eyebrow, [class*="hero__sub"], [class*="hero__intro"], [class*="hero__lead"], [class*="hero__buttons"], .shf-hero-join__buttons, .shf-hero-stat),
html:is(.shf-entrance-done, :not(.shf-motion)) .shf-contact-formcard {
	animation: none !important; opacity: 1 !important; transform: none !important;
}
/* v1.8.8: the "most valuable assets" highlight is no longer ended here (that cut it off); see v188.css. */
/* v1.8.5: scroll reveals are NOT ended here any more (that showed every section before it was reached).
   reveal.js finishes them itself, one by one (.is-forced, see v185.css). */
