/*
 * GE2studio V1.9.2 — design precision + interaction hardening.
 * Loaded after V1.9.1. No redesign: this layer harmonises axes, spacing,
 * colour hierarchy, interactive stacking and mobile rhythm across the site.
 */

:root {
	--v192-ivory: #f4f0e8;
	--v192-warm-ivory: #e9e2d7;
	--v192-paper: #fbf8f2;
	--v192-ink: #101112;
	--v192-ink-soft: #17191b;
	--v192-orange: #b94a1b;
	--v192-orange-bright: #dd642c;
	--v192-muted-dark: #aaa69f;
	--v192-line-light: rgba(16, 17, 18, .13);
	--v192-line-dark: rgba(244, 240, 232, .15);
	--v192-shell: min(1320px, calc(100vw - 64px));
	--v192-copy: 68ch;
	--v192-section-y: clamp(88px, 8.4vw, 124px);
	--v192-section-y-compact: clamp(68px, 6.7vw, 96px);
	--v192-card-radius: 24px;
	--v192-control-radius: 14px;
}

html {
	scroll-padding-top: 104px;
}

/* Sticky header must never hide a requested anchor. */
[id] {
	scroll-margin-top: 104px;
}

/* --------------------------------------------------------------------------
   Global axis, type and colour discipline
   -------------------------------------------------------------------------- */

.site-header .header-inner,
.desktop-mega-panel .mega-panel-shell,
.footer-lead,
.footer-trust,
.footer-grid,
.footer-bottom {
	width: var(--v192-shell);
}

main :is(h1, h2, h3, h4) {
	text-wrap: balance;
}

main p,
main li,
main small {
	text-wrap: pretty;
}

main :is(.section-copy, .section-heading, .seo-hero-copy, .tools-hero-copy, .comparison-hero-copy, .tool-detail-hero > div, .methodology-hero > div) > p {
	max-width: var(--v192-copy);
}

.pill,
.text-link,
.home-hero-discover,
.operating-summary-link,
.operating-card-action,
.mega-overview-link {
	position: relative;
	z-index: 1;
}

.pill {
	min-height: 50px;
}

/* Keep the visual language deliberate: orange is an accent, not body copy. */
.product-status,
.demo-badge,
.eyebrow,
.section-index,
.section-number,
.tools-kicker,
.seo-kicker {
	font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   Header / mega-menu — one shared horizontal axis
   -------------------------------------------------------------------------- */

.site-header {
	isolation: isolate;
}

.site-header .header-inner {
	padding-inline: 0;
}

.header-brand {
	min-width: 0;
}

.header-brand .brand-lockup {
	object-fit: contain;
}

.desktop-navigation a,
.desktop-navigation .mega-trigger {
	white-space: nowrap;
}

@media (min-width: 1101px) {
	.desktop-mega-panel .mega-panel-inner {
		grid-template-columns: minmax(250px, .72fr) minmax(0, 2.78fr);
		gap: clamp(38px, 4vw, 58px);
	}

	.desktop-mega-panel .mega-panel-intro {
		padding-left: 0;
		padding-right: clamp(38px, 3.2vw, 50px);
	}

	.desktop-mega-panel .mega-groups {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
	}

	.desktop-mega-panel .mega-group {
		min-width: 0;
		padding-inline: clamp(24px, 2.2vw, 32px);
	}

	.desktop-mega-panel .mega-group:first-child {
		padding-left: 0;
	}

	.desktop-mega-panel .mega-group:last-child {
		padding-right: 0;
	}

	.desktop-mega-panel .mega-group-links a {
		min-width: 0;
	}
}

/* --------------------------------------------------------------------------
   Home hero — preserve the two-tone headline requested by design review
   -------------------------------------------------------------------------- */

.home-hero-immersive h1 > span {
	color: var(--v192-ivory) !important;
}

.home-hero-immersive h1 > em {
	color: var(--v192-warm-ivory) !important;
}

.home-hero-immersive-content {
	max-width: 860px;
}

.home-hero-immersive-lede {
	max-width: 55ch;
}

.home-hero-immersive-actions {
	position: relative;
	z-index: 7;
}

.home-decision-card {
	border-color: rgba(244, 240, 232, .18);
}

/* --------------------------------------------------------------------------
   Home — section axes and card rhythm
   -------------------------------------------------------------------------- */

.decision-promise,
.operating-section,
.decision-section,
.member-story,
.trust-section {
	isolation: isolate;
}

.decision-promise-head,
.operating-canvas,
.operating-links,
.decision-section > :is(.decision-intro, .decision-canvas, .simulation-panel, .decision-modules),
.member-story > :is(.member-copy, .member-visual),
.trust-section > :is(.trust-intro, .trust-grid) {
	min-width: 0;
}

.operating-card,
.trust-grid a,
.decision-module,
.member-journey article {
	align-content: start;
}

.operating-card-copy > span:not(.product-status),
.trust-grid p,
.decision-module p,
.member-journey small {
	line-height: 1.62;
}

/* --------------------------------------------------------------------------
   Adhérent CTA — harden clickable layer and anchor arrival
   -------------------------------------------------------------------------- */

.member-copy {
	z-index: 8;
}

.member-story-actions {
	isolation: isolate;
	position: relative;
	z-index: 12;
}

.member-story-actions > a {
	position: relative;
	z-index: 13;
	pointer-events: auto !important;
	cursor: pointer;
}

.member-visual {
	z-index: 2;
}

.member-photo-shade,
.member-photo-caption,
.member-proof-card,
.phone-overlay,
.member-visual-note,
.member-visual::before,
.member-visual::after {
	pointer-events: none;
}

.experiences-page #adherent {
	scroll-margin-top: 96px;
}

/* --------------------------------------------------------------------------
   Premium pages — page intro, sections, cards
   -------------------------------------------------------------------------- */

.premium-page .page-intro-grid {
	width: min(100%, 1220px);
	margin-inline: auto;
}

.premium-page .page-intro-copy {
	min-width: 0;
}

.premium-page .page-intro h1 {
	max-width: 14ch;
	line-height: .96;
}

.premium-page .page-intro-copy > p {
	max-width: 64ch;
	line-height: 1.72;
}

.premium-page .subpage-section {
	padding-top: var(--v192-section-y);
	padding-bottom: var(--v192-section-y);
}

.premium-page .subpage-section + .subpage-section {
	border-top-color: var(--v192-line-light);
}

.premium-page .section-heading {
	max-width: 980px;
}

.premium-page .section-heading h2,
.premium-page .section-copy h2 {
	max-width: 16ch;
}

.premium-page :is(.principle-grid, .role-panels, .status-grid, .content-list, .offer-modules) {
	min-width: 0;
}

.premium-page :is(.principle-grid, .role-panels, .status-grid, .content-list, .offer-modules) > article {
	min-width: 0;
}

.premium-page :is(.principle-grid, .role-panels, .status-grid, .content-list, .offer-modules) h3 {
	line-height: 1.12;
}

.premium-page :is(.principle-grid, .role-panels, .status-grid, .content-list, .offer-modules) p {
	line-height: 1.65;
}

/* Keep grids visually anchored even when card copy length differs. */
.premium-page .principle-grid > article,
.premium-page .role-panels > article,
.premium-page .status-grid > article {
	display: grid;
	grid-auto-rows: max-content;
}

.premium-page .principle-grid > article > :last-child,
.premium-page .role-panels > article > :last-child,
.premium-page .status-grid > article > :last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Platform / Experiences / Offer / Security — local precision
   -------------------------------------------------------------------------- */

.platform-page .platform-planning-stage,
.platform-page .member-commerce-stage,
.experiences-page .experience-manager-section,
.experiences-page .experience-coach-section,
.experiences-page .experience-member-section,
.offer-page .offer-pricing-overview,
.offer-page .offer-architecture,
.offer-page .offer-truth-ledger,
.security-page .security-access-stage,
.security-page .security-requirements {
	min-width: 0;
}

.offer-page .offer-status-rail > p,
.offer-page .offer-truth-ledger [role="row"] > *,
.platform-page .principle-grid > article,
.experiences-page .content-list > li {
	min-width: 0;
}

.offer-page .offer-truth-ledger [role="row"] {
	align-items: center;
}

.experiences-page .experience-member-section {
	position: relative;
}

/* --------------------------------------------------------------------------
   SEO landing system — consistent hierarchy without flattening identities
   -------------------------------------------------------------------------- */

.seo-landing .seo-hero,
.seo-landing .seo-challenges,
.seo-landing .seo-capabilities,
.seo-landing .seo-workflow,
.seo-landing .seo-decision-scene,
.seo-landing .seo-faq,
.seo-landing .seo-related,
.seo-landing .seo-conversion {
	padding-left: max(32px, calc(50vw - 660px));
	padding-right: max(32px, calc(50vw - 660px));
}

.seo-landing .seo-hero-copy {
	min-width: 0;
	max-width: 800px;
}

.seo-landing .seo-hero h1 {
	max-width: 14ch;
	line-height: .96;
}

.seo-landing .seo-hero-copy > p {
	max-width: 62ch;
	line-height: 1.72;
}

.seo-landing :is(.seo-challenges, .seo-capabilities, .seo-workflow, .seo-decision-scene, .seo-faq, .seo-related) > header,
.seo-landing :is(.seo-challenges, .seo-capabilities, .seo-workflow, .seo-decision-scene, .seo-faq, .seo-related) > .section-heading {
	max-width: 940px;
}

.seo-landing .seo-challenge-grid article,
.seo-landing .seo-capability-list article,
.seo-landing .seo-workflow article {
	min-width: 0;
}

.seo-landing .seo-challenge-grid h3,
.seo-landing .seo-capability-list h3,
.seo-landing .seo-workflow h3 {
	line-height: 1.12;
}

.seo-landing .seo-challenge-grid p,
.seo-landing .seo-capability-list p,
.seo-landing .seo-workflow p {
	line-height: 1.65;
}

/* --------------------------------------------------------------------------
   Comparison / migration / tools / methodology
   -------------------------------------------------------------------------- */

.comparison-page > section,
.migration-bsport-page > section,
.tools-page > section,
.tool-detail-page > section,
.methodology-page > section {
	min-width: 0;
}

.comparison-page :is(.comparison-hero, .comparison-choice, .comparison-decision, .comparison-sources, .comparison-faq, .comparison-cta),
.migration-bsport-page :is(.migration-bsport-hero, .migration-bsport-intro, .migration-bsport-steps, .migration-bsport-gate, .migration-bsport-data, .migration-bsport-v14-scope, .migration-bsport-faq, .migration-bsport-form-section),
.tools-page :is(.tools-hero, .tools-featured, .tools-roadmap, .tools-method-link),
.tool-detail-page :is(.tool-detail-hero, .tool-detail-steps, .tool-simulator-stage, .tool-interpretation, .tool-faq, .tool-cta),
.methodology-page :is(.methodology-hero, .methodology-principles, .methodology-definitions, .methodology-causality, .methodology-estimates, .methodology-confidence, .methodology-benchmark, .methodology-cta) {
	padding-left: max(32px, calc(50vw - 660px));
	padding-right: max(32px, calc(50vw - 660px));
}

.comparison-page :is(.comparison-hero h1, .comparison-choice h2, .comparison-decision h2),
.migration-bsport-page :is(.migration-bsport-hero h1, .migration-bsport-intro h2, .migration-bsport-gate h2),
.tools-page .tools-hero h1,
.tool-detail-page .tool-detail-hero h1,
.methodology-page .methodology-hero h1 {
	line-height: .97;
}

.tools-page .tools-hero-copy,
.tool-detail-page .tool-detail-hero > div,
.methodology-page .methodology-hero > div {
	min-width: 0;
}

.tool-detail-page .tool-simulator-stage {
	isolation: isolate;
}

.tool-detail-page .simulation-heading,
.tool-detail-page .simulation-grid {
	min-width: 0;
}

/* --------------------------------------------------------------------------
   Forms and controls
   -------------------------------------------------------------------------- */

.demo-form,
.migration-bsport-form-section form,
.tool-detail-page form {
	min-width: 0;
}

.demo-form label,
.migration-bsport-form-section label,
.tool-detail-page label {
	min-width: 0;
}

.demo-form :is(input, select, textarea),
.migration-bsport-form-section :is(input, select, textarea),
.tool-detail-page :is(input, select, textarea) {
	max-width: 100%;
	border-radius: var(--v192-control-radius);
}

button,
input,
select,
textarea,
a.pill {
	touch-action: manipulation;
}

/* --------------------------------------------------------------------------
   Footer — same axis, calmer group rhythm
   -------------------------------------------------------------------------- */

.site-footer .footer-lead,
.site-footer .footer-trust,
.site-footer .footer-grid,
.site-footer .footer-bottom {
	margin-left: auto;
	margin-right: auto;
}

.site-footer .footer-column {
	min-width: 0;
}

.site-footer .footer-column a {
	text-wrap: pretty;
}

/* --------------------------------------------------------------------------
   Tablet
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	:root {
		--v192-shell: min(100% - 40px, 1320px);
	}

	html {
		scroll-padding-top: 92px;
	}

	[id] {
		scroll-margin-top: 92px;
	}

	.home-hero-immersive-content {
		width: min(780px, 72vw);
	}

	.seo-landing .seo-hero,
	.seo-landing .seo-challenges,
	.seo-landing .seo-capabilities,
	.seo-landing .seo-workflow,
	.seo-landing .seo-decision-scene,
	.seo-landing .seo-faq,
	.seo-landing .seo-related,
	.seo-landing .seo-conversion,
	.comparison-page > section,
	.migration-bsport-page > section,
	.tools-page > section,
	.tool-detail-page > section,
	.methodology-page > section {
		padding-left: 28px;
		padding-right: 28px;
	}
}

/* --------------------------------------------------------------------------
   Mobile — one axis, full-width actions, no accidental overlap
   -------------------------------------------------------------------------- */

@media (max-width: 720px) {
	:root {
		--v192-shell: calc(100vw - 36px);
		--v192-section-y: 78px;
		--v192-section-y-compact: 64px;
	}

	html {
		scroll-padding-top: 86px;
	}

	[id] {
		scroll-margin-top: 86px;
	}

	.site-header .header-inner {
		width: var(--v192-shell);
	}

	.home-hero-immersive-content {
		width: 100%;
		max-width: none;
		padding-left: 22px;
		padding-right: 22px;
	}

	.home-hero-immersive h1 {
		font-size: clamp(50px, 13vw, 68px);
		line-height: .96;
	}

	.home-hero-immersive-lede br {
		display: none;
	}

	.home-hero-immersive-actions {
		align-items: stretch;
		gap: 16px;
	}

	.home-hero-immersive-actions .pill {
		width: 100%;
		min-width: 0;
	}

	.home-hero-discover {
		justify-content: space-between;
		width: 100%;
	}

	.member-copy {
		z-index: 10;
	}

	.member-story-actions {
		z-index: 20;
	}

	.member-story-actions .pill {
		min-height: 64px;
		padding-left: 28px;
		padding-right: 28px;
	}

	.member-story-actions > span {
		padding-inline: 14px 4px;
		line-height: 1.55;
	}

	.member-visual {
		z-index: 1;
	}

	.experiences-page #adherent {
		scroll-margin-top: 82px;
	}

	.premium-page .page-intro h1,
	.seo-landing .seo-hero h1,
	.tools-page .tools-hero h1,
	.tool-detail-page .tool-detail-hero h1,
	.methodology-page .methodology-hero h1,
	.comparison-page .comparison-hero h1,
	.migration-bsport-page .migration-bsport-hero h1 {
		max-width: 100%;
		font-size: clamp(40px, 10.7vw, 52px);
		line-height: .98;
	}

	.premium-page .section-heading h2,
	.premium-page .section-copy h2,
	.seo-landing :is(.seo-challenges, .seo-capabilities, .seo-workflow, .seo-decision-scene, .seo-faq, .seo-related) h2 {
		max-width: 100%;
	}

	.seo-landing .seo-hero,
	.seo-landing .seo-challenges,
	.seo-landing .seo-capabilities,
	.seo-landing .seo-workflow,
	.seo-landing .seo-decision-scene,
	.seo-landing .seo-faq,
	.seo-landing .seo-related,
	.seo-landing .seo-conversion,
	.comparison-page > section,
	.migration-bsport-page > section,
	.tools-page > section,
	.tool-detail-page > section,
	.methodology-page > section {
		padding-left: 20px;
		padding-right: 20px;
	}

	.seo-landing .seo-hero-actions,
	.tools-page .tools-hero-actions,
	.tool-detail-page .tool-detail-actions,
	.comparison-page .comparison-hero-actions,
	.migration-bsport-page .migration-bsport-hero-actions {
		align-items: stretch;
	}

	.seo-landing .seo-hero-actions .pill,
	.tools-page .tools-hero-actions .pill,
	.tool-detail-page .tool-detail-actions .pill,
	.comparison-page .comparison-hero-actions .pill,
	.migration-bsport-page .migration-bsport-hero-actions .pill,
	.final-cta .pill,
	.tool-cta .pill,
	.methodology-cta .pill {
		width: 100%;
		justify-content: space-between;
	}

	.site-footer .footer-lead,
	.site-footer .footer-trust,
	.site-footer .footer-grid,
	.site-footer .footer-bottom {
		width: var(--v192-shell);
	}
}

@media (max-width: 420px) {
	.home-hero-immersive-content {
		padding-left: 20px;
		padding-right: 20px;
	}

	.home-hero-immersive h1 {
		font-size: clamp(46px, 13.3vw, 58px);
	}

	.member-story-actions .pill {
		padding-left: 22px;
		padding-right: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
