/*
 * P1 baseline repairs for Contact, FAQs, Founder Coaching, and GSD.
 * Preserve the existing visual system and correct measured defects only.
 */

body.page-id-1491,
body.page-id-1516,
body.page-id-1741,
body.page-id-1851 {
	--p1-focus-dark: #0b6048;
}

/* Critical content must remain visible when motion scripts fail or are disabled. */
body.page-id-1491 .cw-hero-badge,
body.page-id-1491 .cw-hero-title,
body.page-id-1491 .cw-hero-title .cw-word,
body.page-id-1491 .cw-hero-text,
body.page-id-1491 .cw-hero-actions,
body.page-id-1491 .cw-hero-media,
body.page-id-1491 .cw-reveal,
body.page-id-1491 .cw-section-label,
body.page-id-1491 .cw-section-title,
body.page-id-1491 .cw-section-subtitle,
body.page-id-1741 .cw-hero-badge,
body.page-id-1741 .cw-hero-title,
body.page-id-1741 .cw-hero-title .cw-word,
body.page-id-1741 .cw-hero-text,
body.page-id-1741 .cw-hero-actions,
body.page-id-1741 .cw-hero-media,
body.page-id-1741 .cw-reveal,
body.page-id-1741 .cw-section-label,
body.page-id-1741 .cw-section-title,
body.page-id-1741 .cw-section-subtitle,
body.page-id-1851 .cw-hero-badge,
body.page-id-1851 .cw-hero-title,
body.page-id-1851 .cw-hero-title .cw-word,
body.page-id-1851 .cw-hero-text,
body.page-id-1851 .cw-hero-actions,
body.page-id-1851 .cw-hero-media,
body.page-id-1851 .cw-reveal,
body.page-id-1851 .cw-section-label,
body.page-id-1851 .cw-section-title,
body.page-id-1851 .cw-section-subtitle {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* A dual focus ring remains visible on white and forest surfaces. */
body.page-id-1491 a:focus-visible,
body.page-id-1491 button:focus-visible,
body.page-id-1491 summary:focus-visible,
body.page-id-1491 input:focus-visible,
body.page-id-1491 select:focus-visible,
body.page-id-1491 textarea:focus-visible,
body.page-id-1516 a:focus-visible,
body.page-id-1516 button:focus-visible,
body.page-id-1516 summary:focus-visible,
body.page-id-1516 input:focus-visible,
body.page-id-1516 select:focus-visible,
body.page-id-1516 textarea:focus-visible,
body.page-id-1741 a:focus-visible,
body.page-id-1741 button:focus-visible,
body.page-id-1741 summary:focus-visible,
body.page-id-1741 input:focus-visible,
body.page-id-1741 select:focus-visible,
body.page-id-1741 textarea:focus-visible,
body.page-id-1851 a:focus-visible,
body.page-id-1851 button:focus-visible,
body.page-id-1851 summary:focus-visible,
body.page-id-1851 input:focus-visible,
body.page-id-1851 select:focus-visible,
body.page-id-1851 textarea:focus-visible {
	outline: 2px solid #ffffff !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 5px var(--p1-focus-dark) !important;
	transform: none !important;
	transition: none !important;
}

/* Gravity Forms clears focus decoration with a later !important rule. */
body.page-id-1491 #gform_2 input[type='text']:focus-visible,
body.page-id-1491 #gform_2 input[type='email']:focus-visible,
body.page-id-1491 #gform_2 input[type='tel']:focus-visible,
body.page-id-1491 #gform_2 textarea:focus-visible,
body.page-id-1491 #gform_2 select:focus-visible {
	outline: 2px solid #ffffff !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 5px var(--p1-focus-dark) !important;
}

/* Keep cookie controls available in the footer without covering content. */
body.page-id-1491 .cw-cookie-preferences-link,
body.page-id-1516 .cw-cookie-preferences-link,
body.page-id-1741 .cw-cookie-preferences-link,
body.page-id-1851 .cw-cookie-preferences-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 5px 2px !important;
	padding: 8px 4px !important;
	border: 0;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #e8f0ec !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: inherit !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	text-decoration: underline;
	text-underline-offset: 0.16em;
	vertical-align: middle;
}

body.page-id-1491 .cw-cookie-preferences-link:hover,
body.page-id-1516 .cw-cookie-preferences-link:hover,
body.page-id-1741 .cw-cookie-preferences-link:hover,
body.page-id-1851 .cw-cookie-preferences-link:hover {
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
}

/* Contact: expose required indicators hidden by the shared form layer. */
body.page-id-1491 #gform_2 .gfield_required,
body.page-id-1491 #gform_2 .gfield_required_text {
	position: static !important;
	display: inline !important;
	width: auto !important;
	height: auto !important;
	margin-left: 0.25rem !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	color: var(--cw-emerald-on-light, #1b7a4a) !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	white-space: normal !important;
}

body.page-id-1491 .cw-form-band-grid,
body.page-id-1491 .cw-form-band-form,
body.page-id-1491 .cw-form-band-sidebar {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

/* Shared header and footer controls must meet the 44px pointer target. */
body.page-id-1491 .site-header .cw-btn,
body.page-id-1516 .site-header .cw-btn,
body.page-id-1741 .site-header .cw-btn,
body.page-id-1851 .site-header .cw-btn {
	min-height: 44px;
}

body.page-id-1491 .footer-widgets .simple-social-icons a,
body.page-id-1516 .footer-widgets .simple-social-icons a,
body.page-id-1741 .footer-widgets .simple-social-icons a,
body.page-id-1851 .footer-widgets .simple-social-icons a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 44px !important;
	min-height: 44px !important;
	box-sizing: border-box;
}

body.page-id-1491 .footer-widgets section.widget.simple-social-icons,
body.page-id-1516 .footer-widgets section.widget.simple-social-icons,
body.page-id-1741 .footer-widgets section.widget.simple-social-icons,
body.page-id-1851 .footer-widgets section.widget.simple-social-icons {
	overflow: visible !important;
}

body.page-id-1491 #simple-social-icons-3 ul li a:focus,
body.page-id-1491 #simple-social-icons-3 ul li a:focus-visible,
body.page-id-1516 #simple-social-icons-3 ul li a:focus,
body.page-id-1516 #simple-social-icons-3 ul li a:focus-visible,
body.page-id-1741 #simple-social-icons-3 ul li a:focus,
body.page-id-1741 #simple-social-icons-3 ul li a:focus-visible,
body.page-id-1851 #simple-social-icons-3 ul li a:focus,
body.page-id-1851 #simple-social-icons-3 ul li a:focus-visible {
	outline: 2px solid #ffffff !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 5px var(--p1-focus-dark) !important;
}

body.page-id-1491 .footer-widgets .menu a,
body.page-id-1516 .footer-widgets .menu a,
body.page-id-1741 .footer-widgets .menu a,
body.page-id-1851 .footer-widgets .menu a {
	display: flex;
	align-items: center;
	min-height: 44px;
}

/* FAQs: make the newsletter field state and submit action legible. */
body.page-id-1516 .cw-enews-field-label {
	margin: 0 0 0.45rem !important;
	font-family: var(--cw-font-ui, Inter, sans-serif);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--cw-deep-green, #1a2e28);
}

body.page-id-1516 .cw-enews-field-label span {
	font-weight: 500;
	color: var(--cw-muted, #4b5e56);
}

body.page-id-1516 #subscribeenews-ext-2 input[type='submit'] {
	min-height: 50px;
	justify-content: center;
	background: var(--cw-deep-green, #1a2e28) !important;
	border-color: var(--cw-emerald, #4caf82) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.page-id-1516 #subscribeenews-ext-2 input[type='submit']:hover {
	background: #0f1f1a !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* The legacy 75/25 split leaves the FAQ form too narrow on small laptops. */
@media (min-width: 900px) and (max-width: 1279px) {
	body.page-id-1516 .content-sidebar-wrap {
		flex-direction: column !important;
	}

	body.page-id-1516 .content,
	body.page-id-1516 #genesis-sidebar-primary {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.page-id-1516 #genesis-sidebar-primary {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
		align-items: start;
		margin-top: 3rem;
	}

	body.page-id-1516 #genesis-sidebar-primary .widget {
		margin: 0 !important;
	}
}

/* Keep the mobile navigation model through the theme's 960px toggle limit. */
@media (min-width: 896px) and (max-width: 960px) {
	body.page-id-1491 .site-header .nav-primary,
	body.page-id-1516 .site-header .nav-primary {
		display: none;
		position: fixed;
		inset: 0;
		width: 100%;
		max-width: 100%;
		height: 100vh;
		max-height: 100vh;
		padding-top: 4.5rem;
		overflow-x: hidden;
		overflow-y: auto;
		background: #0f1f1a;
		z-index: 99;
	}

	body.page-id-1491 .site-header .nav-primary .wrap,
	body.page-id-1516 .site-header .nav-primary .wrap {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 0.5rem 1.5rem 2rem;
		background: transparent;
	}

	body.page-id-1491 .site-header .nav-primary .genesis-nav-menu,
	body.page-id-1516 .site-header .nav-primary .genesis-nav-menu {
		display: block;
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
		padding: 2rem 0;
	}

	body.page-id-1491 .site-header .nav-primary .menu-item,
	body.page-id-1516 .site-header .nav-primary .menu-item {
		display: block;
		width: 100%;
		text-align: center;
	}
}

body.page-id-1516 #genesis-sidebar-primary .simple-social-icons ul li a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	line-height: 1 !important;
}

body.page-id-1741 .cw-process-step p,
body.page-id-1851 .cw-process-step p {
	color: var(--cw-muted, #4b5e56) !important;
	opacity: 1;
}

/* Founder Coaching and GSD: resolve the 162px number inside 96px tracks. */
@media (max-width: 960px) {
	body.page-id-1741 .site-header .cw-header-cta,
	body.page-id-1851 .site-header .cw-header-cta {
		display: none !important;
	}

	body.page-id-1741 .cw-process-timeline,
	body.page-id-1851 .cw-process-timeline {
		width: 100% !important;
		max-width: 820px !important;
	}

	body.page-id-1741 .cw-process-step,
	body.page-id-1851 .cw-process-step {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr) !important;
		gap: 1.25rem !important;
		align-items: start !important;
		padding: 1.5rem 0 2rem !important;
	}

	body.page-id-1741 .cw-process-number,
	body.page-id-1851 .cw-process-number {
		display: flex !important;
		justify-content: flex-end !important;
		width: 72px !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 0.75rem 0 0 !important;
		font-size: clamp(2.25rem, 6vw, 3.25rem) !important;
	}

	body.page-id-1741 .cw-process-step__content,
	body.page-id-1851 .cw-process-step__content {
		min-width: 0;
	}

	body.page-id-1741 .cw-process-timeline::before,
	body.page-id-1741 .cw-process-timeline::after,
	body.page-id-1741 .cw-process-step::before,
	body.page-id-1741 .cw-process-step::after,
	body.page-id-1851 .cw-process-timeline::before,
	body.page-id-1851 .cw-process-timeline::after,
	body.page-id-1851 .cw-process-step::before,
	body.page-id-1851 .cw-process-step::after {
		display: none !important;
		content: none !important;
	}
}

@media (max-width: 896px) {
	body.page-id-1491 .cw-form-band-grid {
		width: 100% !important;
		max-width: 640px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 2rem !important;
	}

	body.page-id-1491 .cw-form-band-sidebar {
		width: 100%;
		max-width: 600px;
		margin-right: auto;
		margin-left: auto;
	}
}

@media (max-width: 600px) {
	body.page-id-1741 .cw-process-step,
	body.page-id-1851 .cw-process-step {
		grid-template-columns: 44px minmax(0, 1fr) !important;
		gap: 0.75rem !important;
		padding: 1.25rem 0 1.75rem !important;
	}

	body.page-id-1741 .cw-process-number,
	body.page-id-1851 .cw-process-number {
		justify-content: flex-start !important;
		width: 44px !important;
		padding: 0 !important;
		font-size: 1.75rem !important;
	}
}

@media (max-width: 480px) {
	body.page-id-1491 .cw-section-light .gform_wrapper,
	body.page-id-1491 .cw-form-band-sidebar {
		padding: 1.5rem !important;
	}

	body.page-id-1491 .site-footer .back-to-top,
	body.page-id-1516 .site-footer .back-to-top,
	body.page-id-1741 .site-footer .back-to-top,
	body.page-id-1851 .site-footer .back-to-top {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.page-id-1491 *,
	body.page-id-1491 *::before,
	body.page-id-1491 *::after,
	body.page-id-1516 *,
	body.page-id-1516 *::before,
	body.page-id-1516 *::after,
	body.page-id-1741 *,
	body.page-id-1741 *::before,
	body.page-id-1741 *::after,
	body.page-id-1851 *,
	body.page-id-1851 *::before,
	body.page-id-1851 *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
