/* ISNS Platform — membership tiers (theme-matched navy / gold) */

.isns-tiers {
	--isns-ink: #0C2D4A;
	--isns-ink-soft: #16324F;
	--isns-gold: #C3A342;
	--isns-muted: #7A7A7A;
	--isns-body: #54595F;
	--isns-line: #E4E7EC;
	--isns-border: #0C2D4A26;
	--isns-bg: #F7FAFC;
	--isns-tab-track: #E9EDF5;
	--isns-card: #ffffff;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	max-width: 1280px;
	margin: 0 auto;
	padding: 2rem 1rem 3rem;
	box-sizing: border-box;
	background: transparent;
}

.isns-tiers *,
.isns-tiers *::before,
.isns-tiers *::after {
	box-sizing: border-box;
}

.isns-tiers__intro {
	text-align: center;
	margin: 0 auto 2.25rem;
	max-width: 40rem;
}

.isns-tiers__eyebrow {
	margin: 0 0 0.65rem;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--isns-gold);
}

.isns-tiers__title {
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	line-height: 1.2;
	margin: 0 0 0.75rem;
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-tiers__lead {
	color: var(--isns-body);
	margin: 0 auto 1.5rem;
	font-size: 1rem;
	line-height: 1.55;
	font-weight: 400;
}

.isns-tiers__toggle {
	display: inline-flex;
	justify-content: space-between;
	gap: 4px;
	width: 280px;
	max-width: 100%;
	padding: 6px;
	background: var(--isns-tab-track);
	border-radius: 999px;
	border: 0;
}

.isns-tiers__toggle-btn {
	flex: 1;
	appearance: none;
	border: 0;
	background: transparent;
	padding: 0.65em 1.1em;
	cursor: pointer;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--isns-ink);
	border-radius: 30px;
	transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.isns-tiers__toggle-btn:hover {
	background: var(--isns-card);
}

.isns-tiers__toggle-btn.is-active {
	background: var(--isns-card);
	color: var(--isns-ink);
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.08);
}

.isns-tiers__badge {
	display: inline-block;
	margin-left: 0.3rem;
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--isns-gold);
	font-weight: 700;
}

/* display:flex can override native [hidden] — force one Join CTA */
.isns-tiers [hidden],
.isns-tier-card__price[hidden],
.isns-tier-card__cta[hidden],
.isns-tiers .is-billing-hidden {
	display: none !important;
}

.isns-tiers[data-billing="monthly"] .isns-tier-card:not(.isns-tier-card--application) .isns-tier-card__price--annual,
.isns-tiers[data-billing="monthly"] .isns-tier-card:not(.isns-tier-card--application) .isns-tier-card__cta--annual,
.isns-tiers[data-billing="annual"] .isns-tier-card:not(.isns-tier-card--application) .isns-tier-card__price--monthly,
.isns-tiers[data-billing="annual"] .isns-tier-card:not(.isns-tier-card--application) .isns-tier-card__cta--monthly {
	display: none !important;
}

.isns-tiers__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	align-items: stretch;
}

.isns-tier-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--isns-card);
	border: 2px solid var(--isns-border);
	border-radius: 10px;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.1);
	padding: 22px 18px 20px;
	min-width: 0;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.isns-tier-card:hover {
	border-color: rgba(12, 45, 74, 0.28);
	box-shadow: 0 10px 28px rgba(12, 45, 74, 0.08);
	transform: translateY(-2px);
}

.isns-tier-card--featured {
	border-color: var(--isns-gold);
	box-shadow: 0 0 0 1px rgba(195, 163, 66, 0.25), 0 10px 28px rgba(12, 45, 74, 0.08);
}

.isns-tier-card--featured:hover {
	border-color: var(--isns-gold);
}

.isns-tier-card__popular {
	display: inline-block;
	align-self: flex-start;
	margin: 0 0 0.75rem;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	background: rgba(195, 163, 66, 0.14);
	color: #8a7020;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.isns-tier-card__top {
	margin-bottom: 0.35rem;
}

.isns-tier-card__name {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--isns-ink);
}

.isns-tier-card__best {
	margin: 0 0 1rem;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--isns-muted);
	min-height: 0;
}

.isns-tier-card__benefits-title {
	margin: 0 0 0.4rem;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--isns-ink);
}

.isns-tier-card__benefits {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.isns-tier-card__benefits li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0;
	padding: 5px 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--isns-ink-soft);
	border: 0;
}

.isns-tier-card__check {
	flex: 0 0 auto;
	margin-top: 2px;
	color: var(--isns-gold);
	line-height: 0;
}

.isns-tier-card__meta {
	margin: 0 0 0.55rem;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--isns-ink-soft);
}

.isns-tier-card__meta strong {
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-tier-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 4px;
	margin: 0.85rem 0 0.75rem;
	min-width: 0;
	max-width: 100%;
}

.isns-tier-card__was {
	display: block;
	width: 100%;
	text-decoration: line-through;
	color: var(--isns-muted);
	font-size: 0.85rem;
	font-weight: 500;
}

.isns-tier-card__amount {
	font-size: clamp(22px, 2.1vw, 28px);
	font-weight: 700;
	line-height: 1;
	color: var(--isns-ink-soft);
	min-width: 0;
	overflow-wrap: anywhere;
}

.isns-tier-card__period {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--isns-muted);
	margin-bottom: 3px;
	flex-shrink: 0;
}

.isns-tier-card__app-note {
	margin: -0.35rem 0 0.75rem;
	font-size: 13px;
	color: var(--isns-muted);
}

.isns-tier-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	align-self: stretch;
	width: 100%;
	padding: 1em 1.5em;
	background: transparent;
	border: 1px solid var(--isns-ink);
	border-radius: 0;
	color: var(--isns-ink);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.isns-tier-card__cta:hover,
.isns-tier-card__cta:focus {
	background: var(--isns-ink);
	color: #fff !important;
	text-decoration: none !important;
}

.isns-tier-card--featured .isns-tier-card__cta {
	background: var(--isns-ink);
	color: #fff !important;
	border-color: var(--isns-ink);
}

.isns-tier-card--featured .isns-tier-card__cta:hover,
.isns-tier-card--featured .isns-tier-card__cta:focus {
	background: var(--isns-gold);
	border-color: var(--isns-gold);
	color: var(--isns-ink) !important;
}

@media (max-width: 1100px) {
	.isns-tiers__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.isns-tiers {
		padding: 1.5rem 1rem 2.5rem;
	}

	.isns-tiers__grid {
		grid-template-columns: 1fr;
		gap: 12px;
		max-width: 420px;
		margin: 0 auto;
	}

	.isns-tier-card:hover {
		transform: none;
	}
}

/* Shared buttons (dashboard + other shortcodes) */
.isns-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	font-family: "Inter", Sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	padding: 0.7rem 1rem;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.isns-btn--primary {
	background: #0C2D4A;
	color: #fff;
}

.isns-btn--primary:hover {
	background: #16324F;
	color: #fff;
}

.isns-btn--secondary {
	background: transparent;
	border-color: #0C2D4A;
	color: #0C2D4A;
}

.isns-btn--secondary:hover {
	background: #0C2D4A;
	color: #fff;
}

.isns-btn--ghost {
	background: transparent;
	border-color: #E4E7EC;
	color: #0C2D4A;
}

.isns-btn--ghost:hover {
	border-color: #0C2D4A;
	color: #0C2D4A;
}

/* Hide leftover WP page title so the stepper / dashboard / tiers intro is not duplicated. */
article:has(.isns-wizard) > .entry-header,
.ast-article-single:has(.isns-wizard) .entry-header,
article:has(.isns-auth) > .entry-header,
.ast-article-single:has(.isns-auth) .entry-header,
article:has(.isns-dash) > .entry-header,
.ast-article-single:has(.isns-dash) .entry-header,
article:has(.isns-dir) > .entry-header,
.ast-article-single:has(.isns-dir) .entry-header,
body.isns-directory-page .entry-header,
body.isns-directory-page .page-header,
body.isns-directory-page .ast-single-entry-banner,
body.isns-publication-page .entry-header,
body.isns-publication-page .ast-single-entry-banner,
body.isns-tiers-page .entry-header,
body.isns-tiers-page .page-header,
body.isns-auth-page .entry-header,
body.isns-auth-page .page-header,
body.isns-auth-page .ast-single-entry-banner,
body.isns-tiers-page .ast-single-entry-banner,
body.isns-tiers-page h1.entry-title {
	display: none;
}

/* Full-bleed page bg — remove Astra white column vs grey sides */
body.isns-tiers-page,
body.isns-tiers-page .site-content,
body.isns-tiers-page #content,
body.isns-tiers-page .ast-container,
body.isns-tiers-page .entry-content,
body.isns-tiers-page article,
body.isns-tiers-page .site-main,
body.isns-tiers-page #primary,
body.isns-tiers-page .content-area {
	background: #ffffff !important;
}

body.isns-tiers-page .site-content,
body.isns-tiers-page #content,
body.isns-tiers-page #primary,
body.isns-tiers-page .content-area,
body.isns-tiers-page .site-main,
body.isns-tiers-page .ast-container,
body.isns-tiers-page .entry-content {
	max-width: none !important;
	width: 100% !important;
}

/* Submit research wizard (Figma-matched) */
.isns-wizard {
	--isns-ink: #0C2D4A;
	--isns-muted: #787878;
	--isns-line: #E4E7EC;
	--isns-gold: #C3A342;
	--isns-step: #E07A5F;
	--isns-bg: #F7FAFC;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	max-width: 1280px;
	margin: 0 auto 3rem;
	padding: 1.5rem 1rem 2rem;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.isns-wizard *,
.isns-wizard *::before,
.isns-wizard *::after {
	box-sizing: border-box;
}

.isns-wizard__progress {
	display: flex;
	align-items: center;
	gap: 1rem;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(12, 45, 74, 0.08);
	padding: 1.25rem 1.5rem 1.15rem;
	margin: 0 0 2.25rem;
}

.isns-wizard .isns-wizard__back {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 40px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	min-width: 40px !important;
	max-width: 40px !important;
	height: 40px !important;
	min-height: 40px !important;
	padding: 0 !important;
	margin: 0;
	border: 0;
	border-radius: 50% !important;
	background: var(--isns-ink) !important;
	background-color: var(--isns-ink) !important;
	color: #fff;
	line-height: 0;
	box-shadow: none;
	text-indent: 0;
	text-decoration: none !important;
	overflow: hidden;
	cursor: pointer;
}

.isns-wizard .isns-wizard__back:hover,
.isns-wizard .isns-wizard__back:focus {
	background: var(--isns-ink) !important;
	background-color: var(--isns-ink) !important;
	color: #fff !important;
	box-shadow: none !important;
	transform: none;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
}

.isns-wizard .isns-wizard__back svg {
	display: none;
}

.isns-wizard .isns-wizard__back::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin-left: 3px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
}

.isns-wizard__back[hidden] {
	display: none !important;
}

.isns-wizard__steps {
	list-style: none;
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	flex: 1 1 auto;
	align-items: start;
	margin: 0;
	padding: 0;
	width: 100%;
}

.isns-wizard__steps::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 10%;
	right: 10%;
	height: 1px;
	background: #D7DCE3;
	z-index: 0;
	pointer-events: none;
}

.isns-wizard__step {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	text-align: center;
	color: #A0A7B0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.25;
}

.isns-wizard__dot {
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #D7DCE3;
	box-shadow: 0 0 0 4px #fff;
}

.isns-wizard__step.is-done {
	color: var(--isns-gold);
}

.isns-wizard__step.is-active {
	color: var(--isns-step);
	font-weight: 600;
}

.isns-wizard__step.is-done .isns-wizard__dot {
	background: var(--isns-gold);
}

.isns-wizard__step.is-active .isns-wizard__dot {
	background: var(--isns-step);
}

.isns-wizard__panel-head {
	text-align: center;
	margin: 0 0 1.5rem;
}

.isns-wizard__eyebrow {
	margin: 0 0 0.4rem;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--isns-gold);
}

.isns-wizard__heading {
	margin: 0;
	font-size: clamp(1.6rem, 3vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--isns-ink);
}

.isns-wizard__lead {
	margin: 0.55rem auto 0;
	max-width: 34rem;
	color: var(--isns-muted);
	font-size: 14px;
	line-height: 1.5;
}

.isns-wizard__types {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.isns-wizard button.isns-wizard-type {
	appearance: none;
	-webkit-appearance: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	text-align: left;
	background: #fff;
	background-color: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
	padding: 1.15rem 1.1rem;
	cursor: pointer;
	color: var(--isns-ink);
	font: inherit;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	min-height: 100%;
	transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.isns-wizard button.isns-wizard-type:hover,
.isns-wizard button.isns-wizard-type:focus,
.isns-wizard button.isns-wizard-type:focus-visible,
.isns-wizard button.isns-wizard-type.is-selected {
	background: var(--isns-gold) !important;
	background-color: var(--isns-gold) !important;
	border-color: var(--isns-gold) !important;
	color: #fff !important;
	box-shadow: none !important;
	outline: none;
	transform: translateY(-3px);
}

.isns-wizard-type__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--isns-ink);
}

.isns-wizard-type__blurb {
	font-size: 13px;
	line-height: 1.4;
	color: var(--isns-muted);
}

.isns-wizard-type__price {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin-top: auto;
	padding-top: 0.5rem;
	font-size: 12px;
	font-weight: 600;
	color: var(--isns-gold);
}

.isns-wizard button.isns-wizard-type:hover .isns-wizard-type__title,
.isns-wizard button.isns-wizard-type:hover .isns-wizard-type__blurb,
.isns-wizard button.isns-wizard-type:hover .isns-wizard-type__price,
.isns-wizard button.isns-wizard-type:focus .isns-wizard-type__title,
.isns-wizard button.isns-wizard-type:focus .isns-wizard-type__blurb,
.isns-wizard button.isns-wizard-type:focus .isns-wizard-type__price,
.isns-wizard button.isns-wizard-type.is-selected .isns-wizard-type__title,
.isns-wizard button.isns-wizard-type.is-selected .isns-wizard-type__blurb,
.isns-wizard button.isns-wizard-type.is-selected .isns-wizard-type__price {
	color: #fff !important;
}

.isns-wizard__hint {
	margin: 0.85rem 0 0;
	color: #b42318;
	font-size: 13px;
	text-align: center;
}

.isns-wizard__actions {
	margin-top: 1.5rem;
	display: flex;
	justify-content: center;
}

.isns-wizard__actions--type .isns-wizard__cta {
	max-width: 320px;
	width: 100%;
}

.isns-wizard__card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(12, 45, 74, 0.08);
	padding: 1.5rem 1.5rem 1.35rem;
	max-width: 760px;
	margin: 0 auto;
}

.isns-wizard__card--narrow {
	max-width: 560px;
}

.isns-wizard__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1rem;
}

.isns-wizard-field {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin-bottom: 1rem;
}

.isns-wizard-field > span {
	font-size: 14px;
	font-weight: 600;
	color: var(--isns-ink);
}

.isns-wizard-field input[type="text"],
.isns-wizard-field input[type="email"],
.isns-wizard-field select,
.isns-wizard-field textarea {
	width: 100%;
	padding: 0.85rem 0.95rem;
	border: 1px solid var(--isns-line);
	border-radius: 10px;
	font: inherit;
	font-size: 14px;
	color: var(--isns-ink);
	background: #fff;
}

.isns-wizard-field input::placeholder,
.isns-wizard-field textarea::placeholder {
	color: #B0B7C0;
}

.isns-wizard-field.is-invalid,
.isns-wizard-field :is(input, select, textarea).is-invalid {
	border-color: #b42318;
}

.isns-wizard-field--check {
	flex-direction: row;
	align-items: flex-start;
	gap: 0.7rem;
}

.isns-wizard-field--check > span {
	font-weight: 400;
	font-size: 13px;
	line-height: 1.45;
	color: var(--isns-ink);
}

.isns-wizard-upload {
	margin-bottom: 1.25rem;
}

.isns-wizard-upload__label {
	display: block;
	margin-bottom: 0.55rem;
	font-size: 14px;
	font-weight: 600;
	color: var(--isns-ink);
}

.isns-wizard-drop {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 180px;
	padding: 1.5rem 1rem;
	border: 1px dashed #C9CED6;
	border-radius: 12px;
	background: #FAFBFC;
	cursor: pointer;
	text-align: center;
}

.isns-wizard-drop input[type="file"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.isns-wizard-drop__icon {
	color: var(--isns-ink);
	opacity: 0.75;
	line-height: 0;
}

.isns-wizard-drop__title {
	font-size: 14px;
	font-weight: 600;
	color: var(--isns-ink);
}

.isns-wizard-drop__or {
	font-size: 12px;
	color: var(--isns-muted);
}

.isns-wizard-drop__browse {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.25rem;
	padding: 0.55rem 1.1rem;
	border-radius: 8px;
	background: var(--isns-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}

.isns-wizard-drop__name {
	font-size: 12px;
	color: var(--isns-gold);
	font-weight: 600;
	min-height: 1em;
}

.isns-wizard-drop__hint {
	margin: 0.45rem 0 0;
	font-size: 12px;
	color: var(--isns-muted);
}

.isns-wizard__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.95rem 1.25rem;
	border: 0;
	border-radius: 10px;
	background: var(--isns-gold);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.isns-wizard__cta:hover,
.isns-wizard__cta:focus {
	color: #fff;
	text-decoration: none;
	filter: brightness(0.96);
	transform: translateY(-2px);
}

.isns-wizard__cta.is-loading,
.isns-wizard .isns-wizard__back.is-loading {
	position: relative;
	pointer-events: none;
	opacity: 0.85;
}

.isns-wizard__cta.is-loading {
	color: transparent !important;
}

.isns-wizard__cta.is-loading::after,
.isns-wizard .isns-wizard__back.is-loading::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: isns-wizard-spin 0.65s linear infinite;
}

.isns-wizard .isns-wizard__back.is-loading::after {
	width: 14px;
	height: 14px;
	border-color: rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
}

.isns-wizard__loader {
	position: absolute;
	inset: 0;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgba(247, 250, 252, 0.88);
	backdrop-filter: blur(3px);
	border-radius: 16px;
	transition: opacity 0.22s ease, visibility 0.22s ease;
}

.isns-wizard__loader[hidden] {
	display: none !important;
}

.isns-wizard__loader-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	padding: 1.35rem 1.75rem;
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(12, 45, 74, 0.1);
	min-width: min(100%, 240px);
	text-align: center;
}

.isns-wizard__spinner {
	display: block;
	width: 42px;
	height: 42px;
	border: 3px solid rgba(12, 45, 74, 0.1);
	border-top-color: var(--isns-gold);
	border-right-color: var(--isns-ink);
	border-radius: 50%;
	animation: isns-wizard-spin 0.75s linear infinite;
}

.isns-wizard__loader-text {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--isns-ink);
}

.isns-wizard.is-loading .isns-wizard__form,
.isns-wizard.is-loading .isns-wizard__progress {
	pointer-events: none;
	user-select: none;
}

.isns-wizard.is-loading .isns-wizard__panel.is-active {
	opacity: 0.72;
	transition: opacity 0.22s ease;
}

.isns-wizard__panel {
	transition: opacity 0.28s ease, transform 0.28s ease;
}

.isns-wizard__panel.is-leaving {
	opacity: 0;
	transform: translateY(10px);
}

.isns-wizard__panel.is-entering {
	opacity: 0;
	transform: translateY(-10px);
}

@keyframes isns-wizard-spin {
	to {
		transform: rotate(360deg);
	}
}

.isns-wizard__done {
	text-align: center;
	padding: 2.5rem 1rem 3rem;
}

.isns-wizard__done-copy {
	margin: 0.85rem auto 1.5rem;
	max-width: 34rem;
	font-size: 15px;
	line-height: 1.55;
	color: var(--isns-ink);
}

.isns-wizard__tracking {
	color: var(--isns-gold);
	font-weight: 700;
}

.isns-wizard__done .isns-wizard__cta {
	max-width: 260px;
	width: auto;
	min-width: 220px;
	padding-left: 1.75rem;
	padding-right: 1.75rem;
}

.isns-wizard__gate {
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
	padding: 2.5rem 1.25rem 3rem;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(12, 45, 74, 0.08);
}

.isns-wizard__gate .isns-wizard__heading {
	margin-bottom: 0.75rem;
}

.isns-wizard__gate .isns-wizard__lead {
	margin: 0 auto 1.5rem;
	max-width: 28rem;
	color: var(--isns-muted);
	font-size: 15px;
	line-height: 1.55;
}

.isns-wizard__gate-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.isns-wizard__gate-actions .isns-wizard__cta {
	width: auto;
	min-width: 180px;
	margin-top: 0;
}

.isns-wizard__cta--outline {
	background: #fff !important;
	color: var(--isns-ink) !important;
	border: 1px solid var(--isns-ink) !important;
}

.isns-wizard__cta--outline:hover,
.isns-wizard__cta--outline:focus {
	color: var(--isns-ink) !important;
	filter: none;
	background: #F7FAFC !important;
}

.isns-wizard__gate-note {
	margin: 1.25rem 0 0;
	font-size: 13px;
	color: var(--isns-muted);
}

/* Branded login / create-account */
.isns-auth {
	--isns-ink: #0C2D4A;
	--isns-gold: #C9A227;
	--isns-muted: #5B6B7C;
	--isns-line: #D7DEE7;
	font-family: Inter, system-ui, sans-serif;
	padding: 2rem 1rem 3rem;
	max-width: 480px;
	margin: 0 auto;
}

.isns-auth__card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(12, 45, 74, 0.08);
	padding: 2.25rem 1.5rem 2rem;
	text-align: center;
}

.isns-auth__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--isns-gold);
}

.isns-auth__heading {
	margin: 0 0 0.6rem;
	font-size: clamp(1.5rem, 3vw, 1.85rem);
	font-weight: 700;
	color: var(--isns-ink);
	line-height: 1.25;
}

.isns-auth__lead {
	margin: 0 auto 1.35rem;
	max-width: 26rem;
	font-size: 15px;
	line-height: 1.55;
	color: var(--isns-muted);
}

.isns-auth__notice {
	text-align: left;
	padding: 0.75rem 0.9rem;
	margin: 0 0 1.1rem;
	border-radius: 10px;
	font-size: 14px;
}

.isns-auth__notice--error {
	background: #fdecea;
	border: 1px solid #b42318;
	color: #7a1c14;
}

.isns-auth__form {
	text-align: left;
}

.isns-auth__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0 0 1rem;
}

.isns-auth__field label {
	font-size: 13px;
	font-weight: 600;
	color: var(--isns-ink);
}

.isns-auth__field input[type="text"],
.isns-auth__field input[type="email"],
.isns-auth__field input[type="password"] {
	width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--isns-line);
	border-radius: 10px;
	font-size: 15px;
	color: var(--isns-ink);
	background: #fff;
	box-sizing: border-box;
}

.isns-auth__field input:focus {
	outline: 2px solid rgba(201, 162, 39, 0.35);
	border-color: var(--isns-gold);
}

.isns-auth__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 0 0 1.25rem;
	font-size: 13px;
}

.isns-auth__check {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--isns-muted);
	cursor: pointer;
}

.isns-auth__link {
	color: var(--isns-ink);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.isns-auth__submit {
	width: 100%;
	margin-top: 0;
}

.isns-auth__footer {
	margin: 1.35rem 0 0;
	font-size: 14px;
	color: var(--isns-muted);
}

.isns-auth__footer a {
	color: var(--isns-ink);
	font-weight: 700;
}

.isns-auth__hp {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}

/* -------------------------------------------------------------------------
   Corporate / Patron application forms
   ------------------------------------------------------------------------- */
body.isns-app-page .entry-header,
body.isns-app-page .page-header,
body.isns-app-page .ast-single-entry-banner {
	display: none !important;
}

body.isns-app-page,
body.isns-app-page .site-content,
body.isns-app-page #content,
body.isns-app-page .ast-container,
body.isns-app-page .entry-content,
body.isns-app-page article {
	background: #F7FAFC !important;
}

body.isns-app-page .site-content,
body.isns-app-page #content,
body.isns-app-page #primary,
body.isns-app-page .content-area,
body.isns-app-page .site-main,
body.isns-app-page .ast-container,
body.isns-app-page .entry-content {
	max-width: none !important;
	width: 100% !important;
}

.isns-app {
	--isns-app-navy: #0C2D4A;
	--isns-app-gold: #C3A342;
	--isns-app-muted: #5B6B7C;
	--isns-app-line: #E4E7EC;
	font-family: Inter, system-ui, sans-serif;
	max-width: 720px;
	margin: 0 auto;
	padding: 2rem 1.15rem 3.5rem;
	box-sizing: border-box;
}

.isns-app *,
.isns-app *::before,
.isns-app *::after {
	box-sizing: border-box;
}

.isns-app__card {
	background: #fff;
	border: 1px solid var(--isns-app-line);
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(12, 45, 74, 0.06);
	padding: 2rem 1.5rem 1.85rem;
}

.isns-app__head {
	text-align: center;
	margin: 0 0 1.5rem;
}

.isns-app__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--isns-app-gold);
}

.isns-app__heading {
	margin: 0 0 0.65rem;
	font-size: clamp(1.45rem, 3vw, 1.85rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--isns-app-navy);
}

.isns-app__lead {
	margin: 0 auto 0.85rem;
	max-width: 34rem;
	font-size: 15px;
	line-height: 1.55;
	color: var(--isns-app-muted);
}

.isns-app__rate {
	margin: 0 auto;
	display: inline-block;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	background: rgba(195, 163, 66, 0.12);
	color: var(--isns-app-navy);
	font-size: 13px;
	font-weight: 600;
}

.isns-app__notice {
	padding: 0.85rem 1rem;
	margin: 0 0 1.15rem;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}

.isns-app__notice--success {
	background: #eef8f1;
	border: 1px solid #b7dfc3;
	color: #1e7a34;
}

.isns-app__notice--error {
	background: #fff5f5;
	border: 1px solid #f0b4b4;
	color: #b32d2e;
}

.isns-app__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.15rem;
}

.isns-app__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
}

.isns-app__field--full {
	grid-column: 1 / -1;
}

.isns-app__field > span {
	font-size: 13px;
	font-weight: 600;
	color: var(--isns-app-navy);
}

.isns-app__field input[type="text"],
.isns-app__field input[type="email"],
.isns-app__field input[type="url"],
.isns-app__field textarea {
	width: 100%;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--isns-app-line);
	border-radius: 10px;
	font-size: 15px;
	font-family: inherit;
	color: var(--isns-app-navy);
	background: #fff;
}

.isns-app__field input:focus,
.isns-app__field textarea:focus {
	outline: 2px solid rgba(195, 163, 66, 0.35);
	border-color: var(--isns-app-gold);
}

.isns-app__field textarea {
	resize: vertical;
	min-height: 120px;
}

.isns-app__check {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 1.25rem 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--isns-app-muted);
	cursor: pointer;
}

.isns-app__check input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.isns-app__actions,
.isns-app__done-actions {
	margin: 1.35rem 0 0;
	text-align: center;
}

.isns-app__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	padding: 0.85rem 1.5rem;
	border: 0;
	border-radius: 10px;
	background: var(--isns-app-gold);
	color: var(--isns-app-navy) !important;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	text-decoration: none !important;
	cursor: pointer;
	transition: filter 0.15s ease, background 0.15s ease;
}

.isns-app__submit:hover,
.isns-app__submit:focus {
	filter: brightness(0.97);
	background: #d4b34a;
	color: var(--isns-app-navy) !important;
}

@media (max-width: 640px) {
	.isns-app__grid {
		grid-template-columns: 1fr;
	}

	.isns-app__submit {
		width: 100%;
		min-width: 0;
	}
}

.isns-wizard__notice {
	padding: 0.9rem 1rem;
	margin: 0 auto 1.25rem;
	max-width: 760px;
	border-radius: 10px;
	border: 1px solid var(--isns-line);
}

.isns-wizard__notice--error {
	background: #fdecea;
	border-color: #b42318;
	color: #7a1c14;
}

/* Shared form fields (other shortcodes) */
.isns-field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-bottom: 1rem;
}

.isns-field span {
	font-size: 0.9rem;
	font-weight: 600;
}

.isns-field input[type="text"],
.isns-field input[type="email"],
.isns-field select,
.isns-field textarea {
	padding: 0.65rem 0.75rem;
	border: 1px solid #d5e0da;
	font: inherit;
	background: #fff;
}

.isns-field--check {
	flex-direction: row;
	align-items: flex-start;
	gap: 0.65rem;
	font-weight: 400;
}

.isns-field--check span {
	font-weight: 400;
	font-size: 0.88rem;
	line-height: 1.45;
}

.isns-notice {
	padding: 0.9rem 1rem;
	margin-bottom: 1.25rem;
	border: 1px solid #d5e0da;
}

.isns-notice--success {
	background: #e7f3ec;
	border-color: #1f6b4a;
}

.isns-notice--error {
	background: #fdecea;
	border-color: #b42318;
}

@media (max-width: 900px) {
	.isns-wizard__types {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 700px) {
	.isns-wizard__types,
	.isns-wizard__grid {
		grid-template-columns: 1fr;
	}

	.isns-wizard__steps {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.isns-wizard__step-label {
		font-size: 11px;
	}

	.isns-wizard__progress {
		padding: 0.9rem;
	}
}

/* Directory — legacy aliases kept for single profile partials */
.isns-profile {
	--isns-ink: #0C2D4A;
	--isns-muted: #787878;
	--isns-line: #E4E7EC;
	--isns-gold: #C3A342;
	--isns-bg: #F7FAFC;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	max-width: 1280px;
	margin: 0 auto;
	padding: 1.5rem 1.25rem 2.5rem;
	box-sizing: border-box;
}

.isns-sponsor {
	max-width: 900px;
}

.isns-sponsor .isns-submit__fee-table td:last-child {
	font-size: 0.85rem;
	color: var(--isns-muted, #5c6f66);
}

/* My submissions */
.isns-subs,
.isns-pub {
	--isns-ink: #0C2D4A;
	--isns-muted: #787878;
	--isns-line: #0000001C;
	--isns-bg: #F7FAFC;
	--isns-accent: #C3A342;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 0 2rem;
	box-sizing: border-box;
}

.isns-subs *,
.isns-subs *::before,
.isns-subs *::after {
	box-sizing: border-box;
}

.isns-subs__title,
.isns-pub__title {
	font-family: "Inter", Sans-serif;
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 700;
	margin: 0 0 0.5rem;
	color: var(--isns-ink);
}

.isns-subs__lead {
	color: var(--isns-muted);
	margin: 0 0 1rem;
}

.isns-subs__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.isns-subs__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.isns-subs__item {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	padding: 1rem 0;
	border-top: 1px solid var(--isns-line);
}

.isns-subs__name {
	margin: 0 0 0.35rem;
	font-family: "Inter", Sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
}

.isns-subs__meta,
.isns-subs__help {
	margin: 0.2rem 0;
	color: var(--isns-muted);
	font-size: 0.9rem;
}

.isns-subs__status {
	margin: 0.4rem 0 0;
}

.isns-subs__side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.4rem;
	min-width: 160px;
}

.isns-subs__badge {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	background: var(--isns-bg);
	border: 1px solid var(--isns-line);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.isns-pub__header {
	margin-bottom: 1.25rem;
}

.isns-pub__author {
	color: var(--isns-muted);
}

.isns-pub__body {
	line-height: 1.65;
}

/* -------------------------------------------------------------------------
   Browse Publications — theme-matched library
   [isns_research_library]
   ------------------------------------------------------------------------- */

/* Full-bleed page — remove Astra white sides / grey column seam */
body.isns-library-page,
body.isns-library-page .site-content,
body.isns-library-page #content,
body.isns-library-page .ast-container,
body.isns-library-page .entry-content,
body.isns-library-page article,
body.isns-library-page .site-main,
body.isns-library-page #primary,
body.isns-library-page .content-area {
	background: #F7FAFC !important;
}

body.isns-library-page .site-content,
body.isns-library-page #content,
body.isns-library-page #primary,
body.isns-library-page .content-area,
body.isns-library-page .site-main,
body.isns-library-page .ast-container,
body.isns-library-page .entry-content {
	max-width: none !important;
	width: 100% !important;
}

body.isns-library-page .entry-header,
body.isns-library-page .page-header,
body.isns-library-page .ast-single-entry-banner,
body.isns-library-page h1.entry-title,
body.isns-library-page .ast-page-title-wrapper {
	display: none !important;
}

/* Keep shortcode section full-width even when result grid is empty
   (Elementor flex otherwise shrink-wraps to the filter controls). */
body.isns-library-page .elementor-widget-shortcode,
body.isns-library-page .elementor-widget-shortcode > .elementor-widget-container,
body.isns-library-page .elementor-shortcode,
body.isns-library-page .e-con:has(.isns-library),
body.isns-library-page .elementor-element:has(> .elementor-widget-container .isns-library) {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
	flex-grow: 1;
	min-width: 0;
}

.isns-library {
	--isns-ink: #0C2D4A;
	--isns-muted: #5F6B7A;
	--isns-type: #8A94A3;
	--isns-gold: #C3A342;
	--isns-ice: #E3E8F0;
	--isns-tab-border: #D6DCE5;
	--isns-tab-idle: #5F6B7A;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	display: block;
	width: 100% !important;
	max-width: 1280px;
	min-width: 0;
	margin: 0 auto;
	padding: 0.5rem 1rem 3rem;
	box-sizing: border-box;
	background: transparent;
	align-self: stretch;
	flex: 1 1 100%;
}

.isns-library *,
.isns-library *::before,
.isns-library *::after {
	box-sizing: border-box;
}

/* Compact filter panel */
.isns-library__filters {
	display: block;
	width: 100%;
	margin: 0 0 1.5rem;
	padding: 12px;
	border: 1px solid var(--isns-tab-border);
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.04);
}

.isns-library__filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	width: 100%;
}

.isns-library__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	margin: 0;
}

.isns-library__field--category {
	flex: 1 1 240px;
	max-width: none;
	width: auto;
}

.isns-library__field-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--isns-type);
	line-height: 1.2;
}

.isns-library__select,
.isns-library__input {
	width: 100%;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--isns-tab-border);
	border-radius: 10px;
	background: #F7FAFC;
	color: var(--isns-ink);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.isns-library__select:hover,
.isns-library__input:hover {
	border-color: #c5ced9;
	background: #fff;
}

.isns-library__select:focus,
.isns-library__input:focus {
	outline: none;
	border-color: var(--isns-gold);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(195, 163, 66, 0.18);
}

.isns-library__toggle,
.isns-library__apply,
.isns-library__clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 42px;
	padding: 0 14px;
	border-radius: 10px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.isns-library__toggle {
	border: 1px solid var(--isns-tab-border);
	background: #fff;
	color: var(--isns-ink);
}

.isns-library__toggle:hover,
.isns-library__toggle:focus,
.isns-library__toggle.is-open {
	border-color: var(--isns-gold);
	background: rgba(195, 163, 66, 0.1);
	color: var(--isns-ink);
}

.isns-library__toggle-icon {
	flex: 0 0 auto;
}

.isns-library__toggle-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--isns-gold);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.isns-library__apply {
	border: 0;
	background: var(--isns-ink);
	color: #fff;
}

.isns-library__apply:hover,
.isns-library__apply:focus {
	background: #163a58;
	color: #fff;
	transform: translateY(-1px);
}

.isns-library__clear {
	border: 0;
	background: transparent;
	color: var(--isns-muted);
	padding-left: 8px;
	padding-right: 8px;
}

.isns-library__clear[hidden] {
	display: none !important;
}

.isns-library__clear:hover,
.isns-library__clear:focus {
	color: var(--isns-ink);
	text-decoration: underline !important;
}

.isns-library__panel {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--isns-ice);
}

.isns-library__panel[hidden] {
	display: none !important;
}

.isns-library__field--suggest {
	position: relative;
}

.isns-library__suggest {
	position: relative;
}

.isns-library__suggest-list {
	position: absolute;
	z-index: 30;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	margin: 0;
	padding: 6px;
	list-style: none;
	max-height: 220px;
	overflow: auto;
	border: 1px solid var(--isns-tab-border);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(12, 45, 74, 0.12);
}

.isns-library__suggest-list[hidden] {
	display: none !important;
}

.isns-library__suggest-item {
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 500;
	color: var(--isns-ink);
	cursor: pointer;
	line-height: 1.35;
}

.isns-library__suggest-item:hover,
.isns-library__suggest-item.is-active {
	background: rgba(195, 163, 66, 0.14);
}

.isns-library__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}

.isns-library__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	padding: 6px 10px;
	border: 0;
	border-radius: 999px;
	background: rgba(195, 163, 66, 0.12);
	color: var(--isns-ink);
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	cursor: pointer;
}

.isns-library__chip:hover,
.isns-library__chip:focus {
	background: rgba(195, 163, 66, 0.22);
	color: var(--isns-ink);
	text-decoration: none !important;
}

.isns-library__chip-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: rgba(12, 45, 74, 0.12);
	font-size: 13px;
	line-height: 1;
}

.isns-library__toggle-badge[hidden] {
	display: none !important;
}

.isns-library__results {
	display: block;
	position: relative;
	width: 100%;
	min-height: 2rem;
	transition: opacity 0.15s ease;
}

.isns-library__results.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

.isns-library__count {
	margin: 0 0 1rem;
	font-size: 13px;
	font-weight: 500;
	color: var(--isns-muted);
}

.isns-library__count[hidden],
.isns-library__empty[hidden],
.isns-library__grid[hidden] {
	display: none !important;
}

.isns-library__grid {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	justify-items: stretch;
	align-items: stretch;
}

.isns-lib-card {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	width: 100%;
	max-width: none;
	background: #fff;
	border: 1px solid rgba(12, 45, 74, 0.08);
	border-radius: 12px;
	padding: 18px 16px;
	min-width: 0;
	box-shadow: 0 1px 3px rgba(12, 45, 74, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.isns-lib-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(12, 45, 74, 0.08);
}

.isns-lib-card__top {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 14px;
}

.isns-lib-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--isns-ice);
	color: var(--isns-ink);
	line-height: 0;
}

.isns-lib-card__copy {
	min-width: 0;
	flex: 1 1 auto;
}

.isns-lib-card__type {
	margin: 0 0 2px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.35;
	color: var(--isns-type);
	text-transform: uppercase;
}

.isns-lib-card__title {
	margin: 0;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--isns-ink);
}

.isns-lib-card__author {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--isns-gold);
}

.isns-lib-card__excerpt {
	margin: 0.15rem 0 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--isns-muted);
}

.isns-lib-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	align-self: flex-start;
	margin-top: auto;
	padding-top: 0.55rem;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--isns-gold);
	text-decoration: none !important;
	transition: transform 0.2s ease;
}

.isns-lib-card__link:hover,
.isns-lib-card__link:focus {
	color: var(--isns-gold);
	text-decoration: none !important;
	transform: translateX(2px);
}

.isns-lib-card__arrow {
	display: block;
	flex: 0 0 auto;
}

.isns-library__empty {
	display: block;
	width: 100%;
	min-width: 100%;
	margin: 0.5rem 0 0;
	color: var(--isns-muted);
	font-size: 14px;
	text-align: center;
	padding: 2.5rem 1.25rem;
	background: #fff;
	border: 1px dashed var(--isns-tab-border);
	border-radius: 12px;
}

.isns-library__more {
	display: flex;
	justify-content: center;
	margin: 2em 0 0;
}

.isns-library__more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 32px;
	border: 1px solid var(--isns-ink);
	border-radius: 10px;
	background: transparent;
	color: var(--isns-ink);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.isns-library__more-btn:hover,
.isns-library__more-btn:focus {
	background: var(--isns-ink);
	color: #fff;
	text-decoration: none !important;
	transform: translateY(-2px);
}

@media (max-width: 1024px) {
	.isns-library__panel {
		grid-template-columns: 1fr 1fr;
	}

	.isns-library__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.isns-library {
		padding: 0.25rem 1rem 2.5rem;
	}

	.isns-library__filters {
		border-radius: 14px;
		padding: 10px;
	}

	.isns-library__filter-bar {
		align-items: stretch;
	}

	.isns-library__field--category {
		flex: 1 1 100%;
		max-width: none;
	}

	.isns-library__toggle,
	.isns-library__apply {
		flex: 1 1 auto;
	}

	.isns-library__clear {
		flex: 1 1 100%;
		justify-content: center;
		height: 36px;
	}

	.isns-library__panel {
		grid-template-columns: 1fr;
	}

	.isns-library__grid {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------
   [isns_case_studies] — member-only Case Studies (Publications type case_study)
   ------------------------------------------------------------------------- */
body.isns-case-studies-page .entry-header,
body.isns-case-studies-page .page-header,
body.isns-case-studies-page h1.entry-title,
body.isns-cs-single-page .entry-header,
body.isns-cs-single-page .page-header,
body.isns-cs-single-page .ast-single-entry-banner,
body.isns-cs-single-page h1.entry-title,
body.isns-ing-single-page .entry-header,
body.isns-ing-single-page .page-header,
body.isns-ing-single-page .ast-single-entry-banner,
body.isns-ing-single-page h1.entry-title {
	display: none !important;
}

body.isns-cs-single-page,
body.isns-cs-single-page .site-content,
body.isns-cs-single-page #content,
body.isns-cs-single-page .ast-container,
body.isns-cs-single-page .entry-content,
body.isns-cs-single-page article {
	background: #F7FAFC !important;
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.isns-cs-single-page .site-content,
body.isns-cs-single-page #content,
body.isns-cs-single-page #primary,
body.isns-cs-single-page .content-area,
body.isns-cs-single-page .site-main,
body.isns-cs-single-page .ast-container,
body.isns-cs-single-page .entry-content,
body.isns-cs-single-page article.ast-article-single,
body.isns-ing-single-page .site-content,
body.isns-ing-single-page #content,
body.isns-ing-single-page #primary,
body.isns-ing-single-page .content-area,
body.isns-ing-single-page .site-main,
body.isns-ing-single-page .ast-container,
body.isns-ing-single-page .entry-content,
body.isns-ing-single-page article.ast-article-single {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.isns-cs-single-page .isns-cs-single__hero,
body.isns-ing-single-page .isns-ing-single__hero,
body.isns-cs-single-page #page,
body.isns-ing-single-page #page {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.isns-cs {
	--isns-cs-navy: #0C2D4A;
	--isns-cs-gold: #C3A342;
	--isns-cs-muted: #5F6B7A;
	--isns-cs-line: #D6DCE5;
	--isns-cs-ice: #E3E8F0;
	font-family: "Inter", Sans-serif;
	color: var(--isns-cs-navy);
	display: block;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 1rem 1rem 3rem;
	box-sizing: border-box;
}

.isns-cs *,
.isns-cs *::before,
.isns-cs *::after {
	box-sizing: border-box;
}

.isns-cs__inner {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
}

.isns-cs__header {
	text-align: center;
	margin: 0 0 1.75rem;
}

.isns-cs__eyebrow {
	margin: 0 0 0.4rem;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--isns-cs-gold);
}

.isns-cs__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--isns-cs-navy);
}

.isns-cs__lead {
	margin: 0 auto;
	max-width: 42rem;
	font-size: 15px;
	line-height: 1.55;
	color: var(--isns-cs-muted);
}

.isns-cs__gate {
	max-width: 560px;
	margin: 0 auto;
	padding: 2rem 1.5rem;
	text-align: center;
	background: #fff;
	border: 1px solid var(--isns-cs-line);
	border-radius: 16px;
	box-shadow: 0 1px 3px rgba(12, 45, 74, 0.05);
}

.isns-cs__gate-title {
	margin: 0 0 0.65rem;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--isns-cs-navy);
}

.isns-cs__gate-text {
	margin: 0 0 1.25rem;
	font-size: 15px;
	line-height: 1.55;
	color: var(--isns-cs-muted);
}

.isns-cs__gate-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.isns-cs__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.7em 1.25em;
	border: 0;
	border-radius: 10px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform 0.15s ease, background 0.15s ease;
}

.isns-cs__btn:hover,
.isns-cs__btn:focus {
	transform: translateY(-2px);
	text-decoration: none !important;
}

.isns-cs__btn--navy {
	background: var(--isns-cs-navy);
	color: #fff !important;
}

.isns-cs__btn--gold {
	background: var(--isns-cs-gold);
	color: #fff !important;
}

.isns-cs__btn--ghost {
	background: transparent;
	border: 1px solid var(--isns-cs-line);
	color: var(--isns-cs-navy) !important;
}

.isns-cs__filters {
	width: 100%;
	margin: 0 0 1rem;
	padding: 12px;
	border: 1px solid var(--isns-cs-line);
	border-radius: 16px;
	background: #fff;
}

.isns-cs__filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	width: 100%;
}

.isns-cs__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	min-width: 0;
}

.isns-cs__field--grow {
	flex: 1 1 200px;
}

.isns-cs__field-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8A94A3;
}

.isns-cs__select,
.isns-cs__input {
	width: 100%;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--isns-cs-line);
	border-radius: 10px;
	background: #F7FAFC;
	color: var(--isns-cs-navy);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
}

.isns-cs__select:focus,
.isns-cs__input:focus {
	outline: none;
	border-color: var(--isns-cs-gold);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(195, 163, 66, 0.18);
}

.isns-cs__apply {
	height: 42px;
}

.isns-cs__clear {
	height: 42px;
	padding: 0 10px;
	border: 0;
	background: transparent;
	color: var(--isns-cs-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.isns-cs__clear[hidden] {
	display: none !important;
}

.isns-cs__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 1.25rem;
	padding: 0;
}

.isns-cs__tab {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--isns-cs-line);
	color: var(--isns-cs-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.isns-cs__tab:hover,
.isns-cs__tab:focus {
	border-color: var(--isns-cs-gold);
	color: var(--isns-cs-navy);
}

.isns-cs__tab.is-active {
	background: var(--isns-cs-gold);
	border-color: var(--isns-cs-gold);
	color: #fff;
}

.isns-cs__results {
	width: 100%;
	transition: opacity 0.15s ease;
}

.isns-cs__results.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

.isns-cs__count {
	margin: 0 0 1rem;
	font-size: 13px;
	font-weight: 500;
	color: var(--isns-cs-muted);
}

.isns-cs__count[hidden],
.isns-cs__empty[hidden],
.isns-cs__grid[hidden] {
	display: none !important;
}

.isns-cs__empty {
	margin: 0;
	padding: 2rem 1rem;
	text-align: center;
	font-size: 14px;
	color: var(--isns-cs-muted);
	background: #fff;
	border: 1px dashed var(--isns-cs-line);
	border-radius: 12px;
	width: 100%;
}

.isns-cs__grid {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.isns-cs-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(12, 45, 74, 0.08);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(12, 45, 74, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.isns-cs-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(12, 45, 74, 0.08);
}

.isns-cs-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--isns-cs-ice);
	overflow: hidden;
}

.isns-cs-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.isns-cs-card__media--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--isns-cs-navy);
}

.isns-cs-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1rem 1rem 1.1rem;
	flex: 1 1 auto;
}

.isns-cs-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
}

.isns-cs-card__cat {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8A94A3;
}

.isns-cs-card__badge {
	display: inline-flex;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(195, 163, 66, 0.15);
	color: var(--isns-cs-gold);
	font-size: 11px;
	font-weight: 700;
}

.isns-cs-card__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.isns-cs-card__title a {
	color: var(--isns-cs-navy);
	text-decoration: none !important;
}

.isns-cs-card__excerpt {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--isns-cs-muted);
}

.isns-cs-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: 0.55rem;
	font-size: 14px;
	font-weight: 700;
	color: var(--isns-cs-gold);
	text-decoration: none !important;
}

/* Single case study — navy hero + 1280px content */
.isns-cs--single {
	max-width: none;
	margin: 0;
	padding: 0;
}

.isns-cs-single__hero {
	width: 100%;
	background: var(--isns-cs-navy);
	color: #fff;
}

.isns-cs-single__hero-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 2.5rem 1.25rem 2.75rem;
}

.isns-cs-single__back {
	margin: 0 0 1.25rem;
	font-size: 14px;
	font-weight: 600;
}

.isns-cs-single__back a {
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none !important;
	transition: color 0.15s ease;
}

.isns-cs-single__back a:hover {
	color: var(--isns-cs-gold);
}

.isns-cs-single__kicker {
	margin: 0 0 0.35rem;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--isns-cs-gold);
}

.isns-cs-single__cat {
	margin: 0 0 0.5rem;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.isns-cs-single__title {
	margin: 0 0 0.85rem;
	max-width: 52rem;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.isns-cs-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	font-size: 14px;
	color: #D2D2D2;
}

.isns-cs-single__meta > span + span::before {
	content: "·";
	margin-right: 1rem;
	color: rgba(255, 255, 255, 0.45);
}

.isns-cs-single__meta > .isns-cs-single__badge::before {
	content: none;
	margin: 0;
}

.isns-cs-single__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: rgba(195, 163, 66, 0.22);
	color: var(--isns-cs-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.isns-cs-single__page {
	width: 100%;
	padding: 2rem 0 3.5rem;
}

.isns-cs-single__page-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.25rem;
}

.isns-cs-single__media {
	margin: 0 0 1.5rem;
}

.isns-cs-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 1.25rem;
	align-items: start;
}

.isns-cs-single__main {
	display: grid;
	gap: 1.25rem;
}

.isns-cs-single__card {
	background: #fff;
	border: 1px solid var(--isns-cs-line);
	border-radius: 14px;
	padding: 1.35rem 1.4rem;
	box-shadow: 0 6px 18px rgba(12, 45, 74, 0.05);
}

.isns-cs-single__card--video {
	padding: 0;
	overflow: hidden;
}

.isns-cs-single__section-title {
	margin: 0 0 0.75rem;
	font-size: 17px;
	font-weight: 700;
	color: var(--isns-cs-navy);
}

.isns-cs-single__aside {
	display: grid;
	gap: 1.25rem;
	position: sticky;
	top: 1.25rem;
}

.isns-cs-single__facts {
	display: grid;
	gap: 0.85rem;
	margin: 0;
}

.isns-cs-single__fact {
	margin: 0;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--isns-cs-line);
}

.isns-cs-single__fact:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.isns-cs-single__facts dt {
	margin: 0;
	color: var(--isns-cs-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.isns-cs-single__facts dd {
	margin: 0.25rem 0 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--isns-cs-navy);
}

.isns-cs-single__body {
	line-height: 1.65;
	font-size: 15px;
	color: var(--isns-cs-navy);
}

.isns-cs-single__body > *:first-child {
	margin-top: 0;
}

.isns-cs-single__files {
	display: grid;
	gap: 0.55rem;
}

.isns-cs-single__files .isns-cs__btn {
	width: 100%;
	justify-content: center;
}

.isns-cs-single__thumb {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--isns-cs-line);
	box-shadow: 0 6px 18px rgba(12, 45, 74, 0.05);
}

.isns-cs-single__thumb img {
	display: block;
	width: 100%;
	height: auto;
}

/* Video banner player — overlay + centered play button */
.isns-video-banner {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 12px;
	background: var(--isns-cs-navy, #0C2D4A);
}

.isns-video-banner__stage {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--isns-cs-navy, #0C2D4A);
}

.isns-video-banner__poster,
.isns-video-banner__preview {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.isns-video-banner__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.45);
	pointer-events: none;
}

.isns-video-banner__play {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: transform 0.15s ease;
}

.isns-video-banner__play:hover,
.isns-video-banner__play:focus {
	transform: scale(1.04);
	outline: none;
}

.isns-video-banner__play svg {
	display: block;
	filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.35));
}

.isns-video-banner__player {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.isns-video-banner__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #000;
}

.isns-video-banner__embed {
	position: absolute;
	inset: 0;
}

.isns-video-banner__embed iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	border: 0;
}

.isns-video-banner.is-playing .isns-video-banner__stage {
	display: none;
}

.isns-cs--gate-page {
	padding: 3rem 1rem;
}

@media (max-width: 960px) {
	.isns-cs-single__layout {
		grid-template-columns: 1fr;
	}

	.isns-cs-single__aside {
		position: static;
	}

	.isns-cs-single__hero-inner {
		padding-top: 2rem;
		padding-bottom: 2.25rem;
	}
}

@media (max-width: 1024px) {
	.isns-cs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.isns-cs__filter-bar {
		align-items: stretch;
	}

	.isns-cs__field--grow,
	.isns-cs__apply,
	.isns-cs__clear {
		flex: 1 1 100%;
	}

	.isns-cs__grid {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------
   Publication pathway fees (Elementor-matched)
   [isns_publication_fees]
   Headings stay in Elementor.
   ------------------------------------------------------------------------- */
.isns-pub-pathway {
	--isns-pp-navy: #0C2D4A;
	--isns-pp-gold: #C9A43A;
	--isns-pp-line: #0000001C;
	--isns-pp-muted: #787878;
	font-family: "Inter", Sans-serif;
	box-sizing: border-box;
	max-width: 1280px;
	margin: 0 auto;
}

.isns-pub-pathway *,
.isns-pub-pathway *::before,
.isns-pub-pathway *::after {
	box-sizing: border-box;
}

.isns-pub-pathway__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.isns-pub-pathway-card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.5);
	padding: 1.35rem 1.25rem 1.2rem;
	min-width: 0;
	transition: transform 0.2s ease;
}

.isns-pub-pathway-card:hover {
	transform: translateY(-3px);
}

.isns-pub-pathway-card__title {
	margin: 0 0 0.35rem;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--isns-pp-navy);
}

.isns-pub-pathway-card__blurb {
	margin: 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--isns-pp-muted);
}

.isns-pub-pathway-card__rule {
	height: 2px;
	margin: 0.85rem 0 0.75rem;
	background: var(--isns-pp-line);
}

.isns-pub-pathway-card__price {
	margin: 0 0 0.35rem;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--isns-pp-navy);
}

.isns-pub-pathway-card__price span {
	color: var(--isns-pp-gold);
	font-weight: 700;
}

@media (max-width: 1024px) {
	.isns-pub-pathway__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.15rem;
	}
}

@media (max-width: 700px) {
	.isns-pub-pathway__grid {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------
   [annual_growth_engine] — matches Elementor homepage section (4733205)
   + ElementsKit flip-clock (post-13087.css / countdown-timer.css)
   ------------------------------------------------------------------------- */
.isns-age {
	--isns-age-navy: #0C2D4A;
	--isns-age-gold: #C3A342;
	--isns-age-white: #ffffff;
	--isns-age-muted: #333333;
	font-family: "Inter", Sans-serif;
	background-color: var(--isns-age-white);
	padding: 0 1.5em;
	text-align: center;
}

.isns-age *,
.isns-age *::before,
.isns-age *::after {
	box-sizing: border-box;
}

.isns-age__inner {
	max-width: 1140px;
	margin: 4em auto 0;
}

.isns-age__eyebrow {
	margin: 0 0 0.75em;
	font-family: "Inter", Sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--isns-age-gold);
}

.isns-age__title {
	margin: 0 0 0.55em;
	font-family: "Inter", Sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--isns-age-navy);
}

.isns-age__title-link {
	color: inherit !important;
	text-decoration: none !important;
	transition: color 0.15s ease, opacity 0.15s ease;
}

.isns-age__title-link:hover,
.isns-age__title-link:focus {
	color: var(--isns-age-gold) !important;
	text-decoration: none !important;
}

.isns-age__meta,
.isns-age__desc {
	margin: 0 0 0;
	font-family: "Inter", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--isns-age-muted);
}

.isns-age__countdown {
	margin: 2.25em auto 0;
	padding-top: 0.5em;
}

/* ElementsKit flip-clock / calendar page-drop style */
.isns-age__clock {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}

.isns-age__unit {
	display: inline-block;
	position: relative;
	width: 150px;
	height: 140px;
	margin: 0 15px 0 0;
	border-radius: 0 0 30px 30px;
	background-color: var(--isns-age-white);
	box-shadow: 0 28px 40px 0 rgba(0, 0, 0, 0.1);
	perspective: 500px;
	backface-visibility: hidden;
	transform: translate3d(0, 0, 0);
}

.isns-age__unit:last-child {
	margin-right: 0;
}

.isns-age__label {
	position: relative;
	z-index: 10;
	display: block;
	width: 100%;
	height: 40px;
	line-height: 40px;
	top: -20px;
	border-radius: 30px 30px 0 0;
	background-color: var(--isns-age-gold);
	box-shadow: inset 0 3px 7px 0 rgba(0, 0, 0, 0.35);
	color: var(--isns-age-white);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-align: center;
}

.isns-age__count {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	text-align: center;
	font-size: 48px;
	font-weight: 700;
	line-height: 140px;
	color: var(--isns-age-gold);
	background-color: var(--isns-age-white);
	font-variant-numeric: tabular-nums;
	transform: translateZ(0);
	transform-style: flat;
}

.isns-age__count--top {
	height: 50%;
	border-radius: 30px 30px 0 0;
	transform-origin: 50% 100%;
}

.isns-age__count--bottom {
	top: 50%;
	height: 50%;
	line-height: 0;
	border-radius: 0 0 30px 30px;
	transform-origin: 50% 0;
}

.isns-age__count--curr.isns-age__count--top {
	z-index: 3;
	transform: rotateX(0deg);
	border-bottom: 3px solid #e7e7e7;
}

.isns-age__count--curr.isns-age__count--bottom {
	z-index: 1;
}

.isns-age__count--next.isns-age__count--top {
	z-index: 1;
	border-bottom: 3px solid #e7e7e7;
}

.isns-age__count--next.isns-age__count--bottom {
	z-index: 2;
	transform: rotateX(90deg);
}

.isns-age__unit.is-flipping .isns-age__count--curr.isns-age__count--top {
	transition: transform 250ms ease-in-out;
	transform: rotateX(-90deg);
	z-index: 3;
}

.isns-age__unit.is-flipping .isns-age__count--next.isns-age__count--bottom {
	transition: transform 250ms ease-in-out 250ms;
	transform: rotateX(0deg);
	z-index: 2;
}

.isns-age__countdown-finished[hidden],
.isns-age__clock[hidden] {
	display: none !important;
}

.isns-age__finished-title {
	margin: 0 0 0.35em;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--isns-age-navy);
}

.isns-age__finished-text {
	margin: 0;
	font-size: 0.95rem;
	color: var(--isns-age-muted);
}

.isns-age__finished-text a {
	color: var(--isns-age-navy);
	font-weight: 600;
	text-decoration: none;
}

.isns-age__finished-text a:hover,
.isns-age__finished-text a:focus {
	color: var(--isns-age-gold);
}

/* Button row: Elementor 7a22728 (row-reverse, centered) */
.isns-age__actions {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1em;
	margin: 2.75em 0 3em;
}

.isns-age__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 20px 40px;
	border: none;
	border-radius: 10px;
	font-family: "Inter", Sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
	color: var(--isns-age-white) !important;
	transition: transform 0.25s ease;
}

.isns-age__btn:hover,
.isns-age__btn:focus {
	transform: translateY(-5px);
	color: var(--isns-age-white) !important;
}

.isns-age__btn--navy {
	background-color: #0C2D4A;
}

.isns-age__btn--gold {
	background-color: var(--isns-age-gold);
}

.isns-age--empty .isns-age__empty {
	margin: 0 0 1.25em;
	font-size: 1rem;
	color: var(--isns-age-muted);
}

@media (max-width: 991px) {
	.isns-age__unit {
		margin-bottom: 40px;
	}
}

@media (max-width: 767px) {
	.isns-age__title {
		font-size: 26px;
	}

	.isns-age__actions {
		flex-direction: column;
		flex-wrap: wrap;
	}

	.isns-age__btn {
		width: 100%;
		max-width: 320px;
	}
}

@media (max-width: 480px) {
	.isns-age {
		padding: 0 1em;
	}

	.isns-age__unit {
		width: 100%;
		max-width: 150px;
		margin-right: 0;
		margin-bottom: 40px;
	}

	.isns-age__value {
		font-size: 40px;
	}
}

/* Trust / policy pages — navy hero + gold accents (matches events / sponsors) */
body.isns-trust-page .entry-header,
body.isns-trust-page .ast-single-entry-banner,
body.isns-trust-page .page-header {
	display: none !important;
}

body.isns-trust-page,
body.isns-trust-page .site-content,
body.isns-trust-page #content,
body.isns-trust-page .ast-container,
body.isns-trust-page .entry-content,
body.isns-trust-page article {
	background: #F7FAFC !important;
}

body.isns-trust-page .site-content,
body.isns-trust-page #content,
body.isns-trust-page #primary,
body.isns-trust-page .content-area,
body.isns-trust-page .site-main,
body.isns-trust-page .ast-container,
body.isns-trust-page .entry-content {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.isns-trust {
	--isns-trust-navy: #0C2D4A;
	--isns-trust-gold: #C3A342;
	--isns-trust-muted: #787878;
	--isns-trust-line: #E4E7EC;
	--isns-trust-ice: #F7FAFC;
	font-family: "Inter", Sans-serif;
	color: var(--isns-trust-navy);
	width: 100%;
	box-sizing: border-box;
}

.isns-trust *,
.isns-trust *::before,
.isns-trust *::after {
	box-sizing: border-box;
}

.isns-trust__hero {
	width: 100%;
	background: var(--isns-trust-navy);
	color: #fff;
}

.isns-trust__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 4em 1.25rem;
}

.isns-trust__kicker {
	margin: 0 0 0.35rem;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--isns-trust-gold);
}

.isns-trust__title {
	margin: -0.35rem auto 0.75rem;
	width: min(100%, 80%);
	font-size: clamp(1.75rem, 3vw, 36px);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.isns-trust__lead {
	margin: -0.35rem auto 0;
	width: min(100%, 42rem);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	color: #D2D2D2;
}

.isns-trust__tabs-bar {
	width: 100%;
	background: #fff;
	border-bottom: 1px solid var(--isns-trust-line);
}

.isns-trust__tabs-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 1rem 1.25rem;
}

.isns-trust__tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
}

.isns-trust__tab {
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 1.1rem;
	border: 1px solid var(--isns-trust-line);
	border-radius: 999px;
	background: #fff;
	color: var(--isns-trust-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.isns-trust__tab:hover {
	border-color: var(--isns-trust-gold);
	color: var(--isns-trust-navy);
}

.isns-trust__tab.is-active {
	background: var(--isns-trust-gold);
	border-color: var(--isns-trust-gold);
	color: #fff;
}

.isns-trust__body {
	width: 100%;
	background: var(--isns-trust-ice);
	padding: 2.5rem 0 3.5rem;
}

.isns-trust__body-inner {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	padding: 0 1.25rem;
}

.isns-trust__sections {
	display: grid;
	gap: 1rem;
}

.isns-trust__card {
	background: #fff;
	border: 1px solid var(--isns-trust-line);
	border-radius: 14px;
	padding: 1.35rem 1.5rem;
	box-shadow: 0 4px 18px rgba(12, 45, 74, 0.05);
}

.isns-trust__card-title {
	margin: 0 0 0.55rem;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--isns-trust-navy);
}

.isns-trust__card-body {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--isns-trust-muted);
}

.isns-trust__footnote {
	margin: 1.75rem 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--isns-trust-muted);
	font-style: italic;
	text-align: center;
}

.isns-trust__hub-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.isns-trust__hub-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem 1.35rem;
	background: #fff;
	border: 1px solid var(--isns-trust-line);
	border-radius: 14px;
	text-decoration: none;
	color: var(--isns-trust-navy);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.isns-trust__hub-link:hover {
	border-color: var(--isns-trust-gold);
	box-shadow: 0 6px 20px rgba(12, 45, 74, 0.08);
	color: var(--isns-trust-navy);
}

.isns-trust__hub-link-title {
	font-size: 16px;
	font-weight: 700;
}

.isns-trust__hub-link-arrow {
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--isns-trust-gold);
	border-bottom: 2px solid var(--isns-trust-gold);
	transform: rotate(-45deg);
}

@media (max-width: 767px) {
	.isns-trust__hero-inner {
		padding: 2.75em 1.25rem;
	}

	.isns-trust__title {
		width: 100%;
		font-size: clamp(1.45rem, 5vw, 1.85rem);
	}

	.isns-trust__lead {
		width: 100%;
	}

	.isns-trust__tabs {
		justify-content: flex-start;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 0.25rem;
		-webkit-overflow-scrolling: touch;
	}

	.isns-trust__tab {
		flex: 0 0 auto;
		white-space: nowrap;
	}
}


/* -------------------------------------------------------------------------
   Membership plans (Elementor-matched) ÃÂ [isns_membership_plans]
   ------------------------------------------------------------------------- */
.isns-plans {
	--isns-plans-navy: #0C2D4A;
	--isns-plans-navy-soft: #16324F;
	--isns-plans-gold: #C3A342;
	--isns-plans-muted: #7A7A7A;
	--isns-plans-body: #54595F;
	--isns-plans-border: #0C2D4A26;
	--isns-plans-tab-track: #E9EDF5;
	--isns-plans-white: #ffffff;
	font-family: "Inter", Sans-serif;
	background: var(--isns-plans-white);
	padding: 0 0 2em;
	box-sizing: border-box;
}

.isns-plans *,
.isns-plans *::before,
.isns-plans *::after {
	box-sizing: border-box;
}

.isns-plans__tabs {
	width: 280px;
	max-width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 4px;
	background: var(--isns-plans-tab-track);
	padding: 6px;
	border-radius: 999px;
	margin: 0 auto;
}

.isns-plans__tab {
	flex: 1;
	appearance: none;
	border: 0;
	cursor: pointer;
	background: transparent;
	color: var(--isns-plans-navy);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	padding: 0.65em 1.1em;
	border-radius: 30px;
	transition: background 0.2s ease, color 0.2s ease;
}

.isns-plans__tab:hover {
	background: var(--isns-plans-white);
	color: var(--isns-plans-navy);
}

.isns-plans__tab.is-active {
	background: var(--isns-plans-white);
	color: var(--isns-plans-navy);
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.08);
}

.isns-plans__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	max-width: 1280px;
	margin: 2em auto;
	padding: 0 1rem;
}

.isns-plan-card {
	display: flex;
	flex-direction: column;
	background: var(--isns-plans-white);
	border: 2px solid var(--isns-plans-border);
	border-radius: 10px;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.14);
	padding: 20px;
	min-width: 0;
}

.isns-plan-card--featured {
	border-color: var(--isns-plans-gold);
}

.isns-plan-card__name {
	margin: 0 0 5px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--isns-plans-navy);
}

.isns-plan-card__best {
	margin: 0 0 1rem;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--isns-plans-body);
}

.isns-plan-card__benefits-title {
	margin: 0 0 0.65rem;
	font-size: 18px;
	font-weight: 700;
	color: var(--isns-plans-navy);
}

.isns-plan-card__benefits {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.isns-plan-card__benefits li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0;
	padding: 5px 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--isns-plans-navy-soft);
}

.isns-plan-card__check {
	flex: 0 0 auto;
	margin-top: 2px;
	color: var(--isns-plans-gold);
	line-height: 0;
}

.isns-plan-card__meta {
	margin: 0 0 0.55rem;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--isns-plans-navy-soft);
}

.isns-plan-card__meta strong {
	font-weight: 700;
	color: var(--isns-plans-navy);
}

.isns-plan-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 4px;
	margin: 0.85rem 0 0.75rem;
	min-width: 0;
	max-width: 100%;
}

/* display:flex on price/btn overrides the native [hidden] attribute */
.isns-plans [hidden],
.isns-plan-card__price[hidden],
.isns-plan-card__btn[hidden],
.isns-plans .is-billing-hidden {
	display: none !important;
}

/* CSS billing toggle (works even before JS) */
.isns-plans[data-billing="monthly"] .isns-plan-card:not(.isns-plan-card--application) .isns-plan-card__price--annual,
.isns-plans[data-billing="monthly"] .isns-plan-card:not(.isns-plan-card--application) .isns-plan-card__cta--annual,
.isns-plans[data-billing="annual"] .isns-plan-card:not(.isns-plan-card--application) .isns-plan-card__price--monthly,
.isns-plans[data-billing="annual"] .isns-plan-card:not(.isns-plan-card--application) .isns-plan-card__cta--monthly {
	display: none !important;
}

.isns-plan-card__amount {
	font-size: clamp(22px, 2.1vw, 28px);
	font-weight: 700;
	line-height: 1;
	color: var(--isns-plans-navy-soft);
	min-width: 0;
	overflow-wrap: anywhere;
}

.isns-plan-card__period {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--isns-plans-muted);
	margin-bottom: 3px;
	flex-shrink: 0;
}

.isns-plan-card__app-note {
	margin: -0.35rem 0 0.75rem;
	font-size: 13px;
	color: var(--isns-plans-muted);
}

.isns-plan-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	align-self: center;
	width: 100%;
	max-width: 100%;
	padding: 1em 1.5em;
	background: transparent;
	border: 1px solid var(--isns-plans-navy);
	border-radius: 0;
	color: var(--isns-plans-navy);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.isns-plan-card__btn:hover,
.isns-plan-card__btn:focus {
	background: var(--isns-plans-navy);
	color: var(--isns-plans-white);
	text-decoration: none;
}

@media (max-width: 1024px) {
	.isns-plans__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.isns-plan-card__benefits-title {
		font-size: 17px;
	}

	.isns-plan-card__btn {
		padding: 1em 2em;
	}
}

@media (max-width: 767px) {
	.isns-plans__grid {
		grid-template-columns: 1fr;
		margin-bottom: 1.5em;
	}

	.isns-plan-card__benefits-title {
		font-size: 13px;
	}

	.isns-plan-card__amount {
		font-size: 26px;
	}
}

/* -------------------------------------------------------------------------
   Sponsors & partners — packages + inquiry
   ------------------------------------------------------------------------- */
body.isns-sponsors-page .entry-header,
body.isns-sponsors-page .ast-single-entry-banner {
	display: none !important;
}

body.isns-sponsors-page,
body.isns-sponsors-page .site-content,
body.isns-sponsors-page #content,
body.isns-sponsors-page .ast-container,
body.isns-sponsors-page .entry-content,
body.isns-sponsors-page article {
	background: #F7FAFC !important;
}

body.isns-sponsors-page .site-content,
body.isns-sponsors-page #content,
body.isns-sponsors-page #primary,
body.isns-sponsors-page .content-area,
body.isns-sponsors-page .site-main,
body.isns-sponsors-page .ast-container,
body.isns-sponsors-page .entry-content {
	max-width: none !important;
	width: 100% !important;
}

.isns-sponsors,
.isns-sponsor-packages,
.isns-sponsor-form {
	--isns-sp-navy: #0C2D4A;
	--isns-sp-gold: #C3A342;
	--isns-sp-white: #ffffff;
	--isns-sp-muted: #787878;
	--isns-sp-line: #E4E7EC;
	--isns-sp-soft: #F7FAFC;
	font-family: "Inter", Sans-serif;
	color: var(--isns-sp-navy);
	box-sizing: border-box;
}

.isns-sponsors *,
.isns-sponsors *::before,
.isns-sponsors *::after,
.isns-sponsor-packages *,
.isns-sponsor-packages *::before,
.isns-sponsor-packages *::after,
.isns-sponsor-form *,
.isns-sponsor-form *::before,
.isns-sponsor-form *::after {
	box-sizing: border-box;
}

.isns-sponsors {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto 3rem;
	padding: 1.5rem 1.25rem 2.5rem;
}

.isns-sponsors__intro {
	margin: 0 0 1.75rem;
	max-width: 40rem;
}

.isns-sponsors__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--isns-sp-gold);
}

.isns-sponsors__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.55rem, 2.5vw, 2rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--isns-sp-navy);
}

.isns-sponsors__title--sm {
	font-size: clamp(1.35rem, 2vw, 1.65rem);
}

.isns-sponsors__lead {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--isns-sp-muted);
}

.isns-sponsors__lead--sm {
	font-size: 14px;
	max-width: 36rem;
}

.isns-sponsor-packages {
	margin: 0 0 2.25rem;
}

.isns-sponsor-packages__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.15rem;
}

.isns-sponsor-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.15rem;
	min-height: 100%;
	background: var(--isns-sp-white);
	border: 1px solid var(--isns-sp-line);
	border-radius: 14px;
	padding: 1.35rem 1.4rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.isns-sponsor-card:hover {
	border-color: rgba(195, 163, 66, 0.55);
	box-shadow: 0 10px 28px rgba(12, 45, 74, 0.08);
	transform: translateY(-2px);
}

.isns-sponsor-card--featured {
	background: #fff;
	border-color: var(--isns-sp-gold);
	box-shadow: 0 0 0 1px rgba(195, 163, 66, 0.35), 0 10px 28px rgba(12, 45, 74, 0.08);
	position: relative;
	padding-left: 1.55rem;
}

.isns-sponsor-card--featured::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	bottom: 12px;
	width: 4px;
	border-radius: 0 4px 4px 0;
	background: var(--isns-sp-gold);
}

.isns-sponsor-card--featured:hover {
	border-color: var(--isns-sp-gold);
	box-shadow: 0 0 0 1px rgba(195, 163, 66, 0.55), 0 12px 30px rgba(12, 45, 74, 0.12);
}

.isns-sponsor-card__badge {
	display: inline-block;
	margin: 0 0 0.55rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: var(--isns-sp-gold);
	color: var(--isns-sp-navy);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.isns-sponsor-card__name {
	margin: 0 0 0.35rem;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--isns-sp-navy);
}

.isns-sponsor-card--featured .isns-sponsor-card__name {
	color: var(--isns-sp-navy);
}

.isns-sponsor-card__best {
	margin: 0 0 0.9rem;
	font-size: 13px;
	line-height: 1.45;
	color: var(--isns-sp-muted);
}

.isns-sponsor-card--featured .isns-sponsor-card__best {
	color: var(--isns-sp-muted);
}

.isns-sponsor-card__benefits {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.4rem;
}

.isns-sponsor-card__benefits li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	color: #4a5568;
}

.isns-sponsor-card--featured .isns-sponsor-card__benefits li {
	color: #4a5568;
}

.isns-sponsor-card__check {
	flex: 0 0 auto;
	margin-top: 1px;
	color: var(--isns-sp-gold);
	line-height: 0;
}

.isns-sponsor-card--featured .isns-sponsor-card__check {
	color: var(--isns-sp-gold);
}

.isns-sponsor-card__aside {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--isns-sp-line);
}

.isns-sponsor-card--featured .isns-sponsor-card__aside {
	border-top-color: rgba(195, 163, 66, 0.35);
}

.isns-sponsor-card__range {
	font-size: 15px;
	font-weight: 700;
	color: var(--isns-sp-navy);
}

.isns-sponsor-card--featured .isns-sponsor-card__range {
	color: var(--isns-sp-navy);
}

.isns-sponsor-card__cta,
.isns-sponsor-card__price {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 1rem;
	border-radius: 8px;
	background: var(--isns-sp-navy);
	color: #fff !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease;
}

.isns-sponsor-card__cta:hover,
.isns-sponsor-card__cta:focus,
.isns-sponsor-card__price:hover,
.isns-sponsor-card__price:focus {
	background: var(--isns-sp-gold);
	color: var(--isns-sp-navy) !important;
}

.isns-sponsor-card--featured .isns-sponsor-card__cta,
.isns-sponsor-card--featured .isns-sponsor-card__price {
	background: var(--isns-sp-gold);
	color: var(--isns-sp-navy) !important;
}

.isns-sponsor-card--featured .isns-sponsor-card__cta:hover,
.isns-sponsor-card--featured .isns-sponsor-card__cta:focus,
.isns-sponsor-card--featured .isns-sponsor-card__price:hover,
.isns-sponsor-card--featured .isns-sponsor-card__price:focus {
	background: var(--isns-sp-navy);
	color: #fff !important;
}

.isns-sponsor-form {
	margin: 0;
	background: var(--isns-sp-white);
	border: 1px solid var(--isns-sp-line);
	border-radius: 14px;
	box-shadow: 0 8px 28px rgba(12, 45, 74, 0.06);
	padding: 1.5rem 1.5rem 1.65rem;
}

.isns-sponsor-form__head {
	margin: 0 0 1.25rem;
}

.isns-sponsor-form .isns-notice {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.45;
}

.isns-sponsor-form .isns-notice--success {
	background: #eef8f1;
	border: 1px solid #b7dfc3;
	color: #1e7a34;
}

.isns-sponsor-form .isns-notice--error {
	background: #fff5f5;
	border: 1px solid #f0b4b4;
	color: #b32d2e;
}

.isns-sponsor-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.15rem;
}

.isns-sponsor-field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
}

.isns-sponsor-field--full {
	grid-column: 1 / -1;
}

.isns-sponsor-field > span {
	font-size: 13px;
	font-weight: 600;
	color: var(--isns-sp-navy);
}

.isns-sponsor-field input[type="text"],
.isns-sponsor-field input[type="email"],
.isns-sponsor-field input[type="url"],
.isns-sponsor-field select,
.isns-sponsor-field textarea {
	width: 100%;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--isns-sp-line);
	border-radius: 8px;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	color: var(--isns-sp-navy);
	line-height: 1.4;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.isns-sponsor-field input:focus,
.isns-sponsor-field select:focus,
.isns-sponsor-field textarea:focus {
	outline: none;
	border-color: var(--isns-sp-gold);
	box-shadow: 0 0 0 3px rgba(195, 163, 66, 0.2);
}

.isns-sponsor-field input::placeholder,
.isns-sponsor-field textarea::placeholder {
	color: #9aa3af;
}

.isns-sponsor-field--check {
	flex-direction: row;
	align-items: flex-start;
	gap: 0.7rem;
	margin: 1.15rem 0 0;
}

.isns-sponsor-field--check input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.isns-sponsor-field--check span {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--isns-sp-muted);
}

.isns-sponsor-form__actions {
	margin-top: 1.25rem;
	display: flex;
	justify-content: flex-start;
}

.isns-sponsor-form__submit {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	width: auto;
	max-width: 100%;
	border: 1px solid var(--isns-sp-navy);
	cursor: pointer;
	padding: 0.8rem 1.5rem;
	background: var(--isns-sp-navy);
	color: #fff;
	border-radius: 8px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.isns-sponsor-form__submit:hover,
.isns-sponsor-form__submit:focus {
	background: var(--isns-sp-gold);
	border-color: var(--isns-sp-gold);
	color: var(--isns-sp-navy);
}

@media (max-width: 900px) {
	.isns-sponsor-packages__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.isns-sponsors {
		padding: 1.15rem 1rem 2rem;
	}

	.isns-sponsor-form {
		padding: 1.2rem 1.1rem 1.35rem;
	}

	.isns-sponsor-form__grid {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.isns-sponsor-form__submit {
		width: 100%;
	}

	.isns-sponsor-card__aside {
		flex-wrap: wrap;
	}
}

/* -------------------------------------------------------------------------
   Cart / checkout / thank-you — multi-step, theme-matched
   ------------------------------------------------------------------------- */
body.isns-checkout-page {
	--isns-ink: #0C2D4A;
	--isns-muted: #787878;
	--isns-line: #E4E7EC;
	--isns-gold: #C3A342;
	--isns-step: #E07A5F;
	font-family: "Inter", Sans-serif;
}

body.isns-checkout-page .site-content,
body.isns-checkout-page .ast-container,
body.isns-checkout-page .entry-content,
body.woocommerce-cart .elementor-896 .elementor-container,
body.woocommerce-checkout .elementor-897 .elementor-container {
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

body.isns-checkout-page article:has(.isns-checkout) > .entry-header,
body.isns-checkout-page .ast-article-single:has(.woocommerce) .entry-header,
body.isns-checkout-page .ast-single-entry-banner,
body.isns-checkout-page .ast-archive-entry-banner,
body.woocommerce-cart .ast-single-entry-banner,
body.woocommerce-checkout .ast-single-entry-banner,
body.woocommerce-order-received .ast-single-entry-banner,
body.isns-checkout-page .woocommerce-products-header,
body.woocommerce-cart .elementor-widget-woocommerce-breadcrumb,
body.woocommerce-checkout .elementor-widget-woocommerce-breadcrumb,
body.woocommerce-order-received .elementor-widget-woocommerce-breadcrumb,
body.woocommerce-cart .elementor-top-section.elementor-section-stretched.elementor-section-height-min-height,
body.woocommerce-checkout .elementor-top-section.elementor-section-stretched.elementor-section-height-min-height,
body.woocommerce-order-received .elementor-top-section.elementor-section-stretched.elementor-section-height-min-height,
body.woocommerce-cart .elementor-element-d68592e,
body.woocommerce-checkout .elementor-element-d68592e,
body.woocommerce-checkout .elementor-element-b0329ed,
body.woocommerce-cart .elementor-896 > .elementor-section.elementor-section-stretched:first-child,
body.woocommerce-checkout .elementor-897 > .elementor-section.elementor-section-stretched:first-child,
body.isns-checkout-page .wc-memberships-frontend-banner,
body.isns-checkout-page .admin-restricted-content-notice,
body.woocommerce-page .wc-memberships.admin-restricted-content-notice {
	display: none !important;
}

.isns-checkout-notices,
body.isns-checkout-page .woocommerce-notices-wrapper,
body.isns-checkout-page .woocommerce-NoticeGroup,
body.isns-checkout-page .woocommerce-form-coupon-toggle,
body.isns-checkout-page .isns-staging-checkout-note,
body.isns-checkout-page .woocommerce-cart-form,
body.isns-checkout-page .cart-collaterals,
body.isns-checkout-page form.checkout,
body.isns-checkout-page .woocommerce-order,
body.isns-checkout-page .wc-empty-cart-message {
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	float: none;
	box-sizing: border-box;
}

.isns-checkout-notices {
	margin-bottom: 1rem;
	padding: 0;
}

body.isns-checkout-page .woocommerce-notices-wrapper,
body.isns-checkout-page .woocommerce-NoticeGroup {
	margin-bottom: 1rem;
}

body.isns-checkout-page .woocommerce-message,
body.isns-checkout-page .woocommerce-info,
body.isns-checkout-page .woocommerce-error,
body.isns-checkout-page ul.woocommerce-error,
body.isns-checkout-page .isns-staging-checkout-note {
	display: block !important;
	width: 100% !important;
	max-width: 1280px !important;
	box-sizing: border-box;
	list-style: none;
	margin: 0 0 0.75rem !important;
	padding: 1rem 1.15rem !important;
	border: 1px solid var(--isns-line) !important;
	border-radius: 12px !important;
	background: #F7FAFC !important;
	color: var(--isns-ink) !important;
	font-family: "Inter", Sans-serif;
	font-size: 14px;
	line-height: 1.45;
	box-shadow: none !important;
}

body.isns-checkout-page .woocommerce-form-coupon-toggle {
	display: block !important;
	width: 100% !important;
	max-width: 1280px !important;
	margin: 0 0 0.75rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.isns-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info {
	margin-bottom: 0 !important;
}

body.isns-checkout-page .woocommerce-message::before,
body.isns-checkout-page .woocommerce-info::before,
body.isns-checkout-page .woocommerce-error::before,
body.isns-checkout-page ul.woocommerce-error::before {
	display: none !important;
	content: none !important;
}

body.isns-checkout-page .woocommerce-message {
	background: #F7F3E6 !important;
	border-color: var(--isns-gold) !important;
}

body.isns-checkout-page .woocommerce-error,
body.isns-checkout-page ul.woocommerce-error {
	background: #FDECEA !important;
	border-color: #E0B4B0 !important;
}

body.isns-checkout-page .woocommerce-info,
body.isns-checkout-page .isns-staging-checkout-note {
	background: #F7FAFC !important;
	border-color: #D5DCE3 !important;
}

body.isns-checkout-page .woocommerce-message a,
body.isns-checkout-page .woocommerce-info a,
body.isns-checkout-page .woocommerce-error a {
	color: var(--isns-gold) !important;
	font-weight: 600;
}

.isns-checkout-shell,
body.isns-checkout-page .isns-wizard.isns-checkout-shell {
	width: 100%;
	max-width: 1280px;
	margin: 2rem auto 4rem;
	padding: 0 1.25rem 2rem;
	box-sizing: border-box;
}

.isns-checkout {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.isns-checkout .isns-wizard__progress {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	width: 100%;
	margin-bottom: 2.25rem;
	box-sizing: border-box;
}

.isns-checkout .isns-wizard__progress.has-back .isns-wizard__back {
	position: static;
	transform: none;
	flex: 0 0 40px;
	margin-top: 0;
}

.isns-checkout .isns-wizard__progress.has-back .isns-wizard__back:hover,
.isns-checkout .isns-wizard__progress.has-back .isns-wizard__back:focus {
	transform: none;
}

.isns-checkout__steps {
	position: relative;
	flex: 1 1 auto;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.isns-checkout__steps::before {
	display: none;
}

.isns-checkout .isns-wizard__step {
	position: relative;
	gap: 0;
}

.isns-checkout .isns-wizard__step:not(:last-child) .isns-checkout__step-inner::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 6px;
	left: 50%;
	width: 100%;
	height: 2px;
	background: #E4E7EC;
	border-radius: 2px;
	pointer-events: none;
}

.isns-checkout__step-inner,
.isns-checkout__step-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	margin: 0;
	padding: 0;
	color: inherit;
	text-align: center;
	text-decoration: none !important;
	line-height: 0;
	box-sizing: border-box;
	position: relative;
}

.isns-checkout__step-inner .isns-wizard__dot {
	position: relative;
	z-index: 1;
	flex: 0 0 13px;
}

.isns-checkout__step-inner .isns-wizard__step-label {
	line-height: 1.25;
	text-align: center;
}

.isns-checkout__head {
	text-align: center;
	margin: 0 auto 1.5rem;
	max-width: 1280px;
}

body.isns-checkout-page .woocommerce {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
}

body.isns-checkout-page .woocommerce-cart-form,
body.isns-checkout-page .cart-collaterals,
body.isns-checkout-page form.checkout,
body.isns-checkout-page .woocommerce-order,
body.isns-checkout-page .wc-empty-cart-message,
body.isns-checkout-page #customer_details,
body.isns-checkout-page #order_review,
body.isns-checkout-page .col2-set,
body.isns-checkout-page .col2-set .col-1,
body.isns-checkout-page .col2-set .col-2,
body.isns-checkout-page #customer_details .col-1,
body.isns-checkout-page #customer_details .col-2,
body.isns-checkout-page .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.isns-checkout-page .woocommerce-cart-form,
body.isns-checkout-page .cart-collaterals,
body.isns-checkout-page form.checkout,
body.isns-checkout-page .woocommerce-order,
body.isns-checkout-page .wc-empty-cart-message {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(12, 45, 74, 0.08);
	padding: 1.75rem 1.75rem 1.5rem;
}

body.isns-checkout-page form.checkout {
	padding-top: 0.25rem;
}

body.isns-checkout-page .cart-collaterals {
	margin-top: 1.25rem;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.isns-checkout-page .cart-collaterals .cart_totals {
	background: #fff !important;
	border: 0 !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 28px rgba(12, 45, 74, 0.08) !important;
	padding: 1.5rem 1.5rem 1.35rem !important;
	box-sizing: border-box !important;
}

body.isns-checkout-page .elementor-widget-text-editor > .elementor-widget-container,
body.isns-checkout-page .elementor-element-3b521965,
body.isns-checkout-page .elementor-element-ef02b9 {
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	width: 100% !important;
}

body.woocommerce-cart .elementor-896 > .elementor-section:not(.elementor-element-d68592e) > .elementor-container,
body.woocommerce-checkout .elementor-897 > .elementor-section:not(.elementor-section-stretched) > .elementor-container {
	max-width: 1280px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

body.isns-checkout-page table.shop_table {
	border: 0;
	border-collapse: collapse;
	width: 100%;
}

body.isns-checkout-page table.shop_table th,
body.isns-checkout-page table.shop_table td {
	border-color: var(--isns-line);
	padding: 0.95rem 0.4rem;
	font-size: 14px;
	vertical-align: middle;
}

body.isns-checkout-page table.cart .product-thumbnail,
body.isns-checkout-page table.cart .product-quantity,
body.isns-checkout-page table.cart thead .product-thumbnail,
body.isns-checkout-page table.cart thead .product-quantity,
body.isns-checkout-page table.shop_table .product-thumbnail img,
body.isns-checkout-page button[name="update_cart"],
body.isns-checkout-page .woocommerce-shipping-fields,
body.isns-checkout-page .woocommerce-additional-fields {
	display: none !important;
}

body.isns-checkout-page td.product-name,
body.isns-checkout-page td.product-name a {
	font-size: 16px;
	font-weight: 700;
	color: var(--isns-ink) !important;
	text-decoration: none !important;
}

body.isns-checkout-page td.product-name a:hover {
	color: var(--isns-gold) !important;
}

body.isns-checkout-page td.product-price,
body.isns-checkout-page td.product-subtotal {
	font-weight: 600;
	white-space: nowrap;
	color: var(--isns-ink);
}

body.isns-checkout-page .product-remove a {
	color: #A0A7B0 !important;
}

body.isns-checkout-page .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

body.isns-checkout-page .coupon input.input-text {
	flex: 1 1 180px;
	min-height: 44px;
}

body.isns-checkout-page .coupon .button,
body.isns-checkout-page button[name="apply_coupon"] {
	background: transparent !important;
	color: var(--isns-ink) !important;
	border: 1px solid var(--isns-line) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	font-weight: 600 !important;
	text-transform: none !important;
	padding: 0.7rem 1rem !important;
}

body.isns-checkout-page .cart_totals h2,
body.isns-checkout-page #order_review_heading,
body.isns-checkout-page .woocommerce-billing-fields h3 {
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--isns-gold);
	margin: 0 0 1rem;
}

body.isns-checkout-page .woocommerce-billing-fields > h3 {
	display: none;
}

body.isns-checkout-page .cart_totals > h2 {
	font-size: 0 !important;
	line-height: 0 !important;
	margin: 0 0 1.15rem !important;
	padding: 0 !important;
}

body.isns-checkout-page .cart_totals > h2::after {
	content: "Order summary";
	display: block;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--isns-gold);
}

body.isns-checkout-page .cart_totals table.shop_table th,
body.isns-checkout-page .cart_totals table.shop_table td {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.isns-checkout-page .cart_totals table.shop_table th {
	font-weight: 500;
	color: var(--isns-muted);
}

body.isns-checkout-page .cart_totals .order-total th,
body.isns-checkout-page .cart_totals .order-total td {
	font-size: 16px;
	font-weight: 700;
	color: var(--isns-ink);
}

body.isns-checkout-page .cart_totals .recurring-totals th,
body.isns-checkout-page .cart_totals .recurring-totals td {
	padding-top: 1.15rem !important;
}

body.isns-checkout-page .wc-proceed-to-checkout {
	padding-top: 1rem;
}

body.isns-checkout-page #order_review_heading,
body.isns-checkout-page #order_review,
body.isns-checkout-page #order_review table,
body.isns-checkout-page table.woocommerce-checkout-review-order-table,
body.isns-checkout-page table.shop_table,
body.isns-checkout-page .woocommerce-checkout-review-order,
body.isns-checkout-page .recurring-totals,
body.isns-checkout-page table.recurring-subscription {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

body.isns-checkout-page #order_review_heading {
	float: none !important;
	width: 100% !important;
	padding: 0 0 0.75rem !important;
	margin: 0 0 0.35rem !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--isns-gold) !important;
	text-align: left;
}

body.isns-checkout-page #order_review {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

body.isns-checkout-page table.shop_table th,
body.isns-checkout-page table.shop_table td,
body.isns-checkout-page table.woocommerce-checkout-review-order-table th,
body.isns-checkout-page table.woocommerce-checkout-review-order-table td {
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px solid var(--isns-line) !important;
	background: transparent !important;
	padding: 0.95rem 0 !important;
}

body.isns-checkout-page form #order_review_heading,
body.isns-checkout-page form.checkout #order_review_heading,
body.isns-checkout-page #order_review_heading:not(.elementor-widget-woocommerce-checkout-page #order_review_heading) {
	border: 0 !important;
	border-width: 0 !important;
	padding: 0 0 0.75rem !important;
	margin: 0 0 0.35rem !important;
	background: transparent !important;
}

body.isns-checkout-page form #order_review,
body.isns-checkout-page form.checkout #order_review,
body.isns-checkout-page form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) {
	border: 0 !important;
	border-width: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.isns-checkout-page .form-row label {
	font-size: 14px;
	font-weight: 600;
	color: var(--isns-ink);
}

body.isns-checkout-page .input-text,
body.isns-checkout-page select,
body.isns-checkout-page textarea,
body.isns-checkout-page .select2-container .select2-selection--single {
	border: 1px solid var(--isns-line) !important;
	border-radius: 10px !important;
	min-height: 48px;
	padding: 0.75rem 0.95rem !important;
	font-family: inherit;
	font-size: 14px;
	color: var(--isns-ink);
	background: #fff;
}

body.isns-checkout-page .is-invalid {
	border-color: #b42318 !important;
}

body.isns-checkout-page .password-input {
	display: block !important;
	position: relative !important;
	width: 100%;
}

body.isns-checkout-page .password-input .input-text,
body.isns-checkout-page .password-input input[type="password"],
body.isns-checkout-page .password-input input[type="text"] {
	width: 100% !important;
	padding-right: 2.75rem !important;
}

body.isns-checkout-page .show-password-input {
	position: absolute !important;
	top: 50% !important;
	right: 0.9rem !important;
	left: auto !important;
	bottom: auto !important;
	transform: translateY(-50%);
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--isns-muted) !important;
	line-height: 1 !important;
	cursor: pointer;
	z-index: 2;
}

body.isns-checkout-page .show-password-input::before {
	content: none !important;
	display: none !important;
}

body.isns-checkout-page .show-password-input::after {
	font-family: WooCommerce !important;
	speak: never;
	font-weight: 400 !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1 !important;
	-webkit-font-smoothing: antialiased;
	content: "\e010" !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--isns-muted) !important;
	text-decoration: none !important;
}

body.isns-checkout-page .show-password-input.display-password::after {
	color: var(--isns-ink) !important;
}

body.isns-checkout-page .woocommerce-password-strength {
	display: block;
	width: 100%;
	margin: 0.65rem 0 0 !important;
	padding: 0.55rem 0.85rem !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-align: center;
	box-sizing: border-box;
}

body.isns-checkout-page .woocommerce-password-strength.strong {
	background-color: #c1e1b9 !important;
	color: #2f6b1f !important;
}

body.isns-checkout-page .woocommerce-password-strength.good {
	background-color: #ffe399 !important;
	color: #8a6a00 !important;
}

body.isns-checkout-page .woocommerce-password-strength.bad,
body.isns-checkout-page .woocommerce-password-strength.short {
	background-color: #f1adad !important;
	color: #8a1f1f !important;
}

body.isns-checkout-page .woocommerce-password-hint {
	display: block;
	margin: 0.5rem 0 0;
	font-size: 12px;
	line-height: 1.45;
	color: var(--isns-muted);
}

body.isns-checkout-page .checkout-button,
body.isns-checkout-page .button.checkout-button,
body.isns-checkout-page #place_order,
body.isns-checkout-page button#place_order,
body.isns-checkout-page .woocommerce-button.button.alt,
body.isns-checkout-page .isns-checkout__next {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 0.5rem;
	padding: 0.95rem 1.25rem !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--isns-gold) !important;
	background-color: var(--isns-gold) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
}

body.isns-checkout-page .checkout-button:hover,
body.isns-checkout-page #place_order:hover,
body.isns-checkout-page .isns-checkout__next:hover {
	filter: brightness(0.96);
	color: #fff !important;
}

body.isns-checkout-page .wc-empty-cart-message,
body.woocommerce-cart .wc-empty-cart-message {
	text-align: center;
}

body.isns-checkout-page .cart-empty,
body.woocommerce-cart .cart-empty {
	margin: 0 0 1.25rem !important;
	padding: 1rem 1.15rem !important;
	border-radius: 10px !important;
}

body.isns-checkout-page .return-to-shop,
body.woocommerce-cart .return-to-shop {
	display: flex;
	justify-content: center;
	margin: 0.35rem 0 0 !important;
	padding: 0 !important;
	text-align: center;
}

body.isns-checkout-page .return-to-shop .button.wc-backward,
body.isns-checkout-page .return-to-shop a.button,
body.woocommerce-cart .return-to-shop .button.wc-backward,
body.woocommerce-cart .return-to-shop a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 220px;
	max-width: 260px;
	margin: 0 !important;
	padding: 0.95rem 1.75rem !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--isns-gold, #C3A342) !important;
	background-color: var(--isns-gold, #C3A342) !important;
	color: #fff !important;
	font-family: "Inter", Sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

body.isns-checkout-page .return-to-shop .button.wc-backward br,
body.woocommerce-cart .return-to-shop .button.wc-backward br {
	display: none !important;
}

body.isns-checkout-page .return-to-shop .button.wc-backward:hover,
body.isns-checkout-page .return-to-shop a.button:hover,
body.woocommerce-cart .return-to-shop .button.wc-backward:hover,
body.woocommerce-cart .return-to-shop a.button:hover {
	filter: brightness(0.96);
	color: #fff !important;
	text-decoration: none !important;
}

form.woocommerce-checkout.isns-co-step-2 #order_review,
form.woocommerce-checkout.isns-co-step-2 #order_review_heading,
form.woocommerce-checkout.isns-co-step-2 .woocommerce-additional-fields {
	display: none !important;
}

form.woocommerce-checkout.isns-co-step-3 #customer_details,
form.woocommerce-checkout.isns-co-step-3 .isns-checkout__next {
	display: none !important;
}

body.isns-checkout-page .woocommerce-order {
	text-align: center;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

body.isns-checkout-page .woocommerce-thankyou-order-received {
	font-size: 15px;
	color: var(--isns-ink);
}

body.isns-checkout-page .isns-checkout__view-sub {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin: 1.35rem 0 0.35rem;
}

body.isns-checkout-page .isns-checkout__view-sub-btn,
body.isns-checkout-page .woocommerce-orders-table--subscriptions .woocommerce-button.button.view {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 220px;
	max-width: 280px;
	margin: 0 !important;
	padding: 0.95rem 1.75rem !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--isns-gold) !important;
	background-color: var(--isns-gold) !important;
	color: #fff !important;
	font-family: "Inter", Sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

body.isns-checkout-page .isns-checkout__view-sub-btn--outline {
	background: #fff !important;
	background-color: #fff !important;
	color: #0C2D4A !important;
	border: 1px solid #0C2D4A !important;
}

body.isns-checkout-page .isns-checkout__view-sub-btn:hover,
body.isns-checkout-page .woocommerce-orders-table--subscriptions .woocommerce-button.button.view:hover {
	filter: brightness(0.96);
	color: #fff !important;
	text-decoration: none !important;
}

body.isns-checkout-page .isns-checkout__view-sub-btn--outline:hover {
	background: #F7FAFC !important;
	color: #0C2D4A !important;
	filter: none;
}

body.isns-checkout-page .woocommerce-order-overview {
	list-style: none;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
	padding: 0;
	margin: 1.25rem 0;
}

body.isns-checkout-page .woocommerce-customer-details,
body.isns-checkout-page .woocommerce-order-details {
	text-align: left;
}

@media (max-width: 700px) {
	.isns-checkout__steps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	body.isns-checkout-page .woocommerce-order-overview {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------
   Member dashboard (Figma)
   ------------------------------------------------------------------------- */
.isns-dash {
	--isns-ink: #0C2D4A;
	--isns-muted: #787878;
	--isns-line: #E4E7EC;
	--isns-gold: #C3A342;
	--isns-navy: #0D2339;
	--isns-bg: #F7FAFC;
	--isns-touch-ink: rgba(12, 45, 74, 0.14);
	--isns-touch-light: rgba(255, 255, 255, 0.32);
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	width: 100%;
	max-width: none;
	margin: 0 0 3rem;
	padding: 0 0 2.5rem;
	background: #F7FAFC;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

.isns-dash .isns-touch {
	position: relative;
	overflow: hidden;
	touch-action: manipulation;
	-webkit-user-select: none;
	user-select: none;
}

.isns-touch__ripple {
	position: absolute;
	border-radius: 50%;
	background: var(--isns-touch-ink);
	transform: scale(0);
	opacity: 0.75;
	animation: isns-touch-ripple 0.65s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	pointer-events: none;
	z-index: 2;
}

.isns-touch__ripple--light {
	background: var(--isns-touch-light);
	opacity: 0.9;
}

.isns-touch.isns-touch--pressed::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: rgba(12, 45, 74, 0.06);
	pointer-events: none;
	z-index: 1;
}

.isns-touch.isns-touch--light.isns-touch--pressed::after {
	background: rgba(255, 255, 255, 0.14);
}

@keyframes isns-touch-ripple {
	to {
		transform: scale(2.8);
		opacity: 0;
	}
}

body.isns-dashboard-page,
body.isns-dashboard-page .site-content,
body.isns-dashboard-page #content,
body.isns-dashboard-page .ast-container,
body.isns-dashboard-page .entry-content,
body.isns-dashboard-page article:not(.isns-dash__metric) {
	background: #F7FAFC !important;
}

body.isns-dashboard-page .site-content,
body.isns-dashboard-page #content,
body.isns-dashboard-page .ast-container,
body.isns-dashboard-page .entry-content {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.isns-dash a,
.isns-dash a:hover,
.isns-dash a:focus,
.isns-dash button {
	text-decoration: none !important;
}

/* Neutralize Astra / theme button skin inside dashboard */
body.isns-dashboard-page .isns-dash button {
	appearance: none !important;
	-webkit-appearance: none !important;
	font-family: inherit !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

body.isns-dashboard-page .isns-dash button.isns-dash__seg-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	min-height: 40px !important;
	padding: 0.5rem 1rem !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--isns-muted) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
}

body.isns-dashboard-page .isns-dash button.isns-dash__seg-btn.is-active {
	background: #fff !important;
	background-color: #fff !important;
	color: var(--isns-ink) !important;
	box-shadow: 0 2px 8px rgba(12, 45, 74, 0.14) !important;
}

body.isns-dashboard-page .isns-dash button.isns-dash__seg-btn:active:not(.is-active) {
	transform: scale(0.96) !important;
	background: rgba(255, 255, 255, 0.55) !important;
	background-color: rgba(255, 255, 255, 0.55) !important;
}

body.isns-dashboard-page .isns-dash button.isns-dash__btn,
body.isns-dashboard-page .isns-dash .isns-dash__btn {
	border: 1px solid transparent !important;
	background-image: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

body.isns-dashboard-page .isns-dash a.isns-dash__btn--gold,
body.isns-dashboard-page .isns-dash button.isns-dash__btn--gold {
	background: var(--isns-gold) !important;
	background-color: var(--isns-gold) !important;
	color: #fff !important;
}

body.isns-dashboard-page .isns-dash a.isns-dash__btn--muted,
body.isns-dashboard-page .isns-dash button.isns-dash__btn--muted {
	background: #2A3F55 !important;
	background-color: #2A3F55 !important;
	color: #fff !important;
}

body.isns-dashboard-page .isns-dash a.isns-dash__btn--outline,
body.isns-dashboard-page .isns-dash button.isns-dash__btn--outline {
	background: #fff !important;
	background-color: #fff !important;
	border-color: var(--isns-ink) !important;
	color: var(--isns-ink) !important;
}

.isns-dash__metric.isns-touch,
.isns-dash__setting.isns-touch,
.isns-dash__links > li.isns-touch,
.isns-dash-panel__list > li.isns-touch {
	border-radius: 14px;
}

.isns-dash__metric.isns-touch {
	border-radius: 16px;
}

.isns-dash--guest {
	text-align: center;
	max-width: 1280px;
	margin: 2rem auto;
	padding: 3rem 1.25rem;
	background: #fff;
	border-radius: 12px;
}

.isns-dash--guest .isns-dash__btn {
	width: auto;
	min-width: 160px;
	margin-top: 0.75rem;
}

.isns-dash__hero {
	width: 100%;
	background: var(--isns-navy);
	color: #fff;
	border-radius: 0;
}

.isns-dash__hero-inner,
.isns-dash__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 1.5rem 1.25rem;
}

.isns-dash__inner {
	display: block;
	padding-top: 1.25rem;
	padding-bottom: 0;
}

.isns-dash__notice {
	margin: 0 0 1.15rem;
	padding: 0.95rem 1.15rem;
	border-radius: 12px;
	font-size: 14px;
	line-height: 1.5;
}

.isns-dash__notice strong {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 15px;
}

.isns-dash__notice--success {
	background: #eef8f1;
	border: 1px solid #b7dfc3;
	color: #1e7a34;
}

.isns-dash__upsell {
	margin: 0 0 1.35rem;
	padding: 1.35rem 1.5rem;
	border-radius: 14px;
	background: linear-gradient(135deg, #0C2D4A 0%, #163A58 100%);
	color: #fff;
}

.isns-dash__upsell-eyebrow {
	margin: 0 0 0.35rem;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--isns-gold, #C3A342);
}

.isns-dash__upsell-title {
	margin: 0 0 0.45rem;
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
}

.isns-dash__upsell-lead {
	margin: 0 0 1rem;
	max-width: 40rem;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.82);
}

.isns-dash__card--locked .isns-dash__btn {
	margin-top: 0.75rem;
}

.isns-dash__identity {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
}

.isns-dash__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 10px;
	background: #163552;
	color: #fff;
	font-size: 1.35rem;
	font-weight: 700;
	flex: 0 0 56px;
}

.isns-dash__tier {
	margin: 0 0 0.15rem;
	color: var(--isns-gold);
	font-size: 13px;
	font-weight: 600;
}

.isns-dash__name {
	margin: 0;
	font-size: clamp(1.4rem, 2.4vw, 1.85rem);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.isns-dash__since {
	margin: 0.2rem 0 0;
	color: #A9B7C5;
	font-size: 13px;
}

.isns-dash__hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
}

.isns-dash__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 0.8rem 1.1rem;
	border-radius: 10px;
	border: 1px solid transparent;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: transform 0.12s ease, filter 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.isns-dash__btn:active:not(:disabled) {
	transform: scale(0.97);
}

.isns-dash__hero-actions .isns-dash__btn {
	width: auto;
	min-width: 140px;
}

.isns-dash__btn--gold {
	background: var(--isns-gold);
	color: #fff !important;
	box-shadow: 0 2px 6px rgba(195, 163, 66, 0.28);
}

@media (hover: hover) {
	.isns-dash__btn--gold:hover {
		filter: brightness(0.96);
		color: #fff !important;
		box-shadow: 0 4px 12px rgba(195, 163, 66, 0.34);
	}
}

.isns-dash__btn--muted {
	background: #2A3F55;
	color: #fff !important;
}

@media (hover: hover) {
	.isns-dash__btn--muted:hover {
		filter: brightness(1.06);
		color: #fff !important;
	}
}

.isns-dash__btn--outline {
	background: #fff;
	border-color: var(--isns-ink);
	color: var(--isns-ink) !important;
}

@media (hover: hover) {
	.isns-dash__btn--outline:hover {
		border-color: var(--isns-gold);
		color: var(--isns-gold) !important;
		background: #FFFCF5;
	}
}

.isns-dash__btn--outline:active:not(:disabled) {
	background: #F7FAFC;
}

.isns-dash__signout {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0.35rem 0.65rem;
	color: #E25555 !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	margin-left: 0.35rem;
	border-radius: 8px;
	transition: background 0.15s ease, transform 0.12s ease;
}

@media (hover: hover) {
	.isns-dash__signout:hover {
		background: rgba(226, 85, 85, 0.08);
	}
}

.isns-dash__signout:active {
	transform: scale(0.97);
	background: rgba(226, 85, 85, 0.12);
}

.isns-dash__metrics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.75rem;
	margin: 0 0 1.35rem;
	background: transparent !important;
	border-radius: 0;
	overflow: visible;
}

.isns-dash__metric {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 1.15rem 1.1rem;
	background: #fff !important;
	border-radius: 16px;
	border: 0;
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.06), 0 2px 10px rgba(12, 45, 74, 0.05);
	transition: transform 0.12s ease, box-shadow 0.15s ease;
}

.isns-dash__metric:active {
	transform: scale(0.98);
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.08);
}

.isns-dash__metric:last-child {
	border-right: 0;
}

.isns-dash__metric-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: #F4F6F8;
	color: var(--isns-gold);
	flex: 0 0 40px;
}

.isns-dash__metric-label {
	display: block;
	color: var(--isns-ink);
	font-size: 12px;
	font-weight: 500;
}

.isns-dash__metric-value {
	display: block;
	margin-top: 0.1rem;
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--isns-ink);
}

.isns-dash__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 1.15rem;
	align-items: start;
}

.isns-dash__card {
	background: #fff;
	border-radius: 16px;
	padding: 1.25rem 1.3rem 1.2rem;
	border: 1px solid rgba(228, 231, 236, 0.9);
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.05), 0 4px 16px rgba(12, 45, 74, 0.04);
}

.isns-dash__card h3 {
	margin: 0 0 1rem;
	font-size: 16px;
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-dash__table-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}

.isns-dash__table-head h3 {
	margin: 0;
}

.isns-dash__table-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}
.isns-dash__search input,
.isns-dash__pager select {
	border: 1px solid var(--isns-line);
	border-radius: 999px;
	min-height: 44px;
	padding: 0.45rem 0.75rem;
	font: inherit;
	font-size: 13px;
	color: var(--isns-ink);
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.isns-dash__search input:focus,
.isns-dash__pager select:focus {
	outline: none;
	border-color: rgba(195, 163, 66, 0.65);
	box-shadow: 0 0 0 3px rgba(195, 163, 66, 0.16);
}

/* Segmented filter (Material-style toggle group) */
.isns-dash__seg {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 4px;
	max-width: 100%;
	padding: 4px;
	border-radius: 999px;
	background: #E8ECF0;
	border: 1px solid #DDE3EA;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	box-shadow: inset 0 1px 2px rgba(12, 45, 74, 0.04);
}

.isns-dash__seg::-webkit-scrollbar {
	display: none;
}

.isns-dash__seg-btn {
	flex: 0 0 auto;
	min-height: 40px;
	padding: 0.5rem 1rem;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--isns-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.12s ease;
}

.isns-dash__seg-btn.is-active {
	background: #fff;
	color: var(--isns-ink);
	box-shadow: 0 2px 8px rgba(12, 45, 74, 0.14);
}

.isns-dash__seg-btn:active:not(.is-active) {
	transform: scale(0.96);
	background: rgba(255, 255, 255, 0.55);
}

@media (hover: hover) {
	.isns-dash__seg-btn:not(.is-active):hover {
		color: var(--isns-ink);
		background: rgba(255, 255, 255, 0.45);
	}
}

.isns-dash__search {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.isns-dash__search svg {
	position: absolute;
	left: 10px;
	color: #A0A7B0;
	pointer-events: none;
}

.isns-dash__search input {
	padding-left: 2rem;
	min-width: 210px;
}

.isns-dash__table-wrap {
	overflow-x: auto;
}

.isns-dash__table {
	width: 100%;
	border-collapse: collapse;
	border: 0 !important;
}

.isns-dash__table th,
.isns-dash__table td {
	text-align: left;
	padding: 0.85rem 0.55rem;
	border: 0 !important;
	border-bottom: 1px solid var(--isns-line) !important;
	font-size: 13px;
	vertical-align: middle;
}

.isns-dash__table th {
	color: var(--isns-muted);
	font-weight: 600;
}

.isns-dash__pill {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	background: #F7FAFC;
	color: var(--isns-ink);
}

.isns-dash__pill--payment {
	background: #E8F6EE;
	color: #1F7A45;
}

.isns-dash__pill--review {
	background: #F7F3E6;
	color: #8A6A12;
}

.isns-dash__pill--published {
	background: #E8EEF4;
	color: var(--isns-ink);
}

.isns-dash__pill--rejected {
	background: #FDECEA;
	color: #9B2C2C;
}

.isns-dash__actions-cell {
	white-space: nowrap;
}

.isns-dash__pay-btn {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	min-height: 44px;
	padding: 0.45rem 0.75rem;
	border-radius: 8px;
	background: var(--isns-gold, #C3A342);
	color: #0C2D4A !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: 0 2px 6px rgba(195, 163, 66, 0.24);
	transition: transform 0.12s ease, filter 0.15s ease, box-shadow 0.15s ease;
}

@media (hover: hover) {
	.isns-dash__pay-btn:hover,
	.isns-dash__pay-btn:focus {
		filter: brightness(0.97);
		color: #0C2D4A !important;
		box-shadow: 0 4px 10px rgba(195, 163, 66, 0.3);
	}
}

.isns-dash__pay-btn:active {
	transform: scale(0.96);
}

.isns-dash__row-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border-radius: 50%;
	color: var(--isns-gold);
	transition: background 0.15s ease, transform 0.12s ease;
}

.isns-dash__row-go:active {
	transform: scale(0.92);
	background: rgba(195, 163, 66, 0.12);
}

.isns-dash__pay-amt {
	font-weight: 600;
	opacity: 0.85;
}

.isns-dash__pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.85rem;
	margin-top: 0.85rem;
	color: var(--isns-muted);
	font-size: 13px;
}

.isns-dash__pager-btns {
	display: inline-flex;
	gap: 0.35rem;
}

.isns-dash button.isns-dash__page-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid #E4E7EC !important;
	border-radius: 50% !important;
	background: #fff !important;
	background-color: #fff !important;
	color: #0C2D4A !important;
	box-shadow: 0 1px 3px rgba(12, 45, 74, 0.06) !important;
	line-height: 0 !important;
	text-indent: 0 !important;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.12s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.isns-dash button.isns-dash__page-btn:active:not(:disabled) {
	transform: scale(0.92);
}

.isns-dash button.isns-dash__page-btn svg {
	display: none !important;
}

.isns-dash button.isns-dash__page-btn::before {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	margin-left: 2px;
	border-left: 2px solid #0C2D4A;
	border-bottom: 2px solid #0C2D4A;
	transform: rotate(45deg);
}

.isns-dash button.isns-dash__page-btn--next::before {
	margin-left: -2px;
	transform: rotate(-135deg);
}

.isns-dash button.isns-dash__page-btn--next:not(:disabled) {
	background: #C3A342 !important;
	background-color: #C3A342 !important;
	border-color: #C3A342 !important;
}

.isns-dash button.isns-dash__page-btn--next:not(:disabled)::before {
	border-color: #fff;
}

.isns-dash button.isns-dash__page-btn:hover:not(:disabled),
.isns-dash button.isns-dash__page-btn:focus:not(:disabled) {
	background: #F4F6F8 !important;
	box-shadow: none !important;
}

.isns-dash button.isns-dash__page-btn--next:hover:not(:disabled),
.isns-dash button.isns-dash__page-btn--next:focus:not(:disabled) {
	background: #C3A342 !important;
	filter: brightness(0.96);
}

.isns-dash button.isns-dash__page-btn:disabled {
	opacity: 0.4;
	cursor: default;
}

.isns-dash__quick {
	display: grid;
	gap: 0.55rem;
}

.isns-dash__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
}

.isns-dash__card-head h3 {
	margin: 0;
}

.isns-dash__card-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.25rem 0.5rem;
	border-radius: 8px;
	color: var(--isns-gold, #C3A342) !important;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

@media (hover: hover) {
	.isns-dash__card-link:hover {
		color: #0C2D4A !important;
		background: rgba(195, 163, 66, 0.1);
	}
}

.isns-dash__card-link:active {
	transform: scale(0.97);
	background: rgba(195, 163, 66, 0.16);
}

.isns-dash-panel__list-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.isns-dash-panel__status {
	display: inline-flex;
	margin-top: 0.4rem;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	background: #E8EEF4;
	color: #0C2D4A;
	font-size: 11px;
	font-weight: 700;
}

.isns-dash-panel__status--confirmed,
.isns-dash-panel__status--checked_in {
	background: rgba(195, 163, 66, 0.18);
	color: #8A6F1E;
}

.isns-dash-panel__status--pending {
	background: #FFF4DF;
	color: #8A5B00;
}

.isns-dash-panel__status--cancelled,
.isns-dash-panel__status--refunded,
.isns-dash-panel__status--no_show {
	background: #F6E8E8;
	color: #8A3B3B;
}

.isns-dir-form__hint {
	margin: 0.5rem 0 0;
	font-size: 13px;
}

.isns-dir-form__hint a {
	color: var(--isns-gold, #C3A342);
	font-weight: 600;
	text-decoration: none;
}

.isns-dir-form--embedded .isns-submit__header {
	padding-top: 0;
}

.isns-btn--ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.5rem;
	padding: 0.55rem 1rem;
	border: 1px solid #D5DBE3;
	border-radius: 10px;
	background: #fff;
	color: #0C2D4A !important;
	font-weight: 600;
	text-decoration: none !important;
}

/* Account settings */
.isns-dash__settings {
	margin: 0 0 1.5rem;
	padding: 1.35rem 1.35rem 1.2rem;
	border: 1px solid rgba(228, 231, 236, 0.9);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.05), 0 4px 16px rgba(12, 45, 74, 0.04);
}

.isns-dash__settings-head {
	margin: 0 0 1rem;
}

.isns-dash__settings-eyebrow {
	margin: 0 0 0.25rem;
	color: var(--isns-gold, #C3A342);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.isns-dash__settings h3 {
	margin: 0 0 0.35rem;
	color: var(--isns-ink, #0C2D4A);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
}

.isns-dash__settings-lead {
	margin: 0;
	color: var(--isns-muted, #6B7A88);
	font-size: 14px;
	line-height: 1.45;
	max-width: 42rem;
}

.isns-dash__subs {
	display: grid;
	gap: 0.55rem;
	margin: 0 0 1rem;
}

.isns-dash__sub {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	background: #0C2D4A;
	color: #fff;
}

.isns-dash__sub strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
}

.isns-dash__sub span {
	display: block;
	margin-top: 0.15rem;
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
}

.isns-dash__sub-meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.isns-dash__sub-meta em {
	font-style: normal;
	font-weight: 700;
	color: #E8D48A;
	font-size: 14px;
}

.isns-dash__sub-meta a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.45rem 0.85rem;
	border-radius: 8px;
	background: #C3A342;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 2px 6px rgba(195, 163, 66, 0.28);
	transition: transform 0.12s ease, filter 0.15s ease;
}

@media (hover: hover) {
	.isns-dash__sub-meta a:hover {
		filter: brightness(0.96);
		color: #fff !important;
	}
}

.isns-dash__sub-meta a:active {
	transform: scale(0.96);
}

.isns-dash__sub--join {
	background: #F7FAFC;
	border: 1px solid #E8ECF0;
	color: var(--isns-ink, #0C2D4A);
	margin: 0 0 1rem;
}

.isns-dash__sub--join strong {
	color: var(--isns-ink, #0C2D4A);
}

.isns-dash__sub--join span {
	color: var(--isns-muted, #6B7A88);
}

.isns-dash__settings-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.isns-dash__setting {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 64px;
	padding: 1rem 1.05rem;
	border: 1px solid #E8ECF0;
	border-radius: 14px;
	background: #F7FAFC;
	text-decoration: none !important;
	color: inherit;
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.03);
	transition: border-color 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease, background 0.15s ease;
}

@media (hover: hover) {
	.isns-dash__setting:hover,
	.isns-dash__setting:focus {
		border-color: rgba(195, 163, 66, 0.55);
		transform: translateY(-2px);
		box-shadow: 0 8px 18px rgba(12, 45, 74, 0.08);
		outline: none;
	}
}

.isns-dash__setting:active {
	transform: scale(0.98);
	background: #EEF2F6;
	border-color: rgba(195, 163, 66, 0.45);
	box-shadow: 0 2px 8px rgba(12, 45, 74, 0.06);
}

.isns-dash__setting-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: #0C2D4A;
	color: #E8D48A;
	flex: 0 0 40px;
}

.isns-dash__setting-copy {
	flex: 1;
	min-width: 0;
}

.isns-dash__setting-copy strong {
	display: block;
	color: var(--isns-ink, #0C2D4A);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
}

.isns-dash__setting-copy em {
	display: block;
	margin-top: 0.2rem;
	color: var(--isns-muted, #6B7A88);
	font-size: 12px;
	font-style: normal;
	line-height: 1.35;
}

.isns-dash__setting-go {
	color: var(--isns-gold, #C3A342);
	flex: 0 0 auto;
	opacity: 0.85;
}

@media (max-width: 1100px) {
	.isns-dash__settings-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.isns-dash__settings {
		padding: 1.1rem;
	}

	.isns-dash__settings-grid {
		grid-template-columns: 1fr;
	}
}

/* Dashboard settings panels (?panel=) */
.isns-dash-panel {
	margin: 0 0 1.5rem;
	padding: 1.35rem 1.35rem 1.4rem;
	border: 1px solid rgba(228, 231, 236, 0.9);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.05), 0 4px 16px rgba(12, 45, 74, 0.04);
}

.isns-dash-panel__head {
	margin: 0 0 1.15rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #E8ECF0;
}

.isns-dash-panel__back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 44px;
	padding: 0.25rem 0.5rem;
	margin: 0 0 0.75rem;
	border-radius: 8px;
	color: var(--isns-gold, #C3A342) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

@media (hover: hover) {
	.isns-dash-panel__back:hover {
		color: #0C2D4A !important;
		background: rgba(195, 163, 66, 0.1);
	}
}

.isns-dash-panel__back:active {
	transform: scale(0.97);
	background: rgba(195, 163, 66, 0.16);
}

.isns-dash-panel__eyebrow {
	margin: 0 0 0.25rem;
	color: var(--isns-gold, #C3A342);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.isns-dash-panel__title {
	margin: 0;
	color: var(--isns-ink, #0C2D4A);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
}

.isns-dash-panel__section-title {
	margin: 0 0 0.65rem;
	color: var(--isns-ink, #0C2D4A);
	font-size: 15px;
	font-weight: 700;
}

.isns-dash-panel__lead {
	margin: 0 0 0.85rem;
	color: var(--isns-muted, #6B7A88);
	font-size: 13px;
}

.isns-dash-panel__divider {
	margin: 1.25rem 0 1rem;
	border: 0;
	border-top: 1px solid #E8ECF0;
}

.isns-dash-panel__toolbar {
	margin: 0 0 1rem;
}

.isns-dash-panel__empty {
	padding: 1.25rem;
	border-radius: 12px;
	background: #F7FAFC;
	color: var(--isns-muted, #6B7A88);
}

.isns-dash-panel__empty--filter {
	margin: 0 0 1.25rem;
}

.isns-dash-panel__empty p {
	margin: 0 0 0.85rem;
}

.isns-dash-panel__list {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

.isns-dash-panel__list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 1rem 1.05rem;
	border-radius: 14px;
	background: #F7FAFC;
	border: 1px solid #E8ECF0;
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.04);
	transition: transform 0.12s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.isns-dash-panel__list li:active {
	transform: scale(0.995);
	background: #EEF2F6;
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.06);
}

.isns-dash-panel__list strong {
	display: block;
	color: var(--isns-ink, #0C2D4A);
	font-size: 14px;
}

.isns-dash-panel__list span {
	display: block;
	margin-top: 0.2rem;
	color: var(--isns-muted, #6B7A88);
	font-size: 12px;
}

.isns-dash-panel__price {
	color: var(--isns-gold, #C3A342) !important;
	font-weight: 700 !important;
}

.isns-dash-panel__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0.5rem 0 0;
}

.isns-dash-panel__hint {
	margin: 1rem 0 0;
	font-size: 13px;
}

.isns-dash-panel__hint a {
	color: var(--isns-gold, #C3A342);
	font-weight: 600;
	text-decoration: none;
}

.isns-dash-panel__form {
	display: grid;
	gap: 0.85rem;
	max-width: 32rem;
}

.isns-dash-panel__form .isns-field {
	display: grid;
	gap: 0.35rem;
}

.isns-dash-panel__form .isns-field span {
	color: var(--isns-ink, #0C2D4A);
	font-size: 13px;
	font-weight: 600;
}

.isns-dash-panel__form input[type="text"],
.isns-dash-panel__form input[type="email"],
.isns-dash-panel__form input[type="password"],
.isns-dash-panel__woo input[type="text"],
.isns-dash-panel__woo input[type="email"],
.isns-dash-panel__woo input[type="tel"],
.isns-dash-panel__woo input[type="password"],
.isns-dash-panel__woo select,
.isns-dash-panel__woo textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0.75rem 0.9rem;
	border: 1px solid #C5CED8;
	border-radius: 12px;
	background: #fff;
	color: #0C2D4A;
	font-size: 14px;
	font-family: inherit;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.isns-dash-panel__form input:focus,
.isns-dash-panel__woo input:focus,
.isns-dash-panel__woo select:focus,
.isns-dash-panel__woo textarea:focus {
	outline: none;
	border-color: rgba(195, 163, 66, 0.75);
	box-shadow: 0 0 0 3px rgba(195, 163, 66, 0.18);
}

.isns-dash-panel__form button[type="submit"],
.isns-dash-panel__woo button[type="submit"],
.isns-dash-panel__woo .button,
.isns-dash-panel__woo .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.7rem 1.2rem;
	border: 0 !important;
	border-radius: 12px;
	background: #C3A342 !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(195, 163, 66, 0.32);
	transition: transform 0.12s ease, filter 0.15s ease, box-shadow 0.15s ease;
}

.isns-dash-panel__form button[type="submit"]:active,
.isns-dash-panel__woo button[type="submit"]:active,
.isns-dash-panel__woo .button:active,
.isns-dash-panel__woo .woocommerce-Button:active {
	transform: scale(0.97);
}

.isns-dash-panel__woo .button:hover,
.isns-dash-panel__woo .woocommerce-Button:hover,
.isns-dash-panel__form button[type="submit"]:hover {
	filter: brightness(0.96);
	color: #fff !important;
	background: #C3A342 !important;
}

.isns-dash-panel__address-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.isns-dash-panel__address-card {
	display: grid;
	gap: 0.35rem;
	padding: 1.1rem 1.15rem;
	border: 1px solid #E8ECF0;
	border-radius: 12px;
	background: #F7FAFC;
	text-decoration: none !important;
	transition: transform 0.15s ease, border-color 0.15s ease;
}

.isns-dash-panel__address-card:hover {
	border-color: rgba(195, 163, 66, 0.55);
	transform: translateY(-2px);
}

.isns-dash-panel__address-card strong {
	color: #0C2D4A;
	font-size: 15px;
}

.isns-dash-panel__address-card span {
	color: #6B7A88;
	font-size: 13px;
	line-height: 1.4;
}

.isns-dash-panel__table-wrap {
	overflow-x: auto;
}

.isns-dash-panel__woo .woocommerce-Message,
.isns-dash-panel__woo .woocommerce-info,
.isns-dash-panel__woo .woocommerce-message,
.isns-dash-panel__woo .woocommerce-error {
	border-radius: 10px;
	border-top-color: #C3A342;
}

.isns-dash-panel__woo table.shop_table {
	border-collapse: collapse;
	width: 100%;
}

.isns-dash-panel__woo table.shop_table th,
.isns-dash-panel__woo table.shop_table td {
	padding: 0.75rem 0.65rem;
	border-bottom: 1px solid #E8ECF0;
	text-align: left;
	font-size: 14px;
}

.isns-dash-panel__profile .isns-submit__header {
	padding-top: 0;
}

.isns-dash-panel__profile .isns-submit__title {
	display: none;
}

@media (max-width: 720px) {
	.isns-dash-panel__address-cards {
		grid-template-columns: 1fr;
	}
}

.isns-dash__empty {
	margin: 0;
	color: var(--isns-muted);
	font-size: 13px;
}

.isns-dash__empty-row td {
	color: var(--isns-muted);
	text-align: center;
	padding: 1.5rem 0.75rem;
}

.isns-dash__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.isns-dash__links li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 60px;
	padding: 0.9rem 1rem;
	margin: 0 0 0.55rem;
	border: 1px solid #E8ECF0;
	border-radius: 14px;
	background: #F7FAFC;
	color: var(--isns-gold);
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(12, 45, 74, 0.04);
	transition: background 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
}

.isns-dash__links li:active {
	transform: scale(0.99);
	background: #E8EEF4;
}

@media (hover: hover) {
	.isns-dash__links li:hover {
		background: #EEF2F6;
	}
}

.isns-dash__links li:last-child {
	margin-bottom: 0;
}

.isns-dash__links a {
	flex: 1;
	min-width: 0;
	text-decoration: none;
	color: inherit;
}

.isns-dash__links strong {
	display: block;
	color: var(--isns-ink);
	font-size: 14px;
}

.isns-dash__links span {
	display: block;
	margin-top: 0.15rem;
	color: var(--isns-muted);
	font-size: 12px;
}

.isns-dash__side {
	display: grid;
	gap: 1rem;
}

@media (max-width: 1100px) {
	.isns-dash__metrics {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.isns-dash__layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.isns-dash__hero {
		padding: 1.15rem;
	}

	.isns-dash__metrics {
		grid-template-columns: 1fr 1fr;
	}

	.isns-dash__table-tools {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.isns-dash__seg {
		width: 100%;
	}

	.isns-dash__search {
		width: 100%;
	}

	.isns-dash__search input {
		min-width: 0;
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
   Submission / article detail
   ------------------------------------------------------------------------- */
body.isns-publication-page,
body.isns-publication-page .site-content,
body.isns-publication-page #content,
body.isns-publication-page .ast-container,
body.isns-publication-page .entry-content,
body.isns-publication-page article {
	background: #F7FAFC !important;
}

body.isns-publication-page .site-content,
body.isns-publication-page #content,
body.isns-publication-page #primary,
body.isns-publication-page .content-area,
body.isns-publication-page .site-main,
body.isns-publication-page .ast-container,
body.isns-publication-page .entry-content,
body.isns-publication-page article.ast-article-single {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	float: none !important;
}

body.isns-publication-page #secondary {
	display: none !important;
}

body.isns-publication-page .ast-single-entry-banner,
body.isns-publication-page .entry-header {
	display: none !important;
}

.isns-pub {
	--isns-ink: #0C2D4A;
	--isns-muted: #787878;
	--isns-line: #E4E7EC;
	--isns-gold: #C3A342;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	width: 100%;
	max-width: 1280px !important;
	margin: 0 auto 3rem;
	padding: 1.5rem 1.25rem 2.5rem;
	box-sizing: border-box;
}

.isns-pub__back {
	display: inline-flex;
	align-items: center;
	position: relative;
	z-index: 5;
	margin: 0 0 1.25rem;
	color: var(--isns-ink) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	pointer-events: auto !important;
	cursor: pointer;
}

.isns-pub__back::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 0.45rem;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}

.isns-pub__hero {
	margin: 0 0 1.25rem;
}

.isns-pub__eyebrow {
	margin: 0 0 0.4rem;
	color: var(--isns-gold);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.isns-pub__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--isns-ink);
}

.isns-pub__hero-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
}

.isns-pub__tid {
	color: var(--isns-muted);
	font-size: 13px;
	font-weight: 600;
}

.isns-pub__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 1.15rem;
	align-items: start;
}

.isns-pub__card {
	background: #fff;
	border-radius: 12px;
	padding: 1.35rem 1.4rem;
}

.isns-pub__card h2 {
	margin: 1.25rem 0 0.6rem;
	font-size: 16px;
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-pub__card h2:first-child {
	margin-top: 0;
}

.isns-pub__facts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem 1.25rem;
	margin: 0 0 0.5rem;
}

.isns-pub__facts dt {
	margin: 0;
	color: var(--isns-muted);
	font-size: 12px;
	font-weight: 500;
}

.isns-pub__facts dd {
	margin: 0.15rem 0 0;
	font-size: 14px;
	font-weight: 600;
}

.isns-pub__body {
	line-height: 1.65;
	font-size: 15px;
}

.isns-pub__help,
.isns-pub__fee {
	margin: 0.75rem 0;
	font-size: 14px;
	color: var(--isns-muted);
}

.isns-pub__fee {
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-pub__side {
	display: grid;
	gap: 1rem;
}

.isns-pub__files {
	display: grid;
	gap: 0.55rem;
}

@media (max-width: 900px) {
	.isns-pub__layout,
	.isns-pub__facts {
		grid-template-columns: 1fr;
	}
}

/* —— Events / summit —— */
body.isns-events-page,
body.isns-events-page .site-content,
body.isns-events-page #content,
body.isns-events-page .ast-container,
body.isns-events-page .entry-content,
body.isns-events-page article {
	background: #F7FAFC !important;
}

body.isns-events-page .site-content,
body.isns-events-page #content,
body.isns-events-page #primary,
body.isns-events-page .content-area,
body.isns-events-page .site-main,
body.isns-events-page .ast-container,
body.isns-events-page .entry-content,
body.isns-events-page article.ast-article-single {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	float: none !important;
}

body.isns-events-page #secondary {
	display: none !important;
}

body.isns-events-page .entry-header,
body.isns-events-page .ast-single-entry-banner {
	display: none !important;
}

/* /events/ archive — Elementor summit page (13842) / sponsors hero pattern */
.isns-events-archive-main {
	width: 100%;
}

.isns-events-archive {
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	width: 100%;
}

.isns-events-archive__hero {
	width: 100%;
	background: #0C2D4A;
	color: #fff;
}

.isns-events-archive__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 4em 1.25rem;
}

.isns-events-archive__kicker {
	margin: 0 0 0.35rem;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #C3A342;
}

.isns-events-archive__title {
	margin: -0.35rem auto 0.75rem;
	width: min(100%, 80%);
	font-size: clamp(1.75rem, 3vw, 36px);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.isns-events-archive__lead {
	margin: -0.35rem auto 0;
	width: min(100%, 37%);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	color: #D2D2D2;
}

.isns-events-archive__search {
	width: min(100%, 640px);
	margin-top: 1.75rem;
}

.isns-events-archive__search .isns-summit--search {
	margin: 0;
	padding: 0;
	max-width: none;
}

.isns-events-archive__search .isns-summit-search {
	margin-left: auto;
	margin-right: auto;
}

.isns-events-archive__band {
	width: 100%;
	padding: 4em 0;
}

.isns-events-archive__band--white {
	background: #fff;
}

.isns-events-archive__band--ice {
	background: #F7FAFC;
}

.isns-events-archive__band-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.25rem;
}

.isns-events-archive__section-head {
	margin: 0 auto 1.75rem;
	max-width: 720px;
	text-align: center;
}

.isns-events-archive__section-kicker {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #C3A342;
}

.isns-events-archive__section-sub {
	margin: 0.65rem auto 0;
	max-width: 36rem;
	font-size: clamp(1.15rem, 2.2vw, 32px);
	font-weight: 700;
	line-height: 1.25;
	color: #0C2D4A;
}

.isns-events-archive__band .isns-summit {
	margin-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	max-width: none;
}

@media (max-width: 1024px) {
	.isns-events-archive__hero-inner {
		padding-top: 3em;
		padding-bottom: 3em;
	}

	.isns-events-archive__title {
		width: min(100%, 90%);
		font-size: clamp(1.5rem, 4vw, 30px);
	}

	.isns-events-archive__lead {
		width: min(100%, 65%);
	}

	.isns-events-archive__section-sub {
		font-size: clamp(1.05rem, 3vw, 26px);
	}
}

@media (max-width: 767px) {
	.isns-events-archive__hero-inner {
		padding-top: 2.5em;
		padding-bottom: 2.5em;
	}

	.isns-events-archive__kicker {
		font-size: 13px;
	}

	.isns-events-archive__title {
		width: 100%;
		font-size: 19px;
	}

	.isns-events-archive__lead {
		width: 100%;
	}

	.isns-events-archive__band {
		padding: 2.75em 0;
	}

	.isns-events-archive__section-sub {
		font-size: 1.05rem;
	}
}

.isns-events-wrap,
.isns-events,
.isns-event {
	--isns-ink: #0C2D4A;
	--isns-muted: #787878;
	--isns-line: #E4E7EC;
	--isns-gold: #C3A342;
	--isns-bg: #F7FAFC;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	width: 100%;
	max-width: 1280px !important;
	margin: 0 auto 3rem;
	padding: 1.5rem 1.25rem 2.5rem;
	box-sizing: border-box;
}

.isns-events *,
.isns-event *,
.isns-events-wrap * {
	box-sizing: border-box;
}

.isns-events__eyebrow,
.isns-event .isns-events__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--isns-gold);
	text-transform: uppercase;
}

.isns-events__title,
.isns-event__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--isns-ink);
}

.isns-events__head {
	margin: 0 0 2.5rem;
}

.isns-events__lead,
.isns-event__theme {
	margin: 0 0 1.15rem;
	color: var(--isns-muted);
	font-size: 16px;
	line-height: 1.5;
	max-width: 42rem;
}

.isns-events__actions {
	margin: 0;
}

.isns-events__empty {
	margin: 1.5rem 0;
	padding: 1.25rem 1.4rem;
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 12px;
	color: var(--isns-muted);
}

.isns-events__section {
	margin: 0 0 2rem;
}

.isns-events__section-lead {
	margin: 0 0 0.75rem;
	font-size: 0.92rem;
	color: var(--isns-muted);
}

.isns-events__section--live .isns-events__section-title {
	color: #166534;
}

.isns-events__section--live .isns-events__card {
	border-color: rgba(22, 163, 74, 0.28);
}

.isns-events__status {
	display: inline-flex;
	align-self: flex-start;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.2;
}

.isns-events__status--upcoming {
	background: rgba(195, 163, 66, 0.18);
	color: #8a6f1e;
}

.isns-events__status--in_progress {
	background: rgba(22, 163, 74, 0.16);
	color: #166534;
}

.isns-events__status--past {
	background: rgba(12, 45, 74, 0.1);
	color: var(--isns-muted);
}

.isns-events__section--past {
	margin-bottom: 0;
}

.isns-events__section-title {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-events__section--past .isns-events__section-title {
	color: var(--isns-muted);
}

.isns-events__section--past .isns-events__card {
	background: #F7FAFC;
}

.isns-events__section--past .isns-events__date {
	color: var(--isns-muted);
}

.isns-events__list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.isns-events__card {
	display: grid;
	gap: 0.3rem;
	padding: 1.2rem 1.35rem;
	background: #fff;
	border-radius: 12px;
	border: 1px solid var(--isns-line);
	text-decoration: none !important;
	color: inherit;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.isns-events__card--has-image {
	grid-template-columns: 132px minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 1rem 0.85rem 0.85rem;
}

.isns-events__card-media {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	background: #eef2f6;
}

.isns-events__card-media img {
	display: block;
	width: 100%;
	height: 92px;
	object-fit: cover;
}

.isns-events__card-copy {
	display: grid;
	gap: 0.3rem;
	min-width: 0;
}

@media (max-width: 640px) {
	.isns-events__card--has-image {
		grid-template-columns: 1fr;
		padding: 0.85rem;
	}

	.isns-events__card-media img {
		height: 180px;
	}
}

.isns-events__card:hover,
.isns-events__card:focus {
	border-color: var(--isns-gold);
	box-shadow: 0 8px 24px rgba(12, 45, 74, 0.08);
}

.isns-events__date {
	font-size: 13px;
	font-weight: 600;
	color: var(--isns-gold);
}

.isns-events__name {
	font-size: 17px;
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-events__theme {
	font-size: 14px;
	color: var(--isns-muted);
}

.isns-events__meta {
	font-size: 13px;
	color: var(--isns-muted);
}

.isns-events__cta,
.isns-event .isns-events__cta {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 4.5rem;
	padding: 0.7rem 1.2rem;
	border-radius: 8px;
	border: 1px solid var(--isns-ink);
	background: var(--isns-ink);
	color: #fff !important;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
	line-height: 1.2;
	white-space: nowrap;
	flex-shrink: 0;
}

.isns-events__cta--outline {
	background: transparent;
	color: var(--isns-ink) !important;
}

.isns-events__cta:hover,
.isns-event .isns-events__cta:hover {
	background: var(--isns-gold);
	border-color: var(--isns-gold);
	color: var(--isns-ink) !important;
}

.isns-event__back {
	margin: 0 0 1.15rem;
}

.isns-event__back a {
	display: inline-flex;
	align-items: center;
	color: var(--isns-ink) !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 600;
}

.isns-event__back a::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 0.45rem;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}

.isns-event__hero {
	margin: 0 0 0.25rem;
}

.isns-event__hero-media {
	margin: 0 0 1.15rem;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--isns-line);
	background: #eef2f6;
}

.isns-event__hero-img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: cover;
}

.isns-event__facts {
	list-style: none;
	margin: 1.15rem 0 0;
	padding: 1rem 1.15rem;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem 1.25rem;
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 12px;
	font-size: 15px;
	font-weight: 600;
}

.isns-event__facts li {
	min-width: 0;
}

.isns-event__facts strong {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: var(--isns-muted);
	margin-bottom: 0.2rem;
}

.isns-event__facts span,
.isns-event__location {
	color: var(--isns-ink) !important;
	text-decoration: none !important;
	font-weight: 600;
}

.isns-event__facts a {
	color: var(--isns-ink) !important;
	text-decoration: none !important;
	pointer-events: none;
}

.isns-event__abs-note {
	margin: 1rem 0 0;
	padding: 0.9rem 1.1rem;
	background: #fff;
	border-left: 3px solid var(--isns-gold);
	border-radius: 0 10px 10px 0;
	font-size: 14px;
	line-height: 1.45;
}

.isns-event__abs-note a {
	color: var(--isns-ink) !important;
	font-weight: 600;
	text-decoration: underline;
	margin-left: 0.25rem;
}

.isns-event__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: 1.35rem;
	margin-top: 1.5rem;
	align-items: start;
}

.isns-event__layout--tickets-only {
	grid-template-columns: 1fr;
}

.isns-event__layout--tickets-only .isns-event__tickets {
	max-width: 720px;
}

.isns-event__main,
.isns-event__tickets {
	background: #fff;
	border-radius: 12px;
	padding: 1.4rem 1.5rem;
	border: 1px solid var(--isns-line);
}

.isns-event__media {
	margin: 0 0 1.15rem;
	border-radius: 10px;
	overflow: hidden;
}

.isns-event__thumb {
	display: block;
	width: 100%;
	height: auto;
}

.isns-event__body {
	line-height: 1.65;
	font-size: 15px;
	color: var(--isns-ink);
}

.isns-event__body img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

.isns-event__body figure {
	margin: 1rem 0;
}

.isns-event__body figcaption {
	margin-top: 0.35rem;
	font-size: 13px;
	color: var(--isns-muted);
}

.isns-event__body h2,
.isns-event__body h3,
.isns-event__body h4 {
	margin: 1.35rem 0 0.65rem;
	color: var(--isns-ink);
}

.isns-event__body p,
.isns-event__body ul,
.isns-event__body ol {
	margin: 0 0 0.85rem;
}

.isns-event__body > *:first-child {
	margin-top: 0;
}

.isns-event__body > *:last-child {
	margin-bottom: 0;
}

.isns-event__tickets-head {
	margin: 0 0 0.35rem;
}

.isns-event__tickets h2 {
	margin: 0 0 0.35rem;
	font-size: 18px;
	font-weight: 700;
}

.isns-event__price-note {
	margin: 0 0 0.35rem;
	font-size: 13px;
	line-height: 1.45;
	color: var(--isns-muted);
}

.isns-event__tickets-empty,
.isns-event__tickets-note {
	margin: 0.75rem 0 0;
	color: var(--isns-muted);
	font-size: 14px;
	line-height: 1.5;
}

.isns-event__status-pill {
	display: inline-flex;
	align-items: center;
	margin-top: 0.5rem;
	padding: 0.25rem 0.65rem;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.isns-event__status-pill--upcoming {
	background: rgba(195, 163, 66, 0.14);
	color: #8a6f1e;
}

.isns-event__status-pill--live {
	background: rgba(22, 163, 74, 0.12);
	color: #15803d;
}

.isns-event__status-pill--past {
	background: rgba(12, 45, 74, 0.08);
	color: var(--isns-muted);
}

.isns-event__tickets--past .isns-events__cta,
.isns-event__tickets--past .isns-events__cta:hover {
	display: inline-flex;
	margin-top: 0.75rem;
	width: 100%;
	justify-content: center;
	box-sizing: border-box;
}

.isns-event__ticket-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}

.isns-event__ticket {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	border-top: 1px solid var(--isns-line);
}

.isns-event__ticket:first-child {
	border-top: 0;
}

.isns-event__ticket-info {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
}

.isns-event__ticket-label {
	font-weight: 600;
	font-size: 15px;
}

.isns-event__ticket-price {
	font-size: 20px;
	font-weight: 700;
	color: var(--isns-ink);
	line-height: 1.2;
}

.isns-event__ticket-price .amount,
.isns-event__ticket-price .woocommerce-Price-amount {
	font-weight: 700;
}

.isns-event__ticket-alt,
.isns-event__ticket-soon {
	font-size: 12px;
	color: var(--isns-muted);
	line-height: 1.35;
}

.isns-event__tickets-login {
	margin: 0 0 0.85rem;
	padding: 0.65rem 0.75rem;
	border-radius: 10px;
	background: rgba(12, 45, 74, 0.04);
	font-size: 13px;
	line-height: 1.45;
	color: var(--isns-muted);
}

.isns-event__tickets-login a {
	color: var(--isns-ink);
	font-weight: 600;
	text-decoration: none;
}

.isns-event__tickets-login a:hover {
	color: var(--isns-gold);
}

.isns-event__tickets--registered {
	border-color: rgba(22, 101, 52, 0.18);
}

.isns-event__registration {
	display: grid;
	gap: 0.85rem;
}

.isns-event__registration-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: rgba(22, 101, 52, 0.1);
	color: #166534;
}

.isns-event__registration-kicker {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #166534;
}

.isns-event__registration-kicker--pending {
	color: #b45309;
}

.isns-event__registration-title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-event__registration-lead {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--isns-muted);
}

.isns-event__registration-details {
	margin: 0.15rem 0 0;
	display: grid;
	gap: 0.55rem;
}

.isns-event__registration-row {
	display: grid;
	grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
	gap: 0.65rem;
	align-items: start;
	padding: 0.55rem 0;
	border-top: 1px solid var(--isns-line);
}

.isns-event__registration-row:first-child {
	border-top: 0;
	padding-top: 0;
}

.isns-event__registration-row dt {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	color: var(--isns-muted);
}

.isns-event__registration-row dd {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--isns-ink);
	line-height: 1.4;
}

.isns-event__registration-row--highlight dd {
	font-size: 15px;
}

.isns-event__registration-code {
	display: inline-block;
	padding: 0.2rem 0.45rem;
	border-radius: 6px;
	background: rgba(12, 45, 74, 0.06);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--isns-ink);
}

.isns-event__registration-status {
	display: inline-flex;
	align-items: center;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	background: rgba(12, 45, 74, 0.06);
	font-size: 12px;
	font-weight: 700;
}

.isns-event__registration-status--confirmed,
.isns-event__registration-status--checked_in {
	background: rgba(22, 101, 52, 0.12);
	color: #166534;
}

.isns-event__registration-status--pending {
	background: rgba(180, 83, 9, 0.12);
	color: #b45309;
}

.isns-event__registration-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 0.85rem;
	align-items: center;
}

.isns-event__registration-link {
	font-size: 13px;
	font-weight: 600;
	color: var(--isns-ink);
	text-decoration: none;
}

.isns-event__registration-link:hover {
	color: var(--isns-gold);
}

.isns-event__registration-link--secondary {
	order: -1;
}

.isns-event__registration-foot {
	margin-top: 0.25rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--isns-line);
}

.isns-event__registration-foot .isns-events__cta {
	display: inline-flex;
	width: 100%;
	justify-content: center;
	box-sizing: border-box;
}

.isns-summit__registration-wrap .isns-event__registration {
	max-width: 520px;
	margin: 0 auto;
}

.isns-wizard-field--full {
	grid-column: 1 / -1;
}

@media (max-width: 900px) {
	.isns-event__layout {
		grid-template-columns: 1fr;
	}

	.isns-event__layout--tickets-only .isns-event__tickets {
		max-width: none;
	}

	.isns-event__facts {
		grid-template-columns: 1fr;
	}
}

/* Header / menu auth ([isns_menu_buttons]) */
.isns-menu-btns {
	--isns-ink: #0C2D4A;
	--isns-gold: #C3A342;
	--isns-line: #E4E7EC;
	--isns-muted: #6B7A88;
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
	font-family: "Inter", Sans-serif;
	position: relative;
	z-index: 100;
}

.isns-menu-btns__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 40px;
	padding: 10px 16px;
	border-radius: 8px;
	border: 1px solid transparent;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	transition: filter 0.15s ease, background 0.15s ease;
}

.isns-menu-btns__btn--navy {
	background: var(--isns-ink);
	color: #fff !important;
}

.isns-menu-btns__btn--navy:hover,
.isns-menu-btns__btn--navy:focus {
	filter: brightness(1.08);
	color: #fff !important;
}

.isns-menu-btns__btn--gold {
	background: var(--isns-gold);
	color: #fff !important;
}

.isns-menu-btns__btn--gold:hover,
.isns-menu-btns__btn--gold:focus {
	filter: brightness(0.96);
	color: #fff !important;
}

/* Profile avatar dropdown — matches header navy CTA (Submit Research) */
.isns-menu-profile {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.isns-menu-profile__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	box-sizing: border-box;
	margin: 0;
	min-height: 0;
	min-width: 38px;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 2px solid rgba(12, 45, 74, 0.14);
	border-radius: 50%;
	background: #fff;
	background-color: #fff;
	color: var(--isns-ink);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	flex: 0 0 38px;
	overflow: hidden;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.isns-menu-profile__trigger:hover,
.isns-menu-profile__trigger:focus,
.isns-menu-profile__trigger:focus-visible,
button.isns-menu-profile__trigger:hover,
button.isns-menu-profile__trigger:focus,
button.isns-menu-profile__trigger:focus-visible {
	filter: none;
	outline: none;
	color: var(--isns-ink) !important;
	background: #fff !important;
	background-color: #fff !important;
	border-color: var(--isns-gold) !important;
	box-shadow: 0 2px 8px rgba(12, 45, 74, 0.12);
}

.isns-menu-profile.is-open .isns-menu-profile__trigger,
.isns-menu-profile.is-open button.isns-menu-profile__trigger {
	filter: none;
	color: var(--isns-ink) !important;
	background: #fff !important;
	background-color: #fff !important;
	border-color: var(--isns-gold) !important;
	box-shadow: 0 0 0 3px rgba(195, 163, 66, 0.24), 0 4px 12px rgba(12, 45, 74, 0.14);
}

.isns-menu-profile__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--isns-gold);
	color: #fff;
	flex: 0 0 34px;
	box-shadow: none;
}

.isns-menu-profile__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.isns-menu-profile__initials {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	color: #fff;
}

.isns-menu-profile__label,
.isns-menu-profile__chevron {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.isns-menu-profile__chevron {
	transition: transform 0.18s ease;
}

.isns-menu-profile.is-open .isns-menu-profile__chevron {
	transform: rotate(180deg);
}

.isns-menu-profile__dropdown {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	width: min(280px, calc(100vw - 24px));
	padding: 0;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(12, 45, 74, 0.14);
	overflow: hidden;
	z-index: 1000;
}

.isns-menu-profile__head {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 1rem 1.1rem 0.9rem;
	background: linear-gradient(180deg, #0C2D4A 0%, #123A58 100%);
	color: #fff;
}

.isns-menu-profile__name {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}

.isns-menu-profile__email {
	font-size: 12px;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.72);
	word-break: break-word;
}

.isns-menu-profile__tier {
	display: inline-flex;
	align-self: flex-start;
	margin-top: 0.45rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: rgba(195, 163, 66, 0.22);
	color: #E8D48A;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.isns-menu-profile__links {
	display: flex;
	flex-direction: column;
	padding: 0.45rem;
}

.isns-menu-profile__footer {
	border-top: 1px solid var(--isns-line);
	padding: 0.45rem;
}

.isns-menu-profile__link {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.7rem 0.75rem;
	border-radius: 10px;
	color: var(--isns-ink) !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background 0.12s ease;
}

.isns-menu-profile__link svg {
	flex: 0 0 16px;
	color: var(--isns-muted);
}

.isns-menu-profile__link:hover,
.isns-menu-profile__link:focus {
	background: #F5F7FA;
	color: var(--isns-ink) !important;
	outline: none;
}

.isns-menu-profile__link:hover svg,
.isns-menu-profile__link:focus svg {
	color: var(--isns-gold);
}

.isns-menu-profile__link--logout {
	color: #8A3B3B !important;
	font-weight: 600;
}

.isns-menu-profile__link--logout svg {
	color: #8A3B3B;
}

.isns-menu-profile__link--logout:hover,
.isns-menu-profile__link--logout:focus {
	background: #FBF4F4;
	color: #8A3B3B !important;
}

@media (max-width: 767px) {
	.isns-menu-btns__btn {
		min-height: 38px;
		padding: 9px 14px;
		font-size: 12px;
	}

	.isns-menu-profile__trigger {
		min-width: 36px;
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.isns-menu-profile__avatar {
		width: 32px;
		height: 32px;
		flex-basis: 32px;
	}

	.isns-menu-profile__dropdown {
		right: 0;
		left: auto;
	}
}

/* Elementor header — logo | nav | actions (no overlap) */
.elementor-location-header > .e-con.e-parent {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	column-gap: clamp(0.5rem, 1.2vw, 1.25rem);
}

/* e-con-full on siblings was forcing full width and causing overlap */
.elementor-location-header > .e-con.e-parent > .e-con.e-child {
	width: auto !important;
	min-width: 0;
}

/* Logo — ~30% smaller */
.elementor-location-header > .e-con.e-parent > .e-con.e-child:first-child {
	flex: 0 0 auto !important;
	max-width: 22rem;
}

.elementor-location-header .elementor-widget-image img {
	display: block;
	width: auto !important;
	max-width: 70% !important;
	max-height: 94px !important;
	height: auto !important;
	object-fit: contain;
}

/* Nav column — shrinkable middle band */
.elementor-location-header > .e-con.e-parent > .e-con.e-child:nth-child(2),
.elementor-location-header > .e-con.e-parent > .e-con.e-child:has(.ekit-nav-menu) {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: 100%;
	justify-content: flex-end !important;
	overflow: visible;
}

.elementor-location-header .elementskit-menu-container,
.elementor-location-header .elementskit-navbar-nav,
.elementor-location-header .elementskit-dropdown.elementskit-submenu-panel {
	overflow: visible;
}

.elementor-location-header .elementskit-navbar-nav .elementskit-submenu-panel > li > a {
	color: #0c2d4a;
}

.elementor-location-header .elementskit-menu-container,
.elementor-location-header .elementskit-navbar-nav {
	max-width: 100%;
}

.elementor-location-header .elementskit-navbar-nav {
	flex-wrap: nowrap;
}

/* Actions column — fixed width, sits after nav (never on top of it) */
.elementor-location-header > .e-con.e-parent > .e-con.e-child:has(.isns-menu-btns),
.elementor-location-header > .e-con.e-parent > .e-con.e-child:has(a[href*="submit-research"]) {
	display: flex !important;
	flex: 0 0 auto !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.45rem !important;
	flex-shrink: 0 !important;
	width: auto !important;
	max-width: none !important;
	margin-left: 0.35rem !important;
	padding-left: 0.35rem !important;
	position: relative;
	z-index: 3;
	background: #fff;
}

.elementor-location-header .elementor-widget-shortcode:has(.isns-menu-btns),
.elementor-location-header .elementor-widget-shortcode .isns-menu-btns,
.elementor-location-header .elementor-widget-button:has(a[href*="submit-research"]),
.elementor-location-header .elementor-widget-button .elementor-button-wrapper:has(a[href*="submit-research"]) {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

.elementor-location-header a.elementor-button[href*="submit-research"] {
	min-height: 40px !important;
	padding: 10px 16px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	border-radius: 8px !important;
	position: relative !important;
	z-index: 1;
}

@media (max-width: 1280px) {
	.elementor-location-header .elementskit-navbar-nav > .menu-item > .ekit-menu-nav-link {
		padding-left: 0.45rem;
		padding-right: 0.45rem;
		font-size: 13px;
	}

	.elementor-location-header a.elementor-button[href*="submit-research"] {
		padding: 9px 12px !important;
		font-size: 12px !important;
	}

	.elementor-location-header .elementor-widget-image img {
		max-height: 84px !important;
	}
}

@media (max-width: 1100px) {
	.elementor-location-header .elementskit-navbar-nav > .menu-item > .ekit-menu-nav-link {
		padding-left: 0.3rem;
		padding-right: 0.3rem;
		font-size: 12px;
	}

	.elementor-location-header .elementor-widget-image img {
		max-height: 76px !important;
		max-width: 65% !important;
	}
}

/* -------------------------------------------------------------------------
   Member directory (navy / gold — matches dashboard)
   ------------------------------------------------------------------------- */
.isns-dir {
	--isns-ink: #0C2D4A;
	--isns-muted: #787878;
	--isns-line: #E4E7EC;
	--isns-gold: #C3A342;
	--isns-navy: #0D2339;
	--isns-bg: #F7FAFC;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ink);
	width: 100%;
	max-width: none;
	margin: 0 0 3rem;
	padding: 0 0 2.5rem;
	background: var(--isns-bg);
	box-sizing: border-box;
}

body.isns-directory-page,
body.isns-directory-page .site-content,
body.isns-directory-page #content,
body.isns-directory-page .ast-container,
body.isns-directory-page .entry-content,
body.isns-directory-page article {
	background: var(--isns-bg) !important;
}

body.isns-directory-page .site-content,
body.isns-directory-page #content,
body.isns-directory-page .ast-container,
body.isns-directory-page .entry-content {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.isns-dir__hero {
	width: 100%;
	background: var(--isns-navy);
	color: #fff;
}

.isns-dir__hero-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.25rem;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 1.75rem 1.25rem;
}

.isns-dir__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--isns-gold);
}

.isns-dir__title {
	margin: 0 0 0.45rem;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	line-height: 1.15;
	color: #fff;
}

.isns-dir__lead {
	margin: 0;
	max-width: 42rem;
	font-size: 15px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
}

.isns-dir__hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.isns-dir__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 1.35rem 1.25rem 0;
}

.isns-dir__filters {
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
	padding: 1.15rem 1.25rem;
	box-shadow: 0 8px 24px rgba(12, 45, 74, 0.06);
}

.isns-dir__filters-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 0.85rem;
}

.isns-dir-field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.isns-dir-field__label {
	font-size: 12px;
	font-weight: 600;
	color: var(--isns-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.isns-dir-field input,
.isns-dir-field select {
	width: 100%;
	min-height: 44px;
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--isns-line);
	border-radius: 10px;
	font: inherit;
	font-size: 14px;
	color: var(--isns-ink);
	background: #fff;
}

.isns-dir-field input:focus,
.isns-dir-field select:focus {
	outline: none;
	border-color: var(--isns-gold);
	box-shadow: 0 0 0 3px rgba(195, 163, 66, 0.18);
}

.isns-dir__filters-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1rem;
}

.isns-dir__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 12px 24px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	white-space: nowrap;
	cursor: pointer;
	transition: filter 0.15s ease;
}

.isns-dir__btn--navy {
	background: var(--isns-ink);
	color: #fff !important;
}

.isns-dir__btn--navy:hover {
	filter: brightness(1.08);
	color: #fff !important;
}

.isns-dir__btn--gold {
	background: var(--isns-gold);
	color: #fff !important;
}

.isns-dir__btn--gold:hover {
	filter: brightness(0.96);
	color: #fff !important;
}

.isns-dir__btn--outline {
	background: #fff;
	border-color: var(--isns-line);
	color: var(--isns-ink) !important;
}

.isns-dir__btn--outline:hover {
	border-color: var(--isns-gold);
	color: var(--isns-ink) !important;
}

.isns-dir--profile .isns-dir__btn--outline {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff !important;
}

.isns-dir--profile .isns-dir__btn--outline:hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: var(--isns-gold);
	color: #fff !important;
}

.isns-dir__count {
	margin: 1.1rem 0 0.85rem;
	font-size: 13px;
	font-weight: 600;
	color: var(--isns-muted);
}

.isns-dir__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1rem;
}

.isns-dir-card {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	min-height: 100%;
	padding: 1.15rem 1.2rem;
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(12, 45, 74, 0.05);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.isns-dir-card:hover {
	border-color: rgba(195, 163, 66, 0.45);
	box-shadow: 0 10px 28px rgba(12, 45, 74, 0.08);
}

.isns-dir-card__top {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
}

.isns-dir-card__avatar {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0C2D4A 0%, #163A58 100%);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}

.isns-dir-card__head {
	min-width: 0;
}

.isns-dir-card__name {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
}

.isns-dir-card__name a {
	color: var(--isns-ink);
	text-decoration: none !important;
}

.isns-dir-card__name a:hover {
	color: var(--isns-gold);
}

.isns-dir-card__role,
.isns-dir-card__meta,
.isns-dir-card__expertise {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--isns-muted);
}

.isns-dir-card__badge {
	display: inline-block;
	width: fit-content;
	margin: 0;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: rgba(195, 163, 66, 0.14);
	color: #8a6f1e;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.isns-dir-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: 0.35rem;
	font-size: 14px;
	font-weight: 700;
	color: var(--isns-ink) !important;
	text-decoration: none !important;
}

.isns-dir-card__link:hover {
	color: var(--isns-gold) !important;
}

.isns-dir__empty {
	margin-top: 1rem;
	padding: 2rem 1.25rem;
	border-radius: 14px;
	background: #fff;
	border: 1px dashed var(--isns-line);
	text-align: center;
	color: var(--isns-muted);
}

.isns-dir__privacy {
	margin: 1.5rem 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--isns-muted);
}

.isns-dir__pager {
	margin-top: 1.35rem;
}

.isns-dir__pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 38px;
	margin: 0 0.15rem 0.35rem;
	padding: 0 0.65rem;
	border-radius: 999px;
	border: 1px solid var(--isns-line);
	background: #fff;
	color: var(--isns-ink);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.isns-dir__pager .page-numbers.current {
	background: var(--isns-ink);
	border-color: var(--isns-ink);
	color: #fff;
}

.isns-dir__pager ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.isns-profile__back a {
	color: var(--isns-muted);
	text-decoration: none !important;
	font-weight: 600;
}

.isns-profile__back a:hover {
	color: var(--isns-gold);
}

.isns-profile__header {
	margin: 1rem 0 1.5rem;
	padding: 1.25rem 1.35rem;
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
}

.isns-profile__name {
	margin: 0 0 0.35rem;
	font-size: clamp(1.6rem, 3vw, 2rem);
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-profile__role,
.isns-profile__meta {
	color: var(--isns-muted);
	margin: 0.25rem 0;
	font-size: 14px;
}

.isns-profile__section {
	padding: 1.15rem 1.35rem;
	margin-top: 1rem;
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
}

.isns-profile__section h2 {
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 0.65rem;
	color: var(--isns-ink);
}

@media (max-width: 900px) {
	.isns-dir__filters-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.isns-dir__hero-inner {
		align-items: flex-start;
	}

	.isns-dir__filters-grid {
		grid-template-columns: 1fr;
	}

	.isns-dir__grid {
		grid-template-columns: 1fr;
	}
}

/* Member profile detail */
.isns-dir__hero--profile .isns-dir__hero-inner {
	align-items: flex-start;
}

.isns-dir__intro--profile {
	flex: 1 1 520px;
	min-width: 0;
}

.isns-profile__hero-row {
	display: flex;
	align-items: flex-start;
	gap: 1.15rem;
}

.isns-dir-card__avatar--lg {
	width: 72px;
	height: 72px;
	font-size: 26px;
}

.isns-profile__hero-copy {
	min-width: 0;
}

.isns-profile__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.85rem;
}

.isns-profile__chip {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.92);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}

.isns-profile__chip--gold {
	background: rgba(195, 163, 66, 0.18);
	border-color: rgba(195, 163, 66, 0.45);
	color: #f3df9b;
}

.isns-profile__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 1.15rem;
	align-items: start;
}

.isns-profile__main {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
}

.isns-profile__section {
	padding: 1.25rem 1.35rem;
	margin-top: 0;
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(12, 45, 74, 0.04);
}

.isns-profile__section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.isns-profile__section-eyebrow {
	margin: 0 0 0.25rem;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--isns-gold);
}

.isns-profile__section h2 {
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	margin: 0;
	color: var(--isns-ink);
}

.isns-profile__body,
.isns-profile__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--isns-muted);
}

.isns-profile__empty {
	margin: 0;
	padding: 1.25rem;
	border-radius: 12px;
	background: var(--isns-bg);
	border: 1px dashed var(--isns-line);
	color: var(--isns-muted);
	font-size: 14px;
}

.isns-profile__pub-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 0.85rem;
}

.isns-lib-card--profile {
	height: 100%;
	min-height: 220px;
}

.isns-lib-card__title a {
	color: var(--isns-ink);
	text-decoration: none !important;
}

.isns-lib-card__title a:hover {
	color: var(--isns-gold);
}

.isns-lib-card__date {
	margin: 0;
	font-size: 12px;
	color: var(--isns-muted);
}

.isns-dir__btn--sm {
	min-height: 38px;
	padding: 10px 18px;
	font-size: 13px;
}

.isns-profile__aside {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: sticky;
	top: 1rem;
}

.isns-profile__aside-card {
	padding: 1.15rem 1.2rem;
	background: #fff;
	border: 1px solid var(--isns-line);
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(12, 45, 74, 0.04);
}

.isns-profile__aside-card--muted {
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.isns-profile__aside-card h2 {
	margin: 0 0 0.85rem;
	font-size: 15px;
	font-weight: 700;
	color: var(--isns-ink);
}

.isns-profile__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.isns-profile__links li {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.isns-profile__link-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--isns-muted);
}

.isns-profile__links a {
	font-size: 14px;
	font-weight: 600;
	color: var(--isns-ink) !important;
	word-break: break-word;
}

.isns-profile__links a:hover {
	color: var(--isns-gold) !important;
}

.isns-profile__links-muted {
	font-size: 14px;
	color: var(--isns-muted);
}

.isns-profile__facts {
	margin: 0;
	display: grid;
	gap: 0.75rem;
}

.isns-profile__facts div {
	display: grid;
	gap: 0.15rem;
}

.isns-profile__facts dt {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--isns-muted);
}

.isns-profile__facts dd {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--isns-ink);
}

@media (max-width: 960px) {
	.isns-profile__layout {
		grid-template-columns: 1fr;
	}

	.isns-profile__aside {
		position: static;
	}
}

@media (max-width: 640px) {
	.isns-profile__hero-row {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.isns-profile__chips {
		justify-content: center;
	}

	.isns-profile__pub-grid {
		grid-template-columns: 1fr;
	}
}

/* Speaker request modal */
html.isns-modal-open {
	overflow: hidden;
}

.isns-modal[hidden] {
	display: none !important;
}

.isns-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
}

.isns-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(12, 45, 74, 0.55);
}

.isns-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(560px, 100%);
	max-height: min(90vh, 720px);
	overflow: auto;
	padding: 1.5rem 1.35rem 1.25rem;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(12, 45, 74, 0.28);
}

.isns-modal__x {
	position: absolute;
	top: 0.65rem;
	right: 0.75rem;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--isns-muted, #6B7A88);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

.isns-modal__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--isns-gold, #C3A342);
}

.isns-modal__title {
	margin: 0 0 0.45rem;
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--isns-ink, #0C2D4A);
}

.isns-modal__lead {
	margin: 0 0 1rem;
	font-size: 14px;
	line-height: 1.5;
	color: var(--isns-muted, #6B7A88);
}

.isns-modal__form {
	display: grid;
	gap: 0.75rem;
}

.isns-modal__field {
	display: grid;
	gap: 0.35rem;
}

.isns-modal__field span {
	font-size: 13px;
	font-weight: 600;
	color: var(--isns-ink, #0C2D4A);
}

.isns-modal__field input,
.isns-modal__field textarea {
	width: 100%;
	padding: 0.65rem 0.75rem;
	border: 1px solid #E8ECF0;
	border-radius: 10px;
	font: inherit;
	font-size: 14px;
	color: var(--isns-ink, #0C2D4A);
	background: #fff;
}

.isns-modal__field input:focus,
.isns-modal__field textarea:focus {
	outline: none;
	border-color: rgba(195, 163, 66, 0.7);
	box-shadow: 0 0 0 3px rgba(195, 163, 66, 0.15);
}

.isns-modal__msg {
	margin: 0;
	padding: 0.65rem 0.75rem;
	border-radius: 10px;
	font-size: 13px;
}

.isns-modal__msg.is-ok {
	background: #EAF7EE;
	color: #1e7a34;
}

.isns-modal__msg.is-error {
	background: #FDECEC;
	color: #b32d2e;
}

.isns-modal__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.55rem;
	margin-top: 0.25rem;
}

.isns-dash__quick button.isns-dash__btn {
	width: 100%;
	cursor: pointer;
	font: inherit;
}

/* Ingredient Library */
body.isns-ingredient-library-page .entry-header,
body.isns-ingredient-library-page .page-header,
body.isns-ingredient-library-page .ast-single-entry-banner,
body.isns-ingredient-library-page h1.entry-title,
body.isns-ingredient-library-page .ast-page-title-wrapper {
	display: none !important;
}

body.isns-ing-single-page .isns-ing-single__hero {
	margin-top: 0 !important;
}

body.isns-ingredient-library-page,
body.isns-ingredient-library-page .site-content,
body.isns-ingredient-library-page #content,
body.isns-ingredient-library-page .ast-container,
body.isns-ingredient-library-page .entry-content,
body.isns-ingredient-library-page article,
body.isns-ingredient-library-page .site-main,
body.isns-ingredient-library-page #primary,
body.isns-ingredient-library-page .content-area {
	background: #F7FAFC !important;
}

body.isns-ingredient-library-page .site-content,
body.isns-ingredient-library-page #content,
body.isns-ingredient-library-page #primary,
body.isns-ingredient-library-page .content-area,
body.isns-ingredient-library-page .site-main,
body.isns-ingredient-library-page .ast-container,
body.isns-ingredient-library-page .entry-content,
body.isns-ingredient-library-page article.ast-article-single {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	float: none !important;
	border: 0 !important;
	border-right: 0 !important;
	box-shadow: none !important;
}

body.isns-ingredient-library-page #secondary {
	display: none !important;
}


body.isns-ingredient-library-page .elementor-widget-shortcode > .elementor-widget-container,
body.isns-ingredient-library-page .elementor-shortcode,
body.isns-ingredient-library-page .e-con:has(.isns-ing),
body.isns-ingredient-library-page .elementor-element:has(> .elementor-widget-container .isns-ing) {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
	flex-grow: 1;
	min-width: 0;
}

.isns-ing {
	--isns-ing-navy: #0C2D4A;
	--isns-ing-gold: #C3A342;
	--isns-ing-muted: #5F6B7A;
	--isns-ing-line: #D6DCE5;
	--isns-ing-ice: #E3E8F0;
	font-family: "Inter", Sans-serif;
	color: var(--isns-ing-navy);
	display: block;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 1rem 1.25rem 3rem;
	box-sizing: border-box;
}

.isns-ing *,
.isns-ing *::before,
.isns-ing *::after {
	box-sizing: border-box;
}

.isns-ing__header {
	margin: 0 0 2rem;
	padding: 0 0.25rem;
	text-align: center;
}

.isns-ing__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--isns-ing-gold);
}

.isns-ing__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--isns-ing-navy);
}

.isns-ing__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
}

.isns-ing__tab {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	color: #334155;
	background: #f1f5f9;
	border: 2px solid transparent;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.isns-ing__tab:hover,
.isns-ing__tab:focus {
	color: var(--isns-ing-tab-color, #1d4ed8);
	background: #fff;
	border-color: color-mix(in srgb, var(--isns-ing-tab-color, #1d4ed8) 35%, transparent);
}

.isns-ing__tab.is-active {
	color: #fff;
	background: var(--isns-ing-tab-color, #1d4ed8);
	border-color: var(--isns-ing-tab-color, #1d4ed8);
}

.isns-ing__cat-desc {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	color: #475569;
	max-width: 52rem;
}

.isns-ing-menu-child > a {
	font-size: 0.92em;
}

.isns-ing__lead {
	margin: 0 auto;
	max-width: 640px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--isns-ing-muted);
}

.isns-ing__count {
	margin: 0 0 1rem;
	font-size: 13px;
	font-weight: 500;
	color: var(--isns-ing-muted);
}

.isns-ing__empty {
	margin: 0;
	padding: 2rem 1rem;
	text-align: center;
	font-size: 14px;
	color: var(--isns-ing-muted);
	background: #fff;
	border: 1px dashed var(--isns-ing-line);
	border-radius: 12px;
}

.isns-ing__count[hidden],
.isns-ing__empty[hidden],
.isns-ing__grid[hidden],
.isns-ing__more-wrap[hidden],
.isns-ing__more[hidden] {
	display: none !important;
}

.isns-ing__grid {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.isns-ing-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(12, 45, 74, 0.08);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(12, 45, 74, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.isns-ing-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(12, 45, 74, 0.08);
}

.isns-ing-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--isns-ing-ice);
	overflow: hidden;
}

.isns-ing-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.isns-ing-card__media--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--isns-ing-navy);
}

.isns-ing-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1rem 1rem 1.1rem;
	flex: 1 1 auto;
}

.isns-ing-card__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.isns-ing-card__title a {
	color: var(--isns-ing-navy);
	text-decoration: none !important;
}

.isns-ing-card__excerpt {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--isns-ing-muted);
}

.isns-ing-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: 0.55rem;
	font-size: 14px;
	font-weight: 700;
	color: var(--isns-ing-gold);
	text-decoration: none !important;
}

.isns-ing__more-wrap {
	margin: 1.75rem 0 0;
	text-align: center;
}

.isns-ing__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	padding: 12px 22px;
	border: 0;
	border-radius: 999px;
	background: var(--isns-ing-navy);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s ease, opacity 0.15s ease;
}

.isns-ing__more:hover,
.isns-ing__more:focus {
	background: #0a243c;
}

.isns-ing__more.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

/* Single ingredient — navy hero + 1280px content */
.isns-ing--single {
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.isns-ing-single__hero {
	width: 100%;
	background: var(--isns-ing-navy);
	color: #fff;
}

.isns-ing-single__hero-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 2.5rem 1.25rem 2.75rem;
}

.isns-ing-single__back {
	margin: 0 0 1.25rem;
	font-size: 14px;
	font-weight: 600;
}

.isns-ing-single__back a {
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none !important;
	transition: color 0.15s ease;
}

.isns-ing-single__back a:hover {
	color: var(--isns-ing-gold);
}

.isns-ing-single__kicker {
	margin: 0 0 0.35rem;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--isns-ing-gold);
}

.isns-ing-single__cat {
	margin: 0 0 0.5rem;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.isns-ing-single__title {
	margin: 0 0 0.85rem;
	max-width: 52rem;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.isns-ing-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	font-size: 14px;
	color: #D2D2D2;
}

.isns-ing-single__meta > span + span::before {
	content: "·";
	margin-right: 1rem;
	color: rgba(255, 255, 255, 0.45);
}

.isns-ing-single__page {
	width: 100%;
	padding: 2rem 0 3.5rem;
}

.isns-ing-single__page-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.25rem;
}

.isns-ing-single__media {
	margin: 0 0 1.5rem;
}

.isns-ing-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 1.25rem;
	align-items: start;
}

.isns-ing-single__main {
	display: grid;
	gap: 1.25rem;
}

.isns-ing-single__card {
	background: #fff;
	border: 1px solid var(--isns-ing-line);
	border-radius: 14px;
	padding: 1.35rem 1.4rem;
	box-shadow: 0 6px 18px rgba(12, 45, 74, 0.05);
}

.isns-ing-single__section-title {
	margin: 0 0 0.75rem;
	font-size: 17px;
	font-weight: 700;
	color: var(--isns-ing-navy);
}

.isns-ing-single__aside {
	display: grid;
	gap: 1.25rem;
	position: sticky;
	top: 1.25rem;
}

.isns-ing-single__facts {
	display: grid;
	gap: 0.85rem;
	margin: 0;
}

.isns-ing-single__fact {
	margin: 0;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--isns-ing-line);
}

.isns-ing-single__fact:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.isns-ing-single__facts dt {
	margin: 0;
	color: var(--isns-ing-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.isns-ing-single__facts dd {
	margin: 0.25rem 0 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--isns-ing-navy);
}

.isns-ing-single__body {
	line-height: 1.65;
	font-size: 15px;
	color: var(--isns-ing-navy);
}

.isns-ing-single__body > *:first-child {
	margin-top: 0;
}

.isns-ing-single__body p {
	margin: 0 0 1rem;
}

.isns-ing-single__body p:last-child {
	margin-bottom: 0;
}

.isns-ing-single__thumb {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--isns-ing-line);
	box-shadow: 0 6px 18px rgba(12, 45, 74, 0.05);
}

.isns-ing-single__thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.isns-ing-single__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	padding: 0.7em 1.25em;
	border: 0;
	border-radius: 10px;
	background: var(--isns-ing-navy);
	color: #fff !important;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform 0.15s ease, background 0.15s ease;
}

.isns-ing-single__btn:hover,
.isns-ing-single__btn:focus {
	transform: translateY(-2px);
	background: #0a243c;
	text-decoration: none !important;
}

@media (max-width: 960px) {
	.isns-ing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.isns-ing-single__layout {
		grid-template-columns: 1fr;
	}

	.isns-ing-single__aside {
		position: static;
	}

	.isns-ing-single__hero-inner {
		padding-top: 2rem;
		padding-bottom: 2.25rem;
	}
}

@media (max-width: 640px) {
	.isns-ing__grid {
		grid-template-columns: 1fr;
	}
}

