/*!
Theme Name: GG Starter 26
Theme URI: http://underscores.me/
Author: Irshad Shaikh
Author URI: https://growwgenie.com/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: gg_starter_26
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Custom Properties
# Theme buttons (.btn-gg / .btn-outline-gg)
# Base overrides
	- Common
	- Breadcrumb
# Layout
	- Header
	- Footer
# WordPress core classes
	- Accessibility
	- Alignments
	- Media / Captions / Galleries
	- Navigation
	- Posts and pages
	- Widgets
	- Plugins (Jetpack, Gravity Forms)
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Custom Properties
# Prefixed --gg- to avoid clashing with Bootstrap's --bs-* vars.
# Only define what Bootstrap doesn't already provide.
--------------------------------------------------------------*/
:root {

	/* Brand colors — IEF blue (accent) + saffron (secondary accent) */
	--gg-accent: #0378C8;
	--gg-accent-dark: #0366A8;
	/* hover/active and blue text on light — passes contrast */
	--gg-accent-text: #ffffff;
	/* contrast color on accent bg — override if accent is light */
	--gg-accent-rgb: 3, 120, 200;
	/* RGB of --gg-accent — update alongside --gg-accent */
	--gg-accent-tint: #E8F3FC;
	--gg-sky: #4FB3F6;
	--gg-saffron: #FFB21E;
	--gg-saffron-dark: #F29A00;

	/* Site colors */
	--gg-ink: #0A1F44;
	--gg-ink-rgb: 10, 31, 68;
	--gg-text: #34425E;
	--gg-text-muted: #56657F;
	--gg-bg: #ffffff;
	--gg-bg-alt: #F7FAFE;
	--gg-border: #E4ECF6;
	--gg-border-strong: #C9D8EC;
	--gg-link: var(--gg-accent);
	--gg-link-hover: var(--gg-accent-dark);

	/* Dark sections (navy) — see .gg-dark-section */
	--gg-dark: #0A1F44;
	--gg-dark-alt: #12306B;
	--gg-dark-deep: #071634;
	--gg-dark-line: rgba(255, 255, 255, 0.14);
	--gg-on-dark: #ffffff;
	--gg-on-dark-text: #C9D6EE;
	--gg-on-dark-muted: #A9BDE0;

	/* Fonts — Bootstrap sets body font via --bs-body-font-family */
	--gg-font-body: 'DM Sans', 'Segoe UI', system-ui, sans-serif;
	--gg-font-heading: 'Sora', 'Segoe UI', system-ui, sans-serif;

	/* Radii */
	--gg-radius-sm: 8px;
	--gg-radius-md: 12px;
	--gg-radius-lg: 16px;
	--gg-radius-card: 20px;
	--gg-radius-pill: 50rem;

	/* Shadow — navy-tinted */
	--gg-shadow-card: 0 10px 24px -10px rgba(10, 31, 68, 0.4);

	/* Motion */
	--gg-ease: cubic-bezier(0.2, 0.7, 0.2, 1);

	/* Brand colors owned by other companies */
	--gg-whatsapp: #25D366;

	/* Logo */
	--gg-logo-height: 56px;
	--gg-logo-height-mob: 42px;
	--gg-logo-height-footer: 56px;

	/* Nav */
	--gg-dropdown-min-width: 14rem;

	/* Ink hover */
	--gg-ink-hover: #12306B;
}

/*--------------------------------------------------------------
# Theme button — .btn-gg / .btn-outline-gg
# Custom button classes tied to --gg-accent.
# Use these instead of btn-primary to keep Bootstrap's color
# system separate from the site accent color.
--------------------------------------------------------------*/
.btn-gg {
	--bs-btn-color: var(--gg-accent-text);
	--bs-btn-bg: var(--gg-accent);
	--bs-btn-border-color: var(--gg-accent);
	--bs-btn-hover-color: var(--gg-accent-text);
	--bs-btn-hover-bg: var(--gg-accent-dark);
	--bs-btn-hover-border-color: var(--gg-accent-dark);
	--bs-btn-active-color: var(--gg-accent-text);
	--bs-btn-active-bg: var(--gg-accent-dark);
	--bs-btn-active-border-color: var(--gg-accent-dark);
	--bs-btn-disabled-color: var(--gg-accent-text);
	--bs-btn-disabled-bg: var(--gg-accent);
	--bs-btn-disabled-border-color: var(--gg-accent);
	--bs-btn-focus-shadow-rgb: var(--gg-accent-rgb);
	--bs-btn-font-size: 0.97rem;
	--bs-btn-font-weight: 600;
	--bs-btn-padding-x: 1.5rem;
	--bs-btn-padding-y: 0.8rem;
	--bs-btn-border-radius: var(--gg-radius-md);
	box-shadow: 0 6px 16px rgba(var(--gg-accent-rgb), 0.25);
	transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.btn-gg:hover {
	transform: translateY(-1px);
}

a.btn-gg:link,
a.btn-gg:visited,
a.btn-gg:hover,
a.btn-gg:focus,
a.btn-gg:focus-visible,
a.btn-gg:active {
	color: var(--gg-accent-text);
	text-decoration: none;
}

.btn-outline-gg {
	--bs-btn-bg: transparent;
	--bs-btn-color: var(--gg-accent);
	--bs-btn-border-color: var(--gg-accent);
	--bs-btn-hover-color: var(--gg-accent-text);
	--bs-btn-hover-bg: var(--gg-accent);
	--bs-btn-hover-border-color: var(--gg-accent);
	--bs-btn-active-color: var(--gg-accent-text);
	--bs-btn-active-bg: var(--gg-accent);
	--bs-btn-active-border-color: var(--gg-accent);
	--bs-btn-disabled-color: var(--gg-accent);
	--bs-btn-disabled-border-color: var(--gg-accent);
	--bs-btn-focus-shadow-rgb: var(--gg-accent-rgb);
}

a.btn-outline-gg:link,
a.btn-outline-gg:visited {
	background-color: transparent;
	border-color: var(--gg-accent);
	color: var(--gg-accent);
	text-decoration: none;
}

a.btn-outline-gg:hover,
a.btn-outline-gg:focus-visible,
a.btn-outline-gg:active {
	background-color: var(--gg-accent);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
	text-decoration: none;
}

/* Saffron CTA — main call-to-action. Label, then .btn-gg-arrow. */
.btn-gg-saffron {
	--bs-btn-color: var(--gg-dark);
	--bs-btn-bg: var(--gg-saffron);
	--bs-btn-border-color: var(--gg-saffron);
	--bs-btn-hover-color: var(--gg-dark);
	--bs-btn-hover-bg: var(--gg-saffron);
	--bs-btn-hover-border-color: var(--gg-saffron);
	--bs-btn-active-color: var(--gg-dark);
	--bs-btn-active-bg: var(--gg-saffron);
	--bs-btn-active-border-color: var(--gg-saffron);
	--bs-btn-disabled-color: var(--gg-dark);
	--bs-btn-disabled-bg: var(--gg-saffron);
	--bs-btn-disabled-border-color: var(--gg-saffron);
	--bs-btn-font-family: var(--gg-font-heading);
	--bs-btn-font-size: clamp(1.0625rem, 0.95rem + 0.5vw, 1.375rem);
	--bs-btn-font-weight: 700;
	--bs-btn-padding-x: clamp(0.875rem, -0.8rem + 6vw, 2.75rem);
	--bs-btn-padding-y: clamp(0.875rem, 0.65rem + 0.9vw, 1.25rem);
	--bs-btn-border-radius: clamp(0.75rem, 0.5rem + 0.8vw, 1rem);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: clamp(0.625rem, 0.4rem + 0.7vw, 0.875rem);
	box-shadow: 0 14px 30px -8px color-mix(in srgb, var(--gg-saffron-dark) 55%, transparent), inset 0 -3px 0 rgba(var(--gg-ink-rgb), 0.08);
	transition: transform 0.2s, box-shadow 0.2s;
}

.btn-gg-saffron:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 36px -8px color-mix(in srgb, var(--gg-saffron-dark) 65%, transparent), inset 0 -3px 0 rgba(var(--gg-ink-rgb), 0.08);
}

/* Dark (navy) button */
.btn-gg-dark {
	--bs-btn-color: var(--gg-on-dark);
	--bs-btn-bg: var(--gg-dark);
	--bs-btn-border-color: var(--gg-dark);
	--bs-btn-hover-color: var(--gg-on-dark);
	--bs-btn-hover-bg: var(--gg-dark-alt);
	--bs-btn-hover-border-color: var(--gg-dark-alt);
	--bs-btn-active-color: var(--gg-on-dark);
	--bs-btn-active-bg: var(--gg-dark-alt);
	--bs-btn-active-border-color: var(--gg-dark-alt);
	--bs-btn-disabled-color: var(--gg-on-dark);
	--bs-btn-disabled-bg: var(--gg-dark);
	--bs-btn-disabled-border-color: var(--gg-dark);
	--bs-btn-font-size: 1.03rem;
	--bs-btn-font-weight: 600;
	--bs-btn-padding-x: 1.625rem;
	--bs-btn-padding-y: 1rem;
	--bs-btn-border-radius: var(--gg-radius-lg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.875rem;
	transition: transform 0.2s, background-color 0.2s;
}

.btn-gg-dark:hover {
	transform: translateY(-2px);
}

/* Arrow circle at the end of a CTA. Markup: <span class="btn-gg-arrow"><svg stroke="currentColor">…</svg></span> */
.btn-gg-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	inline-size: clamp(1.875rem, 1.7rem + 0.5vw, 2.25rem);
	block-size: clamp(1.875rem, 1.7rem + 0.5vw, 2.25rem);
	overflow: hidden;
	border-radius: 50%;
	background-color: var(--gg-dark);
	color: var(--gg-saffron);
}

.btn-gg-arrow svg {
	inline-size: 1rem;
	block-size: 1rem;
	animation: gg-nudge 1.4s ease-in-out infinite;
}

.btn-gg-dark .btn-gg-arrow {
	inline-size: auto;
	block-size: auto;
	background-color: transparent;
}

.btn-gg-dark .btn-gg-arrow svg {
	inline-size: 1.125rem;
	block-size: 1.125rem;
	animation: none;
	transition: transform 0.25s;
}

.btn-gg-dark:hover .btn-gg-arrow svg {
	transform: translateX(4px);
}

@keyframes gg-nudge {
	0%,
	100% {
		transform: translateX(-3px);
	}

	50% {
		transform: translateX(5px);
	}
}

/* Long / short label pair — short one shows on mobile */
.btn-gg-label-short {
	display: none;
}

@media (max-width: 767px) {
	.btn-gg-saffron {
		inline-size: 100%;
	}

	.btn-gg-dark {
		--bs-btn-font-size: 0.97rem;
		--bs-btn-padding-x: 1.125rem;
		text-align: center;
	}

	.btn-gg-label-long {
		display: none;
	}

	.btn-gg-label-short {
		display: inline;
	}
}

@media (prefers-reduced-motion: reduce) {
	.btn-gg-arrow svg {
		animation: none;
	}
}

.gg-search-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	--bs-btn-padding-x: 0.6rem;
	--bs-btn-padding-y: 0.6rem;
}

.gg-search-icon-btn .search-icon {
	inline-size: 1.25rem;
	block-size: 1.25rem;
	fill: currentColor;
}

/*--------------------------------------------------------------
# Accent gradient button — .gg-btn-accent
# Standalone (non-Bootstrap) CTA button using brand gradient.
--------------------------------------------------------------*/
.gg-btn-accent {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 1.5rem;
	background: linear-gradient(135deg, var(--gg-accent) 0%, var(--gg-accent-dark) 100%);
	color: var(--gg-accent-text);
	font-family: var(--gg-font-heading);
	font-weight: 500;
	border: none;
	border-radius: 5px;
	text-decoration: none;
	cursor: pointer;
	transition: filter 0.2s;
}

a.gg-btn-accent:hover,
a.gg-btn-accent:focus,
button.gg-btn-accent:hover,
button.gg-btn-accent:focus {
	color: var(--gg-accent-text);
	text-decoration: none;
	filter: brightness(0.9);
}

/*--------------------------------------------------------------
# Base overrides
# Bootstrap reboot is already loaded — only override what differs.
--------------------------------------------------------------*/
body {
	background-color: var(--gg-bg);
	color: var(--gg-text);
	font-family: var(--gg-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: var(--gg-font-heading);
	color: var(--gg-ink);
	font-weight: 800;
}

h2 {
	font-size: 1.8em;
}

h3 {
	font-size: 1.4em;
}

@media (min-width: 640px) {
	h2 {
		font-size: 2.2em;
	}
}

a {
	color: var(--gg-link);
	text-decoration: none;
}


:where(a:not(.wp-block-button__link):not(.btn)):hover,
:where(a:not(.wp-block-button__link):not(.btn)):focus {
	color: var(--gg-link-hover);
	text-decoration: underline;
}

pre {
	background: var(--gg-bg-alt);
	border: 1px solid var(--gg-border);
}

blockquote {
	border-inline-start: 4px solid var(--gg-accent);
	padding-inline-start: 1em;
	color: var(--bs-secondary-color);
}

img {
	height: auto;
	max-width: 100%;
}

embed,
iframe,
object {
	max-width: 100%;
}

/* Dark (navy) section wrapper — flips ink/text/border tokens inside it */
.gg-dark-section {
	--gg-ink: var(--gg-on-dark);
	--gg-text: var(--gg-on-dark-text);
	--gg-text-muted: var(--gg-on-dark-muted);
	--gg-border: var(--gg-dark-line);
	background-color: var(--gg-dark);
	color: var(--gg-text);
}

/* Shared section block padding — every non-banner section */
.gg-section {
	padding-block: clamp(3.5rem, 2.5rem + 4vw, 6rem);
}

/* Common
--------------------------------------------- */
.section-tag {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gg-accent-dark);
}

.gg-dark-section .section-tag {
	color: var(--gg-saffron);
}

.gg-has-dot::before {
	content: "";
	display: inline-block;
	inline-size: 0.7em;
	aspect-ratio: 1;
	margin-inline-end: 0.4em;
	border-radius: 50%;
	background-color: currentColor;
}

.section-heading {
	font-size: clamp(1.875rem, 3.6vw, 3.125rem);
	letter-spacing: -0.025em;
	line-height: 1.08;
	text-wrap: balance;
}

.section-heading span {
	color: var(--gg-accent);
}

.gg-headline {
	font-size: clamp(2.3rem, 4vw, 3.5rem);
	letter-spacing: -0.025em;
	line-height: 1.12;
	text-wrap: balance;
}

.section-sub-heading {
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--gg-text);
}

/* Hand-drawn underline under an accent word. Markup: <span class="gg-swash">Word</span> */
.gg-swash {
	position: relative;
	color: var(--gg-accent);
	white-space: nowrap;
}

.gg-swash::after {
	content: "";
	position: absolute;
	inset-inline-start: -1%;
	inset-block-end: -0.22em;
	inline-size: 102%;
	block-size: 0.32em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M4 14C80 4 200 2 296 10' stroke='%23FFB21E' stroke-width='7' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	animation: gg-draw 1s 0.3s ease-out both;
}

@keyframes gg-draw {
	from {
		clip-path: inset(0 100% 0 0);
	}

	to {
		clip-path: inset(0);
	}
}

/* Text link with an underline — .gg-link-quiet is the low-emphasis variant */
.gg-link {
	padding-block-end: 2px;
	border-block-end: 2px solid var(--gg-saffron);
	font-weight: 700;
	color: var(--gg-ink);
	text-decoration: none;
}

.gg-link:hover {
	color: var(--gg-accent-dark);
	text-decoration: none;
}

.gg-link-quiet {
	padding-block: 0.375rem 1px;
	border-block-end: 1px dashed color-mix(in srgb, var(--gg-text-muted) 55%, transparent);
	font-size: 0.9375rem;
	font-weight: 400;
	color: var(--gg-text-muted);
}

/* Pill label — sections add their own hook for colours and position */
.gg-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.375rem 0.75rem;
	border: 1px solid var(--gg-border);
	border-radius: var(--gg-radius-pill);
	background-color: transparent;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--gg-ink);
}

.feature-card {
	block-size: 100%;
	padding: 1.5rem;
	background-color: var(--gg-bg);
	border-radius: var(--gg-radius-md);
	border: 1px solid var(--gg-border);
	box-shadow: var(--gg-shadow-card);
}

.feature-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	inline-size: 3rem;
	block-size: 3rem;
	margin-block-end: 0.7rem;
	border: 1px solid var(--gg-border);
	border-radius: 0.875rem;
	background-color: var(--gg-bg);
	color: var(--gg-accent);
}

.feature-card-icon svg {
	flex: none;
	inline-size: 1.5rem;
	block-size: 1.5rem;
}

.feature-card-title {
	margin-block: 0 0.5rem;
	font-family: var(--gg-font-heading);
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.2;
	color: var(--gg-ink);
}

.feature-card-text {
	margin: 0;
	color: var(--gg-text);
}

.feature-card> :last-child {
	margin-block-end: 0;
}

.gg-item-card {
	display: flex;
	flex-direction: column;
	block-size: 100%;
	background-color: var(--gg-bg);
	border-radius: var(--gg-radius-md);
	border: 1px solid var(--gg-border);
	box-shadow: var(--gg-shadow-card);
	overflow: hidden;
}

.gg-item-card-img {
	display: block;
}

.gg-item-card-img img {
	display: block;
	inline-size: 100%;
	object-fit: cover;
}

.gg-item-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.25rem;
}

.gg-item-card-title {
	margin-block: 0 0.35rem;
	font-family: var(--gg-font-heading);
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.2;
	color: var(--gg-ink);
}

.gg-item-card-text {
	margin-block: 0 1rem;
	color: var(--gg-text);
}

.gg-item-card-link {
	margin-block-start: auto;
	font-family: var(--gg-font-heading);
	font-weight: bold;
	color: var(--gg-link);
}

.gg-item-card-link::after {
	content: "\2192";
	margin-inline-start: 0.35em;
}

.gg-item-card-body> :last-child {
	margin-block-end: 0;
}

.gg-accordion {
	--bs-accordion-border-width: 0;
	--bs-accordion-border-radius: 0;
	--bs-accordion-inner-border-radius: 0;
	--bs-accordion-bg: transparent;
	--bs-accordion-active-bg: transparent;
	--bs-accordion-active-color: var(--gg-ink);
	--bs-accordion-btn-focus-box-shadow: none;
	--bs-accordion-btn-icon: none;
	--bs-accordion-btn-active-icon: none;
	--bs-accordion-btn-icon-transform: none;
	border-block-start: 1px solid var(--gg-border);
}

.gg-accordion-item {
	border-block-end: 1px solid var(--gg-border);
}

.gg-accordion-button {
	padding-inline: 0;
	font-family: var(--gg-font-heading);
	font-weight: bold;
	color: var(--gg-ink);
}

.gg-accordion-button::after {
	content: "2";
	inline-size: auto;
	block-size: auto;
	margin-inline-start: auto;
	background-image: none;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1;
	color: var(--bs-secondary-color);
}

.gg-accordion-button.collapsed::after {
	content: "+";
}

.gg-accordion-body {
	padding-inline: 0;
	color: var(--gg-text);
}

@media (max-width: 767px) {
	.gg-headline {
		line-height: 1.14;
	}

	.gg-swash {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gg-swash::after {
		animation: none;
	}
}

/* Breadcrumb
--------------------------------------------- */
.gg-breadcrumb {
	padding-block-start: 0;
}

.gg-breadcrumb .breadcrumb {
	margin-block-end: 1rem;
	flex-wrap: nowrap;
}

.gg-breadcrumb .breadcrumb-item:not(.active) {
	flex-shrink: 0;
	white-space: nowrap;
}

.gg-breadcrumb .breadcrumb-item.active {
	flex-shrink: 1;
	min-inline-size: 6ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/

/* Header
--------------------------------------------- */
.site-strip-inner {
	min-block-size: 2.5rem;
	padding-block: 0.375rem;
	font-size: clamp(0.75rem, 0.6rem + 0.5vw, 0.875rem);
}

.site-strip-live {
	display: inline-flex;
	align-items: center;
	gap: clamp(0.5rem, 0.4rem + 0.3vw, 0.625rem);
	color: var(--gg-saffron);
	font-size: clamp(0.656rem, 0.55rem + 0.35vw, 0.78rem);
	font-weight: 700;
	letter-spacing: 0.12em;
}

.site-strip-beacon {
	position: relative;
	flex: none;
	inline-size: clamp(0.5rem, 0.4rem + 0.3vw, 0.625rem);
	block-size: clamp(0.5rem, 0.4rem + 0.3vw, 0.625rem);
	border-radius: 50%;
	background-color: var(--gg-saffron);
	animation: gg-beat 1.6s ease-in-out infinite;
}

.site-strip-beacon::before,
.site-strip-beacon::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-color: var(--gg-saffron);
	opacity: 0;
	animation: gg-ping 1.6s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.site-strip-beacon::after {
	animation-delay: 0.8s;
}

@keyframes gg-ping {
	0% {
		transform: scale(1);
		opacity: 0.75;
	}

	100% {
		transform: scale(3.4);
		opacity: 0;
	}
}

@keyframes gg-beat {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.25);
	}
}

.site-strip-sep {
	opacity: 0.45;
}

.site-strip-link,
.site-strip-link:hover {
	color: var(--gg-on-dark);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--gg-saffron);
	text-underline-offset: 3px;
}

.site-header {
	--bs-border-color: var(--gg-border);
	position: relative;
	z-index: var(--bs-zindex-sticky);
	font-family: var(--gg-font-body);
}

.site-header .navbar {
	min-block-size: clamp(4rem, 3rem + 2.8vw, 5rem);
}


.site-header .navbar-brand,
.site-header .site-title a {
	color: var(--gg-text);
	text-decoration: none;
}

.site-header .navbar-brand:hover,
.site-header .site-title a:hover,
.site-header .nav-link:hover,
.site-header .nav-link:focus,
.site-header .nav-item.active>.nav-link {
	color: var(--gg-accent);
}

.site-header .custom-logo-link img {
	max-height: var(--gg-logo-height);
	width: auto;
}

@media (max-width: 767px) {
	.site-header .custom-logo-link img {
		max-height: var(--gg-logo-height-mob);
	}
}

.site-branding {
	flex: none;
}

.site-branding-name,
.site-branding-name:hover {
	max-inline-size: 9.5em;
	color: var(--gg-ink);
	font-family: var(--gg-font-heading);
	font-size: clamp(0.72rem, 0.55rem + 0.6vw, 0.94rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.15;
	text-decoration: none;
	text-transform: uppercase;
	text-wrap: balance;
}

.site-header-cta {
	--bs-btn-font-size: clamp(0.84rem, 0.78rem + 0.2vw, 0.97rem);
	--bs-btn-padding-x: clamp(0.875rem, 0.3rem + 1.8vw, 1.5rem);
	--bs-btn-padding-y: clamp(0.6rem, 0.5rem + 0.3vw, 0.8rem);
	--bs-btn-border-radius: clamp(0.625rem, 0.5rem + 0.4vw, 0.75rem);
	order: 2;
	margin-inline-start: auto;
	white-space: nowrap;
}

.site-header .navbar-nav {
	--bs-nav-link-padding-x: 0;
	--bs-navbar-nav-link-padding-x: 0;
	--bs-nav-link-font-weight: 500;
	gap: 2.5rem;
}

.site-header .nav-link {
	color: var(--gg-ink);
}

.site-header .navbar-toggler {
	--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A1F44' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
	inline-size: 2.75rem;
	block-size: 2.75rem;
	padding: 0;
	border-color: var(--gg-border-strong);
	border-radius: 0.625rem;
}

.site-header .dropdown-menu {
	--bs-dropdown-min-width: var(--gg-dropdown-min-width);
	border-color: var(--gg-border);
}

.site-header .dropdown-item {
	white-space: normal;
	word-break: break-word;
}

.site-header a.dropdown-item:hover,
.site-header a.dropdown-item:focus,
.site-header .dropdown-menu li.active>a.dropdown-item {
	color: var(--gg-accent);
	background-color: var(--gg-bg-alt);
}

/* Desktop — nested submenu opens to the right */
.site-header .dropdown-submenu {
	position: relative;
}

.site-header .dropdown-submenu>.dropdown-menu {
	top: 0;
	left: 100%;
	margin-top: -2px;
}

/* Mobile offcanvas — dropdowns expand inline, not as floating overlays */
.offcanvas .dropdown-menu {
	position: static;
	box-shadow: none;
	border: none;
	border-radius: 0;
	padding-left: 1rem;
}

/* Admin bar — offset offcanvas and any fixed elements when WP admin bar is visible */
.admin-bar .offcanvas {
	top: var(--wp-admin--admin-bar--height, 32px);
}

/* Header search */
.navbar>.container-xl {
	position: relative;
}

.gg-header-search {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.navbar.gg-search-open .gg-header-search {
	position: absolute;
	inset: 0;
	z-index: 2;
	background-color: var(--gg-bg-alt);
	border-radius: var(--gg-radius-md);
}

.gg-header-search-form {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	inline-size: 0;
	overflow: hidden;
	opacity: 0;
}

.navbar.gg-search-open .gg-header-search-form {
	inline-size: 28rem;
	padding: var(--bs-focus-ring-width, 0.25rem);
	opacity: 1;
	margin-inline-end: 0.5rem;
}

.navbar.gg-search-open .gg-header-search-toggle {
	display: none;
}

.gg-header-search-input {
	inline-size: 100%;
}

.navbar.gg-search-open .offcanvas,
.navbar.gg-search-open .navbar-toggler {
	pointer-events: none;
}

.site-header .navbar>.container-xl {
	justify-content: flex-start;
	gap: clamp(0.625rem, 0.2rem + 1.4vw, 1.5rem);
}

.site-header .offcanvas {
	order: 1;
}

.site-header .navbar-toggler {
	order: 3;
}

.gg-header-search {
	order: 2;
	margin-inline-start: 1rem;
}

@media (min-width: 768px) {
	.navbar.gg-search-open .site-branding {
		position: relative;
		z-index: 3;
	}
}

@media (max-width: 767px) {
	.site-strip-inner {
		white-space: nowrap;
	}

	.site-header .navbar>.container-xl {
		flex-wrap: nowrap;
	}

	.site-header-cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-block-size: 2.75rem;
		line-height: 1.2;
		text-align: center;
		white-space: normal;
		box-shadow: none;
	}

	.site-header .navbar-nav {
		gap: 0;
	}

	.site-header .offcanvas .nav-link {
		padding-block: 0.875rem;
		border-block-end: 1px solid var(--gg-border);
		font-weight: 600;
	}
}

@media (prefers-reduced-motion: reduce) {

	.site-strip-beacon,
	.site-strip-beacon::before,
	.site-strip-beacon::after {
		animation: none;
	}
}

/* Footer
--------------------------------------------- */
.site-footer {
	background-color: var(--gg-dark-deep);
	font-size: 0.9375rem;
}

.footer-cta {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2.25rem, 2rem + 1vw, 2.75rem);
	background-color: var(--gg-accent);
	color: var(--gg-accent-text);
}

.footer-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(color-mix(in srgb, var(--gg-on-dark) 12%, transparent) 1px, transparent 1.2px);
	background-size: 20px 20px;
	pointer-events: none;
}

.footer-cta-inner {
	position: relative;
}

.footer-cta-title {
	margin: 0;
	font-size: clamp(1.5rem, 2.6vw, 2.125rem);
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.footer-cta-text {
	margin-block-start: 0.5rem;
	font-size: 1.03rem;
	color: var(--gg-accent-tint);
}

.footer-main {
	padding-block-start: clamp(3.25rem, 2.4rem + 3.6vw, 4.5rem);
}

.footer-brand {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.footer-logo-wrap {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.footer-logo-wrap img {
	max-block-size: clamp(2.625rem, 2.2rem + 1.7vw, var(--gg-logo-height-footer));
	inline-size: auto;
	padding: 3px;
	border-radius: 50%;
	background-color: var(--gg-bg);
}

.footer-brand-name,
.footer-brand-name:hover {
	color: var(--gg-on-dark);
}

.footer-about {
	max-inline-size: 42ch;
	line-height: 1.65;
	color: var(--gg-on-dark-muted);
}

.footer-contact {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	margin: 0;
	font-style: normal;
	line-height: 1.55;
}

.footer-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
}

.footer-contact-item svg {
	flex: none;
	inline-size: 1.125rem;
	block-size: 1.125rem;
	margin-block-start: 0.1875rem;
	color: var(--gg-saffron);
}

.footer-contact-item a {
	color: var(--gg-on-dark);
	font-weight: 600;
}

.footer-contact-item a:hover {
	color: var(--gg-saffron);
	text-decoration: none;
}

.footer-social {
	display: flex;
	gap: 0.625rem;
	margin-block-start: 0.25rem;
}

.footer-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	border: 1px solid color-mix(in srgb, var(--gg-on-dark) 18%, transparent);
	border-radius: 50%;
	color: var(--gg-on-dark);
	transition: background-color 0.25s, border-color 0.25s, transform 0.25s;
}

.footer-social-link:hover {
	border-color: var(--gg-accent);
	background-color: var(--gg-accent);
	color: var(--gg-accent-text);
	text-decoration: none;
	transform: translateY(-2px);
}

.footer-social-link svg {
	inline-size: 1.125rem;
	block-size: 1.125rem;
}

.footer-heading {
	margin-block-end: 0.875rem;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.footer-list {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-list a {
	display: inline-block;
	padding-block: 0.3125rem;
	color: var(--gg-on-dark-text);
	transition: color 0.2s;
}

.footer-list a:hover {
	color: var(--gg-saffron);
	text-decoration: none;
}

.footer-stats {
	margin-block-start: clamp(2.5rem, 2rem + 2vw, 3.25rem);
	padding-block: 1.375rem;
	border-block: 1px solid var(--gg-dark-line);
	font-size: 0.9rem;
}

.footer-stats strong {
	color: var(--gg-on-dark);
	font-family: var(--gg-font-heading);
}

.footer-bottom {
	padding-block: 1.5rem 1.75rem;
	font-size: 0.84rem;
	color: var(--gg-on-dark-muted);
}

.footer-bottom a {
	color: var(--gg-on-dark-muted);
}

.footer-bottom a:hover {
	color: var(--gg-on-dark);
	text-decoration: none;
}

.footer-note {
	margin-block-start: 0.875rem;
	font-size: 0.78rem;
	line-height: 1.6;
}

@media (max-width: 767px) {
	.footer-cta-action {
		flex: 1 1 100%;
	}

}

/*--------------------------------------------------------------
# WordPress core classes
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--gg-bg-alt);
	border-radius: var(--bs-border-radius-sm);
	box-shadow: var(--bs-box-shadow);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	inset-inline-start: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 500;
}

#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5rem;
	margin-bottom: 1.5rem;
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5rem;
}

/* Media / Captions / Galleries
--------------------------------------------- */
.custom-logo-link {
	display: inline-block;
}

.wp-caption {
	margin-bottom: 1.5rem;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text,
.wp-caption-text {
	margin: 0.8em 0;
	text-align: center;
}

.gallery {
	display: grid;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/* Entry footer — categories, tags
--------------------------------------------- */
.entry-footer .cat-links,
.entry-footer .tags-links {
	display: inline-block;
	margin-inline-end: 1rem;
}

/* Single post content
--------------------------------------------- */
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-block-start: 2rem;
	margin-block-end: 0.75rem;
}

.entry-content ul,
.entry-content ol {
	padding-inline-start: 1.5rem;
	margin-bottom: 1.25rem;
}

.entry-content li {
	margin-block-end: 0.35rem;
}

.entry-content a {
	text-decoration: underline;
}

.entry-content img {
	margin-block: 1rem;
}

/* Pagination — the_posts_pagination()
--------------------------------------------- */
.pagination {
	display: flex;
	gap: 0.25rem;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.5rem;
	border: 1px solid var(--gg-border);
	border-radius: var(--bs-border-radius);
	color: var(--gg-text);
	text-decoration: none;
	font-size: 0.875rem;
}

a.page-numbers:hover {
	background-color: var(--gg-bg-alt);
	border-color: var(--gg-accent);
	color: var(--gg-accent);
	text-decoration: none;
}

.page-numbers.current {
	background-color: var(--gg-accent);
	border-color: var(--gg-accent);
	color: var(--gg-accent-text);
}

.page-numbers.dots {
	border-color: transparent;
}

/* Navigation
--------------------------------------------- */
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5rem;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Blog listing — post cards (home, archive, search)
--------------------------------------------- */
.gg-post-card {
	border: 1px solid var(--gg-border);
}

.gg-post-card-media {
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--gg-bg-alt);
}

.gg-post-card-media img {
	block-size: 100%;
}

.gg-post-card-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin-block-end: 0.5rem;
	font-size: 0.85rem;
	color: var(--gg-text);
}

.gg-post-card-cat a {
	color: var(--gg-accent);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.gg-post-card-cat a:hover {
	text-decoration: underline;
}

.gg-post-card-sep {
	color: var(--gg-border);
}

.gg-post-card-title {
	margin-block-end: 0.5rem;
	line-height: 1.3;
}

.gg-post-card-title a {
	color: var(--gg-ink);
	text-decoration: none;
}

.gg-post-card-title a:hover {
	color: var(--gg-accent);
}

.gg-post-card-more {
	font-weight: 600;
	text-decoration: none;
}

.gg-post-card-more:hover {
	text-decoration: underline;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5rem 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5rem;
}

.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5rem;
}

.widget select {
	max-width: 100%;
}

.gg-sidebar h2 {
	font-size: 1.25rem;
}

/* Comments
--------------------------------------------- */
.comment-list .comment,
.comment-list .pingback {
	padding: 1.25rem 0;
	border-top: 1px solid var(--gg-border);
}

.comment-list .children {
	list-style: none;
	padding-inline-start: 2rem;
}

.comment-author {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-block-end: 0.4rem;
}

.comment-author img {
	border-radius: 50%;
	width: 36px;
	height: 36px;
}

.comment-author .fn {
	font-weight: 600;
}

.comment-meta {
	font-size: 0.8rem;
	color: var(--bs-secondary-color);
	margin-block-end: 0.5rem;
}

.comment-meta a {
	color: var(--bs-secondary-color);
}

.reply a {
	font-size: 0.8rem;
}

.gg-comment-form .comment-notes {
	font-size: 0.875rem;
	color: var(--bs-secondary-color);
	margin-block-end: 1rem;
}

.gg-comment-form .form-submit {
	margin-block-start: 0.5rem;
}

/* Plugins — Jetpack infinite scroll
--------------------------------------------- */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

.infinity-end.neverending .site-footer {
	display: block;
}

/* Plugins — Gravity Forms
--------------------------------------------- */
.gform_required_legend {
	display: none;
}

.gg-form {
	color: var(--gg-ink);
}

.gg-form .gform_description:empty {
	margin: 0;
}

.gg-form .gform-theme.gform-theme--framework.gform_wrapper {
	--gf-form-gap-y: 1rem;

	--gf-ctrl-bg-color: var(--gg-bg);
	--gf-ctrl-color: var(--gg-ink-hover);
	--gf-ctrl-border-color: var(--gg-border);
	--gf-ctrl-border-color-focus: var(--gg-accent);
	--gf-ctrl-radius: var(--gg-radius-md);
	--gf-ctrl-outline-color-focus: rgba(var(--gg-accent-rgb), 0.65);
	--gf-ctrl-textarea-height: 4rem;

	--gf-ctrl-btn-bg-color-primary: var(--gg-accent);
	--gf-ctrl-btn-bg-color-hover-primary: var(--gg-accent-dark);
	--gf-ctrl-btn-border-color-primary: var(--gg-accent);
	--gf-ctrl-btn-border-color-hover-primary: var(--gg-accent-dark);
	--gf-ctrl-btn-radius: var(--bs-border-radius-pill);
	--gf-ctrl-btn-font-size-md: 1.15rem;
	--gf-ctrl-btn-padding-x-md: 1.25rem;
	--gf-ctrl-btn-padding-y: 0.5rem;
	--gf-ctrl-btn-size-md: 2.85rem;

	--gf-label-space-primary: 4px;

	--gf-ctrl-label-font-size-primary: 0.875rem;
}

.gg-form .gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button--secondary.button {
	font-weight: 400;
}

.gg-form .gform-theme--framework ::placeholder {
	color: var(--bs-secondary-color);
}

.gg-form select:has(option.gf_placeholder:checked) {
	color: var(--bs-secondary-color);
}

.gg-form option.gf_placeholder {
	color: var(--bs-secondary-color);
}

.gg-form.gg-no-labels .gfield:not(.gfield--type-checkbox):not(.gfield--type-radio)>.gfield_label {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.gg-form .gform-theme--foundation .gfield textarea.small {
	min-block-size: var(--gf-ctrl-textarea-height);
}

/* Homepage start */
.home-banner {
	position: relative;
	overflow: hidden;
}

.home-banner-bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 0% 40%, color-mix(in srgb, var(--gg-sky) 40%, transparent), transparent 32%),
		radial-gradient(circle at 100% 62%, color-mix(in srgb, var(--gg-saffron) 30%, transparent), transparent 28%);
	pointer-events: none;
}

.home-banner-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(var(--gg-accent-rgb), 0.16) 1.2px, transparent 1.3px);
	background-size: 22px 22px;
	-webkit-mask-image: radial-gradient(ellipse 60% 70% at 50% 40%, transparent 35%, var(--gg-dark) 80%);
	mask-image: radial-gradient(ellipse 60% 70% at 50% 40%, transparent 35%, var(--gg-dark) 80%);
}

.home-banner-bg svg {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	fill: none;
	stroke-dasharray: 2 9;
	stroke-linecap: round;
	stroke-width: 2;
}

.home-banner-inner {
	position: relative;
	padding-block: clamp(2.25rem, 2rem + 1vw, 2.5rem);
}

.home-banner .gg-headline > span:not(.gg-swash) {
	display: block;
	margin-block-start: clamp(0.28em, 0.62em - 0.9vw, 0.5em);
	font-size: 0.78em;
	font-weight: 700;
	color: var(--gg-dark-alt);
}

.home-banner .gg-headline > span:not(.gg-swash) span {
	position: relative;
	z-index: 0;
	display: inline-block;
	padding-inline: 0.22em;
	margin-inline-start: 0.08em;
	white-space: nowrap;
}

.home-banner .gg-headline > span:not(.gg-swash) span::before {
	content: "";
	position: absolute;
	inset: 12% 0 4%;
	z-index: -1;
	border-radius: 0.2em;
	background-color: var(--gg-saffron);
	transform: rotate(-1.2deg);
}

.home-banner-media {
	--home-banner-media-ring: clamp(0.25rem, 0.15rem + 0.4vw, 0.375rem);
	position: relative;
	inline-size: min(44rem, 100%);
	margin-block-start: 2rem;
	overflow: hidden;
	border-radius: clamp(1rem, 0.7rem + 1.2vw, 1.375rem);
	background-color: var(--gg-dark-deep);
	box-shadow:
		0 1.5rem 3rem -1.125rem rgba(var(--gg-ink-rgb), 0.45),
		0 0 0 var(--home-banner-media-ring) var(--gg-bg),
		0 0 0 calc(var(--home-banner-media-ring) + 1px) var(--gg-border);
}

.home-banner-ctas {
	margin-block-start: 2.125rem;
}

.home-stats {
	padding-block: clamp(2rem, 1.6rem + 1.7vw, 2.75rem);
}

.home-stats-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.375rem;
	padding: 0.25rem clamp(0.25rem, -0.4rem + 2vw, 0.75rem);
	text-align: center;
}

.home-stats .col + .col .home-stats-item {
	border-inline-start: 1px solid var(--gg-dark-line);
}

.home-stats-num {
	font-family: var(--gg-font-heading);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.1;
	color: var(--gg-on-dark);
}

.home-stats-num span {
	color: var(--gg-saffron);
}

.home-stats-label {
	font-size: clamp(0.84rem, 0.78rem + 0.3vw, 0.97rem);
	font-weight: 600;
	letter-spacing: 0.07em;
	line-height: 1.35;
	text-transform: uppercase;
	color: var(--gg-on-dark-muted);
}

.home-stats-rating {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.9375rem;
	font-weight: 600;
}

.home-stats-rating svg {
	flex: none;
	inline-size: 1rem;
	block-size: 1rem;
}

.home-results {
	background-color: var(--gg-bg-alt);
}

.home-results-head {
	margin-block-end: clamp(1.5rem, 1rem + 2vw, 2.5rem);
}

.home-results .section-heading span {
	position: relative;
	isolation: isolate;
	color: inherit;
	white-space: nowrap;
}

.home-results .section-heading span::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0.04em;
	z-index: -1;
	block-size: 0.22em;
	border-radius: 4px;
	background-color: var(--gg-saffron);
	opacity: 0.55;
}

.home-results-cards .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1.375rem;
}

.home-results-card {
	border-radius: var(--gg-radius-card);
	box-shadow: none;
	transition: transform 0.35s var(--gg-ease), box-shadow 0.35s;
}

.home-results-img {
	position: relative;
	aspect-ratio: 4 / 3.4;
	overflow: hidden;
	background: linear-gradient(150deg, var(--gg-dark-alt), var(--gg-accent));
}

.home-results-img img {
	position: absolute;
	inset: 0;
	block-size: 100%;
	object-position: 50% 25%;
	transition: transform 0.6s var(--gg-ease);
}

.home-results-chip {
	position: absolute;
	inset-block-start: 0.875rem;
	inset-inline-start: 0.875rem;
	z-index: 1;
	padding: 0.375rem 0.6875rem;
	border-color: transparent;
	background-color: color-mix(in srgb, var(--gg-bg) 95%, transparent);
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--gg-dark);
}

.home-results-chip::before {
	content: "";
	flex: none;
	inline-size: 0.4375rem;
	block-size: 0.4375rem;
	border-radius: 50%;
	background-color: var(--gg-saffron);
}

.home-results-card-body {
	gap: 0.375rem;
	padding: 1.25rem 1.25rem 1.375rem;
}

.home-results-card .gg-item-card-title {
	margin: 0;
	font-size: 1.1875rem;
	letter-spacing: -0.01em;
}

.home-results-card .gg-item-card-text {
	margin: 0;
	font-size: 0.906rem;
	color: var(--gg-text-muted);
}

.home-results-stat {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	inline-size: 100%;
	min-block-size: 3.25rem;
	margin-block: 0.625rem 0.375rem;
	padding-block-end: 0.875rem;
	border-block-end: 2px dashed var(--gg-border-strong);
}

.home-results-num {
	font-family: var(--gg-font-heading);
	font-size: 2.875rem;
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--gg-accent);
}

.home-results-num span {
	color: var(--gg-saffron-dark);
}

.home-results-unit {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
}

.home-results-card .gg-item-card-link {
	padding-block-start: 0.625rem;
	font-family: var(--gg-font-body);
	font-size: 0.906rem;
	color: var(--gg-ink);
}

.home-results-card .gg-item-card-link::after {
	display: inline-block;
	transition: transform 0.25s;
}

.home-results-card .gg-item-card-link:hover {
	color: var(--gg-accent-dark);
	text-decoration: none;
}

.home-results-card .gg-item-card-link:hover::after {
	transform: translateX(4px);
}

.home-results-card:hover {
	box-shadow: 0 26px 44px -22px rgba(var(--gg-ink-rgb), 0.4);
	transform: translateY(-8px);
}

.home-results-card:hover .home-results-img img {
	transform: scale(1.07);
}

.home-results-dots {
	display: none;
	justify-content: center;
	gap: 0.5rem;
	margin-block-start: 0.375rem;
}

.home-results-dots span {
	inline-size: 0.5rem;
	block-size: 0.5rem;
	border-radius: var(--gg-radius-pill);
	background-color: var(--gg-border-strong);
	transition: inline-size 0.3s, background-color 0.3s;
}

.home-results-dots span.is-active {
	inline-size: 1.375rem;
	background-color: var(--gg-accent);
}

.home-results-cta {
	margin-block-start: clamp(1.75rem, 1rem + 3vw, 3rem);
}

.home-about .section-sub-heading {
	max-inline-size: 60ch;
}

.home-about-backed {
	position: relative;
	display: inline-block;
	padding: 0.5625rem 0.875rem 0.5625rem 2.125rem;
	border: 1px solid var(--gg-border);
	border-radius: var(--gg-radius-pill);
	background-color: var(--gg-bg-alt);
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--gg-text-muted);
}

.home-about-backed::before {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 0.875rem;
	inline-size: 0.5rem;
	block-size: 0.5rem;
	border-radius: 50%;
	background-color: var(--gg-accent);
	transform: translateY(-50%);
}

.home-about-backed strong {
	color: var(--gg-ink);
}

.home-about-motto {
	position: relative;
	margin-block: clamp(2.25rem, 1.5rem + 3vw, 3rem) clamp(2.25rem, 1.2rem + 4vw, 3.5rem);
	padding: clamp(2rem, 1.2rem + 3vw, 2.75rem) clamp(1.25rem, 0.3rem + 4vw, 3rem) clamp(1.75rem, 1.2rem + 2.5vw, 2.5rem);
	overflow: hidden;
	border: 1px solid var(--gg-border);
	border-radius: clamp(1.25rem, 1rem + 1vw, 1.5rem);
	background: linear-gradient(120deg, var(--gg-accent-tint), color-mix(in srgb, var(--gg-saffron) 10%, var(--gg-bg)));
	text-align: center;
}

.home-about-motto::before {
	content: "\201C";
	position: absolute;
	inset-block-start: -1.5rem;
	inset-inline-start: clamp(0.625rem, 0.2rem + 1.8vw, 1.75rem);
	font-family: var(--gg-font-heading);
	font-size: clamp(8.75rem, 6rem + 9vw, 12.5rem);
	font-weight: 800;
	line-height: 1;
	color: var(--gg-accent);
	opacity: 0.12;
}

.home-about-motto-quote {
	position: relative;
	isolation: isolate;
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--gg-font-heading);
	font-size: clamp(2rem, 4.6vw, 4rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.08;
	color: var(--gg-ink);
	text-wrap: balance;
}

.home-about-motto-quote span {
	position: relative;
	color: var(--gg-accent);
	white-space: nowrap;
}

.home-about-motto-quote span::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0.02em;
	z-index: -1;
	block-size: 0.16em;
	border-radius: 6px;
	background-color: var(--gg-saffron);
	opacity: 0.85;
}

.home-about-motto-by {
	position: relative;
	margin-block-start: 1rem;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gg-text-muted);
}

.home-about-pillar {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.875rem 1.75rem 1.625rem;
	overflow: hidden;
	border-radius: var(--gg-radius-card);
	background-color: var(--gg-bg-alt);
	box-shadow: none;
	transition: transform 0.35s var(--gg-ease), box-shadow 0.35s, background-color 0.35s;
}

.home-about-pillar::before {
	content: attr(data-num);
	position: absolute;
	inset-block-start: 1rem;
	inset-inline-end: 1.375rem;
	font-family: var(--gg-font-heading);
	font-size: clamp(2.75rem, 2.4rem + 1.2vw, 3.375rem);
	font-weight: 800;
	line-height: 1;
	color: rgba(var(--gg-accent-rgb), 0.07);
}

.home-about-pillar .feature-card-icon {
	margin: 0;
}

.home-about-pillar .feature-card-title {
	margin-block: 0.375rem 0;
	font-size: 1.3125rem;
	letter-spacing: -0.01em;
}

.home-about-pillar .feature-card-text {
	line-height: 1.6;
}

.home-about-pillar-proof {
	margin-block-start: auto;
	padding-block-start: 0.875rem;
	border-block-start: 1px dashed var(--gg-border-strong);
	font-size: 0.906rem;
	font-weight: 700;
	color: var(--gg-accent-dark);
}

.home-about-pillar:hover {
	background-color: var(--gg-bg);
	box-shadow: 0 24px 40px -22px rgba(var(--gg-ink-rgb), 0.35);
	transform: translateY(-6px);
}

.home-network {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2.5rem, 1.9rem + 2.6vw, 3.5rem);
}

.home-network::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(color-mix(in srgb, var(--gg-on-dark) 8%, transparent) 1px, transparent 1.2px);
	background-size: 20px 20px;
	pointer-events: none;
}

.home-network .container-xl {
	position: relative;
}

.home-network-figure {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-block-start: 0.875rem;
}

.home-network-num {
	padding-block-start: 0.04em;
	font-family: var(--gg-font-heading);
	font-size: clamp(4.5rem, 3.8rem + 3vw, 5.25rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 0.74;
	color: var(--gg-on-dark);
}

.home-network-unit {
	font-family: var(--gg-font-heading);
	font-size: clamp(1.5rem, 1.3rem + 0.9vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.08;
	color: var(--gg-on-dark);
}

.home-network-text {
	margin-block-start: 0.75rem;
	font-size: 0.97rem;
	line-height: 1.6;
	color: var(--gg-on-dark-muted);
}

.home-network-chips {
	margin-block-start: 1.125rem;
}

.home-network-chip {
	border-color: color-mix(in srgb, var(--gg-on-dark) 22%, transparent);
	background-color: color-mix(in srgb, var(--gg-on-dark) 6%, transparent);
	font-size: 0.84rem;
}

.home-network-chip-more {
	border-color: var(--gg-saffron);
	color: var(--gg-saffron);
}

.home-network.is-off * {
	animation-play-state: paused;
}

.home-network-map svg {
	display: block;
	inline-size: 100%;
	block-size: auto;
	overflow: hidden;
}

.home-network-land {
	fill: none;
	stroke: color-mix(in srgb, var(--gg-on-dark-muted) 60%, var(--gg-dark-alt));
	stroke-linecap: round;
	stroke-opacity: 0.42;
	stroke-width: 4.2;
}

.home-network-routes path {
	fill: none;
	stroke: var(--gg-sky);
	stroke-dasharray: 4 7;
	stroke-linecap: round;
	stroke-width: 1.6;
	opacity: 0.85;
	animation: gg-flow 2.4s linear infinite;
}

@keyframes gg-flow {
	to {
		stroke-dashoffset: -44;
	}
}

.home-network-ships circle {
	fill: color-mix(in srgb, var(--gg-saffron) 70%, white);
}

.home-network-pins circle {
	fill: var(--gg-saffron);
}

.home-network-rings circle {
	fill: none;
	stroke: var(--gg-saffron);
	stroke-width: 2;
	transform-box: fill-box;
	transform-origin: center;
	animation: gg-ring 2.4s ease-out infinite;
}

.home-network-rings circle:nth-child(3n + 2) {
	animation-delay: 0.8s;
}

.home-network-rings circle:nth-child(3n) {
	animation-delay: 1.6s;
}

@keyframes gg-ring {
	0% {
		transform: scale(1);
		opacity: 0.9;
	}

	100% {
		transform: scale(3.2);
		opacity: 0;
	}
}

.home-network-hub {
	fill: var(--gg-on-dark);
}

.home-network-hub-ring {
	fill: none;
	stroke: var(--gg-on-dark);
	stroke-width: 2;
	transform-box: fill-box;
	transform-origin: center;
	animation: gg-ring 2s ease-out infinite;
}

.home-network-labels text {
	fill: var(--gg-on-dark);
	font-family: var(--gg-font-body);
	font-size: 15px;
	font-weight: 700;
	paint-order: stroke;
	stroke: var(--gg-dark);
	stroke-linejoin: round;
	stroke-width: 5px;
}

.home-network-labels .home-network-hub-label {
	font-size: 14px;
	letter-spacing: 0.12em;
}

.home-mentor {
	background-color: var(--gg-bg-alt);
}

.home-mentor-photo {
	position: relative;
	isolation: isolate;
	inline-size: 100%;
	max-inline-size: 31rem;
	margin-inline: auto;
}

.home-mentor-photo::before {
	content: "";
	position: absolute;
	inset-block-start: -0.75rem;
	inset-inline-start: -0.75rem;
	inline-size: 60%;
	block-size: 60%;
	border: 2px solid var(--gg-accent);
	border-radius: 1.75rem;
	opacity: 0.35;
}

.home-mentor-photo::after {
	content: "";
	position: absolute;
	inset-block-end: -0.625rem;
	inset-inline-end: -0.625rem;
	z-index: -1;
	inline-size: 7.5rem;
	block-size: 7.5rem;
	background-image: radial-gradient(var(--gg-saffron) 1.6px, transparent 1.8px);
	background-size: 14px 14px;
	opacity: 0.8;
}

.home-mentor-frame {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 1.5rem;
	background-color: var(--gg-dark-deep);
	box-shadow: 0 34px 60px -30px rgba(var(--gg-ink-rgb), 0.55);
}

.home-mentor-frame img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.home-mentor-badge {
	position: absolute;
	inset-block-end: 1.25rem;
	inset-inline-start: 1.25rem;
	padding: 0.75rem 1rem;
	border-radius: 0.875rem;
	background-color: color-mix(in srgb, var(--gg-bg) 96%, transparent);
	box-shadow: 0 10px 24px -10px rgba(var(--gg-ink-rgb), 0.4);
	font-size: 0.78rem;
	color: var(--gg-text-muted);
}

.home-mentor-badge strong {
	display: block;
	font-family: var(--gg-font-heading);
	font-size: 0.875rem;
	color: var(--gg-ink);
}

.home-mentor .section-heading {
	font-size: clamp(2.125rem, 3.8vw, 3.25rem);
	letter-spacing: -0.02em;
	line-height: 1.05;
}

.home-mentor-role {
	margin-block-start: 0.75rem;
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--gg-accent-dark);
}

.home-mentor-bio {
	max-inline-size: 62ch;
	margin-block: 1.125rem 1.625rem;
	font-size: 1.0625rem;
	line-height: 1.7;
}

.home-mentor-cred {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	block-size: 100%;
	padding: 0.875rem 1rem;
	border: 1px solid var(--gg-border);
	border-radius: 0.875rem;
	background-color: var(--gg-bg);
	font-size: 0.9375rem;
	line-height: 1.45;
	color: var(--gg-ink);
}

.home-mentor-cred svg {
	flex: none;
	inline-size: 1.25rem;
	block-size: 1.25rem;
	margin-block-start: 1px;
	color: var(--gg-accent);
}

.home-mentor-ctas {
	margin-block-start: 2rem;
}

.home-audience {
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, var(--gg-accent-tint) 0%, var(--gg-bg-alt) 100%);
}

.home-audience::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(var(--gg-accent-rgb), 0.1) 1px, transparent 1.2px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(var(--gg-dark), transparent 60%);
	mask-image: linear-gradient(var(--gg-dark), transparent 60%);
	pointer-events: none;
}

.home-audience .container-xl {
	position: relative;
}

.home-audience-head {
	max-inline-size: 53.75rem;
	margin-inline: auto;
	margin-block-end: clamp(2rem, 1.3rem + 3vw, 3.25rem);
}

.home-audience-head .section-sub-heading {
	max-inline-size: 56ch;
	margin-inline: auto;
}

.home-audience-persona {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	padding: clamp(1.375rem, 1.1rem + 1.2vw, 1.75rem) clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
	border-radius: var(--gg-radius-card);
	box-shadow: none;
	transition: transform 0.35s var(--gg-ease), box-shadow 0.35s, border-color 0.35s;
}

.home-audience-persona .feature-card-icon {
	margin: 0;
	border-color: transparent;
	background-color: var(--gg-accent-tint);
	transition: background-color 0.3s, color 0.3s;
}

.home-audience-persona .feature-card-title {
	margin-block: 0.5rem 0;
	font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);
	letter-spacing: -0.01em;
}

.home-audience-persona .feature-card-text {
	line-height: 1.6;
}

.home-audience-persona:hover {
	border-color: var(--gg-border-strong);
	box-shadow: 0 26px 44px -26px rgba(var(--gg-ink-rgb), 0.38);
	transform: translateY(-6px);
}

.home-audience-persona:hover .feature-card-icon {
	background-color: var(--gg-accent);
	color: var(--gg-accent-text);
}

.home-audience-ctas {
	margin-block-start: clamp(2rem, 1.2rem + 3.4vw, 3rem);
}

.home-paths {
	position: relative;
	overflow: hidden;
	background-color: var(--gg-bg);
}

.home-paths::before {
	content: "";
	position: absolute;
	inset-block-start: -11.25rem;
	inset-inline-end: -11.25rem;
	inline-size: 32.5rem;
	block-size: 32.5rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(var(--gg-accent-rgb), 0.08), transparent 70%);
	pointer-events: none;
}

.home-paths .container-xl {
	position: relative;
}

.home-paths-track {
	position: relative;
	display: flow-root;
	margin-block-start: clamp(2.25rem, 1.4rem + 3.6vw, 3.5rem);
}

.home-paths-track::before {
	content: "";
	position: absolute;
	inset-block-start: 1.4375rem;
	inset-inline: 1.5rem;
	block-size: 2px;
	border-radius: 2px;
	background-color: var(--gg-border);
}

.home-paths-track::after {
	content: "";
	position: absolute;
	inset-block-start: 1.4375rem;
	inset-inline: 1.5rem;
	block-size: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--gg-accent), var(--gg-saffron));
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 1.6s var(--gg-ease);
}

.home-paths-track.is-in::after {
	transform: none;
}

.home-paths-stage {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
	block-size: 100%;
	min-inline-size: 0;
}

.home-paths-stage-title {
	display: flex;
	align-items: center;
	align-self: flex-start;
	block-size: 3rem;
	margin: 0;
	padding-inline-end: 0.875rem;
	background-color: var(--gg-bg);
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gg-ink);
}

.home-paths-stage-title span {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	inline-size: 3rem;
	block-size: 3rem;
	margin-inline-end: 0.875rem;
	border: 2px solid var(--gg-accent);
	border-radius: 50%;
	background-color: var(--gg-bg);
	box-shadow: 0 0 0 6px var(--gg-bg);
	font-family: var(--gg-font-heading);
	font-size: 1.125rem;
	font-weight: 800;
	letter-spacing: 0;
	color: var(--gg-accent);
}

.home-paths-stage:has(.home-paths-option-featured) .home-paths-stage-title span {
	background-color: var(--gg-accent);
	color: var(--gg-accent-text);
}

.home-paths-cards {
	flex: 1;
}

.home-paths-option {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	padding: clamp(1.375rem, 1.2rem + 0.7vw, 1.625rem) clamp(1.25rem, 1rem + 1vw, 1.625rem);
	border-radius: var(--gg-radius-card);
	background-color: var(--gg-bg-alt);
	box-shadow: none;
	transition: transform 0.35s var(--gg-ease), box-shadow 0.35s, background-color 0.35s, border-color 0.35s;
}

.home-paths-option .feature-card-icon {
	inline-size: 2.75rem;
	block-size: 2.75rem;
	margin: 0;
	border-radius: 0.75rem;
}

.home-paths-option .feature-card-title {
	margin: 0;
	font-size: 1.1875rem;
	letter-spacing: -0.01em;
	line-height: 1.25;
}

.home-paths-option-meta {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--gg-accent-dark);
}

.home-paths-option .feature-card-text {
	font-size: 0.97rem;
	line-height: 1.6;
}

.home-paths-option .gg-link {
	align-self: flex-start;
	margin-block-start: auto;
	padding-block-start: 0.5rem;
	border-block-end-color: transparent;
	font-size: 0.9375rem;
	transition: border-color 0.25s, color 0.25s;
}

.home-paths-option:hover {
	border-color: var(--gg-border-strong);
	background-color: var(--gg-bg);
	box-shadow: 0 26px 44px -26px rgba(var(--gg-ink-rgb), 0.38);
	transform: translateY(-6px);
}

.home-paths-option:hover .gg-link {
	border-block-end-color: var(--gg-saffron);
	color: var(--gg-accent-dark);
}

.home-paths-option-featured {
	padding: clamp(1.625rem, 1.3rem + 1.4vw, 2rem) clamp(1.375rem, 1rem + 1.6vw, 1.875rem);
	overflow: hidden;
	border-color: var(--gg-dark);
	background-color: var(--gg-dark);
}

.home-paths-option-featured::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(color-mix(in srgb, var(--gg-on-dark) 7%, transparent) 1px, transparent 1.2px);
	background-size: 18px 18px;
	pointer-events: none;
}

.home-paths-option-featured::after {
	content: "";
	position: absolute;
	inset-block-end: -5.625rem;
	inset-inline-end: -5.625rem;
	inline-size: 16.25rem;
	block-size: 16.25rem;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--gg-saffron) 28%, transparent), transparent 70%);
	pointer-events: none;
}

.home-paths-option-featured > * {
	position: relative;
	z-index: 1;
}

.home-paths-option-featured .feature-card-icon {
	border-color: color-mix(in srgb, var(--gg-on-dark) 18%, transparent);
	background-color: color-mix(in srgb, var(--gg-on-dark) 10%, transparent);
	color: var(--gg-on-dark);
}

.home-paths-option-featured .feature-card-title {
	font-size: clamp(1.375rem, 1.3rem + 0.3vw, 1.5rem);
}

.home-paths-option-featured .home-paths-option-meta {
	color: var(--gg-saffron);
}

.home-paths-option-featured:hover {
	border-color: var(--gg-dark);
	background-color: var(--gg-dark);
	box-shadow: 0 30px 50px -24px rgba(var(--gg-ink-rgb), 0.6);
}

.home-paths-option-tag {
	align-self: flex-start;
	padding: 0.3125rem 0.625rem;
	border-radius: var(--gg-radius-pill);
	background-color: var(--gg-saffron);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gg-dark);
}

.home-paths-option-points {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	margin-block-start: 0.375rem;
}

.home-paths-option-point {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	font-size: 0.9375rem;
	color: var(--gg-on-dark);
}

.home-paths-option-point svg {
	flex: none;
	inline-size: 1.125rem;
	block-size: 1.125rem;
	margin-block-start: 0.125rem;
}

.home-paths-option-ctas {
	margin-block-start: auto;
	padding-block-start: 0.75rem;
}

.home-paths-option-ctas .btn-gg-saffron {
	--bs-btn-font-size: 1.125rem;
	--bs-btn-padding-x: 1.25rem;
	--bs-btn-padding-y: 1.125rem;
	inline-size: 100%;
}

.home-paths-student {
	margin-block-start: 2.25rem;
	padding: clamp(1.125rem, 1rem + 0.5vw, 1.25rem) clamp(1.125rem, 0.8rem + 1.4vw, 1.625rem);
	border: 1px dashed var(--gg-border-strong);
	border-radius: 1.125rem;
	background-color: var(--gg-bg-alt);
	color: var(--gg-text);
}

.home-paths-student strong {
	color: var(--gg-ink);
}

.home-faq {
	background-color: var(--gg-bg-alt);
}

.home-faq-side {
	position: sticky;
	inset-block-start: 2rem;
}

.home-faq-side .section-heading {
	font-size: clamp(1.875rem, 3.2vw, 2.75rem);
}

.home-faq-ask {
	display: flex;
	font-size: 1.0625rem;
	align-items: center;
	gap: 0.875rem;
	padding: 1.125rem;
	border: 1px solid var(--gg-border);
	border-radius: 1.125rem;
	background-color: var(--gg-bg);
}

.home-faq-ask-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	inline-size: 2.875rem;
	block-size: 2.875rem;
	border-radius: 50%;
	background-color: var(--gg-whatsapp);
}

.home-faq-ask-icon svg {
	inline-size: 1.75rem;
	block-size: 1.75rem;
}

.home-faq-ask strong {
	display: block;
	color: var(--gg-ink);
}

.home-faq-ask a {
	font-weight: 700;
	color: var(--gg-accent-dark);
	text-decoration: none;
}

.home-faq-ask a:hover {
	text-decoration: underline;
}

.home-faq-list {
	display: flex;
	flex-direction: column;
	gap: 2.25rem;
	min-inline-size: 0;
	padding-inline-start: clamp(0rem, -3rem + 6vw, 2.5rem);
}

.home-faq-group-title {
	margin-block-end: 0.375rem;
	font-family: var(--gg-font-body);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gg-accent-dark);
}

.home-faq-item {
	border-block-end: 1px solid var(--gg-border);
}

.home-faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 1.25rem 0.125rem;
	font-family: var(--gg-font-heading);
	font-size: clamp(1.03rem, 0.98rem + 0.2vw, 1.125rem);
	font-weight: 700;
	line-height: 1.4;
	color: var(--gg-ink);
	list-style: none;
	cursor: pointer;
}

.home-faq-question::-webkit-details-marker {
	display: none;
}

.home-faq-question::after {
	content: "";
	flex: none;
	inline-size: 2rem;
	block-size: 2rem;
	border: 1.5px solid var(--gg-border-strong);
	border-radius: 50%;
	background:
		linear-gradient(currentColor, currentColor) center / 0.75rem 2px no-repeat,
		linear-gradient(currentColor, currentColor) center / 2px 0.75rem no-repeat;
	transition: background-color 0.3s, border-color 0.3s, transform 0.35s;
}

.home-faq-item[open] .home-faq-question::after {
	border-color: var(--gg-accent);
	background:
		linear-gradient(currentColor, currentColor) center / 0.75rem 2px no-repeat,
		var(--gg-accent);
	color: var(--gg-accent-text);
	transform: rotate(180deg);
}

.home-faq-question:hover {
	color: var(--gg-accent-dark);
}

.home-faq-answer {
	overflow: hidden;
	max-inline-size: 68ch;
	padding: 0 clamp(0.5rem, -1rem + 5vw, 3.5rem) 1.375rem 0.125rem;
	font-size: clamp(1rem, 0.98rem + 0.1vw, 1.03rem);
	line-height: 1.7;
}

.home-sticky-cta {
	display: none;
}

@media (max-width: 767px) {
	.home-banner-bg svg {
		display: none;
	}

	.home-banner-ctas {
		inline-size: 100%;
	}

	.home-stats .col + .col .home-stats-item {
		border-inline-start: 0;
	}

	.home-stats .col:nth-child(even) .home-stats-item {
		border-inline-start: 1px solid var(--gg-dark-line);
	}

	.home-stats .col:last-child .home-stats-item {
		padding-block-start: 1.5rem;
		border-block-start: 1px solid var(--gg-dark-line);
		border-inline-start: 0;
	}

	.home-results-cards .swiper-wrapper {
		display: flex;
		gap: 0.875rem;
		margin-inline: -0.75rem;
		padding: 0.375rem 0.75rem 1rem;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-padding-inline: 0.75rem;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.home-results-cards .swiper-wrapper::-webkit-scrollbar {
		display: none;
	}

	.home-results-cards .swiper-slide {
		flex: 0 0 82%;
		scroll-snap-align: start;
	}

	.home-results-dots {
		display: flex;
	}

	.home-about-backed {
		border-radius: 0.875rem;
	}

	.home-about-backed::before {
		inset-block-start: 1.0625rem;
		transform: none;
	}

	.home-network-labels text {
		font-size: 22px;
		stroke-width: 6px;
	}

	.home-mentor-ctas .gg-link {
		align-self: center;
	}

	.home-audience-persona {
		flex-flow: row wrap;
		align-items: center;
		column-gap: 0.875rem;
	}

	.home-audience-persona .feature-card-title {
		flex: 1;
		min-inline-size: 0;
		margin: 0;
	}

	.home-audience-persona .feature-card-text {
		flex-basis: 100%;
	}

	.home-audience-ctas {
		inline-size: 100%;
	}

	.home-paths-track::before,
	.home-paths-track::after {
		display: none;
	}

	.home-faq-side {
		position: static;
	}

	.home-sticky-cta {
		position: fixed;
		inset-inline: 0;
		inset-block-end: 0;
		z-index: var(--bs-zindex-fixed);
		display: block;
		padding: 0.625rem 0.75rem calc(0.625rem + env(safe-area-inset-bottom, 0px));
		border-block-start: 1px solid var(--gg-border);
		background-color: color-mix(in srgb, var(--gg-bg) 97%, transparent);
		box-shadow: 0 -10px 24px -14px rgba(var(--gg-ink-rgb), 0.35);
		transform: translateY(110%);
		transition: transform 0.45s var(--gg-ease);
	}

	.home-sticky-cta.is-visible {
		transform: none;
	}

	.home-sticky-cta .btn-gg-saffron {
		--bs-btn-padding-y: 0.6875rem;
		box-shadow: none;
	}

	.page-template-homepage .footer-bottom {
		padding-block-end: calc(6.5rem + env(safe-area-inset-bottom, 0px));
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-network-ships,
	.home-network-rings,
	.home-network-hub-ring {
		display: none;
	}

	.home-network-routes path {
		animation: none;
	}

	.home-paths-track::after {
		transition: none;
	}

	.home-sticky-cta {
		transition: none;
	}
}
/* Homepage end */
