/*
 * Figma redesign: header, footer, homepage.
 * Loaded after the theme's core stylesheets so these rules win the cascade.
 */

:root {
	--fin-purple-900: #241242;
	--fin-footer-bg: #210939;
	--fin-purple-800: #2e1854;
	--fin-purple-700: #5b3b7a;
	--fin-gold: #f59e0b;
	--fin-teal: #60d3fa;
	--fin-teal-deep: #0689b5;
	--fin-cream: #faf3e3;
	--fin-text-dark: #2b2340;
	--fin-text-body: #6b6478;
	--fin-card-pink: #fbe3ed;
	--fin-card-mint: #dff3ef;
	--fin-slate: #4a564d;
}

/* ---------- Header (exact specs from Figma Dev Mode) ---------- */
.main-header .header-upper {
	background: #f9f6f0 !important;
	border-bottom: 1px solid #e2e8df;
	box-shadow: 0 4px 16px rgba(91, 59, 122, 0.0706);
}
.main-header .header-upper .auto-container {
	max-width: 1440px;
	padding-left: 80px;
	padding-right: 80px;
}
.main-header .header-upper .inner-container {
	display: flex;
	align-items: center;
	padding-left: 220px !important;
	min-height: 96px !important;
}
.main-header .header-upper .logo-box {
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: auto !important;
	height: auto !important;
	overflow: visible !important;
}
.main-header .header-upper .logo-box .logo {
	padding: 0 !important;
	text-align: left !important;
}
.main-header .navigation > li {
	margin-right: 32px;
}
.main-header .navigation > li:last-child {
	margin-right: 0;
}
.logo-box .logo img {
	max-height: 58px;
	width: auto;
}
.logo-box .site-branding-link {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}
.site-branding-icon {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--fin-purple-700);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.site-branding-icon svg {
	width: 20px;
	height: 20px;
}
.site-branding-text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}
.site-branding-text .site-title {
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: var(--fin-purple-700) !important;
}
.site-branding-text .site-description {
	font-family: 'Figtree', sans-serif;
	font-size: 10px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--fin-gold) !important;
	font-weight: 700;
}
.main-header .navigation > li {
	padding: 14px 0 !important;
}
.main-header .navigation > li > a {
	font-family: 'Figtree', sans-serif;
	font-weight: 600;
	font-size: 15px;
	line-height: 1;
	letter-spacing: 0;
	color: var(--fin-purple-700) !important;
}
.main-header .navigation > li:hover > a,
.main-header .navigation > li.current-menu-item > a {
	color: var(--fin-gold) !important;
}
.main-header .navigation > li.menu-item-has-children > a:after {
	top: 50% !important;
	transform: translateY(-50%);
}
/* Center the nav links in the space between the logo and the donate button
   (base theme floats .main-menu left / .link-box right, which hugs the
   links against the logo instead of centering them per the Figma spec). */
.main-header .header-upper .nav-outer {
	display: flex;
	align-items: center;
	float: none;
}
.main-header .header-upper .main-menu {
	float: none;
	flex: 1 1 auto;
	min-width: 0;
}
.main-header .header-upper .navigation.clearfix {
	display: flex;
	align-items: center;
	justify-content: center;
}
.main-header .header-upper .nav-outer .link-box {
	float: none;
	flex: 0 0 auto;
}
.main-header .link-box {
	padding-top: 0 !important;
}
.main-header .link-box .donate-link .theme-btn {
	background: var(--fin-purple-700) !important;
	border-color: var(--fin-purple-700) !important;
	border-radius: 100px !important;
	padding: 0 !important;
}
.main-header .link-box .donate-link .theme-btn .btn-title {
	background: var(--fin-purple-700) !important;
	color: #fff !important;
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1 !important;
	padding: 12px 24px !important;
	border-radius: 100px !important;
}
.main-header .link-box .donate-link .theme-btn:hover {
	background: var(--fin-purple-900) !important;
	border-color: var(--fin-purple-900) !important;
}
.main-header .link-box .donate-link .theme-btn:hover .btn-title {
	background: var(--fin-purple-900) !important;
}

/* ---------- Footer: newsletter bar ---------- */
.site-newsletter-bar {
	background: var(--fin-purple-900);
	padding: 96px 0;
}
.site-newsletter-bar .auto-container {
	max-width: 1440px;
	padding-left: 80px;
	padding-right: 80px;
}
.site-newsletter-inner {
	background: var(--fin-teal-deep);
	border-radius: 24px;
	padding: 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
	flex-wrap: wrap;
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.18);
}
.site-newsletter-copy {
	max-width: 560px;
}
.site-newsletter-copy h3 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 36px;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: #fff;
	margin: 0 0 12px;
}
.site-newsletter-copy p {
	font-family: 'Figtree', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: #ebf1eb;
	margin: 0;
}
.footer-newsletter-form {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: flex-start;
}
.footer-newsletter-form input[type='email'] {
	border-radius: 999px;
	border: none;
	padding: 16px 20px;
	min-width: 280px;
	font-family: 'Figtree', sans-serif;
	font-size: 14px;
	color: var(--fin-text-dark);
}
.footer-newsletter-form input[type='email']::placeholder {
	color: var(--fin-text-body);
}
.footer-newsletter-form button {
	border-radius: 999px;
	border: none;
	background: var(--fin-teal);
	color: #fff;
	padding: 12px 24px;
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.footer-newsletter-form button:hover {
	background: var(--fin-purple-900);
	transform: translateY(-2px);
}
.newsletter-msg {
	flex-basis: 100%;
	font-size: 13px;
	color: #fff;
}
.newsletter-msg.is-error {
	color: #ffd7d7;
}

/* ---------- Footer: main + bottom bar ---------- */
.site-footer-redesign {
	background: var(--fin-footer-bg);
	color: rgba(255, 255, 255, 0.75);
	padding: 60px 0 0;
}
.site-footer-redesign .footer-columns {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 40px;
}
.site-footer-redesign .footer-col h4 {
	color: #fff;
	font-family: 'Figtree', sans-serif;
	font-weight: 600;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 18px;
}
.site-footer-redesign .footer-logo-link {
	display: inline-block;
	margin-bottom: 16px;
}
.site-footer-redesign .footer-logo-link img,
.site-footer-redesign .footer-logo-link .custom-logo {
	max-height: 56px;
	width: auto;
}
.site-footer-redesign .footer-description {
	font-size: 14px;
	line-height: 1.7;
	margin-bottom: 20px;
	max-width: 280px;
	color: rgba(255, 255, 255, 0.65);
}
.site-footer-redesign .footer-social {
	margin-top: 20px;
}
.site-footer-redesign .footer-social ul {
	list-style: none;
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
}
.site-footer-redesign .footer-social a {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.site-footer-redesign .footer-social a:hover {
	background: var(--fin-gold);
	color: var(--fin-purple-900);
}
.site-footer-redesign .footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-footer-redesign .footer-menu li {
	margin-bottom: 12px;
}
.site-footer-redesign .footer-menu a,
.site-footer-redesign .footer-contact-list a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	text-decoration: none;
}
.site-footer-redesign .footer-menu a:hover,
.site-footer-redesign .footer-contact-list a:hover {
	color: var(--fin-gold);
}
.site-footer-redesign .footer-contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-footer-redesign .footer-contact-list li {
	margin-bottom: 12px;
}
.site-footer-redesign .footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding: 22px 0;
	background: transparent;
}
.site-footer-redesign .footer-bottom .clearfix {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}
.site-footer-redesign .copyright,
.site-footer-redesign .copyright * {
	color: rgba(255, 255, 255, 0.55);
	font-size: 13px;
}
.site-footer-redesign .footer-ein {
	color: rgba(255, 255, 255, 0.45);
}
.site-footer-redesign .bottom-links {
	list-style: none;
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 0;
}
.site-footer-redesign .bottom-links a {
	color: rgba(255, 255, 255, 0.55);
	font-size: 13px;
	text-decoration: none;
}

/* ---------- Homepage: shared helpers (used by Elementor content) ---------- */
.fin-eyebrow {
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--fin-gold);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}
.fin-eyebrow.center {
	justify-content: center;
}
.fin-eyebrow:before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;

	display: inline-block;
	flex: 0 0 auto;
}
.fin-heading h1,
.fin-heading h2,
.fin-heading h3 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	color: var(--fin-text-dark);
	line-height: 1.25;
	letter-spacing: -0.02em;
	margin: 0 0 18px;
}
.fin-body-text p {
	color: var(--fin-text-body);
	font-size: 16px;
	line-height: 1.8;
}
.fin-section-heading {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 50px;
}

/* Hero (section id fee0001, buttons row fee0002 with columns fee0003/fee0004) */
.elementor-element-fee0001 {
	position: relative;
	overflow: hidden;
	background-position: center center !important;
	background-size: 115% auto !important;
	background-repeat: no-repeat !important;
}
.elementor-element-fee0001:before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(68, 4, 130, 0.96) 0%, rgba(58, 43, 73, 0.8) 50%, rgba(91, 59, 122, 0.5) 100%);
	z-index: 0;
}
.elementor-element-fee0001 > .elementor-container {
	position: relative;
	z-index: 1;
}
.elementor-element-fee0001 .fin-eyebrow {
	color: var(--fin-gold);
}
.fin-hero-heading .elementor-heading-title {
	color: #fff !important;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 64px;
	line-height: 1.1;
	letter-spacing: -0.02em;
}
.fin-hero-text p {
	color: #ebf1eb !important;
	font-family: 'Figtree', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 1.6;
	max-width: 520px;
}
.elementor-element-fee0002 > .elementor-container {
	flex-wrap: wrap;
	gap: 16px;
}
.elementor-element-fee0003,
.elementor-element-fee0004 {
	width: auto !important;
}
.elementor-element-fee0003 .elementor-button,
.elementor-element-fee0004 .elementor-button {
	border-radius: 100px !important;
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.05em;
}
.fin-btn-teal .elementor-button {
	background: var(--fin-teal) !important;
	border-color: var(--fin-teal) !important;
	color: var(--fin-purple-700) !important;
	padding: 16px 32px !important;
}
.fin-btn-outline-light .elementor-button {
	background: transparent !important;
	border: 1px solid #fff !important;
	color: #fff !important;
	padding: 15px 31px !important;
}

/* Stats bar (section id fee0005) */
.elementor-element-fee0005 {
	background: var(--fin-purple-800);
}
.elementor-2092 .elementor-element.elementor-element-fee0005 {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}
.elementor-element-fee0005 .elementor-counter {
	text-align: center;
}
.elementor-element-fee0005 .elementor-counter-number-wrapper {
	color: var(--fin-gold) !important;
	font-family: 'Figtree', sans-serif;
	font-weight: 800;
	font-size: 25px !important;
	line-height: 1.2 !important;
}
.elementor-element-fee0005 .elementor-counter-title {
	color: rgba(255, 255, 255, 0.85) !important;
	font-family: 'Figtree', sans-serif;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	font-size: 13px;
	margin-top: 6px;
}

/* Mission */
.fin-mission-image img {
	border-radius: 20px;
}
.fin-checklist .elementor-icon-list-items {
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
}
.fin-checklist .elementor-icon-list-item {
	font-family: 'Figtree', sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: var(--fin-text-dark);
}
.fin-checklist .elementor-icon-list-icon {
	color: #fff;
	background: var(--fin-purple-700);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	margin-right: 8px;
}

/* Image row (programs / gallery) */
.fin-image-row img {
	border-radius: 18px;
	width: 100%;
	height: 220px;
	object-fit: cover;
}
.elementor-element-fee000c {
	background: #fff;
}

/* Cream section bands, matching the full-page reference: Mission, Other Initiative, Testimonial, Get Involved */
.elementor-element-fee0006,
.elementor-element-fee0010,
.elementor-element-fee0011,
.elementor-element-fee0007,
.elementor-element-fee0012,
.elementor-element-fee0013 {
	background: var(--fin-cream);
}

/* ---------- Core Programs (heading fee000e + image row fee000b) ---------- */
.elementor-element-fee000e {
	padding-bottom: 8px !important;
}
.elementor-element-fee000e .fin-eyebrow.center {
	display: inline-flex;
	margin: 0 auto 22px;
	padding: 7px 20px 7px 16px;
	border-radius: 999px;
}
.elementor-element-fee000e .fin-section-heading {
	max-width: 600px;
	margin-bottom: 0;
}

.elementor-element-fee000b {
	padding-top: 12px !important;
}

/* ---------- Other Initiatives (heading fee0010 + cards fee0011/fee000d/fee000f) ---------- */
.elementor-element-fee0010 {
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}
.elementor-element-fee0010 .fin-eyebrow.center {
	display: inline-flex;
	margin: 0 auto 22px;
	padding: 7px 20px 7px 16px;
	border-radius: 999px;
}
.elementor-element-fee0010 .fin-section-heading {
	max-width: 580px;
	margin-bottom: 0;
}

.elementor-element-fee0011 {
	padding-top: 12px !important;
}
.elementor-element-fee0011 > .elementor-container {
	align-items: stretch;
	gap: 32px;
}

/* Initiative cards */
.elementor-element-fee000d,
.elementor-element-fee000f {
	position: relative;
	overflow: hidden;
	border-radius: 28px;
	padding: 20px 34px !important;
	border: 1px solid rgba(43, 35, 64, 0.06);
	box-shadow: 0 16px 36px rgba(43, 35, 64, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.elementor-element-fee000d:hover,
.elementor-element-fee000f:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 48px rgba(43, 35, 64, 0.1);
}
.elementor-element-fee000d {
	background: var(--fin-card-pink);
}
.elementor-element-fee000f {
	background: var(--fin-card-mint);
}
.elementor-element-fee000d:after,
.elementor-element-fee000f:after {
	content: '';
	position: absolute;
	top: -70px;
	right: -70px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.28);
	pointer-events: none;
}
.fin-card-label {
	position: relative;
	z-index: 1;
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--fin-gold);
	margin-bottom: 16px;
}
.fin-card-content {
	position: relative;
	z-index: 1;
}
.fin-card-content .elementor-icon-box-icon {
	margin-bottom: 22px;
}
.fin-card-content .elementor-icon-box-icon .elementor-icon {
	background: #fff;
	width: 64px;
	height: 64px;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--fin-purple-700);
	font-size: 24px;
	box-shadow: 0 8px 20px rgba(43, 35, 64, 0.1);
}
.fin-card-content .elementor-icon-box-title {
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: var(--fin-text-dark) !important;
	margin-bottom: 10px !important;
}
.fin-card-content .elementor-icon-box-description {
	color: var(--fin-text-body);
	font-size: 15px;
	line-height: 1.8;
	max-width: 46ch;
}

/* Testimonial (section id fee0007) -- custom quote block, no avatar */
.elementor-element-fee0007 {
	text-align: center;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
	box-shadow: 0 8px 24px rgba(91, 59, 122, 0.051);
	background-color: #F9F6F0;
}
.elementor-element-fee0007 > .elementor-container {
	justify-content: center;
}
.elementor-element-fee0007 .elementor-widget-wrap {
	max-width: 800px;
	margin: 0 auto;
}
.fin-quote-icon {
	margin: 0 auto 32px;
}
.fin-quote-icon .elementor-icon {
	background: var(--fin-gold) !important;
	color: #fff !important;
	width: 64px !important;
	height: 64px !important;
	display: flex !important;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.fin-quote-icon .elementor-icon i,
.fin-quote-icon .elementor-icon svg {
	font-size: 22px !important;
	width: 22px !important;
	height: 22px !important;
	max-width: 22px !important;
	max-height: 22px !important;
	fill: #fff;
}
.fin-testimonial-quote p {
	font-family: 'Figtree', sans-serif;
	font-weight: 500;
	font-size: 28px;
	font-style: normal;
	color: var(--fin-purple-700);
	max-width: 800px;
	margin: 0 auto 32px;
	line-height: 1.5;
}
.fin-testimonial-name {
	margin-bottom: 4px !important;
}
.fin-testimonial-name .elementor-heading-title {
	color: #5B3B7A !important;
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 16px;
}
.fin-testimonial-role p {
	color: var(--fin-slate);
	font-weight: 600;
	font-size: 14px;
}

/* ---------- Get involved (heading fee0012 + cards fee0013/fee0008/fee0009/fee000a) ---------- */
.elementor-element-fee0012 {
	padding-top: 30px !important;
	padding-bottom: 30px !important;

}
.elementor-element-fee0012 .fin-eyebrow.center {
	display: inline-flex;
	margin: 0 auto 22px;
	
	padding: 7px 20px 7px 16px;
	border-radius: 999px;
}
.elementor-element-fee0012 .fin-section-heading {
	max-width: 600px;
	margin-bottom: 0;
}

.elementor-element-fee0013 {
	padding-top: 12px !important;
}
.elementor-element-fee0013 > .elementor-container {
	align-items: stretch;
	gap: 24px;
}

.elementor-element-fee0008,
.elementor-element-fee0009,
.elementor-element-fee000a {
	background: #fff;
	border: 1px solid #e2e8df;
	border-radius: 20px;
	padding: 40px 32px !important;
	box-shadow: 0 8px 24px rgba(43, 35, 64, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.elementor-element-fee0008:hover,
.elementor-element-fee0009:hover,
.elementor-element-fee000a:hover {
	transform: translateY(-6px);
	border-color: transparent;
	box-shadow: 0 20px 40px rgba(43, 35, 64, 0.1);
}
.fin-involved-icon .elementor-icon-box-wrapper {
	text-align: left;
}
.fin-involved-icon .elementor-icon-box-icon {
	margin-bottom: 4px;
}
.fin-involved-icon .elementor-icon-box-icon .elementor-icon {
	background: #fdefdd;
	color: var(--fin-gold);
	width: 56px;
	height: 56px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 21px;
	box-shadow: 0 6px 16px rgba(245, 158, 11, 0.18);
}
.fin-involved-icon .elementor-icon-box-title {
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 19px;
	color: var(--fin-purple-700) !important;
	margin-bottom: 8px !important;
}
.fin-involved-icon .elementor-icon-box-description {
	color: var(--fin-text-body);
	font-size: 14px;
	line-height: 1.75;
}
.fin-btn-pill-outline {
	margin-top: 20px;
}
.fin-btn-pill-outline .elementor-button {
	border-radius: 999px !important;
	border: 1.5px solid var(--fin-purple-700) !important;
	color: var(--fin-purple-700) !important;
	background: transparent !important;
	padding: 9px 24px !important;
	font-size: 13px;
	font-family: 'Figtree', sans-serif;
	font-weight: 600;
	transition: background 0.2s ease, color 0.2s ease;
}
.fin-btn-pill-outline .elementor-button:hover {
	background: var(--fin-purple-700) !important;
	color: #fff !important;
}

/* ---------- Programs: candle-making gallery (heading 1536ea5 + row fee000c) ---------- */
/* 0b53874 is the live site's current id for this same heading (content was
   re-saved there under a new element id) -- kept in sync with 1536ea5 so the
   spacing matches on both environments. */
.elementor-element-1536ea5,
.elementor-element-0b53874 {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
}
.elementor-element-1536ea5 .fin-eyebrow.center,
.elementor-element-0b53874 .fin-eyebrow.center {
	display: inline-flex;
	margin: 0 auto 22px;
	padding: 7px 20px 7px 16px;
	border-radius: 999px;
}
.elementor-element-1536ea5 .fin-section-heading,
.elementor-element-0b53874 .fin-section-heading {
	max-width: 600px;
	margin-bottom: 0;
}

.elementor-element-fee000c {
	padding-top: 12px !important;
}
.elementor-element-fee000c > .elementor-container {
	align-items: stretch;
	gap: 24px;
}
.elementor-element-fee000c .fin-image-row {
	display: block;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid #e2e8df;
	box-shadow: 0 16px 36px rgba(43, 35, 64, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.elementor-element-fee000c .fin-image-row:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 48px rgba(43, 35, 64, 0.12);
}
.elementor-element-fee000c .fin-image-row img {
	border-radius: 0;
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.elementor-element-fee000c .fin-image-row:hover img {
	transform: scale(1.06);
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	.site-footer-redesign .footer-columns {
		grid-template-columns: 1fr 1fr;
	}
	.fin-hero-heading .elementor-heading-title {
		font-size: 36px;
	}
	.elementor-element-fee0011 > .elementor-container {
		gap: 24px;
	}
	.elementor-element-fee000d,
	.elementor-element-fee000f {
		padding: 36px 32px !important;
	}
	.elementor-element-fee0013 > .elementor-container {
		gap: 20px;
	}
	.elementor-element-fee0008,
	.elementor-element-fee0009,
	.elementor-element-fee000a {
		padding: 32px 26px !important;
	}
	.elementor-element-fee000c > .elementor-container {
		gap: 18px;
	}
	.site-newsletter-bar {
		padding: 72px 0;
	}
	.site-newsletter-bar .auto-container {
		padding-left: 48px;
		padding-right: 48px;
	}
	.site-newsletter-inner {
		padding: 44px;
	}
}
@media (max-width: 767px) {
	.site-newsletter-bar {
		padding: 56px 0;
	}
	.site-newsletter-bar .auto-container {
		padding-left: 20px;
		padding-right: 20px;
	}
	.site-newsletter-inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 36px 32px;
		gap: 28px;
	}
	.site-newsletter-copy h3 {
		font-size: 28px;
	}
	.footer-newsletter-form {
		width: 100%;
	}
	.footer-newsletter-form input[type='email'] {
		min-width: 0;
		flex: 1 1 auto;
	}
	.elementor-element-fee0010 .fin-section-heading .elementor-heading-title {
		font-size: 30px;
	}
	.elementor-element-fee0011 > .elementor-container {
		flex-direction: column;
	}
	.elementor-element-fee000d,
	.elementor-element-fee000f {
		width: 100% !important;
		padding: 32px 28px !important;
	}
	.elementor-element-fee000d:hover,
	.elementor-element-fee000f:hover {
		transform: none;
	}
	.fin-quote-icon .elementor-icon {
		width: 52px;
		height: 52px;
	}
	.fin-testimonial-quote p {
		font-size: 21px;
		max-width: 100%;
	}
	.elementor-element-fee0012 .fin-section-heading .elementor-heading-title {
		font-size: 30px;
	}
	.elementor-element-fee0013 > .elementor-container {
		flex-direction: column;
	}
	.elementor-element-fee0008,
	.elementor-element-fee0009,
	.elementor-element-fee000a {
		width: 100% !important;
	}
	.elementor-element-fee0008:hover,
	.elementor-element-fee0009:hover,
	.elementor-element-fee000a:hover {
		transform: none;
	}
	.elementor-element-1536ea5 .fin-section-heading .elementor-heading-title {
		font-size: 30px;
	}
	.elementor-element-fee000c > .elementor-container {
		flex-direction: column;
	}
	.elementor-element-fee000c .fin-image-row {
		width: 100% !important;
	}
	.elementor-element-fee000c .fin-image-row:hover {
		transform: none;
	}
}
@media (max-width: 600px) {
	.site-footer-redesign .footer-columns {
		grid-template-columns: 1fr;
	}
}
