/* Hoagland Financial Group: motion and hover states (same system as the agency's other sites). */
:root { --hfg-ease: cubic-bezier(.22, .61, .36, 1); }

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

@media (prefers-reduced-motion: no-preference) {

	/* Buttons: lift and tint */
	.e-button-base, .wp-block-button__link {
		transition: transform .25s var(--hfg-ease), background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease !important;
	}
	.e-button-base:hover, .wp-block-button__link:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 22px -12px rgba(14, 19, 32, .45);
	}
	.e-button-base:active, .wp-block-button__link:active { transform: translateY(0); box-shadow: none; }
	[class*="s-svc-"][class*="-link"]:hover { transform: none; box-shadow: none; }

	/* Underlined text links: the line eases down */
	.elementor a.e-paragraph-link-base, .hfg-footer a, [class*="s-svc-"] .e-button-base {
		text-decoration-thickness: 1px; text-underline-offset: 4px;
		transition: text-underline-offset .2s ease, color .2s ease !important;
	}
	.elementor a.e-paragraph-link-base:hover, [class*="s-svc-"] .e-button-base:hover { text-underline-offset: 7px; }

	/* Header nav: underline grows from the left */
	.hfg-nav .wp-block-navigation-item__content {
		background-image: linear-gradient(currentColor, currentColor);
		background-repeat: no-repeat; background-position: 22px calc(100% - 18px); background-size: 0 1px;
		transition: background-size .3s var(--hfg-ease), color .2s ease;
	}
	.hfg-nav .wp-block-navigation-item__content:hover { background-size: calc(100% - 44px) 1px; }
	.hfg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { background-image: none; transition: padding-left .2s ease, color .2s ease; }
	.hfg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { padding-left: 30px; }

	/* Photos: slow zoom inside their frame */
	.s-hero-media, .s-who-media, .s-story-media, [class*="s-family-"], [class*="s-bio-mosaic-"], .s-bio-main, .s-bio-photo { overflow: hidden; }
	.s-hero-media img, .s-who-media img, .s-story-media img, [class*="s-family-"] img, .s-bio-photo img, [class*="s-bio-mosaic-"] img, .s-bio-main img { transition: transform 1.2s var(--hfg-ease); }
	.s-who-media:hover img, .s-story-media:hover img, [class*="s-family-"]:hover img, [class*="s-bio-mosaic-"]:hover img, .s-bio-main:hover img, .s-bio-photo:hover img { transform: scale(1.035); }

	/* Pain tags and area links */
	[class*="s-tag-"] { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
	[class*="s-tag-"]:hover { background-color: #141B2B !important; border-color: #141B2B !important; color: #FFFFFF !important; }
	[class*="s-area-"] { transition: background-color .3s ease, border-color .3s ease; }
	[class*="s-area-"]:has(a):hover { border-color: #2446E6 !important; }
	[class*="s-area-"] .e-paragraph-link-base { transition: color .2s ease, text-underline-offset .2s ease; }

	/* Service columns: check circle fills on hover */
	[class*="-check"] { transition: background-color .3s ease, color .3s ease, transform .3s var(--hfg-ease); }
	.s-svc-grid > *:hover [class*="-check"] { background-color: #38E1FF; color: #141B2B !important; transform: scale(1.08); }

	/* Process dots grow on hover */
	[class*="-dot"] { transition: transform .3s var(--hfg-ease), background-color .3s ease; }
	.s-process-steps > *:hover [class*="-dot"] { transform: scale(1.5); background-color: #2446E6 !important; }

	/* FAQ */
	.e-n-accordion-item-title-icon { transition: transform .3s var(--hfg-ease); }
	.e-n-accordion-item-title:hover .e-n-accordion-item-title-icon { transform: rotate(90deg); }

	/* Hero: one-time intro on load */
	@keyframes hfg-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
	@keyframes hfg-fade { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
	@keyframes hfg-bar { from { transform: scaleY(0); } to { transform: scaleY(1); } }
	.s-hero-copy > *:not(.s-hero-bars) { animation: hfg-rise .8s var(--hfg-ease) both; }
	.s-hero-copy > :nth-child(3) { animation-delay: .08s; }
	.s-hero-copy > :nth-child(4) { animation-delay: .16s; }
	.s-hero-copy > :nth-child(5) { animation-delay: .24s; }
	.s-hero-copy > :nth-child(6) { animation-delay: .32s; }
	.s-hero-img { animation: hfg-fade 1.2s var(--hfg-ease) both; }
	.s-hero-bars > * { transform-origin: bottom; animation: hfg-bar 1.1s var(--hfg-ease) both; }
	.s-hero-bars > :nth-child(2n) { animation-delay: .15s; }
	.s-hero-bars > :nth-child(3n) { animation-delay: .3s; }

	/* Entrance on scroll */
	.hfg-anim [data-hfg-reveal] {
		opacity: 0;
		transform: translateY(22px);
		transition: opacity .7s ease, transform .8s var(--hfg-ease);
		transition-delay: var(--hfg-delay, 0ms);
		will-change: opacity, transform;
	}
	.hfg-anim [data-hfg-reveal="media"] { transform: translateY(18px) scale(.985); }
	.hfg-anim [data-hfg-reveal].is-in { opacity: 1; transform: none; will-change: auto; }
}

/* Blog and post templates (block theme). */
.hfg-page-hero { margin: 0 18px; border-radius: 6px; background: #141B2B; padding: 170px max(36px, calc((100% - 1240px) / 2)) 96px; }
.hfg-page-hero__eyebrow { margin: 0; font-family: var(--wp--preset--font-family--figtree); font-weight: 500; font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: #C9D0E0; }
.hfg-page-hero__title, .hfg-page-hero h1 { margin: 22px 0 0; font-size: 56px; line-height: 1.08; color: #FFFFFF; max-width: 820px; }
.hfg-page-hero__text { margin: 24px 0 0; font-size: 18px; line-height: 1.65; color: #B9C1D3; max-width: 620px; }
.hfg-posts-wrap { padding: 96px max(36px, calc((100% - 1240px) / 2)); }
.hfg-posts .wp-block-post-template { gap: 40px; }
.hfg-posts .wp-block-post-featured-image { margin: 0 0 18px; border-radius: 6px; overflow: hidden; }
.hfg-posts .wp-block-post-date { font-size: 14px; color: #6A7286; margin: 0; }
.hfg-posts .wp-block-post-title { font-size: 24px; line-height: 1.25; margin: 8px 0 0; }
.hfg-posts .wp-block-post-title a { color: #0E1320; text-decoration: none; }
.hfg-posts .wp-block-post-title a:hover { color: #2446E6; }
.hfg-posts .wp-block-post-excerpt { margin: 10px 0 0; font-size: 16px; }
.hfg-empty { margin: 0; padding: 40px; border: 1px solid #CDD2DC; border-radius: 6px; background: #FFFFFF; font-size: 18px; color: #424A5C; max-width: 760px; }
.hfg-article { padding: 80px 36px 40px; }
.hfg-article .wp-block-post-content { font-size: 18px; line-height: 1.7; }
.hfg-article .wp-block-post-content h2 { font-size: 32px; margin: 48px 0 16px; }
.hfg-blog-cta { margin: 18px; border-radius: 6px; background: #2446E6; padding: 80px max(36px, calc((100% - 1240px) / 2)); color: #E4E9FF; }
.hfg-blog-cta__title { color: #FFFFFF; font-size: 42px; margin: 0; }
.hfg-blog-cta p { font-size: 18px; margin: 16px 0 28px; max-width: 560px; }
.hfg-btn-white-block .wp-block-button__link { background: #FFFFFF; color: #141B2B; padding: 18px 32px; }
.hfg-btn-white-block .wp-block-button__link:hover { background: #DDE3FF; color: #141B2B; }

/* Legal text inside Elementor text editor */
.elementor-element-legal-text h2 { font-size: 28px; line-height: 1.2; margin: 44px 0 14px; color: #0E1320; }
.elementor-element-legal-text p, .elementor-element-legal-text li { margin: 0 0 14px; }
.elementor-element-legal-text ul { padding-left: 22px; margin: 0 0 14px; }
.elementor-element-legal-text a { color: #2446E6; }

@media (max-width: 781px) {
  .hfg-page-hero { margin: 0 10px; padding: 52px 22px 56px; }
  .hfg-page-hero__title, .hfg-page-hero h1 { font-size: 36px; }
  .hfg-posts-wrap { padding: 56px 20px; }
  .hfg-blog-cta { margin: 10px; padding: 52px 22px; }
  .hfg-blog-cta__title { font-size: 31px; }
  .hfg-article { padding: 48px 20px 24px; }
}
/* Footer build credit (agency standard) */
.hfg-footer__credit { margin: 0 !important; display: inline-flex; align-items: center; gap: 7px; font-size: 14px; letter-spacing: .01em; color: #FFFFFF; }
.hfg-footer .hfg-footer__credit a { display: inline-flex; align-items: center; gap: 8px; color: #38E1FF; font-weight: 600; text-decoration: none; transition: color .2s ease, opacity .2s ease; }
.hfg-footer__credit a span { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.hfg-footer__credit img { display: block; height: 24px; width: auto; flex: 0 0 auto; }
.hfg-footer .hfg-footer__credit a:hover, .hfg-footer .hfg-footer__credit a:focus-visible { color: #FFFFFF; }
.hfg-footer__credit a:hover img { opacity: .85; }
@media (max-width: 781px) { .hfg-footer__credit { padding-top: 4px; } }

.hfg-legal-text p, .hfg-legal-text li { margin: 0 0 14px; }
.hfg-legal-text ul { padding-left: 22px; margin: 0 0 14px; }
.hfg-legal-text a { color: #2446E6; }

/* Booking calendar: let the LeadConnector iframe use the full width */
.s-booking-embed-wrap > .elementor-element, .s-booking-embed-wrap .elementor-widget-container { width: 100%; }
.s-booking-embed-wrap iframe { display: block; width: 100% !important; min-height: 780px; border: 0; }
