/*
Theme Name: Jewish Advocacy Network — Beta 1.2
Theme URI: https://jewishadvocacynetwork.com/
Description: An Astra child theme for Jewish Advocacy Network. Provides the Beta 1.2 full-width, contrast-safe editorial system, editorial typography, accessible focus styles, and reusable presentation patterns for Elementor Free templates and native WordPress content.
Author: Jewish Advocacy Network
Template: astra
Version: 0.1.2
Text Domain: jewish-advocacy-network
Tags: custom-colors, custom-logo, editor-style, featured-images, translation-ready
*/

/*
 * Jewish Advocacy Network — Beta 1.2 design tokens
 * The theme intentionally uses system font fallbacks. In Elementor Site Settings,
 * set Source Serif 4 (headings) and Manrope or Inter (body) if preferred.
 */
:root {
	--jan-navy: #072b5c;
	--jan-blue: #1667c9;
	--jan-teal: #08777b;
	--jan-pomegranate: #a92a3a;
	--jan-parchment: #f8f7f2;
	--jan-mist: #e8f0f8;
	--jan-ink: #132238;
	--jan-muted: #52657a;
	--jan-rule: #c9d6e4;
	--jan-white: #ffffff;

	/* Explicit semantic surface pairings — do not mix light/dark tokens casually. */
	--jan-surface-light: #f8f7f2;
	--jan-on-light: #132238;
	--jan-on-light-muted: #52657a;
	--jan-link-on-light: #145aa9;
	--jan-surface-dark: #072b5c;
	--jan-on-dark: #ffffff;
	--jan-on-dark-muted: #dcecff;
	--jan-link-on-dark: #ffffff;
	--jan-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--jan-sans: Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--jan-radius-sm: 4px;
	--jan-radius-md: 10px;
	--jan-radius-lg: 18px;
	--jan-shadow: 0 18px 45px rgba(7, 43, 92, 0.10);
	--jan-content-width: 760px;
}

html {
	scroll-behavior: smooth;
}

body.jan-site,
.jan-site {
	background: var(--jan-parchment);
	color: var(--jan-ink);
	font-family: var(--jan-sans);
}

body.jan-site p,
.jan-site p {
	line-height: 1.75;
}

body.jan-site h1,
body.jan-site h2,
body.jan-site h3,
body.jan-site h4,
body.jan-site h5,
body.jan-site h6,
.jan-site h1,
.jan-site h2,
.jan-site h3,
.jan-site h4,
.jan-site h5,
.jan-site h6 {
	color: var(--jan-navy);
	font-family: var(--jan-serif);
	font-weight: 600;
	letter-spacing: -0.018em;
	line-height: 1.12;
}

body.jan-site a,
.jan-site a {
	color: var(--jan-link-on-light);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

body.jan-site a:hover,
body.jan-site a:hover {
	color: var(--jan-navy);
}

/* Link color remains readable on dark surfaces by design. */
.jan-site .jan-surface-navy a,
.jan-site .jan-hero a,
.jan-site .site-footer a,
.jan-site .site-primary-footer-wrap a,
.jan-site .site-below-footer-wrap a {
	color: var(--jan-link-on-dark);
	text-decoration-color: currentColor;
}

body.jan-site :focus-visible,
.jan-site :focus-visible {
	outline: 3px solid var(--jan-teal);
	outline-offset: 3px;
}

/* Astra navigation baseline */
.jan-site .ast-primary-header-bar,
.jan-site .site-header {
	background-color: var(--jan-parchment);
	border-bottom: 1px solid var(--jan-rule);
}

.jan-site .main-header-menu .menu-link,
.jan-site .ast-header-account-wrap .ast-header-account-link {
	color: var(--jan-navy);
	font-family: var(--jan-sans);
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.jan-site .main-header-menu .menu-link:hover,
.jan-site .main-header-menu .current-menu-item > .menu-link {
	color: var(--jan-blue);
}

.jan-site .ast-button,
.jan-site .elementor-button,
.jan-site input[type="submit"],
.jan-site button[type="submit"] {
	background: var(--jan-blue);
	border: 1px solid var(--jan-blue);
	border-radius: var(--jan-radius-sm);
	box-shadow: none;
	color: var(--jan-white);
	font-family: var(--jan-sans);
	font-weight: 800;
	letter-spacing: 0.01em;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.jan-site .ast-button:hover,
.jan-site .elementor-button:hover,
.jan-site input[type="submit"]:hover,
.jan-site button[type="submit"]:hover {
	background: var(--jan-navy);
	border-color: var(--jan-navy);
	color: var(--jan-white);
	transform: translateY(-1px);
}

/* Use .jan-button-secondary on an Elementor button widget or link wrapper. */
.jan-site .jan-button-secondary .elementor-button,
.jan-site .jan-button-secondary.elementor-button {
	background: transparent;
	border-color: var(--jan-blue);
	color: var(--jan-blue);
}

.jan-site .jan-button-secondary .elementor-button:hover,
.jan-site .jan-button-secondary.elementor-button:hover {
	background: var(--jan-mist);
	border-color: var(--jan-navy);
	color: var(--jan-navy);
}

/* On a navy hero, a white secondary action is easier to read than blue text. */
.jan-site .jan-hero .jan-button-secondary .elementor-button,
.jan-site .jan-hero .jan-button-secondary.elementor-button {
	background: transparent;
	border-color: var(--jan-white);
	color: var(--jan-white);
}

.jan-site .jan-hero .jan-button-secondary .elementor-button:hover,
.jan-site .jan-hero .jan-button-secondary.elementor-button:hover {
	background: var(--jan-white);
	border-color: var(--jan-white);
	color: var(--jan-navy);
}

/* Editorial utility classes usable in Elementor Advanced → CSS Classes. */
.jan-site .jan-eyebrow {
	color: var(--jan-teal);
	font-family: var(--jan-sans);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.jan-site .jan-lede {
	color: var(--jan-muted);
	font-family: var(--jan-serif);
	font-size: clamp(1.22rem, 1.1rem + 0.5vw, 1.55rem);
	line-height: 1.5;
}

.jan-site .jan-hero {
	background:
		radial-gradient(circle at 82% 18%, rgba(27, 138, 143, 0.25), transparent 29rem),
		linear-gradient(125deg, #072b5c 0%, #0e427f 52%, #1667c9 100%);
	color: var(--jan-white);
	overflow: hidden;
	position: relative;
}

.jan-site .jan-hero::after {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px);
	background-size: 46px 46px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(to left, rgba(0, 0, 0, 0.85), transparent 62%);
	pointer-events: none;
	position: absolute;
}

.jan-site .jan-hero > .elementor-container,
.jan-site .jan-hero > .e-con-inner {
	position: relative;
	z-index: 1;
}

.jan-site .jan-hero h1,
.jan-site .jan-hero h2,
.jan-site .jan-hero h3,
.jan-site .jan-hero .elementor-heading-title {
	color: var(--jan-white);
}

.jan-site .jan-hero .jan-eyebrow,
.jan-site .jan-hero .elementor-widget-text-editor,
.jan-site .jan-hero p {
	color: #dcecff;
}

.jan-site .jan-pillar-card,
.jan-site .jan-resource-card,
.jan-site .jan-voice-card,
.jan-site .jan-feature-card {
	background: var(--jan-white);
	border: 1px solid var(--jan-rule);
	border-radius: var(--jan-radius-md);
	box-shadow: 0 5px 18px rgba(7, 43, 92, 0.05);
	height: 100%;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.jan-site .jan-pillar-card:hover,
.jan-site .jan-resource-card:hover,
.jan-site .jan-voice-card:hover,
.jan-site .jan-feature-card:hover {
	border-color: var(--jan-blue);
	box-shadow: var(--jan-shadow);
	transform: translateY(-3px);
}

.jan-site .jan-pillar-card .elementor-widget-wrap,
.jan-site .jan-resource-card .elementor-widget-wrap,
.jan-site .jan-voice-card .elementor-widget-wrap,
.jan-site .jan-feature-card .elementor-widget-wrap {
	height: 100%;
}

.jan-site .jan-surface-mist {
	background: var(--jan-mist);
}

.jan-site .jan-surface-navy {
	background: var(--jan-navy);
	color: var(--jan-white);
}

.jan-site .jan-surface-navy h1,
.jan-site .jan-surface-navy h2,
.jan-site .jan-surface-navy h3,
.jan-site .jan-surface-navy h4,
.jan-site .jan-surface-navy .elementor-heading-title {
	color: var(--jan-on-dark);
}

.jan-site .jan-surface-navy p,
.jan-site .jan-surface-navy .elementor-widget-text-editor,
.jan-site .jan-surface-navy .jan-lede {
	color: var(--jan-on-dark-muted);
}

.jan-site .jan-surface-navy .jan-eyebrow {
	color: var(--jan-on-dark-muted);
}

.jan-site .jan-source-note {
	background: var(--jan-mist);
	border-left: 4px solid var(--jan-teal);
	border-radius: 0 var(--jan-radius-sm) var(--jan-radius-sm) 0;
	color: var(--jan-ink);
	font-size: 0.94rem;
	margin: 2rem 0;
	padding: 1.25rem 1.4rem;
}

.jan-site .jan-source-note strong {
	color: var(--jan-navy);
}

.jan-site .jan-article-meta,
.jan-site .jan-card-meta {
	color: var(--jan-muted);
	font-family: var(--jan-sans);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.jan-site .jan-timeline-entry {
	border-left: 2px solid var(--jan-blue);
	padding: 0.25rem 0 1.5rem 1.4rem;
	position: relative;
}

.jan-site .jan-timeline-entry::before {
	background: var(--jan-parchment);
	border: 4px solid var(--jan-teal);
	border-radius: 50%;
	content: "";
	height: 14px;
	left: -8px;
	position: absolute;
	top: 0.4rem;
	width: 14px;
}

.jan-site .entry-content > *,
.jan-site .single-post .entry-content > * {
	max-width: var(--jan-content-width);
}

.jan-site .entry-content > .alignwide,
.jan-site .entry-content > .alignfull {
	max-width: none;
}

.jan-site .entry-content blockquote {
	border-left: 4px solid var(--jan-teal);
	color: var(--jan-navy);
	font-family: var(--jan-serif);
	font-size: 1.35rem;
	font-style: normal;
	line-height: 1.45;
	margin: 2.5rem 0;
	padding: 0.2rem 0 0.2rem 1.4rem;
}

.jan-site .entry-content table {
	border: 1px solid var(--jan-rule);
	border-collapse: collapse;
	font-size: 0.95rem;
	width: 100%;
}

.jan-site .entry-content th {
	background: var(--jan-navy);
	color: var(--jan-white);
}

.jan-site .entry-content td,
.jan-site .entry-content th {
	border: 1px solid var(--jan-rule);
	padding: 0.8rem;
	text-align: left;
	vertical-align: top;
}

.jan-site .entry-content tr:nth-child(even) td {
	background: var(--jan-mist);
}

.jan-site .site-footer,
.jan-site .site-primary-footer-wrap,
.jan-site .site-below-footer-wrap {
	background: var(--jan-surface-dark);
	color: var(--jan-on-dark-muted);
}

.jan-site .site-footer a,
.jan-site .site-primary-footer-wrap a,
.jan-site .site-below-footer-wrap a {
	color: var(--jan-white);
}

@media (max-width: 921px) {
	.jan-site .jan-hero::after {
		mask-image: none;
		opacity: 0.42;
	}
}

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

	.jan-site *,
	.jan-site *::before,
	.jan-site *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}


/* --------------------------------------------------------------------------
 * JAN Beta 1.2 public-facing composition layer
 * These rules intentionally sit after Elementor/Astra defaults. They correct
 * inherited boxed layouts, default headings, default buttons, and footer text.
 * -------------------------------------------------------------------------- */

:root {
	--jan-frame: 1280px;
	--jan-reading-frame: 760px;
	--jan-space-section: clamp(4.5rem, 7vw, 8rem);
	--jan-space-module: clamp(2.25rem, 4vw, 4.5rem);
}

/* A clean, branded Astra shell. */
.jan-site .ast-primary-header-bar,
.jan-site .main-header-bar,
.jan-site .ast-desktop .ast-primary-header-bar {
	background: rgba(248, 247, 242, 0.97) !important;
	border-bottom: 1px solid rgba(7, 43, 92, 0.14) !important;
	box-shadow: 0 1px 0 rgba(7, 43, 92, 0.04) !important;
}

.jan-site .site-title,
.jan-site .site-title a {
	color: var(--jan-navy) !important;
	font-family: var(--jan-serif) !important;
	font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.7rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.025em !important;
	line-height: 1 !important;
}

.jan-site .site-title a::after {
	color: var(--jan-teal);
	content: "  /  Facts · History · Voices";
	font-family: var(--jan-sans);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	vertical-align: middle;
}

.jan-site .main-header-menu .menu-link {
	color: var(--jan-navy) !important;
	font-size: 0.76rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.035em !important;
	padding-left: 0.8rem !important;
	padding-right: 0.8rem !important;
	text-transform: uppercase;
}

.jan-site .main-header-menu .menu-link:hover,
.jan-site .main-header-menu .current-menu-item > .menu-link {
	color: var(--jan-teal) !important;
}

/* Remove Astra’s contained page rail and its duplicate page title. */
.jan-site.page .site-content > .ast-container,
.jan-site.page .site-content .ast-container,
.jan-site.page .content-area,
.jan-site.page .site-main,
.jan-site.page .ast-article-single,
.jan-site.page .entry-content {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.jan-site.page .entry-header,
.jan-site.page .entry-title {
	display: none !important;
}

.jan-site.page .site-content {
	background: var(--jan-parchment) !important;
	padding: 0 !important;
}

/* Landing-page content frames and editorial rhythm. */
.jan-site.page .elementor-section > .elementor-container {
	max-width: var(--jan-frame) !important;
	padding-left: clamp(1.25rem, 3vw, 3rem) !important;
	padding-right: clamp(1.25rem, 3vw, 3rem) !important;
	width: 100% !important;
}

.jan-site.page .elementor-section:not(.jan-hero) {
	padding-top: var(--jan-space-section) !important;
	padding-bottom: var(--jan-space-section) !important;
}

.jan-site.page .elementor-section.jan-hero {
	background:
		radial-gradient(circle at 84% 18%, rgba(26, 176, 184, 0.36), transparent 32rem),
		linear-gradient(117deg, #051f45 0%, #083871 47%, #1667c9 100%) !important;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.16);
	min-height: min(780px, 86vh);
	padding-bottom: clamp(6rem, 10vw, 10rem) !important;
	padding-top: clamp(6.5rem, 11vw, 11rem) !important;
}

.jan-site.page .jan-hero > .elementor-container {
	max-width: var(--jan-frame) !important;
}

.jan-site.page .jan-hero::before {
	background: radial-gradient(circle, rgba(255, 255, 255, 0.78) 0 2px, transparent 2.8px) 0 0 / 74px 74px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(90deg, transparent 39%, rgba(0, 0, 0, 0.9) 66%, rgba(0, 0, 0, 0.45));
	opacity: 0.3;
	pointer-events: none;
	position: absolute;
}

.jan-site.page .jan-hero > .elementor-container {
	position: relative;
	z-index: 2;
}

/* Elementor’s generated CSS can otherwise override the intended palette. */
.jan-site.page .elementor-widget-heading .elementor-heading-title {
	color: var(--jan-navy) !important;
	font-family: var(--jan-serif) !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	line-height: 1.08 !important;
}

.jan-site.page .jan-hero .elementor-heading-title {
	color: var(--jan-on-dark) !important;
	font-size: clamp(3.65rem, 6vw, 6.15rem) !important;
	max-width: 13ch;
}

.jan-site.page .jan-hero .elementor-widget-text-editor,
.jan-site.page .jan-hero .elementor-widget-text-editor p,
.jan-site.page .jan-hero .jan-lede {
	color: var(--jan-on-dark-muted) !important;
	font-family: var(--jan-sans) !important;
	font-size: clamp(1.1rem, 1rem + 0.45vw, 1.38rem) !important;
	line-height: 1.7 !important;
	max-width: 43rem;
}

.jan-site.page .jan-eyebrow .elementor-heading-title,
.jan-site.page .jan-eyebrow {
	color: var(--jan-teal) !important;
	font-family: var(--jan-sans) !important;
	font-size: 0.74rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.13em !important;
	text-transform: uppercase !important;
}

.jan-site.page .jan-hero .jan-eyebrow .elementor-heading-title,
.jan-site.page .jan-hero .jan-eyebrow {
	color: var(--jan-on-dark-muted) !important;
}

.jan-site.page .elementor-section:not(.jan-hero) .elementor-widget-heading .elementor-heading-title:not(.jan-eyebrow) {
	font-size: clamp(2.45rem, 3.5vw, 4rem) !important;
}

.jan-site.page .elementor-widget-text-editor,
.jan-site.page .elementor-widget-text-editor p {
	color: var(--jan-on-light) !important;
	font-family: var(--jan-sans) !important;
	font-size: clamp(1.03rem, 0.98rem + 0.18vw, 1.18rem) !important;
	line-height: 1.75 !important;
}

/* A clear button system; overrides Elementor kit’s default green. */
.jan-site .elementor-button,
.jan-site .ast-button,
.jan-site input[type="submit"],
.jan-site button[type="submit"] {
	align-items: center;
	background: var(--jan-blue) !important;
	border: 1px solid var(--jan-blue) !important;
	border-radius: 5px !important;
	box-shadow: 0 10px 22px rgba(7, 43, 92, 0.16) !important;
	color: var(--jan-white) !important;
	display: inline-flex;
	font-family: var(--jan-sans) !important;
	font-size: 0.9rem !important;
	font-weight: 900 !important;
	gap: 0.5rem;
	justify-content: center;
	letter-spacing: 0.04em !important;
	min-height: 3.25rem;
	padding: 0.85rem 1.35rem !important;
	text-transform: uppercase;
}

.jan-site .elementor-button:hover,
.jan-site .ast-button:hover,
.jan-site input[type="submit"]:hover,
.jan-site button[type="submit"]:hover {
	background: var(--jan-navy) !important;
	border-color: var(--jan-navy) !important;
	color: var(--jan-white) !important;
	transform: translateY(-2px);
}

.jan-site .jan-hero .jan-button-secondary .elementor-button,
.jan-site .jan-hero .jan-button-secondary.elementor-button {
	background: transparent !important;
	border-color: var(--jan-white) !important;
	box-shadow: none !important;
	color: var(--jan-white) !important;
}

.jan-site .jan-hero .jan-button-secondary .elementor-button:hover,
.jan-site .jan-hero .jan-button-secondary.elementor-button:hover {
	background: var(--jan-white) !important;
	border-color: var(--jan-white) !important;
	color: var(--jan-navy) !important;
}

/* Purposeful card depth and consistent content proportion. */
.jan-site.page .jan-pillar-card,
.jan-site.page .jan-resource-card,
.jan-site.page .jan-voice-card,
.jan-site.page .jan-feature-card {
	background: var(--jan-white) !important;
	border: 1px solid rgba(7, 43, 92, 0.13) !important;
	border-radius: 12px !important;
	box-shadow: 0 18px 42px rgba(7, 43, 92, 0.10) !important;
	display: flex !important;
	flex-direction: column;
	overflow: hidden;
	padding: clamp(1.8rem, 2.8vw, 2.8rem) !important;
	position: relative;
}

.jan-site.page .jan-pillar-card::before,
.jan-site.page .jan-resource-card::before,
.jan-site.page .jan-voice-card::before,
.jan-site.page .jan-feature-card::before {
	background: linear-gradient(90deg, var(--jan-teal), var(--jan-blue));
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.jan-site.page .jan-pillar-card .elementor-button-wrapper,
.jan-site.page .jan-resource-card .elementor-button-wrapper,
.jan-site.page .jan-voice-card .elementor-button-wrapper,
.jan-site.page .jan-feature-card .elementor-button-wrapper {
	margin-top: auto;
	padding-top: 1.25rem;
}

.jan-site.page .jan-pillar-card .elementor-heading-title,
.jan-site.page .jan-resource-card .elementor-heading-title,
.jan-site.page .jan-voice-card .elementor-heading-title,
.jan-site.page .jan-feature-card .elementor-heading-title {
	font-size: clamp(1.62rem, 2vw, 2.15rem) !important;
}

.jan-site.page .jan-surface-mist {
	background: linear-gradient(135deg, #eaf3fb, #dceafa) !important;
	border-bottom: 1px solid rgba(7, 43, 92, 0.08);
	border-top: 1px solid rgba(7, 43, 92, 0.08);
}

.jan-site.page .jan-source-note {
	background: rgba(255, 255, 255, 0.76) !important;
	border-left-color: var(--jan-teal) !important;
	box-shadow: 0 8px 18px rgba(7, 43, 92, 0.05);
	color: var(--jan-on-light) !important;
}

/* Journal posts are intentionally quieter, but no longer look like raw defaults. */
.jan-site.single-post .site-content > .ast-container,
.jan-site.single-post .site-content .ast-container {
	max-width: 960px !important;
}

.jan-site.single-post .ast-article-post {
	background: var(--jan-white);
	box-shadow: 0 18px 46px rgba(7, 43, 92, 0.08);
	margin-bottom: 5rem;
	padding: clamp(2.5rem, 5vw, 5.5rem) !important;
}

.jan-site.single-post .entry-title {
	color: var(--jan-navy) !important;
	font-family: var(--jan-serif) !important;
	font-size: clamp(2.65rem, 5vw, 4.8rem) !important;
	line-height: 1.06 !important;
}

.jan-site.single-post .entry-meta,
.jan-site.single-post .entry-meta * {
	color: var(--jan-link-on-light) !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.jan-site.single-post .post-navigation {
	display: none !important;
}

/* Footer: high-contrast JAN identity with no invisible inherited credit. */
.jan-site .site-footer,
.jan-site .site-primary-footer-wrap,
.jan-site .site-below-footer-wrap,
.jan-site .site-below-footer-wrap .ast-builder-grid-row-container,
.jan-site .site-below-footer-wrap .ast-builder-grid-row {
	background: var(--jan-navy) !important;
	color: var(--jan-on-dark-muted) !important;
}

.jan-site .site-footer *,
.jan-site .site-primary-footer-wrap *,
.jan-site .site-below-footer-wrap *,
.jan-site .ast-footer-copyright,
.jan-site .ast-footer-copyright * {
	color: var(--jan-on-dark-muted) !important;
}

.jan-site .site-footer a,
.jan-site .site-primary-footer-wrap a,
.jan-site .site-below-footer-wrap a {
	color: var(--jan-white) !important;
	font-weight: 800;
}

.jan-site .site-below-footer-wrap .ast-footer-copyright {
	font-family: var(--jan-sans) !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.04em;
}

@media (max-width: 921px) {
	.jan-site .site-title a::after {
		display: none;
	}

	.jan-site.page .elementor-section.jan-hero {
		min-height: auto;
		padding-bottom: 5rem !important;
		padding-top: 5.5rem !important;
	}

	.jan-site.page .jan-hero .elementor-heading-title {
		font-size: clamp(3rem, 12vw, 4.25rem) !important;
	}

	.jan-site.page .elementor-section:not(.jan-hero) {
		padding-bottom: 4.5rem !important;
		padding-top: 4.5rem !important;
	}
}

@media (max-width: 544px) {
	.jan-site.page .elementor-section > .elementor-container {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}

	.jan-site .main-header-menu .menu-link {
		font-size: 0.7rem !important;
	}
}


/* Astra may assign a sidebar-width primary column even where no sidebar is visible.
 * Force JAN landing pages to use the complete page rail. */
.jan-site.jan-landing-page #primary,
.jan-site.jan-landing-page .content-area,
.jan-site.jan-landing-page .site-primary,
.jan-site.jan-landing-page .site-main,
.jan-site.jan-landing-page .ast-primary-content-area,
.jan-site.jan-landing-page .ast-container #primary {
	float: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.jan-site.jan-landing-page .widget-area,
.jan-site.jan-landing-page .sidebar-main,
.jan-site.jan-landing-page .ast-sidebar-layout-no-sidebar .widget-area {
	display: none !important;
}

.jan-site.jan-landing-page .site-content > .ast-container,
.jan-site.jan-landing-page .ast-container,
.jan-site.jan-landing-page .ast-container-fluid {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.jan-site.jan-landing-page .elementor {
	width: 100% !important;
}


/* --------------------------------------------------------------------------
 * Beta 1.2 open editorial rhythm — avoid a uniform card-grid aesthetic.
 * -------------------------------------------------------------------------- */

/* The three core pillars are pathways, not app tiles. */
.jan-site.jan-landing-page .jan-pillar-card {
	background: transparent !important;
	border: 0 !important;
	border-left: 1px solid rgba(7, 43, 92, 0.26) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-height: 22rem;
	padding: 1.25rem 1.5rem 1.5rem 2rem !important;
	transform: none !important;
}

.jan-site.jan-landing-page .jan-pillar-card::before {
	background: var(--jan-teal) !important;
	height: 3.5rem !important;
	left: -2px !important;
	top: 0 !important;
	width: 3px !important;
}

.jan-site.jan-landing-page .jan-pillar-card:hover {
	background: linear-gradient(135deg, rgba(255,255,255,0.78), rgba(232,240,248,0.42)) !important;
	box-shadow: none !important;
	transform: translateY(-5px) !important;
}

.jan-site.jan-landing-page .jan-pillar-card .elementor-heading-title {
	font-size: clamp(2rem, 2.4vw, 2.8rem) !important;
	max-width: 8ch;
}

.jan-site.jan-landing-page .jan-pillar-card .elementor-button {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--jan-link-on-light) !important;
	justify-content: flex-start;
	min-height: auto;
	padding: 0.25rem 0 !important;
}

.jan-site.jan-landing-page .jan-pillar-card .elementor-button::after {
	content: "→";
	font-size: 1.15rem;
	margin-left: 0.6rem;
}

.jan-site.jan-landing-page .jan-pillar-card .elementor-button:hover {
	background: transparent !important;
	color: var(--jan-navy) !important;
	transform: translateX(4px) !important;
}

/* Deeper library/voice pieces retain a soft surface, but avoid repetitive boxes. */
.jan-site.jan-landing-page .jan-feature-card,
.jan-site.jan-landing-page .jan-resource-card,
.jan-site.jan-landing-page .jan-voice-card {
	background: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(244,248,252,0.9)) !important;
	border: 1px solid rgba(7, 43, 92, 0.10) !important;
	border-radius: 22px 22px 22px 5px !important;
	box-shadow: 0 14px 34px rgba(7, 43, 92, 0.07) !important;
	padding: clamp(1.75rem, 2.6vw, 2.65rem) !important;
}

.jan-site.jan-landing-page .jan-feature-card::before,
.jan-site.jan-landing-page .jan-resource-card::before,
.jan-site.jan-landing-page .jan-voice-card::before {
	background: linear-gradient(90deg, var(--jan-teal), transparent 72%) !important;
	height: 2px !important;
	left: 2rem !important;
	top: 1.1rem !important;
	width: calc(100% - 4rem) !important;
}

.jan-site.jan-landing-page .jan-feature-card:hover,
.jan-site.jan-landing-page .jan-resource-card:hover,
.jan-site.jan-landing-page .jan-voice-card:hover {
	border-color: rgba(8, 119, 123, 0.45) !important;
	box-shadow: 0 22px 45px rgba(7, 43, 92, 0.12) !important;
	transform: translateY(-6px) !important;
}

/* Reframe broad information bands as open fields rather than blue rectangles. */
.jan-site.jan-landing-page .jan-surface-mist {
	background:
		radial-gradient(circle at 8% 10%, rgba(27, 138, 143, 0.16), transparent 22rem),
		linear-gradient(125deg, #eef6fc 0%, #dceafa 100%) !important;
	border: 0 !important;
	position: relative;
}

.jan-site.jan-landing-page .jan-surface-mist::before {
	background-image: linear-gradient(rgba(7,43,92,0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(7,43,92,0.08) 1px, transparent 1px);
	background-size: 52px 52px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(90deg, rgba(0,0,0,0.8), transparent 52%);
	pointer-events: none;
	position: absolute;
}

.jan-site.jan-landing-page .jan-surface-mist > .elementor-container {
	position: relative;
	z-index: 1;
}

/* Set off source notes as an editorial annotation rather than a generic card. */
.jan-site.jan-landing-page .jan-source-note {
	background: transparent !important;
	border-bottom: 1px solid rgba(7, 43, 92, 0.17) !important;
	border-left: 3px solid var(--jan-teal) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 1.1rem 0 1.25rem 1.35rem !important;
}

@media (max-width: 767px) {
	.jan-site.jan-landing-page .jan-pillar-card {
		min-height: auto;
		padding-bottom: 2rem !important;
	}

	.jan-site.jan-landing-page .jan-pillar-card .elementor-heading-title {
		max-width: none;
	}
}
