/*
Theme Name: GIFT City
Theme URI: https://gift-city.dev.diginnovators.site/
Author: Diginnovators
Author URI: https://diginnovators.com/
Description: Native block theme for Bajaj AMC GIFT City, built from the GIFT-city-2026-Final Figma design. Presentation only; content types, forms and interactive blocks live in the gift-city-blocks plugin.
Requires at least: 6.9
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.2.10
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gift-city
*/

/*
 * Everything theme.json cannot express lives here: gradient text and gradient borders, pill
 * surfaces with backdrop blur, the fixed translucent header, the block style variations
 * registered in functions.php and the mobile layout of each Figma section. Every value is a
 * theme.json preset or custom token (docs/DESIGN-SYSTEM.md); Global Styles edits propagate.
 *
 * Breakpoints: 782px = WordPress columns/stacking breakpoint (mobile layout below it);
 * 768px = the gift-city/carousel grid breakpoint (carousel layouts follow the block).
 */

/* ---------- Base ---------- */

html {
	scroll-padding-top: calc(var(--wp--custom--header-height) + var(--wp-admin--admin-bar--height, 0px));
}

/* Smooth in-page jumps (e.g. "Why choose us") on devices where Lenis does not run (touch); Lenis
   switches native smooth scrolling off while it drives the scroll (.lenis-smooth). */
@media (prefers-reduced-motion: no-preference) {
	html:not(.lenis-smooth) {
		scroll-behavior: smooth;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

/* Figma sections sit edge to edge: no flow gap between full-width sections of a page. */
.wp-block-post-content > .alignfull {
	margin-block: 0;
}

/* Inline text colour (core "Highlight" format) must not pick up the UA's yellow <mark> fill. */
mark.has-inline-color {
	background-color: transparent;
}

.screen-reader-text:not(:focus) {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

/* ---------- Type scale: line height and tracking of each preset (Figma text styles) ---------- */

.has-caption-2-font-size { line-height: 1.25; }
.has-caption-1-font-size { line-height: 1.3077; }
.has-body-2-font-size { line-height: 1.3334; }
.has-body-1-font-size { line-height: 1.2942; letter-spacing: -0.5px; }
.has-h-3-font-size { line-height: 1.2223; letter-spacing: -0.1px; }
.has-h-2-font-size { line-height: 1.1819; letter-spacing: -0.4px; }
.has-title-font-size { line-height: 1.14; letter-spacing: -0.7px; }
.has-card-title-font-size { line-height: 1.16; letter-spacing: -0.7px; }
.has-journey-title-font-size { line-height: 1.14; letter-spacing: -0.4px; }
.has-stat-font-size { line-height: 1.2059; letter-spacing: -0.7px; }
.has-section-font-size { line-height: 1.14; letter-spacing: -0.7px; }
.has-display-font-size { line-height: 1.14; letter-spacing: -1px; }

/* Section and inner-page display titles sit at line height 1.0 on desktop (23:42679, 23:50028). */
@media (min-width: 782px) {
	.gc-display-tight {
		line-height: 1;
	}
}

@media (max-width: 781px) {
	/* Mobile text styles: step/popup card titles 20/24, journey 22/26, headings -1px. */
	.has-card-title-font-size { line-height: 1.2; letter-spacing: -0.2px; }
	.has-journey-title-font-size { line-height: 1.1819; }
	.has-section-font-size { letter-spacing: -1px; }
}

/* ---------- Header: fixed, translucent, blurred (Figma 201:1414 / 71:61815) ---------- */

.gc-site-header {
	box-sizing: border-box;
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	z-index: 100;
	min-height: var(--wp--custom--header-height);
	align-items: center;
	background: var(--wp--custom--surface--header);
	-webkit-backdrop-filter: blur(var(--wp--custom--blur--header));
	backdrop-filter: blur(var(--wp--custom--blur--header));
}

@media (max-width: 781px) {
	/* Mobile header 71:61815: padding 0 / 20 / 0 / 12. */
	.gc-site-header.gc-site-header {
		padding-right: var(--wp--preset--spacing--50) !important;
	}
}

@media (max-width: 600px) {
	/* The admin bar stops being fixed on small screens; keep the header under it. */
	.admin-bar .gc-site-header {
		position: absolute;
	}
}

.gc-site-header .wp-block-image a,
.gc-site-header .wp-block-image,
.gc-site-header .wp-block-image img {
	display: block;
	margin: 0;
}

.gc-site-header .wp-block-navigation-item__content {
	padding: 0;
}

/* "Why choose us" nav link: pearl gradient text. */
.gc-site-header .wp-block-navigation-link .wp-block-navigation-item__label,
.is-style-pearl-link {
	background-image: var(--wp--preset--gradient--text-pearl);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

/*
 * backdrop-filter makes the header the containing block for position:fixed descendants, which
 * would clip the full-screen menu overlay to the 58px bar. Drop it while the menu is open.
 */
.gc-site-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

/* Mobile overlay menu (no Figma frame; uses the page tokens). */
.gc-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--90);
}

.gc-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: var(--wp--preset--spacing--60);
}

.gc-site-header .wp-block-navigation__responsive-container-open svg,
.gc-site-header .wp-block-navigation__responsive-container-close svg {
	width: 28px;
	height: 28px;
}

/* ---------- Gradient text (rich-text formats from assets/js/editor-formats.js) ---------- */

.gc-text-blue,
.gc-text-with,
.gc-text-clarity,
.gc-text-gold,
.gc-text-pearl,
.gc-text-modal-blue {
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	text-shadow: none;
}

.gc-text-blue { background-image: var(--wp--preset--gradient--text-blue); }
.gc-text-with { background-image: var(--wp--preset--gradient--text-with); }
.gc-text-clarity { background-image: var(--wp--preset--gradient--text-clarity); }
.gc-text-gold { background-image: var(--wp--preset--gradient--text-gold-cta); }
.gc-text-pearl { background-image: var(--wp--preset--gradient--text-pearl-heading); }
.gc-text-modal-blue { background-image: var(--wp--preset--gradient--text-modal-blue); }

/* Display headings and the AUM stat carry a soft shadow (Figma 23:42638, 23:42678, 469:65528). */
.has-display-font-size,
.gc-stat {
	text-shadow: var(--wp--custom--shadow--text-display);
}

/* The stat counts up on scroll: equal-width digits keep the line from re-wrapping each frame. */
.gc-stat {
	font-variant-numeric: tabular-nums;
}

:is(.has-display-font-size, .gc-stat) :is(.gc-text-blue, .gc-text-with, .gc-text-clarity, .gc-text-gold, .gc-text-pearl) {
	filter: drop-shadow(var(--wp--custom--shadow--text-display));
}

/*
 * Heading styles. "Pearl" = the white-to-gold heading gradient ("Contact us" 23:49383, modal titles,
 * every mobile heading). "Pearl section" = the grey-to-gold desktop section heading (23:49417,
 * 23:49449, 23:49492, 23:49540, 23:50034), which switches to "Pearl" on mobile (71:61648).
 */
.wp-block-heading:is(.is-style-pearl, .is-style-pearl-section) {
	background-image: var(--wp--preset--gradient--text-pearl-heading);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	width: fit-content;
	max-width: 100%;
}

@media (min-width: 782px) {
	.wp-block-heading.is-style-pearl-section {
		background-image: var(--wp--preset--gradient--text-pearl-section);
	}
}

.wp-block-heading:is(.is-style-pearl, .is-style-pearl-section).has-text-align-center {
	margin-inline: auto;
}

/*
 * fit-content would let the constrained layout centre a left-aligned heading; pin it to the
 * start of the content column instead.
 */
.is-layout-constrained > .wp-block-heading:is(.is-style-pearl, .is-style-pearl-section):not(.has-text-align-center) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}

/* Fixed-size images in flex rows (icons, illustrations, artwork) keep their Figma size. */
.is-layout-flex > .wp-block-image {
	flex-shrink: 0;
}

/* ---------- Buttons ---------- */

/*
 * Default button = outline pill (Figma 201:1456): #000 @0.7 surface with blur(7px), gold gradient
 * label and a 1px gold gradient border drawn OUTSIDE the 181 × 39 box, like Figma's outside stroke.
 * The border is a masked pseudo-element so the translucent surface never shows the gradient
 * through it (a border-box background would tint the whole pill).
 */
.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	-webkit-backdrop-filter: blur(var(--wp--custom--blur--pill));
	backdrop-filter: blur(var(--wp--custom--blur--pill));
	transition: background-color .15s ease, filter .15s ease;
}

.wp-block-button:not(.is-style-yellow) .wp-block-button__link {
	position: relative;
}

.wp-block-button:not(.is-style-yellow):not(.is-style-dark-pill) .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: calc(-1 * var(--wp--custom--border--outline));
	padding: var(--wp--custom--border--outline);
	border-radius: inherit;
	background: var(--wp--preset--gradient--border-gold);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	pointer-events: none;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.wp-block-button:not(.is-style-yellow) .wp-block-button__link {
		background-color: transparent;
		background-image: var(--wp--preset--gradient--text-gold-cta), linear-gradient(var(--wp--custom--surface--pill), var(--wp--custom--surface--pill));
		-webkit-background-clip: text, padding-box;
		background-clip: text, padding-box;
		color: transparent;
		-webkit-text-fill-color: transparent;
	}

	.wp-block-button:not(.is-style-yellow) .wp-block-button__link:hover {
		background-image: var(--wp--preset--gradient--text-gold-cta), linear-gradient(rgba(0, 0, 0, .9), rgba(0, 0, 0, .9));
	}
}

.wp-block-button .wp-block-button__link:hover {
	text-decoration: none;
}

/* Button style "Yellow" (form submit / primary): yellow gradient fill, black label. */
.wp-block-button.is-style-yellow .wp-block-button__link {
	background: var(--wp--preset--gradient--button-yellow);
	color: var(--wp--preset--color--black);
}

.wp-block-button.is-style-yellow .wp-block-button__link:hover {
	filter: brightness(1.05);
}

/* Trailing 16px icons (Figma Fluent "Add" 23:43824, "Arrow Download" 25:34662): padding 9/16/10/20. */
.wp-block-button:is(.has-icon-add, .has-icon-download) .wp-block-button__link {
	padding-right: var(--wp--preset--spacing--40);
}

.wp-block-button:is(.has-icon-add, .has-icon-download) .wp-block-button__link::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: url("assets/images/icon-add.svg") center / 16px 16px no-repeat;
}

.wp-block-button.has-icon-download .wp-block-button__link::after {
	background-image: url("assets/images/icon-arrow-download-16.svg");
}

/* Leading icon ("FME profile" 23:50035): padding 9/20/10/16, icon before the label. */
.wp-block-button.is-icon-start .wp-block-button__link {
	padding-right: var(--wp--preset--spacing--50);
	padding-left: var(--wp--preset--spacing--40);
}

.wp-block-button.is-icon-start .wp-block-button__link::after {
	order: -1;
}

/* ---------- Chips (Figma 23:43813 desktop 6/12, 71:56063 mobile 4/9) ---------- */

.wp-block-paragraph.is-style-chip,
p.is-style-chip {
	display: inline-block;
	margin: 0;
	padding: 6px var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--chip);
	-webkit-backdrop-filter: blur(var(--wp--custom--blur--pill));
	backdrop-filter: blur(var(--wp--custom--blur--pill));
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--caption-2);
	line-height: 1.14;
	white-space: nowrap;
}

@media (max-width: 781px) {
	.gc-journeys p.is-style-chip {
		padding: var(--wp--preset--spacing--10) 9px;
	}
}

/* Pill note ("Last updated: 14 Sep 2026", 503:54015): #252527, radius 99, padding 8/16. */
p.is-style-pill-note {
	display: inline-block;
	width: fit-content;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--card);
	color: var(--wp--preset--color--grey-64);
	font-size: var(--wp--preset--font-size--caption-2);
	line-height: 1.25;
}

/* Status dot after a value ("Active" 23:50048): 5px #3FBF3F with a 2px #005D00 outside ring, gap 4. */
.gc-status-open::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-left: calc(var(--wp--preset--spacing--10) + 2px);
	border-radius: 50%;
	background: var(--wp--preset--color--status-open);
	box-shadow: 0 0 0 2px var(--wp--custom--status--open-ring);
	vertical-align: middle;
}

/* ---------- Surfaces ---------- */

/* Group style "Card": #252527, radius 32 desktop / 24 mobile. */
.wp-block-group.is-style-card {
	background-color: var(--wp--preset--color--card);
	border-radius: var(--wp--custom--radius--card);
	overflow: hidden;
}

/* Group style "Tile": FME key/value tile (23:50040) — #252527, radius 20, padding 16/20, gap 4. */
.wp-block-group.is-style-tile {
	flex: none;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radius--tile);
	background-color: var(--wp--preset--color--card);
}

.wp-block-group.is-style-tile > * {
	margin-block: 0;
}

.wp-block-group.is-style-tile > * + * {
	margin-block-start: var(--wp--preset--spacing--10);
}

/* Group style "Contact card": lead form card (Figma 25:3920 desktop, 71:61615 mobile). */
.wp-block-group.is-style-contact-card {
	background-image: var(--wp--preset--gradient--contact-card);
	border-radius: var(--wp--custom--radius--card);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--60);
}

/*
 * Group style "Rule top": section with the 0.5px #3F3F3F top hairline (23:50157). Figma draws these
 * strokes INSIDE the frame, so they take no layout space; an inset shadow does the same and stays
 * a true 0.5px line (Chrome rounds any border below 1px up to a full CSS pixel at every DPR).
 */
.wp-block-group.is-style-rule-top {
	box-shadow: inset 0 var(--wp--custom--border--hairline) 0 0 var(--wp--preset--color--rule);
}

.wp-block-cover.is-style-card-media,
.wp-block-cover.is-style-card-media .wp-block-cover__image-background,
.wp-block-cover.is-style-card-media .wp-block-cover__background {
	border-radius: var(--wp--custom--radius--card);
}

@media (max-width: 781px) {
	.wp-block-group.is-style-card,
	.wp-block-cover.is-style-card-media,
	.wp-block-cover.is-style-card-media .wp-block-cover__image-background,
	.wp-block-cover.is-style-card-media .wp-block-cover__background {
		border-radius: var(--wp--custom--radius--card-sm);
	}

	.wp-block-group.is-style-contact-card {
		background-image: var(--wp--preset--gradient--contact-card-mobile);
		border-radius: var(--wp--custom--radius--card-sm);
		padding: var(--wp--preset--spacing--55);
	}
}

/* Image anchored to the bottom of its box (Figma 469:65522 "100 years" artwork). */
.gc-object-bottom img {
	object-position: 50% 100%;
}

/* Inline emphasis inside card copy ("InQuBe", Figma 469:65539: Rubik Medium 13/18 white). */
.gc-inline-emphasis {
	color: var(--wp--preset--color--white);
	font-weight: 500;
}

/* ---------- Section rhythm (desktop 48 / 100 gutters, mobile 40 / 24 / 0 / 24) ---------- */

.gc-section {
	padding-top: var(--wp--preset--spacing--80);
	padding-bottom: var(--wp--preset--spacing--80);
}

.gc-section > * + * {
	margin-block-start: var(--wp--preset--spacing--50);
}

@media (max-width: 781px) {
	.gc-section {
		padding-top: var(--wp--preset--spacing--70);
		padding-bottom: 0;
	}

	.gc-section > * + * {
		margin-block-start: var(--wp--preset--spacing--30);
	}

	/* FME details 76:76277: 40 top and bottom, 24 between rows. */
	.gc-section.gc-section--inset {
		padding-bottom: var(--wp--preset--spacing--70);
	}

	.gc-section.gc-section--inset > * + * {
		margin-block-start: var(--wp--preset--spacing--55);
	}

	/* Last section before the regulatory band on inner pages (76:76232): 80 bottom. */
	.gc-section.gc-section--end {
		padding-bottom: calc(2 * var(--wp--preset--spacing--70));
	}

	/* Desktop-centred section headings are left-aligned on mobile (71:61671). */
	.gc-section .has-text-align-center.gc-align-start-mobile {
		text-align: left;
		margin-left: 0 !important;
	}
}

/* ---------- Hero (inner blocks of gift-city/hero, Figma 23:42636) ---------- */

.gc-hero-lockup {
	text-align: center;
}

.gc-hero-lockup .wp-block-heading {
	margin: 0;
}

.gc-hero-lockup .wp-block-image {
	margin-inline: auto;
}

@media (max-width: 781px) {
	/* Mobile 71:54888: headline → wordmark 28. */
	.gc-hero-lockup.gc-hero-lockup {
		gap: 28px;
	}

	/* Mobile wordmark 71:54886: 274.7 × 70 (same lockup, scaled). */
	.gc-hero-lockup .wp-block-image img {
		width: 274.7px !important;
		height: auto !important;
	}
}

/* ---------- A world of possibilities (23:42675 / 71:54925) ---------- */

.gc-journey .wp-block-heading,
.gc-journey p {
	margin: 0;
}

/* Chip rows: 4px gaps (23:43812). */
.gc-journey__chips.gc-journey__chips {
	gap: var(--wp--preset--spacing--10);
}

/* Body → button 14 (23:43820). */
.gc-journey__body.gc-journey__body {
	gap: 14px;
}

@media (min-width: 782px) {
	/* Desktop chip rows run on one line and may overhang the 256px text column (23:43812 is 276 wide). */
	.gc-journey__chips.gc-journey__chips {
		flex-wrap: nowrap;
	}

	/* Intro → cards 44, cards 100 apart (23:42676, 23:42682). */
	.gc-possibilities.gc-section > * + * {
		margin-block-start: 44px;
	}

	.gc-journeys.gc-journeys {
		gap: 100px;
	}
}

@media (max-width: 781px) {
	.gc-possibilities.gc-section {
		padding-top: 28px;
	}

	.gc-possibilities .gc-possibilities__intro {
		align-items: flex-start !important;
	}

	.gc-possibilities .gc-possibilities__intro > * {
		text-align: left;
	}

	/* Heading → subline 4 on mobile (71:54927), 8 on desktop (23:42677). */
	.gc-possibilities .gc-possibilities__intro.gc-possibilities__intro {
		gap: var(--wp--preset--spacing--10);
	}

	.gc-possibilities__heading .gc-text-blue {
		display: block;
		letter-spacing: -0.7px;
	}

	.gc-possibilities.gc-section > * + * {
		margin-block-start: 14px;
	}

	.gc-journeys.gc-journeys {
		gap: var(--wp--preset--spacing--60);
	}

	.gc-journey.gc-journey {
		flex-direction: column;
		gap: var(--wp--preset--spacing--40);
	}

	.gc-journey .gc-journey__text {
		gap: var(--wp--preset--spacing--30);
	}

	.gc-journey .gc-journey__heading {
		gap: var(--wp--preset--spacing--10);
	}

	.gc-journey .gc-journey__art img {
		height: 88px !important;
		width: auto !important;
	}

	.gc-journey .gc-globe.gc-journey__art.gc-journey__art {
		width: 88px;
	}
}

/* ---------- Why choose us + contact (23:49335: 997 + 20 + 295) ---------- */

.gc-why-contact.gc-why-contact {
	gap: var(--wp--preset--spacing--50);
}

.gc-why > * {
	margin-block: 0;
}

.gc-why > * + * {
	margin-block-start: var(--wp--preset--spacing--50);
}

/* Stat + caption gap 2 (469:65527); 0 on mobile (469:65579) and in the popup (464:21720). */
.gc-stat-group.gc-stat-group {
	gap: 2px;
}

.gc-stat-group.gc-stat-group--popup {
	gap: 0;
}

@media (max-width: 781px) {
	/* Mobile: why (40 top) → video card section (24 top) → "Be the first to know" (40 top). */
	.gc-why-contact.gc-why-contact {
		row-gap: var(--wp--preset--spacing--70);
	}

	.gc-why > * + * {
		margin-block-start: var(--wp--preset--spacing--30);
	}

	.gc-why > .gc-video-section {
		margin-block-start: var(--wp--preset--spacing--55);
	}

	.gc-stat-group.gc-stat-group {
		gap: 0;
	}
}

/* ---------- Why choose us grid (469:65517 desktop, 469:65572 mobile carousel) ---------- */

.gc-carousel.gc-why-grid {
	--gc-carousel-gap: var(--wp--preset--spacing--50);
}

.gc-why-grid .gc-carousel__track > * {
	min-height: 300px;
	box-sizing: border-box;
}

/* Desktop: 634 + 343 over 343 + 634 = three tracks 343 / 271 / 343 with 20px gaps. */
@media (min-width: 768px) {
	.gc-why-grid .gc-carousel__track {
		grid-template-columns: 343fr 271fr 343fr;
	}

	.gc-why-grid .gc-carousel__track > :nth-child(4n + 1),
	.gc-why-grid .gc-carousel__track > :nth-child(4n) {
		grid-column: span 2;
	}
}

.gc-why-card {
	box-sizing: border-box;
}

.gc-why-card .wp-block-heading,
.gc-why-card p {
	margin: 0;
}

/* Built for what's next 469:65521: padding 32, image 204 × 184, gap 32; text gap 12 / 20 / 2. */
.wp-block-group.gc-why-card--century {
	padding: var(--wp--preset--spacing--60);
	gap: var(--wp--preset--spacing--60);
}

/* Investment philosophy 469:65533: padding 28/32, logo then title (gap 0) + body (gap 12). */
.wp-block-group.gc-why-card--inqube {
	padding: 28px var(--wp--preset--spacing--60);
}

/* Indian insight 600:98392: padding 32/24/32/144, text 175 wide. */
.wp-block-cover.gc-why-card--insight {
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--55) var(--wp--preset--spacing--60) 144px !important;
	align-items: flex-start;
}

/* Gateway 469:65550: padding 0/40, text block (292) at the right, vertically centred. */
.wp-block-cover.gc-why-card--gateway {
	padding: 0 var(--wp--preset--spacing--70) !important;
	justify-content: flex-end;
}

/* Core sets width:auto on positioned cover content at (0,5,0); match it to fix the text column. */
.wp-block-cover.has-custom-content-position.has-custom-content-position.gc-why-card--gateway .wp-block-cover__inner-container {
	width: 292px;
	max-width: 100%;
}

@media (max-width: 767px) {
	.gc-carousel.gc-why-grid {
		--gc-carousel-gap: var(--wp--preset--spacing--30);
	}

	.gc-why-grid .gc-carousel__track > * {
		max-width: none;
		min-height: 412px !important;
	}

	.gc-why-grid .gc-carousel__track > :nth-child(1) { width: 280px; }
	.gc-why-grid .gc-carousel__track > :nth-child(2) { width: 193px; }
	.gc-why-grid .gc-carousel__track > :nth-child(3) { width: 323px; }
	.gc-why-grid .gc-carousel__track > :nth-child(4) { width: 320px; }

	/* 469:65573: image on top (137 × 124), padding 20, gap 20, title → copy 8, copy items 14. */
	.wp-block-group.gc-why-card--century {
		flex-direction: column;
		align-items: flex-start !important;
		justify-content: center;
		padding: var(--wp--preset--spacing--50);
		gap: var(--wp--preset--spacing--50);
	}

	.gc-why-card--century .gc-why-card__art img {
		width: 137px !important;
		height: 124px !important;
	}

	.gc-why-card--century .gc-why-card__text {
		gap: var(--wp--preset--spacing--20) !important;
	}

	.gc-why-card--century .gc-why-card__copy {
		gap: 14px !important;
	}

	/* 469:65585: padding 20, logo full width (153 × 91.3), logo → text 8, title → body 8. */
	.wp-block-group.gc-why-card--inqube {
		padding: var(--wp--preset--spacing--50);
	}

	.gc-why-card--inqube .gc-why-card__logo img {
		width: 153px !important;
		height: 91.3px !important;
	}

	.gc-why-card--inqube .gc-why-card__top {
		gap: var(--wp--preset--spacing--20) !important;
	}

	.gc-why-card--inqube .gc-why-card__text {
		gap: var(--wp--preset--spacing--20) !important;
	}

	.gc-why-card--inqube .has-title-font-size,
	.gc-why-card--gateway .has-title-font-size {
		letter-spacing: -0.4px;
	}

	/* 600:98426: padding 20/32/20/160, radius 32 on mobile too, text 131 wide. */
	.wp-block-cover.gc-why-card--insight {
		padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60) var(--wp--preset--spacing--50) 160px !important;
	}

	.wp-block-cover.gc-why-card--insight,
	.wp-block-cover.gc-why-card--insight .wp-block-cover__image-background {
		border-radius: var(--wp--custom--radius--card);
	}

	/* 469:65599: padding 20/20/20/120, text (180) right-aligned block, centred vertically. */
	.wp-block-cover.gc-why-card--gateway {
		padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) 120px !important;
	}

	.wp-block-cover.has-custom-content-position.has-custom-content-position.gc-why-card--gateway .wp-block-cover__inner-container {
		width: 180px;
	}
}

/* Video card (gift-city/video-card) text column, Figma 469:65562 / mobile 71:61610. */
@media (max-width: 781px) {
	/* "See what drives us" 71:61611 uses H2 Mobile 20/24 (preset classes are !important). */
	.gc-video-section .has-title-font-size {
		font-size: 20px !important;
		line-height: 1.2;
		letter-spacing: -0.2px;
	}

	.gc-video-section .gc-video-card__copy {
		font-size: var(--wp--preset--font-size--caption-2) !important;
		line-height: 1.25;
	}
}

/* Contact column (23:49382): heading → card gap 20. */
.gc-contact > * + * {
	margin-block-start: var(--wp--preset--spacing--50);
}

@media (max-width: 781px) {
	.gc-contact > * + * {
		margin-block-start: var(--wp--preset--spacing--30);
	}

	/* "Contact us" is hidden on mobile; "Be the first to know" starts the column (71:61614). */
	.gc-contact > .gc-hide-mobile + * {
		margin-block-start: 0;
	}
}

/* ---------- How to invest? (23:49415 desktop 3 × 424, 71:61646 mobile carousel 256 wide) ---------- */

.gc-carousel.gc-steps {
	--gc-carousel-gap: var(--wp--preset--spacing--50);
}

.wp-block-group.gc-step {
	box-sizing: border-box;
	min-height: 283px;
	padding: 28px;
	gap: var(--wp--preset--spacing--50);
}

.gc-step .wp-block-heading,
.gc-step p {
	margin: 0;
}

/* Title + body → button 14 (23:49426). */
.gc-step__body.gc-step__body {
	gap: 14px;
}

@media (max-width: 767px) {
	.gc-carousel.gc-steps {
		--gc-carousel-gap: var(--wp--preset--spacing--30);
	}

	.gc-steps .gc-carousel__track > * {
		width: 256px;
		max-width: none;
	}

	.wp-block-group.gc-step {
		min-height: 267px;
		padding: var(--wp--preset--spacing--50);
	}

	.gc-step .gc-step__icon img {
		width: 60px !important;
		height: 60px !important;
	}

	/* Body → button 12 on mobile (71:61659), 14 on desktop. */
	.gc-step__body.gc-step__body {
		gap: var(--wp--preset--spacing--30);
	}
}

/* ---------- Meet the team: heading → tab track 12 desktop / 8 mobile (23:49448, 71:61672) ---------- */

.gc-section > .gc-team-tabs {
	margin-block-start: var(--wp--preset--spacing--30);
}

@media (max-width: 781px) {
	.gc-section > .gc-team-tabs {
		margin-block-start: var(--wp--preset--spacing--20);
	}

	.gc-team-tabs > [role="tablist"] {
		align-self: flex-start;
	}
}

/* ---------- Inner page title (23:50025, 25:34653 / mobile 76:76626) ---------- */

.gc-page-title {
	padding-top: 98px;
	padding-bottom: var(--wp--preset--spacing--80);
}

.gc-page-title > * {
	margin-block: 0;
}

.gc-page-title > * + * {
	margin-block-start: var(--wp--preset--spacing--30);
}

.gc-page-title > .wp-block-buttons {
	margin-block-start: var(--wp--preset--spacing--50);
}

@media (max-width: 781px) {
	.gc-page-title.gc-page-title {
		padding-left: var(--wp--preset--spacing--60);
		padding-right: var(--wp--preset--spacing--60);
	}
}

/* ---------- FME details (23:50031 / 76:76277) ---------- */

.gc-fme-head {
	gap: var(--wp--preset--spacing--50);
}

.gc-fme-tiles {
	gap: var(--wp--preset--spacing--40);
}

.gc-fme .gc-fme-tiles + * {
	margin-block-start: var(--wp--preset--spacing--70);
}

@media (max-width: 781px) {
	.gc-fme-head {
		gap: var(--wp--preset--spacing--30);
	}

	/* The tiles row is 886 wide on a 345 column: it scrolls sideways. */
	.gc-fme-tiles.gc-fme-tiles {
		flex-wrap: nowrap;
		gap: var(--wp--preset--spacing--30);
		/* Bleed to the right screen edge like the Figma frame; the constrained layout forces auto margins. */
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 24px)) !important;
		padding-right: var(--wp--style--root--padding-right, 24px);
		overflow-x: auto;
		scrollbar-width: none;
	}

	.gc-fme-tiles::-webkit-scrollbar {
		display: none;
	}

	.gc-fme .gc-fme-tiles + * {
		margin-block-start: var(--wp--preset--spacing--55);
	}
}

/* ---------- Regulatory / enforcement actions (23:50157): padding 32 / gutter, gap 12 ---------- */

.gc-enforcement {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

.gc-enforcement > * {
	margin-block: 0;
}

.gc-enforcement > * + * {
	margin-block-start: var(--wp--preset--spacing--30);
}

.gc-enforcement__text > * + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

/* ---------- Popup content (gift-city/modal inner blocks) ---------- */

.gc-popup > * {
	margin-block: 0;
}

.gc-popup > * + * {
	margin-block-start: var(--wp--preset--spacing--50);
}

/* Title block (71:32378): title, then subtitle + chips row (gap 8). */
.gc-popup__head > * {
	margin-block: 0;
}

.gc-popup__head > * + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

.gc-popup__meta {
	gap: var(--wp--preset--spacing--20);
}

.gc-popup__meta .gc-journey__chips {
	gap: var(--wp--preset--spacing--10);
}

/* Subtitle (71:32381): Caption 1 Strong 13/18 in the popup blue gradient. */
.gc-popup__subtitle {
	font-weight: 500;
	line-height: 1.3847;
}

/* Image cards (71:32392): rows of 707 + 343, gap 20, 300 high, copy gap 8. */
.gc-popup-cards > * {
	margin-block: 0;
}

.gc-popup-cards > * + * {
	margin-block-start: var(--wp--preset--spacing--50);
}

.gc-popup-cards .wp-block-columns.wp-block-columns {
	gap: var(--wp--preset--spacing--50);
}

/* Launch-updates popup card (71:40212): 2-stop gradient, radius 32, padding 24 at every size. */
.wp-block-group.is-style-contact-card.gc-contact-popup {
	background-image: var(--wp--preset--gradient--contact-popup);
	border-radius: var(--wp--custom--radius--card);
	padding: var(--wp--preset--spacing--55);
}

.gc-popup-cards .wp-block-cover {
	min-height: 300px;
	padding: var(--wp--preset--spacing--60);
}

.gc-popup-cards .wp-block-cover__inner-container > * {
	margin-block: 0;
}

.gc-popup-cards .wp-block-cover__inner-container > * + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

.gc-popup-cards .gc-card-inset-start {
	padding-left: 348px;
}

.gc-popup-cards .gc-card-inset-start.gc-card-inset-narrow {
	padding-left: 130px;
}

.gc-popup-cards .gc-card-inset-start.gc-card-inset-120 {
	padding-left: 120px;
}

.gc-popup-cards .gc-card-inset-end {
	padding-right: 348px;
}

.gc-popup-cards .gc-card-inset-end.gc-card-inset-narrow {
	padding-right: 130px;
}

/* Text-only popups (71:32616 / 71:32632): 24 padding, 24 gaps, art + copy row. */
.gc-popup--article > * + * {
	margin-block-start: var(--wp--preset--spacing--55);
}

.gc-popup--article .gc-popup__row {
	gap: var(--wp--preset--spacing--55);
}

.gc-popup--article .gc-popup__row > .wp-block-group > * + * {
	margin-block-start: var(--wp--preset--spacing--55);
}

/*
 * Paragraphs split from one Figma text node (blank line between them, 300:1559, 268:2151,
 * 71:32603) sit one 20px line apart, not the 24px gap between nodes. Flow groups only: flex
 * groups such as the AUM stat + caption (464:21720, gap 0) keep their own gap.
 */
.gc-popup--article .wp-block-group.is-layout-flow > p + p {
	margin-block-start: var(--wp--preset--spacing--50);
}

/* Text group inside a text popup: heading → copy 8, copy items 20 (FME profile, no own frame). */
.gc-popup__text > * {
	margin-block: 0;
}

.gc-popup__text > * + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

.gc-popup__text.gc-popup__text > p + :is(p, ul) {
	margin-block-start: var(--wp--preset--spacing--50);
}

.gc-popup__text ul {
	padding-left: var(--wp--preset--spacing--55);
}

/* Team member popup (71:32579 / 164:1960): photo 80 → text 16, name/role 2, then 8. */
.gc-person.gc-person {
	gap: var(--wp--preset--spacing--40);
}

.gc-person .gc-person__photo,
.gc-person .gc-person__photo img {
	margin: 0;
	border-radius: var(--wp--custom--radius--pill);
}

.gc-person__text {
	flex: 1 1 0;
	min-width: 0;
}

.gc-person__text > *,
.gc-person__name > *,
.gc-person__contacts > * {
	margin-block: 0;
}

.gc-person__text > * + *,
.gc-person__contacts > * + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

.gc-person__name > * + * {
	margin-block-start: 2px;
}

/*
 * The contact rows hug their text (206 wide, 171:2007) and run past the 201px mobile text column
 * into the popup padding instead of wrapping (164:1935); long values still wrap at the edge.
 */
.gc-person__contacts {
	margin-right: calc(-1 * var(--wp--preset--spacing--55));
}

/* Out-rank the 20px paragraph rule above: the phone and email lines are 8 apart. */
.gc-popup--person .gc-person__contacts.is-layout-flow > p + p {
	margin-block-start: var(--wp--preset--spacing--20);
}

.gc-person__linkedin img {
	display: block;
}

/* Phone / email lines (171:1999, 171:2003): 16px gold glyph, gap 8, value in the gold CTA gradient. */
.gc-contact-line {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	overflow-wrap: anywhere;
}

.gc-contact-line::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: var(--wp--preset--gradient--border-gold);
	-webkit-mask: url("assets/images/icon-phone-16.svg") center / contain no-repeat;
	mask: url("assets/images/icon-phone-16.svg") center / contain no-repeat;
}

.gc-contact-line--email::before {
	height: 13px;
	-webkit-mask-image: url("assets/images/icon-email-16.svg");
	mask-image: url("assets/images/icon-email-16.svg");
}

.gc-contact-line a {
	background-image: var(--wp--preset--gradient--text-gold-cta);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	text-decoration: none;
}

.gc-contact-line a:hover,
.gc-contact-line a:focus-visible {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--gold);
}

/* Video popup: the player fills the popup width. */
.gc-popup__video video {
	display: block;
	width: 100%;
	border-radius: var(--wp--custom--radius--card-sm);
}

@media (max-width: 781px) {
	.gc-popup-cards .wp-block-cover {
		min-height: 0 !important;
		padding: var(--wp--preset--spacing--55) var(--wp--preset--spacing--50);
	}

	.gc-popup-cards .gc-card-inset-start,
	.gc-popup-cards .gc-card-inset-start.gc-card-inset-narrow,
	.gc-popup-cards .gc-card-inset-start.gc-card-inset-120 {
		padding-left: 130px;
	}

	.gc-popup-cards .gc-card-inset-end,
	.gc-popup-cards .gc-card-inset-end.gc-card-inset-narrow {
		padding-right: 130px;
	}

	/* Popup title 71:32531: 24/28 -0.4 on mobile (preset classes are !important). */
	.gc-popup__head .has-section-font-size {
		font-size: var(--wp--preset--font-size--title) !important;
		line-height: 1.1667;
		letter-spacing: -0.4px;
	}

	.gc-popup--article .gc-popup__row {
		flex-direction: column;
	}

	/* Mobile art 297 × 282 (full width), InQuBe logo 191 × 114 (268:2139, 300:1555). */
	.gc-popup__art img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 297 / 282;
	}

	.gc-popup__logo img {
		width: 191px !important;
		height: 114px !important;
	}
}

/* ---------- Regulatory band + footer (23:49574 / 71:61782) ---------- */

.gc-footer-wrap {
	padding-top: var(--wp--preset--spacing--80);
}

.gc-band {
	background-color: var(--wp--preset--color--midnight);
	box-shadow: inset 0 var(--wp--custom--border--hairline) 0 0 var(--wp--preset--color--rule);
	padding-top: var(--wp--preset--spacing--80);
	padding-bottom: var(--wp--preset--spacing--80);
}

.gc-band .wp-block-columns {
	gap: var(--wp--preset--spacing--80);
}

.gc-band-card {
	gap: var(--wp--preset--spacing--20);
}

.gc-band-card__text > * {
	margin-block: 0;
}

.gc-band-card__text > * + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

.gc-band-link a {
	color: inherit;
}

/* Band and footer sit flush (23:49575 → 23:49596); drop the flow block gap between them. */
.gc-footer-wrap > .gc-footer {
	margin-block-start: 0;
}

.gc-footer {
	box-shadow: inset 0 var(--wp--custom--border--hairline) 0 0 var(--wp--preset--color--rule);
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--70);
}

.gc-footer .wp-block-columns {
	gap: var(--wp--preset--spacing--70);
}

.gc-footer p,
.gc-footer .wp-block-heading {
	margin: 0;
}

.gc-footer__grievance > * + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

.gc-footer__rows > * + * {
	margin-block-start: var(--wp--preset--spacing--30);
}

.gc-footer .gc-footer__row > * + * {
	margin-block-start: 2px;
}

.gc-footer__social > * + * {
	margin-block-start: var(--wp--preset--spacing--40);
}

.gc-footer-value,
.gc-footer-value a {
	background-image: var(--wp--preset--gradient--text-gold-cta);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

/* Footer social row (23:49601): 28px icons, LinkedIn and X drawn at 24px, 24px gaps, #A3A3A3. */
.gc-footer-social.gc-footer-social {
	gap: var(--wp--preset--spacing--55);
	align-items: center;
}

.gc-footer-social .wp-social-link svg {
	width: 28px;
	height: 28px;
}

.gc-footer-social .wp-social-link-linkedin svg,
.gc-footer-social .wp-social-link-x svg {
	width: 24px;
	height: 24px;
}

.gc-footer-social .wp-block-social-link-anchor {
	padding: 0;
}

@media (max-width: 781px) {
	.gc-footer-wrap {
		padding-top: 60px;
	}

	.gc-footer {
		padding-top: var(--wp--preset--spacing--80);
		padding-bottom: 64px;
	}

	.gc-footer .wp-block-columns {
		gap: 60px;
	}
}

/* ---------- Responsive layout helpers ---------- */

@media (max-width: 781px) {
	/* Figma mobile frames stack every multi-column row (393 frame, 24px gutters). */
	.gc-stack-mobile.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.gc-hide-mobile {
		display: none !important;
	}
}

@media (min-width: 782px) {
	.gc-hide-desktop {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Footer legal links (production addition; Figma has none): sit 12 below the disclaimer. */
.gc-footer-legal {
	margin-block-start: 12px !important;
}

.gc-footer-legal a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.gc-footer-legal a:hover {
	color: var(--wp--preset--color--white, #fff);
}

/* Visible keyboard focus everywhere (Figma has no focus states). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--gc-focus, #8eccf5);
	outline-offset: 3px;
}

/* ---------- Tablet (768–1279; no Figma frame) ----------
 * The desktop 3-track why grid and the 295px contact column only fit from ~1280px. Between phone and
 * desktop: the contact form moves below the cards at full width, and the grid becomes two columns
 * where the wide cards (Built for what's next, A gateway across markets) span both. */
@media (min-width: 768px) and (max-width: 1279px) {
	.gc-why-grid .gc-carousel__track {
		grid-template-columns: 1fr 1fr;
	}

	.gc-why-grid .gc-carousel__track > :nth-child(4n + 1),
	.gc-why-grid .gc-carousel__track > :nth-child(4n) {
		grid-column: span 2;
	}
}

@media (min-width: 782px) and (max-width: 1279px) {
	.gc-why-contact.wp-block-columns {
		flex-wrap: wrap !important;
		row-gap: var(--wp--preset--spacing--70);
	}

	.gc-why-contact.wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* 3D globe in the "Invest globally" card: same 114px box as the Figma illustration (its fallback). */
.gc-journey .gc-globe.gc-journey__art {
	flex: 0 0 auto;
	width: 114px;
}

.gc-journey .gc-globe__label {
	display: none;
}
