@charset "UTF-8";
/* =====================================================================
   Corellian Global, child-main.css
   Theme: slightlychilled-child (parent: slightlychilled, Bootstrap 5.3.8)
   Order: fonts > tokens > base > typography > layout > components > utilities > page sections
   Bootstrap provides the grid, reboot and utilities; this file extends and overrides it.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. Font faces (WOFF2, self-hosted, OFL licensed)
   --------------------------------------------------------------------- */

@font-face {
	font-family: "Barlow Semi Condensed";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/BarlowSemiCondensed-Regular.woff2") format("woff2");
}

@font-face {
	font-family: "Barlow Semi Condensed";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/BarlowSemiCondensed-Italic.woff2") format("woff2");
}

@font-face {
	font-family: "Barlow Semi Condensed";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/BarlowSemiCondensed-Medium.woff2") format("woff2");
}

@font-face {
	font-family: "Barlow Semi Condensed";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/BarlowSemiCondensed-SemiBold.woff2") format("woff2");
}

@font-face {
	font-family: "Barlow Semi Condensed";
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/BarlowSemiCondensed-SemiBoldItalic.woff2") format("woff2");
}

@font-face {
	font-family: "Barlow Semi Condensed";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/BarlowSemiCondensed-Bold.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Sans";
	font-style: normal;
	font-weight: 100 700;
	font-stretch: 75% 100%;
	font-display: swap;
	src: url("../fonts/IBMPlexSans-Variable.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Sans";
	font-style: italic;
	font-weight: 100 700;
	font-stretch: 75% 100%;
	font-display: swap;
	src: url("../fonts/IBMPlexSans-Italic-Variable.woff2") format("woff2");
}

/* ---------------------------------------------------------------------
   2. Brand tokens
   --------------------------------------------------------------------- */

:root {
	/* Core brand */
	--corellian-gold: #b38b58;
	--corellian-charcoal: #222629;
	--corellian-steel: #606061;

	/* UI base */
	--white: #ffffff;
	--background-light: #ffffff;
	--surface-tint: #fafafa;
	--border-light: #e5e5e5;

	/* Accent and interactive */
	--cta-primary: #006e90;
	--cta-hover: #004f66;

	/* Signals (trading data only) */
	--signal-success: #178f5a;
	--signal-danger: #b03838;

	/* Typography stacks */
	--font-display:
		"Barlow Semi Condensed", system-ui, -apple-system, sans-serif;
	--font-body: "IBM Plex Sans", system-ui, -apple-system, sans-serif;

	/* Type scale (fluid) */
	--fs-h1: clamp(2.25rem, 4vw, 3.75rem);
	--fs-h2: clamp(1.75rem, 3vw, 2.5rem);
	--fs-h3: clamp(1.25rem, 2vw, 1.625rem);
	--fs-h4: 1.125rem;
	--fs-h5: 1rem;
	--fs-h6: 0.875rem;
	--fs-body: 1rem;
	--fs-small: 0.875rem;

	/* Spacing rhythm */
	--space-section-y: clamp(3.5rem, 8vw, 6.5rem);
	--space-section-y-sm: clamp(2.5rem, 5vw, 4rem);

	/* Motion */
	--ease-default: cubic-bezier(0.2, 0.8, 0.2, 1);
	--ease-out: cubic-bezier(0.16, 1, 0.3, 1);

	/* Shadows (R2) */
	--shadow-subtle: 0 4px 16px rgba(34, 38, 41, 0.06);
	--shadow-card-hover: 0 8px 24px rgba(34, 38, 41, 0.08);

	/* Borders and surfaces (R3) */
	--border-subtle: #ececec;
	--surface-warm: #fbfaf7;

	/* Spacing scale (R4) */
	--space-1: 0.5rem;
	--space-2: 1rem;
	--space-3: 1.5rem;
	--space-4: 2rem;
	--space-5: 3rem;
	--space-6: 4rem;
}

/* ---------------------------------------------------------------------
   3. Base
   --------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	line-height: 1.55;
	color: var(--corellian-charcoal);
	background-color: var(--background-light);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "kern", "liga";
	text-rendering: optimizeLegibility;
}

/* Parent main.css pads <main> for its own layout. ACF templates handle
   their own spacing (the hero clears the fixed navbar), so reset it here.
   Default page.php pages (Privacy, Cookies) keep the parent padding. */
.main-content {
	padding-top: 0;
	padding-bottom: 0;
}

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

a {
	color: var(--cta-primary);
	text-decoration: none;
	transition: color 0.2s var(--ease-default);
}

a:hover,
a:focus {
	color: var(--cta-hover);
}

:focus-visible {
	outline: 2px solid var(--cta-primary);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------------
   4. Typography
   --------------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-display);
	color: var(--corellian-charcoal);
	margin-top: 0;
	margin-bottom: 0.75em;
	line-height: 1.15;
	text-wrap: balance;
}

h1,
.h1 {
	font-size: var(--fs-h1);
	font-weight: 600;
	letter-spacing: -0.02em;
}

h2,
.h2 {
	font-size: var(--fs-h2);
	font-weight: 500;
	letter-spacing: -0.01em;
}

h3,
.h3 {
	font-size: var(--fs-h3);
	font-weight: 500;
}

h4,
.h4 {
	font-size: var(--fs-h4);
	font-weight: 600;
}

h5,
.h5 {
	font-size: var(--fs-h5);
	font-weight: 600;
}

h6,
.h6 {
	font-size: var(--fs-h6);
	font-weight: 600;
	letter-spacing: 0.01em;
}

p {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

p.lead {
	font-size: 1.1875rem;
	line-height: 1.5;
	color: var(--corellian-steel);
}

.eyebrow {
	font-family: var(--font-body);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--corellian-gold);
	margin-bottom: 1rem;
	display: block;
}

.divider-gold {
	display: block;
	width: 48px;
	height: 2px;
	background-color: var(--corellian-gold);
	border: 0;
	margin: 1.25rem 0;
}

/* ---------------------------------------------------------------------
   5. Layout — sections
   --------------------------------------------------------------------- */

.section {
	padding-top: var(--space-section-y);
	padding-bottom: var(--space-section-y);
}

.section-sm {
	padding-top: var(--space-section-y-sm);
	padding-bottom: var(--space-section-y-sm);
}

.section-tint {
	background-color: var(--surface-tint);
}

.section-charcoal {
	background-color: var(--corellian-charcoal);
	color: var(--background-light);
}

.section-charcoal h1,
.section-charcoal h2,
.section-charcoal h3,
.section-charcoal h4,
.section-charcoal h5,
.section-charcoal h6 {
	color: var(--background-light);
}

.section-charcoal p {
	color: var(--border-light);
}

.section-charcoal a {
	color: var(--corellian-gold);
}

.section-charcoal a:hover {
	color: var(--background-light);
}

/* ---------------------------------------------------------------------
   5b. Section accent — selective gold rule (R5)
   --------------------------------------------------------------------- */

.section--with-rule > .container > .row > [class*="col-"] > h2,
.section--with-rule > .container > .row > [class*="col-"] > .eyebrow {
	position: relative;
}

.section--with-rule > .container > .row > [class*="col-"] > .eyebrow::before,
.section--with-rule
	> .container
	> .row
	> [class*="col-"]
	> h2:first-child::before {
	content: "";
	display: block;
	width: 32px;
	height: 2px;
	background-color: var(--corellian-gold);
	margin-bottom: 1.25rem;
}

/* ---------------------------------------------------------------------
   6. Navigation (extends parent theme navbar)
   --------------------------------------------------------------------- */

.navbar-brand img {
	max-width: 200px;
	height: auto;
	display: block;
}

.navbar-custom {
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
	border-bottom: 1px solid rgba(179, 139, 88, 0.1);
	transition: all 0.3s var(--ease-default);
	padding: 0.5rem 0;
	font-family: var(--font-body);
}

.navbar-custom .nav-link {
	color: var(--corellian-steel);
	font-weight: 500;
}

.navbar-custom .nav-item.active .nav-link,
.navbar-custom .nav-link:hover,
.navbar-custom .nav-link:focus {
	color: var(--corellian-charcoal);
}

.navbar-toggler {
	border-color: var(--corellian-charcoal);
}

.navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(34,38,41,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.dropdown-menu {
	margin-top: 10px;
	background: var(--white);
	border: 1px solid var(--border-light);
	border-radius: 0 0 5px 5px;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item.active {
	background: var(--corellian-charcoal);
	color: var(--white);
}

/* ---------------------------------------------------------------------
   6b. Navbar CTA button
   --------------------------------------------------------------------- */

.btn-site-nav {
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	white-space: nowrap;
}

@media (max-width: 767.98px) {
	.btn-site-nav {
		margin-top: 0.75rem;
		width: 100%;
		text-align: center;
	}
}

/* ---------------------------------------------------------------------
   7. Buttons
   --------------------------------------------------------------------- */

.btn-site {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.875rem 1.5rem;
	background-color: var(--cta-primary);
	color: var(--white);
	border: 1px solid var(--cta-primary);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	border-radius: 2px;
	cursor: pointer;
	transition:
		background-color 0.2s var(--ease-out),
		border-color 0.2s var(--ease-out),
		color 0.2s var(--ease-out),
		transform 0.15s var(--ease-out);
}

.btn-site:hover,
.btn-site:focus {
	background-color: var(--cta-hover);
	border-color: var(--cta-hover);
	color: var(--white);
	transform: translateY(-1px);
}

.btn-site:active {
	transform: translateY(0);
}

.btn-site-outline {
	background-color: transparent;
	color: var(--corellian-charcoal);
	border-color: var(--corellian-charcoal);
}

.btn-site-outline:hover,
.btn-site-outline:focus {
	background-color: var(--corellian-charcoal);
	color: var(--white);
	border-color: var(--corellian-charcoal);
}

.section-charcoal .btn-site-outline,
.hero-charcoal .btn-site-outline {
	color: var(--white);
	border-color: var(--white);
}

.section-charcoal .btn-site-outline:hover,
.hero-charcoal .btn-site-outline:hover {
	background-color: var(--white);
	color: var(--corellian-charcoal);
}

/* ---------------------------------------------------------------------
   8. Hero
   --------------------------------------------------------------------- */

.hero {
	position: relative;
	padding: clamp(5rem, 12vw, 9rem) 0 clamp(4rem, 10vw, 7rem);
	background-color: var(--background-light);
	overflow: hidden;
}

.hero-charcoal {
	background-color: var(--corellian-charcoal);
	color: var(--white);
}

.hero-charcoal h1,
.hero-charcoal p {
	color: var(--white);
}

.hero h1 {
	max-width: 18ch;
	letter-spacing: -0.02em;
	margin-bottom: 1.25rem;
}

.hero p.lead {
	max-width: 56ch;
	margin-bottom: 2.25rem;
}

.hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.7) 0%,
		rgba(255, 255, 255, 0.85) 100%
	);
}

.hero-charcoal .hero-media::after {
	background: linear-gradient(
		180deg,
		rgba(34, 38, 41, 0.55) 0%,
		rgba(34, 38, 41, 0.85) 100%
	);
}

.hero-media video,
.hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero > .container {
	position: relative;
	z-index: 1;
}

.hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--border-subtle) 30%,
		var(--border-subtle) 70%,
		transparent 100%
	);
	opacity: 0.8;
	pointer-events: none;
}

.hero-charcoal::after {
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(179, 139, 88, 0.3) 30%,
		rgba(179, 139, 88, 0.3) 70%,
		transparent 100%
	);
}

/* ---------------------------------------------------------------------
   9. Cards (business-line and capability)
   --------------------------------------------------------------------- */

.corellian-card {
	background-color: var(--white);
	border: 1px solid var(--border-subtle);
	padding: 2rem;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition:
		border-color 0.25s var(--ease-out),
		transform 0.25s var(--ease-out),
		box-shadow 0.25s var(--ease-out);
}

.corellian-card:hover {
	border-color: var(--corellian-gold);
	transform: translateY(-2px);
	box-shadow: var(--shadow-card-hover);
}

.corellian-card h3 {
	margin-bottom: 0.5rem;
}

.corellian-card .card-tagline {
	color: var(--corellian-gold);
	font-size: 0.95rem;
	font-style: italic;
	margin-bottom: 1rem;
}

.corellian-card p {
	color: var(--corellian-steel);
	flex-grow: 1;
}

.corellian-card .card-cta {
	margin-top: 1.25rem;
	font-weight: 600;
	color: var(--cta-primary);
}

.corellian-card .card-cta::after {
	content: " →";
}

/* ---------------------------------------------------------------------
   10. Pillars (Academy four-up)
   --------------------------------------------------------------------- */

.pillar {
	padding: 1.75rem;
	background-color: var(--white);
	border: 1px solid var(--border-subtle);
	height: 100%;
	cursor: pointer;
	transition:
		background-color 0.2s var(--ease-default),
		border-color 0.2s var(--ease-default);
}

.pillar:hover,
.pillar:focus-within {
	background-color: var(--surface-tint);
	border-color: var(--corellian-gold);
}

.pillar h3 {
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
}

.pillar p {
	color: var(--corellian-steel);
	margin-bottom: 0;
}

/* ---------------------------------------------------------------------
   11. Tile grid (six-tile product grid 3x2)
   --------------------------------------------------------------------- */

.tile {
	padding: 1.75rem;
	background-color: var(--surface-tint);
	border-left: 2px solid var(--corellian-gold);
	height: 100%;
	transition:
		background-color 0.2s var(--ease-out),
		transform 0.2s var(--ease-out),
		box-shadow 0.2s var(--ease-out);
}

.tile:hover {
	background-color: var(--white);
	transform: translateY(-2px);
	box-shadow: var(--shadow-subtle);
}

.tile h3 {
	font-size: 1.125rem;
	margin-bottom: 0.5rem;
}

.tile p {
	color: var(--corellian-steel);
	margin-bottom: 0;
	font-size: 0.95rem;
}

/* ---------------------------------------------------------------------
   12. Quote feature (Drucker, /technologies)
   --------------------------------------------------------------------- */

.quote-feature {
	padding-block: clamp(3rem, 8vw, 6rem);
	position: relative;
}

.quote-feature blockquote {
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 400;
	line-height: 1.25;
	max-width: 24ch;
	margin: 0 0 1.5rem;
	border-left: 0;
	padding-left: 0;
	position: relative;
	z-index: 1;
}

.quote-feature blockquote::before {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	background-color: var(--corellian-gold);
	margin-bottom: 1.5rem;
}

.quote-feature::before {
	content: "\201C";
	position: absolute;
	top: -0.4em;
	left: -0.15em;
	font-family: var(--font-display);
	font-size: clamp(8rem, 18vw, 14rem);
	font-weight: 700;
	line-height: 1;
	color: var(--corellian-gold);
	opacity: 0.07;
	pointer-events: none;
	z-index: 0;
}

.quote-feature cite {
	font-family: var(--font-body);
	font-size: 0.95rem;
	font-style: normal;
	color: var(--corellian-steel);
	position: relative;
	z-index: 1;
}

.section-charcoal .quote-feature cite {
	color: var(--border-light);
}

.section-charcoal .quote-feature::before,
.hero-charcoal .quote-feature::before {
	color: var(--corellian-gold);
	opacity: 0.12;
}

/* ---------------------------------------------------------------------
   13. Process strip
   --------------------------------------------------------------------- */

.process-step {
	padding-right: 1.5rem;
}

.process-step .step-number {
	font-family: var(--font-display);
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--corellian-gold);
	display: block;
	margin-bottom: 0.5rem;
	line-height: 1;
}

.process-step h3 {
	font-size: 1.125rem;
	margin-bottom: 0.5rem;
}

.process-step p {
	color: var(--corellian-steel);
	margin-bottom: 0;
}

/* ---------------------------------------------------------------------
   14. Mentor card
   --------------------------------------------------------------------- */

.mentor-card {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 2rem;
	padding-block: 2.5rem;
	border-bottom: 1px solid var(--border-light);
}

.mentor-card:last-child {
	border-bottom: 0;
}

.mentor-card .mentor-portrait {
	width: 200px;
	height: 200px;
	background-color: var(--surface-tint);
	overflow: hidden;
	border-radius: 2px;
}

.mentor-card .mentor-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mentor-card h3 {
	margin-bottom: 0.25rem;
}

.mentor-card .mentor-role {
	color: var(--corellian-gold);
	font-size: 0.95rem;
	font-weight: 600;
	margin-bottom: 1rem;
	font-family: var(--font-body);
}

.mentor-card p {
	color: var(--corellian-steel);
	margin-bottom: 0.75rem;
}

/* ---------------------------------------------------------------------
   15. CTA strip
   --------------------------------------------------------------------- */

.cta-strip {
	background-color: var(--corellian-charcoal);
	color: var(--white);
	padding-block: clamp(3rem, 6vw, 4.5rem);
	text-align: center;
	position: relative;
}

.cta-strip::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	height: 3px;
	background-color: var(--corellian-gold);
}

.cta-strip h2 {
	color: var(--white);
	margin-bottom: 1rem;
}

.cta-strip p {
	color: var(--border-light);
	max-width: 56ch;
	margin: 0 auto 2rem;
}

.cta-strip .btn-site {
	background-color: var(--cta-primary);
	border-color: var(--cta-primary);
}

.cta-strip .btn-site:hover {
	background-color: var(--white);
	color: var(--corellian-charcoal);
	border-color: var(--white);
	transform: translateY(-1px);
}

/* ---------------------------------------------------------------------
   16. Form
   --------------------------------------------------------------------- */

.form-corellian label {
	font-weight: 600;
	font-size: 0.95rem;
	margin-bottom: 0.375rem;
	color: var(--corellian-charcoal);
	display: block;
}

.form-corellian .form-control,
.form-corellian .form-select {
	border-radius: 2px;
	border: 1px solid var(--border-light);
	border-bottom-width: 2px;
	padding: 0.75rem 1rem;
	font-family: var(--font-body);
	font-size: 1rem;
	transition:
		border-color 0.2s var(--ease-default),
		box-shadow 0.2s var(--ease-default);
}

.form-corellian .form-control:focus,
.form-corellian .form-select:focus {
	border-color: var(--border-subtle);
	border-bottom-color: var(--cta-primary);
	box-shadow: none;
	outline: 0;
}

.form-corellian .form-control:focus-visible,
.form-corellian .form-select:focus-visible {
	outline: 2px solid var(--cta-primary);
	outline-offset: 2px;
}

.form-corellian textarea.form-control {
	min-height: 8rem;
	resize: vertical;
}

.form-corellian .form-helper {
	font-size: 0.85rem;
	color: var(--corellian-steel);
	margin-top: 1rem;
}

/* ---------------------------------------------------------------------
   16b. Gravity Forms (basic "gravity-theme" markup inside .form-corellian)
   --------------------------------------------------------------------- */

.form-corellian .gform_wrapper.gravity-theme {
	margin: 0;
}

.form-corellian .gform_wrapper.gravity-theme .gform_fields {
	row-gap: 1rem;
	column-gap: 1rem;
}

.form-corellian .gform_wrapper.gravity-theme .gfield_label,
.form-corellian .gform_wrapper.gravity-theme .gform-field-label {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.95rem;
	margin-bottom: 0.375rem;
	padding: 0;
	color: var(--corellian-charcoal);
}

.form-corellian .gform_wrapper.gravity-theme .gfield_required {
	color: var(--corellian-steel);
	font-weight: 400;
}

.form-corellian .gform_wrapper.gravity-theme input[type="text"],
.form-corellian .gform_wrapper.gravity-theme input[type="email"],
.form-corellian .gform_wrapper.gravity-theme input[type="tel"],
.form-corellian .gform_wrapper.gravity-theme select,
.form-corellian .gform_wrapper.gravity-theme textarea {
	width: 100%;
	border-radius: 2px;
	border: 1px solid var(--border-light);
	border-bottom-width: 2px;
	padding: 0.75rem 1rem;
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--corellian-charcoal);
	background-color: var(--white);
	transition:
		border-color 0.2s var(--ease-default),
		box-shadow 0.2s var(--ease-default);
}

.form-corellian .gform_wrapper.gravity-theme select {
	appearance: none;
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23222629' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 16px 12px;
}

.form-corellian .gform_wrapper.gravity-theme textarea {
	height: auto;
	min-height: 8rem;
	resize: vertical;
}

.form-corellian .gform_wrapper.gravity-theme input:focus,
.form-corellian .gform_wrapper.gravity-theme select:focus,
.form-corellian .gform_wrapper.gravity-theme textarea:focus {
	border-color: var(--border-subtle);
	border-bottom-color: var(--cta-primary);
	box-shadow: none;
	outline: 0;
}

.form-corellian .gform_wrapper.gravity-theme input:focus-visible,
.form-corellian .gform_wrapper.gravity-theme select:focus-visible,
.form-corellian .gform_wrapper.gravity-theme textarea:focus-visible {
	outline: 2px solid var(--cta-primary);
	outline-offset: 2px;
}

.form-corellian .gform_wrapper.gravity-theme .gchoice {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.form-corellian .gform_wrapper.gravity-theme .gchoice input[type="checkbox"] {
	margin-top: 0.25rem;
	accent-color: var(--cta-primary);
}

.form-corellian .gform_wrapper.gravity-theme .gchoice label {
	font-weight: 400;
	max-width: none;
}

.form-corellian .gform_wrapper.gravity-theme .gform_footer {
	margin: 1rem 0 0;
	padding: 0;
}

.form-corellian .gform_wrapper.gravity-theme .gform_footer .gform_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.875rem 1.5rem;
	background-color: var(--cta-primary);
	color: var(--white);
	border: 1px solid var(--cta-primary);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.5;
	letter-spacing: 0.02em;
	border-radius: 2px;
	cursor: pointer;
	transition:
		background-color 0.2s var(--ease-out),
		border-color 0.2s var(--ease-out),
		transform 0.15s var(--ease-out);
}

.form-corellian .gform_wrapper.gravity-theme .gform_footer .gform_button:hover,
.form-corellian .gform_wrapper.gravity-theme .gform_footer .gform_button:focus {
	background-color: var(--cta-hover);
	border-color: var(--cta-hover);
	transform: translateY(-1px);
}

.form-corellian .gform_wrapper.gravity-theme .gfield_error input,
.form-corellian .gform_wrapper.gravity-theme .gfield_error select,
.form-corellian .gform_wrapper.gravity-theme .gfield_error textarea {
	border-bottom-color: var(--signal-danger);
}

.form-corellian .gform_wrapper.gravity-theme .validation_message,
.form-corellian .gform_wrapper.gravity-theme .gform_validation_errors {
	font-size: 0.875rem;
	color: var(--signal-danger);
	border-color: var(--signal-danger);
	border-radius: 2px;
	box-shadow: none;
}

/* ---------------------------------------------------------------------
   17. Footer
   --------------------------------------------------------------------- */

.site-footer {
	background-color: var(--corellian-charcoal);
	color: var(--corellian-steel);
	padding-block: 4rem 2rem;
	position: relative;
	border-top: 1px solid rgba(179, 139, 88, 0.25);
}

.site-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 96px;
	height: 2px;
	background-color: var(--corellian-gold);
}

.site-footer h4 {
	color: var(--white);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 1rem;
	font-family: var(--font-body);
}

.site-footer p {
	color: var(--border-light);
}

.site-footer a img {
	max-width: 200px;
	height: auto;
}

.site-footer a {
	color: var(--border-light);
	text-decoration: none;
	display: inline-block;
	padding-block: 0.25rem;
}

.site-footer a:hover,
.site-footer a:focus {
	color: var(--corellian-gold);
}

.site-footer ul {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}

.site-footer p + nav,
.site-footer h4 + nav {
	margin-top: 0.5rem;
}

.site-footer .footer-meta {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	margin-top: 3rem;
	padding-top: 1.5rem;
	font-size: 0.85rem;
	color: var(--corellian-steel);
}

/* ---------------------------------------------------------------------
   18. Capability index (used on /what)
   --------------------------------------------------------------------- */

.capability-row {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 3rem;
	padding-block: 2.5rem;
	border-bottom: 1px solid var(--border-light);
}

.capability-row:last-child {
	border-bottom: 0;
}

.capability-row h2 {
	margin-bottom: 0.5rem;
}

.capability-row .capability-tagline {
	color: var(--corellian-gold);
	font-size: 1rem;
	margin-bottom: 1rem;
}

.capability-row ul {
	margin: 0 0 1.25rem;
	padding-left: 1.25rem;
	color: var(--corellian-steel);
}

.capability-row ul li {
	margin-bottom: 0.5rem;
}

@media (max-width: 768px) {
	.capability-row {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

/* ---------------------------------------------------------------------
   19. Utility
   --------------------------------------------------------------------- */

.text-charcoal {
	color: var(--corellian-charcoal);
}
.text-steel {
	color: var(--corellian-steel);
}
.text-gold {
	color: var(--corellian-gold);
}
.bg-charcoal {
	background-color: var(--corellian-charcoal);
}
.bg-tint {
	background-color: var(--surface-tint);
}
.flex {
	display: flex;
	align-items: center;
	justify-content: center;
}

.myIframe {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	overflow: hidden;
	border: none;
}

.myIframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

iframe {
	border: 0;
	background: none;
}

/* ---------------------------------------------------------------------
   20. Reduced motion
   --------------------------------------------------------------------- */

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

/* ---------------------------------------------------------------------
   21. Responsive
   --------------------------------------------------------------------- */

@media (max-width: 768px) {
	.hero {
		padding: 4rem 0 3rem;
	}
}

/* =====================================================================
   22. Home page, systematic fund layout (page-home.php)
   Uses existing tokens only.
   ===================================================================== */

/* 22a. Notice bar */
.notice-bar {
	background-color: var(--surface-tint);
	border-bottom: 1px solid var(--border-light);
	padding-block: 0.6rem;
	font-size: var(--fs-small);
	color: var(--corellian-steel);
}

.notice-bar p {
	margin-bottom: 0;
}

.notice-bar strong {
	color: var(--corellian-charcoal);
	font-weight: 600;
}

/* 22b. Shared: meta label and section head */
.meta-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--corellian-steel);
}

.section-head {
	margin-bottom: var(--space-5);
}

.section-head p {
	color: var(--corellian-steel);
	font-size: 1.125rem;
	max-width: 62ch;
	margin-bottom: 0;
}

/* 22c. Hero additions and signal panel */
.hero h1 em {
	font-style: italic;
	color: var(--cta-primary);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.signal-panel {
	border: 1px solid var(--border-light);
	background-color: var(--white);
}

.signal-panel__head,
.signal-panel__foot {
	display: flex;
	justify-content: space-between;
	gap: var(--space-2);
	padding: 0.75rem 1rem;
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	color: var(--corellian-steel);
}

.signal-panel__head {
	border-bottom: 1px solid var(--border-light);
}

.signal-panel__foot {
	border-top: 1px solid var(--border-light);
}

.signal-panel canvas {
	display: block;
	width: 100%;
	height: 300px;
}

.signal-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: var(--cta-primary);
	margin-right: 0.5rem;
	vertical-align: 1px;
}

/* 22d. Facts strip */
.facts-strip {
	border-bottom: 1px solid var(--border-light);
}

.facts-strip .fact {
	height: 100%;
	padding: 1.5rem 1.25rem;
}

.facts-strip .fact-value {
	display: block;
	margin-top: 0.375rem;
	font-family: var(--font-display);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--corellian-charcoal);
}

@media (max-width: 767.98px) {
	.facts-strip .col:nth-child(odd) .fact {
		padding-left: 0;
	}
	.facts-strip .col:nth-child(even) .fact {
		border-left: 1px solid var(--border-light);
	}
	.facts-strip .col:nth-child(n + 3) .fact {
		border-top: 1px solid var(--border-light);
	}
}

@media (min-width: 768px) {
	.facts-strip .col:first-child .fact {
		padding-left: 0;
	}
	.facts-strip .col + .col .fact {
		border-left: 1px solid var(--border-light);
	}
}

/* 22e. Principles */
.principles {
	border-top: 1px solid var(--corellian-charcoal);
}

.principle {
	height: 100%;
	padding: var(--space-4) var(--space-3) var(--space-3) 0;
}

.principle h3 {
	font-size: 1.375rem;
	margin-bottom: 0.75rem;
}

.principle p {
	color: var(--corellian-steel);
	margin-bottom: 0;
}

@media (max-width: 991.98px) {
	.principles > .col + .col .principle {
		border-top: 1px solid var(--border-light);
	}
}

@media (min-width: 992px) {
	.principles > .col + .col .principle {
		padding-left: var(--space-3);
		border-left: 1px solid var(--border-light);
	}
}

/* 22f. Process ledger */
.ledger {
	border-top: 1px solid var(--corellian-charcoal);
}

.ledger-row {
	padding-block: 1.5rem;
	border-bottom: 1px solid var(--border-light);
	align-items: baseline;
}

.ledger-num {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--corellian-gold);
}

.ledger-row h3 {
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
}

.ledger-row p {
	color: var(--corellian-steel);
	margin-bottom: 0.5rem;
}

.ledger-owner {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--corellian-steel);
}

.ledger-owner--human {
	color: var(--cta-primary);
}

@media (min-width: 992px) {
	.ledger-row h3,
	.ledger-row p {
		margin-bottom: 0;
	}
}

/* 22g. Risk framework */
.pull-quote {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.875rem);
	font-style: italic;
	line-height: 1.3;
	color: var(--corellian-charcoal);
	border-left: 2px solid var(--corellian-gold);
	padding-left: var(--space-3);
	margin: 0 0 var(--space-3);
	max-width: 30ch;
}

.limits-list {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--corellian-charcoal);
}

.limits-list li {
	display: flex;
	justify-content: space-between;
	gap: var(--space-2);
	padding-block: 1rem;
	border-bottom: 1px solid var(--border-light);
}

.limits-list li span:last-child {
	font-size: var(--fs-small);
	color: var(--corellian-steel);
	text-align: right;
}

/* 22h. People */
.person .monogram {
	aspect-ratio: 4 / 5;
	display: flex;
	align-items: flex-end;
	padding: 1rem;
	margin-bottom: 1rem;
	background-color: var(--white);
	border: 1px solid var(--border-subtle);
	overflow: hidden;
}

.person .monogram span {
	font-family: var(--font-display);
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1;
	color: var(--corellian-gold);
}

.person .monogram img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.person .monogram:has(img) {
	padding: 0;
}

.person-role {
	display: block;
	margin-bottom: 0.375rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--corellian-gold);
}

.person h3 {
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
}

.person p {
	color: var(--corellian-steel);
	font-size: 0.95rem;
	margin-bottom: 0;
}

/* 22i. Fund status timeline and terms */
.timeline {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--corellian-charcoal);
}

.timeline .stage {
	padding-block: 1rem;
	border-bottom: 1px solid var(--border-light);
}

.stage-when {
	font-size: 0.8125rem;
	color: var(--corellian-steel);
}

.stage--current .stage-when {
	color: var(--cta-primary);
	font-weight: 600;
}

.stage h3 {
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 0.25rem;
}

.stage p {
	color: var(--corellian-steel);
	font-size: 0.95rem;
	margin-bottom: 0;
}

.badge-current {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.15rem 0.45rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	vertical-align: 0.1em;
	color: var(--cta-primary);
	background-color: rgba(0, 110, 144, 0.08);
}

.terms-panel {
	background-color: var(--surface-tint);
	border: 1px solid var(--border-light);
	padding: var(--space-4);
}

.terms-panel dl {
	margin: var(--space-2) 0 0;
}

.terms-panel dt,
.terms-panel dd {
	margin: 0;
	padding-block: 0.75rem;
	border-bottom: 1px solid var(--border-light);
	font-size: 0.95rem;
}

.terms-panel dt {
	font-weight: 500;
}

.terms-panel dd {
	color: var(--corellian-steel);
	text-align: right;
}

@media (max-width: 575.98px) {
	.terms-panel {
		padding: var(--space-3);
	}
}

/* 22j. Enquiry and important information */
.direct-contact {
	margin-top: var(--space-3);
	padding-top: var(--space-3);
	border-top: 1px solid var(--border-light);
}

.direct-contact a {
	display: inline-block;
	margin-top: 0.5rem;
	font-family: var(--font-display);
	font-size: 1.25rem;
	overflow-wrap: anywhere;
}

.important-info {
	border-top: 1px solid var(--border-light);
}

.important-info h2 {
	font-family: var(--font-body);
	font-size: var(--fs-h6);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: var(--space-3);
}

.important-info p {
	font-size: 0.8125rem;
	line-height: 1.65;
	color: var(--corellian-steel);
	margin-bottom: 0.75rem;
}

.important-info .ph-note {
	color: var(--corellian-gold);
	margin-bottom: 0.25rem;
}

/* 22k. Business lines strip */
.business-strip {
	border-top: 1px solid var(--border-light);
}

.business-link {
	display: block;
	height: 100%;
	padding: 1.25rem 1.5rem;
	background-color: var(--white);
	border: 1px solid var(--border-subtle);
	border-left: 2px solid var(--corellian-gold);
	color: var(--corellian-charcoal);
	transition:
		border-color 0.2s var(--ease-out),
		transform 0.2s var(--ease-out),
		box-shadow 0.2s var(--ease-out);
}

.business-link:hover,
.business-link:focus {
	color: var(--corellian-charcoal);
	border-color: var(--corellian-gold);
	transform: translateY(-2px);
	box-shadow: var(--shadow-subtle);
}

.business-link strong {
	display: block;
	margin-bottom: 0.25rem;
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 500;
}

.business-link strong::after {
	content: " \2192";
	color: var(--cta-primary);
}

.business-link span {
	font-size: var(--fs-small);
	color: var(--corellian-steel);
}
