/**
 * GEOCIKLO Core — Global Typography & UI Language System
 * Single Source of Truth: Home (Post ID 20 — HARD FROZEN)
 *
 * Scoped strictly to internal/public non-home pages.
 * Home (Post ID 20) is guaranteed 0 drift.
 */

/* ==========================================================================
   1. Scope & Semantic Design Tokens for Internal Non-Home Pages
   ========================================================================== */

body:not(.home):not(.page-id-20) {
	/* Standard Font Family */
	--gc-font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;

	/* Semantic Text Colors (Measured from Home Reference) */
	--gc-text-heading: #073f4d;
	--gc-text-heading-secondary: #035877;
	--gc-text-lead: #435b62;
	--gc-text-body: #657879;
	--gc-text-muted: #94a3a5;
	--gc-text-accent: #3fae6a;
	--gc-text-on-dark: #ffffff;
	--gc-text-on-dark-muted: rgba(255, 255, 255, 0.78);

	/* Semantic Heading Tokens (Home Master Reference) */
	--gc-heading-hero-family: var(--gc-font-family);
	--gc-heading-hero-weight: 900;
	--gc-heading-hero-size: clamp(2.625rem, 1.8rem + 3.2vw, 3.875rem);
	--gc-heading-hero-line: 1.05;
	--gc-heading-hero-tracking: -0.04em;
	--gc-heading-hero-color: var(--gc-text-heading);

	--gc-heading-section-family: var(--gc-font-family);
	--gc-heading-section-weight: 900;
	--gc-heading-section-size: clamp(1.75rem, 1.25rem + 2.2vw, 2.875rem);
	--gc-heading-section-line: 1.14;
	--gc-heading-section-tracking: -0.035em;
	--gc-heading-section-color: var(--gc-text-heading);

	--gc-heading-card-family: var(--gc-font-family);
	--gc-heading-card-weight: 800;
	--gc-heading-card-size: clamp(1.125rem, 1rem + 0.5vw, 1.4375rem);
	--gc-heading-card-line: 1.25;
	--gc-heading-card-tracking: -0.02em;
	--gc-heading-card-color: var(--gc-text-heading);

	--gc-eyebrow-family: var(--gc-font-family);
	--gc-eyebrow-weight: 700;
	--gc-eyebrow-size: 0.8125rem;
	--gc-eyebrow-line: 1.2;
	--gc-eyebrow-tracking: 0.08em;
	--gc-eyebrow-transform: uppercase;
	--gc-eyebrow-color: var(--gc-text-heading-secondary);

	/* Semantic Body Tokens (Home Master Reference) */
	--gc-body-large-size: clamp(0.975rem, 0.9rem + 0.3vw, 1.125rem);
	--gc-body-large-line: 1.5;
	--gc-body-large-weight: 500;
	--gc-body-large-color: var(--gc-text-lead);

	--gc-body-size: clamp(0.875rem, 0.82rem + 0.25vw, 1rem);
	--gc-body-line: 1.58;
	--gc-body-weight: 400;
	--gc-body-color: var(--gc-text-body);

	--gc-body-small-size: clamp(0.75rem, 0.72rem + 0.15vw, 0.84375rem);
	--gc-body-small-line: 1.45;
	--gc-body-small-weight: 400;
	--gc-body-small-color: var(--gc-text-muted);

	/* Button & Interactive Tokens (Home Master Reference) */
	--gc-btn-font-family: var(--gc-font-family);
	--gc-btn-font-size: 0.9375rem;
	--gc-btn-font-weight: 700;
	--gc-btn-radius: 9999px;
	--gc-btn-height: 48px;
	--gc-btn-padding-x: 26px;
	--gc-btn-padding-y: 13px;
	--gc-btn-shadow: 0 8px 24px -4px rgba(3, 88, 119, 0.3);

	/* Editorial Reading Max Widths */
	--gc-prose-lead-max: 680px;
	--gc-prose-body-max: 640px;
	--gc-prose-card-max: 480px;

	font-family: var(--gc-font-family);
	color: var(--gc-text-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   2. Semantic Headings Hierarchy
   ========================================================================== */

/* Hero Title H1 — Matches Home Hero H1 */
body:not(.home):not(.page-id-20) .gc-title-hero,
body:not(.home):not(.page-id-20) .gc-hero-title,
body:not(.home):not(.page-id-20) .gc-detail-hero-title,
body:not(.home):not(.page-id-20) .gc-wi-hero-title,
body:not(.home):not(.page-id-20) .gc-so-hero-title,
body:not(.home):not(.page-id-20) .gc-sec-detail-h1,
body:not(.home):not(.page-id-20) .gc-internal-hero h1 {
	font-family: var(--gc-heading-hero-family);
	font-weight: var(--gc-heading-hero-weight);
	font-size: var(--gc-heading-hero-size);
	line-height: var(--gc-heading-hero-line);
	letter-spacing: var(--gc-heading-hero-tracking);
	color: var(--gc-heading-hero-color);
	margin: 0 0 16px 0;
	text-wrap: balance;
}

/* Section Title H2 — Matches Home Section H2 */
body:not(.home):not(.page-id-20) .gc-title-section,
body:not(.home):not(.page-id-20) .gc-section-title,
body:not(.home):not(.page-id-20) .gc-section-heading,
body:not(.home):not(.page-id-20) .gc-page-section h2 {
	font-family: var(--gc-heading-section-family);
	font-weight: var(--gc-heading-section-weight);
	font-size: var(--gc-heading-section-size);
	line-height: var(--gc-heading-section-line);
	letter-spacing: var(--gc-heading-section-tracking);
	color: var(--gc-heading-section-color);
	margin: 0 0 16px 0;
	text-wrap: balance;
}

/* Card & Subsection Title H3 — Matches Home Cards H3 */
body:not(.home):not(.page-id-20) .gc-title-card,
body:not(.home):not(.page-id-20) .gc-card-title,
body:not(.home):not(.page-id-20) .gc-service-card__title,
body:not(.home):not(.page-id-20) .gc-feature-card h3,
body:not(.home):not(.page-id-20) .gc-page-section h3 {
	font-family: var(--gc-heading-card-family);
	font-weight: var(--gc-heading-card-weight);
	font-size: var(--gc-heading-card-size);
	line-height: var(--gc-heading-card-line);
	letter-spacing: var(--gc-heading-card-tracking);
	color: var(--gc-heading-card-color);
	margin: 0 0 12px 0;
}

/* Eyebrows & Overlines — Matches Home Eyebrows */
body:not(.home):not(.page-id-20) .gc-eyebrow,
body:not(.home):not(.page-id-20) .gc-badge-overline,
body:not(.home):not(.page-id-20) .gc-section-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--gc-eyebrow-family);
	font-weight: var(--gc-eyebrow-weight);
	font-size: var(--gc-eyebrow-size);
	line-height: var(--gc-eyebrow-line);
	letter-spacing: var(--gc-eyebrow-tracking);
	text-transform: var(--gc-eyebrow-transform);
	color: var(--gc-eyebrow-color);
	margin-bottom: 12px;
}

/* ==========================================================================
   3. Semantic Body Text & Editorial Rhythm
   ========================================================================== */

/* Body Large / Lead Paragraph */
body:not(.home):not(.page-id-20) .gc-body-large,
body:not(.home):not(.page-id-20) .gc-lead-text,
body:not(.home):not(.page-id-20) .gc-hero-description {
	font-family: var(--gc-font-family);
	font-weight: var(--gc-body-large-weight);
	font-size: var(--gc-body-large-size);
	line-height: var(--gc-body-large-line);
	color: var(--gc-body-large-color);
	max-width: var(--gc-prose-lead-max);
	margin-bottom: 24px;
}

/* Body Standard */
body:not(.home):not(.page-id-20) .gc-body,
body:not(.home):not(.page-id-20) .gc-page-section p:not(.gc-body-large):not(.gc-body-small):not(.gc-eyebrow) {
	font-family: var(--gc-font-family);
	font-weight: var(--gc-body-weight);
	font-size: var(--gc-body-size);
	line-height: var(--gc-body-line);
	color: var(--gc-body-color);
	max-width: var(--gc-prose-body-max);
	margin-bottom: 16px;
}

/* Body Small / Footnotes / Meta */
body:not(.home):not(.page-id-20) .gc-body-small,
body:not(.home):not(.page-id-20) .gc-text-meta,
body:not(.home):not(.page-id-20) .gc-card-caption {
	font-family: var(--gc-font-family);
	font-weight: var(--gc-body-small-weight);
	font-size: var(--gc-body-small-size);
	line-height: var(--gc-body-small-line);
	color: var(--gc-body-small-color);
}

/* ==========================================================================
   4. Buttons & Interactive Controls (Home Geometry & Polish)
   ========================================================================== */

/* Primary Pill Button */
body:not(.home):not(.page-id-20) .gc-btn-primary,
body:not(.home):not(.page-id-20) a.gc-btn--primary,
body:not(.home):not(.page-id-20) button.gc-btn--primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: var(--gc-btn-height);
	padding: var(--gc-btn-padding-y) var(--gc-btn-padding-x);
	font-family: var(--gc-btn-font-family);
	font-size: var(--gc-btn-font-size);
	font-weight: var(--gc-btn-font-weight);
	color: var(--gc-white);
	background: var(--gc-primary);
	border-radius: var(--gc-btn-radius);
	border: none;
	text-decoration: none;
	box-shadow: var(--gc-btn-shadow);
	cursor: pointer;
	transition: all 0.25s var(--gc-ease-spring);
}

body:not(.home):not(.page-id-20) .gc-btn-primary:hover,
body:not(.home):not(.page-id-20) a.gc-btn--primary:hover,
body:not(.home):not(.page-id-20) button.gc-btn--primary:hover {
	background: var(--gc-primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 12px 28px -4px rgba(3, 88, 119, 0.4);
	color: var(--gc-white);
}

/* Secondary Glass Pill Button */
body:not(.home):not(.page-id-20) .gc-btn-secondary,
body:not(.home):not(.page-id-20) a.gc-btn--secondary,
body:not(.home):not(.page-id-20) button.gc-btn--secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 10px 22px;
	font-family: var(--gc-btn-font-family);
	font-size: var(--gc-btn-font-size);
	font-weight: var(--gc-btn-font-weight);
	color: var(--gc-text-heading);
	background: var(--gc-glass-primary-bg);
	backdrop-filter: blur(var(--gc-glass-primary-blur));
	-webkit-backdrop-filter: blur(var(--gc-glass-primary-blur));
	border: 1px solid var(--gc-border);
	border-radius: var(--gc-btn-radius);
	text-decoration: none;
	cursor: pointer;
	transition: all 0.25s var(--gc-ease-spring);
}

body:not(.home):not(.page-id-20) .gc-btn-secondary:hover,
body:not(.home):not(.page-id-20) a.gc-btn--secondary:hover,
body:not(.home):not(.page-id-20) button.gc-btn--secondary:hover {
	background: var(--gc-white);
	border-color: var(--gc-primary-light);
	color: var(--gc-primary);
	transform: translateY(-1px);
	box-shadow: var(--gc-shadow-md);
}

/* Action Link / Arrow CTA */
body:not(.home):not(.page-id-20) .gc-link-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--gc-font-family);
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--gc-primary);
	text-decoration: none;
	transition: color 0.2s ease, gap 0.2s ease;
}

body:not(.home):not(.page-id-20) .gc-link-cta:hover {
	color: var(--gc-accent);
	gap: 10px;
}

/* ==========================================================================
   5. Dark Section Contrast Variants
   ========================================================================== */

body:not(.home):not(.page-id-20) .gc-dark,
body:not(.home):not(.page-id-20) [data-theme="dark"],
body:not(.home):not(.page-id-20) .gc-section--dark {
	color: var(--gc-text-on-dark);
}

body:not(.home):not(.page-id-20) .gc-dark .gc-title-hero,
body:not(.home):not(.page-id-20) .gc-dark .gc-title-section,
body:not(.home):not(.page-id-20) .gc-dark .gc-title-card,
body:not(.home):not(.page-id-20) [data-theme="dark"] .gc-title-hero,
body:not(.home):not(.page-id-20) [data-theme="dark"] .gc-title-section,
body:not(.home):not(.page-id-20) [data-theme="dark"] .gc-title-card {
	color: var(--gc-text-on-dark);
}

body:not(.home):not(.page-id-20) .gc-dark .gc-body,
body:not(.home):not(.page-id-20) .gc-dark .gc-body-large,
body:not(.home):not(.page-id-20) [data-theme="dark"] .gc-body,
body:not(.home):not(.page-id-20) [data-theme="dark"] .gc-body-large {
	color: var(--gc-text-on-dark-muted);
}

/* Explicit Dark Cards & Image Overlay Cards Typography Protection */
body:not(.home):not(.page-id-20) .gc-wi-int-card h3,
body:not(.home):not(.page-id-20) .gc-wi-int-card .gc-wi-int-title,
body:not(.home):not(.page-id-20) .gc-wi-hub-card h3,
body:not(.home):not(.page-id-20) .gc-wi-hub-card .gc-wi-hub-title,
body:not(.home):not(.page-id-20) .gc-card--dark h3,
body:not(.home):not(.page-id-20) .gc-card-dark h3,
body:not(.home):not(.page-id-20) [data-theme="dark"] h3,
body:not(.home):not(.page-id-20) .gc-dark h3 {
	color: #FFFFFF !important;
}

body:not(.home):not(.page-id-20) .gc-wi-int-card p,
body:not(.home):not(.page-id-20) .gc-wi-int-card .gc-wi-int-desc,
body:not(.home):not(.page-id-20) .gc-wi-hub-card p,
body:not(.home):not(.page-id-20) .gc-wi-hub-card .gc-wi-hub-desc,
body:not(.home):not(.page-id-20) .gc-card--dark p,
body:not(.home):not(.page-id-20) .gc-card-dark p,
body:not(.home):not(.page-id-20) [data-theme="dark"] p,
body:not(.home):not(.page-id-20) .gc-dark p {
	color: rgba(255, 255, 255, 0.95) !important;
}

