/* =========================================================================
   SolaraGrid — BEM components on top of Automatic.css v3 variables
   --------------------------------------------------------------------------
   All components are prefixed `.sg-` and use BEM (block__element--modifier).
   ACSS variables provide the design tokens (colors, spacing, type, radii).
   Fallback values are included for any var() in case ACSS shifts a name.
   ========================================================================= */

/* --- Reset niceties (Bricks already resets a lot, this is component-level) - */
.sg-eyebrow {
	display: inline-block;
	font-size: var(--text-xs, 0.8125rem);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 600;
	color: var(--primary, #2faa66);
	background: var(--primary-trans-10, rgba(47,170,102,0.10));
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
}

/* --- Buttons ------------------------------------------------------------- */
.sg-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-weight: 600;
	line-height: 1;
	padding: 0.95rem 1.4rem;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
	border: 2px solid transparent;
}
.sg-button:hover { transform: translateY(-1px); }

.sg-button--primary  { background: var(--primary, #2faa66); color: var(--base-ultra-light, #fff); }
.sg-button--primary:hover { background: var(--primary-hover, #258850); color: var(--base-ultra-light, #fff); }

.sg-button--ghost {
	background: transparent;
	color: var(--shade, #0d0f12);
	border-color: transparent;
}
.sg-button--ghost:hover { color: var(--primary, #2faa66); }

.sg-button--outline {
	background: transparent;
	color: var(--base-ultra-light, #fff);
	border-color: var(--base-ultra-light, #fff);
}
.sg-button--outline:hover { background: var(--base-ultra-light, #fff); color: var(--shade, #0d0f12); }

.sg-button--dark {
	background: var(--shade, #0d0f12); color: var(--base-ultra-light, #fff);
}
.sg-button--dark:hover { background: var(--shade-darker, #000); }

.sg-button .sg-button__arrow {
	display: inline-flex; width: 1.7em; height: 1.7em; border-radius: 999px;
	background: rgba(255,255,255,0.18);
	align-items: center; justify-content: center;
}

/* --- Sections ------------------------------------------------------------ */
.sg-section {
	position: relative;
	padding-block: var(--section-space-l, 6rem);
}
.sg-section--tight  { padding-block: var(--section-space-m, 4.5rem); }
.sg-section--muted  { background: var(--base-light, #f4f6f5); }
.sg-section--dark   { background: var(--shade-darker, #0a0e15); color: var(--base-ultra-light, #fff); }
.sg-section--dark .sg-section__heading,
.sg-section--dark .sg-section__intro { color: var(--base-ultra-light, #fff); }

.sg-section__inner {
	max-width: var(--content-width, 1200px);
	margin-inline: auto;
	padding-inline: var(--space-m, 1.5rem);
}
.sg-section__head {
	display: flex; flex-direction: column; gap: var(--space-s, 0.75rem);
	max-width: 720px; margin-inline: auto; text-align: center;
	margin-bottom: var(--space-xl, 3rem);
}
.sg-section__head--left { text-align: left; margin-inline: 0; }
.sg-section__heading { font-size: var(--h2, clamp(1.8rem, 1rem + 2vw, 2.6rem)); line-height: 1.15; margin: 0; }
.sg-section__intro   { color: var(--neutral, #545b66); margin: 0; }

/* --- Header -------------------------------------------------------------- */
.sg-header { background: var(--base-ultra-light, #fff); border-bottom: 1px solid var(--base-light, #eef0ee); }
.sg-header__topbar {
	background: var(--primary, #2faa66); color: var(--base-ultra-light, #fff);
	font-size: var(--text-xs, 0.8125rem);
}
.sg-header__topbar-inner {
	max-width: var(--content-width, 1200px); margin-inline: auto;
	padding: 0.55rem var(--space-m, 1.5rem);
	display: flex; align-items: center; justify-content: space-between; gap: var(--space-m, 1rem);
	flex-wrap: wrap;
}
.sg-header__contact { display: flex; gap: var(--space-m, 1rem); flex-wrap: wrap; }
.sg-header__contact a { color: inherit; text-decoration: none; }
.sg-header__main {
	max-width: var(--content-width, 1200px); margin-inline: auto;
	padding: var(--space-m, 1rem) var(--space-m, 1.5rem);
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-l, 2rem);
}
.sg-header__brand { font-weight: 800; font-size: 1.35rem; color: var(--shade, #0d0f12); text-decoration: none; }
.sg-header__brand-mark { color: var(--primary, #2faa66); }
.sg-header__nav { display: flex; gap: var(--space-m, 2rem); justify-content: center; }
.sg-header__nav a {
	color: var(--shade, #0d0f12); font-weight: 500; text-decoration: none;
	position: relative;
}
.sg-header__nav a:hover { color: var(--primary, #2faa66); }
.sg-header__cta { justify-self: end; }

@media (max-width: 800px) {
	.sg-header__main { grid-template-columns: 1fr auto; }
	.sg-header__nav { display: none; }
}

/* --- Hero ---------------------------------------------------------------- */
.sg-hero {
	position: relative;
	color: var(--base-ultra-light, #fff);
	background:
		linear-gradient(120deg, rgba(10,30,18,0.78), rgba(20,60,35,0.55) 55%, rgba(10,30,18,0.10)),
		radial-gradient(circle at 20% 30%, var(--primary-shade-light, #43c47e) 0%, transparent 55%),
		linear-gradient(135deg, var(--shade-darker, #07120c), var(--shade, #102018));
	overflow: hidden;
}
.sg-hero::after {
	content: ""; position: absolute; inset: 0;
	background:
		radial-gradient(circle at 80% 70%, rgba(255,255,255,0.12), transparent 45%),
		repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,0.04) 38px 39px);
	pointer-events: none;
}
.sg-hero__inner {
	position: relative; z-index: 1;
	max-width: var(--content-width, 1200px); margin-inline: auto;
	padding: clamp(4rem, 8vw, 7rem) var(--space-m, 1.5rem);
	display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-xl, 3rem);
	align-items: center;
}
.sg-hero__eyebrow {
	display: inline-block; font-size: var(--text-xs, 0.8125rem);
	text-transform: uppercase; letter-spacing: 0.14em; font-weight: 600;
	background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.22);
	padding: 0.4rem 0.85rem; border-radius: 999px;
}
.sg-hero__heading {
	font-size: clamp(2.2rem, 1rem + 4vw, 4rem); line-height: 1.05;
	margin: var(--space-s, 1rem) 0 var(--space-m, 1.5rem); font-weight: 800;
}
.sg-hero__heading em { color: var(--primary-shade-light, #43c47e); font-style: normal; }
.sg-hero__lede { font-size: var(--text-l, 1.125rem); max-width: 56ch; opacity: 0.92; }
.sg-hero__actions { display: flex; gap: var(--space-s, 1rem); flex-wrap: wrap; margin-top: var(--space-l, 2rem); }
.sg-hero__trust {
	margin-top: var(--space-xl, 2.5rem);
	display: flex; align-items: center; gap: var(--space-m, 1rem);
	flex-wrap: wrap;
	font-size: var(--text-xs, 0.8125rem); opacity: 0.9;
}
.sg-hero__avatars { display: flex; }
.sg-hero__avatars span {
	width: 2.4rem; height: 2.4rem; border-radius: 999px;
	border: 2px solid var(--shade-darker, #0a0e15);
	margin-left: -0.6rem;
	background: linear-gradient(135deg, var(--primary, #2faa66), var(--primary-shade-light, #43c47e));
}
.sg-hero__avatars span:first-child { margin-left: 0; }
.sg-hero__visual {
	aspect-ratio: 4/5;
	border-radius: var(--radius-l, 24px);
	background:
		linear-gradient(140deg, rgba(67,196,126,0.22), rgba(255,255,255,0.05) 50%),
		linear-gradient(180deg, var(--primary-shade-light, #43c47e), var(--primary, #2faa66) 50%, var(--primary-shade-dark, #1a6b3f));
	position: relative;
	overflow: hidden;
	box-shadow: 0 30px 60px -20px rgba(0,0,0,0.4);
}
.sg-hero__visual::after {
	content: ""; position: absolute; inset: 0;
	background:
		repeating-linear-gradient(45deg, transparent 0 24px, rgba(255,255,255,0.06) 24px 25px),
		radial-gradient(circle at 70% 30%, rgba(255,255,255,0.25), transparent 40%);
}
@media (max-width: 800px) {
	.sg-hero__inner { grid-template-columns: 1fr; }
	.sg-hero__visual { aspect-ratio: 16/12; }
}

/* --- Cards (generic) ----------------------------------------------------- */
.sg-card {
	background: var(--base-ultra-light, #fff);
	border-radius: var(--radius-m, 16px);
	border: 1px solid var(--base-light, #eef0ee);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.sg-card:hover { transform: translateY(-4px); box-shadow: 0 24px 40px -24px rgba(0,0,0,0.18); border-color: var(--primary-trans-30, rgba(47,170,102,0.3)); }
.sg-card__media {
	aspect-ratio: 16/10;
	background: linear-gradient(135deg, var(--primary-shade-light, #43c47e), var(--primary, #2faa66));
	position: relative;
}
.sg-card__media::after {
	content: ""; position: absolute; inset: 0;
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.22), transparent 50%);
}
.sg-card__media--alt-1 { background: linear-gradient(135deg, #4a8db5, #295272); }
.sg-card__media--alt-2 { background: linear-gradient(135deg, #d6a85b, #8b5e1f); }
.sg-card__body { padding: var(--space-m, 1.4rem); display: flex; flex-direction: column; gap: var(--space-xs, 0.6rem); flex: 1; }
.sg-card__title { margin: 0; font-size: var(--h5, 1.25rem); }
.sg-card__text { margin: 0; color: var(--neutral, #545b66); font-size: var(--text-s, 0.95rem); }
.sg-card__link {
	margin-top: auto; align-self: flex-start;
	color: var(--primary, #2faa66); font-weight: 600; text-decoration: none;
	display: inline-flex; align-items: center; gap: 0.4rem;
}
.sg-card__link::after { content: "→"; transition: transform 0.18s ease; }
.sg-card__link:hover::after { transform: translateX(4px); }

/* --- About row ---------------------------------------------------------- */
.sg-about__inner {
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl, 3rem); align-items: center;
}
.sg-about__visual {
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-s, 1rem); position: relative;
}
.sg-about__visual > div {
	border-radius: var(--radius-m, 16px); aspect-ratio: 4/5;
	background: linear-gradient(135deg, var(--primary-shade-light, #43c47e), var(--primary, #2faa66));
}
.sg-about__visual > div:nth-child(2) { background: linear-gradient(135deg, #4a8db5, #295272); }
.sg-about__visual > div:nth-child(3) { background: linear-gradient(135deg, #d6a85b, #8b5e1f); grid-column: span 2; aspect-ratio: 16/7; }
.sg-about__badge {
	position: absolute; left: -1.5rem; bottom: -1.5rem;
	background: var(--primary, #2faa66); color: #fff;
	border-radius: 999px; width: 6.5rem; height: 6.5rem;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	font-weight: 700; line-height: 1.1; text-align: center;
	box-shadow: 0 16px 40px -10px rgba(47,170,102,0.6);
}
.sg-about__badge strong { font-size: 1.6rem; }
.sg-about__features { display: flex; flex-direction: column; gap: var(--space-m, 1.5rem); margin-top: var(--space-m, 1.5rem); }
.sg-about__feature { display: grid; grid-template-columns: auto 1fr; gap: var(--space-s, 1rem); align-items: start; }
.sg-about__feature-icon {
	width: 3rem; height: 3rem; border-radius: 999px;
	background: var(--primary-trans-10, rgba(47,170,102,0.12)); color: var(--primary, #2faa66);
	display: grid; place-items: center; font-size: 1.2rem;
}
.sg-about__feature h4 { margin: 0 0 0.25rem; font-size: 1.05rem; }
.sg-about__feature p  { margin: 0; color: var(--neutral, #545b66); font-size: 0.95rem; }

@media (max-width: 800px) { .sg-about__inner { grid-template-columns: 1fr; } }

/* --- Services ------------------------------------------------------------ */
.sg-grid-3 {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-l, 2rem);
}
@media (max-width: 900px) { .sg-grid-3 { grid-template-columns: 1fr; } }

.sg-services__cta-row { display: flex; justify-content: center; gap: var(--space-s, 1rem); margin-top: var(--space-l, 2rem); align-items: center; flex-wrap: wrap; color: var(--neutral, #545b66); }

/* --- Why choose us / split -------------------------------------------- */
.sg-why__inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-xl, 3rem); align-items: center; }
.sg-why__chip {
	display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.7rem 1rem;
	background: var(--base-ultra-light, #fff); border: 1px solid var(--base-light, #e7e9e7);
	border-radius: 999px; font-weight: 600; font-size: 0.95rem;
	box-shadow: 0 6px 16px -10px rgba(0,0,0,0.15);
}
.sg-why__chip-dot { width: 0.6rem; height: 0.6rem; border-radius: 999px; background: var(--primary, #2faa66); }
.sg-why__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-m, 1.5rem); margin-top: var(--space-l, 2rem); }
.sg-why__stat strong { display: block; font-size: 2rem; color: var(--shade, #0d0f12); line-height: 1; }
.sg-why__stat span { color: var(--neutral, #545b66); font-size: 0.9rem; }
.sg-why__visual {
	position: relative; min-height: 22rem;
	border-radius: var(--radius-l, 24px);
	background:
		linear-gradient(135deg, rgba(47,170,102,0.18), rgba(255,255,255,0.05)),
		linear-gradient(135deg, #4a8db5, #295272);
	overflow: hidden;
}
.sg-why__support {
	position: absolute; right: 1rem; bottom: 1rem;
	background: var(--primary, #2faa66); color: #fff;
	border-radius: var(--radius-m, 16px);
	padding: 1rem 1.2rem; max-width: 16rem;
	box-shadow: 0 14px 30px -10px rgba(47,170,102,0.5);
}
.sg-why__support strong { display: block; }
@media (max-width: 900px) { .sg-why__inner { grid-template-columns: 1fr; } }

/* --- Pricing ------------------------------------------------------------- */
.sg-pricing__toggle {
	display: inline-flex; gap: 0.4rem; padding: 0.35rem;
	background: var(--base-light, #eef0ee); border-radius: 999px;
	margin-inline: auto; margin-bottom: var(--space-l, 2rem);
}
.sg-pricing__toggle button {
	border: 0; background: transparent; padding: 0.6rem 1.1rem;
	border-radius: 999px; font-weight: 600; cursor: pointer; color: var(--neutral, #545b66);
}
.sg-pricing__toggle button.is-active {
	background: var(--shade, #0d0f12); color: #fff;
}
.sg-plan {
	background: var(--base-ultra-light, #fff);
	border: 1px solid var(--base-light, #eef0ee);
	border-radius: var(--radius-l, 20px);
	padding: var(--space-l, 2rem);
	display: flex; flex-direction: column; gap: var(--space-m, 1.5rem);
	position: relative;
}
.sg-plan--featured {
	border-color: transparent;
	background: var(--shade, #0d0f12); color: #fff;
	transform: translateY(-0.5rem);
}
.sg-plan--featured .sg-plan__feature { color: rgba(255,255,255,0.86); }
.sg-plan--featured .sg-plan__price small,
.sg-plan--featured .sg-plan__subtitle { color: rgba(255,255,255,0.7); }
.sg-plan__badge {
	position: absolute; top: 1rem; right: 1rem;
	background: var(--primary, #2faa66); color: #fff;
	font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
	padding: 0.3rem 0.7rem; border-radius: 999px;
}
.sg-plan__title { margin: 0; font-size: 1.25rem; font-weight: 700; }
.sg-plan__subtitle { color: var(--neutral, #545b66); font-size: 0.9rem; margin: 0; }
.sg-plan__price { display: flex; align-items: baseline; gap: 0.4rem; }
.sg-plan__price strong { font-size: 2.4rem; line-height: 1; }
.sg-plan__price small { color: var(--neutral, #545b66); font-size: 0.9rem; }
.sg-plan__features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.sg-plan__feature { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.95rem; }
.sg-plan__feature::before {
	content: "✓"; color: var(--primary, #2faa66); font-weight: 800;
}
.sg-plan__cta { margin-top: auto; }
.sg-plan--featured .sg-plan__cta .sg-button { background: var(--primary, #2faa66); }

/* --- Feature grid (numbered) -------------------------------------------- */
.sg-features__inner { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--space-xl, 3rem); align-items: center; }
.sg-features__visual {
	aspect-ratio: 4/5; border-radius: var(--radius-l, 24px);
	background:
		linear-gradient(135deg, rgba(47,170,102,0.2), transparent 50%),
		linear-gradient(135deg, var(--primary-shade-light, #43c47e), var(--primary-shade-dark, #1a6b3f));
}
.sg-features__list { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-m, 1.5rem); }
.sg-feature {
	background: var(--base-ultra-light, #fff);
	border: 1px solid var(--base-light, #eef0ee);
	border-radius: var(--radius-m, 16px);
	padding: var(--space-m, 1.4rem);
	display: flex; flex-direction: column; gap: 0.5rem;
	position: relative;
}
.sg-feature__num {
	position: absolute; top: 1rem; right: 1rem;
	color: var(--primary, #2faa66); font-weight: 700; font-size: 0.85rem; opacity: 0.7;
}
.sg-feature__title { margin: 0; font-size: 1.05rem; }
.sg-feature__text  { margin: 0; color: var(--neutral, #545b66); font-size: 0.92rem; }
@media (max-width: 900px) { .sg-features__inner { grid-template-columns: 1fr; } .sg-features__list { grid-template-columns: 1fr; } }

/* --- Stats / measurable success ---------------------------------------- */
.sg-stats__inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl, 3rem); align-items: center; }
.sg-stats__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-m, 1.5rem); margin-top: var(--space-m, 1.5rem); }
.sg-stat {
	background: var(--base-ultra-light, #fff); border: 1px solid var(--base-light, #eef0ee);
	border-radius: var(--radius-m, 16px); padding: var(--space-m, 1.4rem);
}
.sg-stat strong { display: block; font-size: 1.8rem; line-height: 1; color: var(--primary, #2faa66); }
.sg-stat span   { display: block; margin-top: 0.5rem; font-size: 0.9rem; color: var(--neutral, #545b66); }
.sg-stats__visual {
	aspect-ratio: 4/3; border-radius: var(--radius-l, 24px);
	background: linear-gradient(135deg, #4a8db5, #295272);
	position: relative; overflow: hidden;
}
.sg-stats__visual::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 70% 70%, rgba(255,255,255,0.25), transparent 45%); }
@media (max-width: 900px) { .sg-stats__inner { grid-template-columns: 1fr; } }

/* --- Process (dark) ----------------------------------------------------- */
.sg-process__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-l, 2rem); }
.sg-process-step { text-align: center; display: flex; flex-direction: column; gap: var(--space-s, 1rem); align-items: center; }
.sg-process-step__circle {
	width: 9rem; height: 9rem; border-radius: 999px;
	background: linear-gradient(135deg, var(--primary-shade-light, #43c47e), var(--primary, #2faa66));
	position: relative;
}
.sg-process-step__num {
	position: absolute; bottom: -0.6rem; right: -0.6rem;
	width: 2.4rem; height: 2.4rem; border-radius: 999px;
	background: var(--shade-darker, #0a0e15); color: #fff; font-weight: 700;
	display: grid; place-items: center; border: 3px solid #fff;
}
.sg-process-step__title { margin: 0; font-size: 1.1rem; color: #fff; }
.sg-process-step__text  { margin: 0; color: rgba(255,255,255,0.72); font-size: 0.92rem; max-width: 28ch; }
@media (max-width: 900px) { .sg-process__grid { grid-template-columns: 1fr; } }

/* --- FAQ ---------------------------------------------------------------- */
.sg-faq__inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-xl, 3rem); align-items: start; }
.sg-faq__list { display: flex; flex-direction: column; gap: 0.8rem; }
.sg-faq__item {
	background: var(--base-ultra-light, #fff);
	border: 1px solid var(--base-light, #e7e9e7);
	border-radius: var(--radius-m, 14px);
	padding: 1rem 1.2rem;
}
.sg-faq__question { font-weight: 600; cursor: pointer; list-style: none; display: flex; align-items: center; gap: 1rem; }
.sg-faq__question::after { content: "+"; margin-left: auto; color: var(--primary, #2faa66); font-weight: 800; font-size: 1.4rem; transition: transform 0.18s ease; }
.sg-faq__item[open] .sg-faq__question::after { transform: rotate(45deg); }
.sg-faq__answer { margin: 0.8rem 0 0; color: var(--neutral, #545b66); }
@media (max-width: 900px) { .sg-faq__inner { grid-template-columns: 1fr; } }

/* --- Testimonials ------------------------------------------------------- */
.sg-testimonial {
	background: var(--base-ultra-light, #fff); border: 1px solid var(--base-light, #eef0ee);
	border-radius: var(--radius-m, 16px); padding: var(--space-l, 2rem);
	display: flex; flex-direction: column; gap: var(--space-s, 1rem);
}
.sg-testimonial__stars { color: #f5b942; letter-spacing: 0.15em; }
.sg-testimonial__quote { margin: 0; font-size: 1.05rem; line-height: 1.6; }
.sg-testimonial__author { display: flex; gap: 0.8rem; align-items: center; margin-top: auto; }
.sg-testimonial__avatar {
	width: 3rem; height: 3rem; border-radius: 999px;
	background: linear-gradient(135deg, var(--primary-shade-light, #43c47e), var(--primary, #2faa66));
}
.sg-testimonial__name { font-weight: 700; }
.sg-testimonial__role { color: var(--neutral, #545b66); font-size: 0.85rem; }
.sg-testimonials__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-l, 2rem); }
@media (max-width: 800px) { .sg-testimonials__grid { grid-template-columns: 1fr; } }

/* --- Blog cards --------------------------------------------------------- */
.sg-post-card .sg-card__title a { color: inherit; text-decoration: none; }
.sg-post-card .sg-card__title a:hover { color: var(--primary, #2faa66); }
.sg-post-card .sg-card__media--alt-2 { background: linear-gradient(135deg, #d6a85b, #8b5e1f); }

/* --- CTA banner --------------------------------------------------------- */
.sg-cta-band {
	background: linear-gradient(135deg, var(--primary, #2faa66), var(--primary-shade-dark, #1a6b3f));
	color: #fff; border-radius: var(--radius-l, 24px);
	padding: clamp(2rem, 4vw, 3.5rem);
	display: grid; grid-template-columns: 1.4fr auto; gap: var(--space-l, 2rem); align-items: center;
}
.sg-cta-band__heading { margin: 0; font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); }
.sg-cta-band__text { margin: 0.5rem 0 0; opacity: 0.9; }
@media (max-width: 800px) { .sg-cta-band { grid-template-columns: 1fr; } }

/* --- Footer ------------------------------------------------------------- */
.sg-footer {
	background: var(--shade-darker, #07120c); color: rgba(255,255,255,0.78);
	padding-block: var(--section-space-m, 4.5rem) var(--space-l, 2rem);
}
.sg-footer a { color: inherit; text-decoration: none; }
.sg-footer a:hover { color: var(--primary-shade-light, #43c47e); }
.sg-footer__inner { max-width: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--space-m, 1.5rem); }
.sg-footer__top { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr) 1.6fr; gap: var(--space-l, 2rem); }
.sg-footer__brand-name { color: #fff; font-weight: 800; font-size: 1.3rem; display: inline-flex; gap: 0.4rem; align-items: center; }
.sg-footer__brand-mark { color: var(--primary, #2faa66); }
.sg-footer__tagline { margin: var(--space-s, 1rem) 0 0; max-width: 30ch; }
.sg-footer__social { display: flex; gap: 0.6rem; margin-top: var(--space-m, 1.5rem); }
.sg-footer__social a {
	width: 2.2rem; height: 2.2rem; border-radius: 999px;
	display: grid; place-items: center;
	background: rgba(255,255,255,0.08); color: #fff; font-size: 0.8rem;
}
.sg-footer__col-title { color: #fff; margin: 0 0 var(--space-s, 1rem); font-size: 1rem; font-weight: 700; }
.sg-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.sg-footer__newsletter h4 { color: #fff; margin: 0 0 var(--space-xs, 0.6rem); }
.sg-footer__newsletter p  { margin: 0 0 var(--space-s, 1rem); }
.sg-footer__form {
	display: flex; gap: 0.5rem; background: rgba(255,255,255,0.08); padding: 0.4rem; border-radius: 999px;
}
.sg-footer__form input { flex: 1; background: transparent; border: 0; color: #fff; padding: 0.6rem 0.8rem; font: inherit; }
.sg-footer__form input::placeholder { color: rgba(255,255,255,0.5); }
.sg-footer__form button { background: var(--primary, #2faa66); color: #fff; border: 0; padding: 0.6rem 1.1rem; border-radius: 999px; font-weight: 700; cursor: pointer; }
.sg-footer__bottom {
	margin-top: var(--space-xl, 3rem); padding-top: var(--space-m, 1.5rem);
	border-top: 1px solid rgba(255,255,255,0.1);
	display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-s, 1rem);
	font-size: 0.85rem;
}
@media (max-width: 1000px) { .sg-footer__top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px)  { .sg-footer__top { grid-template-columns: 1fr; } }
