/* ==========================================================================
 * START: NAHSE DFW Single Event styles
 * File: /wp-content/themes/Avada-Child-Theme/assets/css/nahse-single-event.css
 * Loaded only on single event pages (see inc/nahse-single-event.php).
 * Every selector is scoped to body.single-event or .nahse-se.
 * ========================================================================== */

/* --------------------------------------------------------------------------
 * Avada layout resets: single event pages only
 * ----------------------------------------------------------------------- */
body.single-event #main {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
body.single-event #main > .fusion-row {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* The hero already shows the title, so hide Avada's page title bar here. */
body.single-event .avada-page-titlebar-wrapper,
body.single-event .fusion-page-title-bar {
	display: none !important;
}

/* --------------------------------------------------------------------------
 * Base
 * ----------------------------------------------------------------------- */
.nahse-se {
	--se-navy: #0a1433;
	--se-blue: #003194;
	--se-gold: #f2c14e;
	--se-cream: #f6f5f2;
	--se-ice: #eef1fb;
	--se-line: #eceef4;
	--se-text: #2a3354;
	--se-muted: #4a5373;
	--se-soft: #7a8199;
	--se-dark: #07163f;
	--se-sticky-top: 112px;
	/* Space above the hero content. Avada's transparent header sits on top of
	   the hero, so this must clear the header plus the gap below it.
	   Tablet and phone values are set in the media queries further down. */
	--se-hero-top: 140px;
	--se-ease: cubic-bezier(.2, .7, .2, 1);

	display: block;
	width: 100%;
	background: #fff;
	color: var(--se-navy);
	font-family: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
.nahse-se *,
.nahse-se *::before,
.nahse-se *::after {
	box-sizing: border-box;
}
.nahse-se [hidden] {
	display: none !important;
}
.nahse-se .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.nahse-se-wrap {
	max-width: 1375px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}
.nahse-se a:focus-visible,
.nahse-se button:focus-visible,
.nahse-se summary:focus-visible {
	outline: 2px solid var(--se-blue);
	outline-offset: 3px;
}
.nahse-se-hero a:focus-visible,
.nahse-se-hero button:focus-visible,
.nahse-se-card__head a:focus-visible {
	outline-color: var(--se-gold);
}
.nahse-se-dot {
	display: inline-block;
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

/* --------------------------------------------------------------------------
 * Buttons (explicit link states so Avada's global link colors never leak in)
 * ----------------------------------------------------------------------- */
.nahse-se .nahse-se-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	margin: 0;
	padding: 14px 24px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: none;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color .25s, color .25s, border-color .25s, transform .3s;
}
.nahse-se a.nahse-se-btn--gold,
.nahse-se a.nahse-se-btn--gold:link,
.nahse-se a.nahse-se-btn--gold:visited {
	background: var(--se-gold);
	border-color: var(--se-gold);
	color: var(--se-navy);
}
.nahse-se a.nahse-se-btn--gold:hover,
.nahse-se a.nahse-se-btn--gold:focus-visible {
	background: #fff;
	border-color: #fff;
	color: var(--se-navy);
}
.nahse-se button.nahse-se-btn--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, .45);
	color: #fff;
}
.nahse-se button.nahse-se-btn--ghost:hover,
.nahse-se button.nahse-se-btn--ghost:focus-visible {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .7);
	color: #fff;
}
.nahse-se a.nahse-se-btn--primary,
.nahse-se a.nahse-se-btn--primary:link,
.nahse-se a.nahse-se-btn--primary:visited {
	width: 100%;
	min-height: 54px;
	font-size: 16px;
	background: var(--se-blue);
	border-color: var(--se-blue);
	color: #fff;
}
.nahse-se a.nahse-se-btn--primary:hover,
.nahse-se a.nahse-se-btn--primary:focus-visible {
	background: var(--se-navy);
	border-color: var(--se-navy);
	color: #fff;
	transform: translateY(-2px);
}
.nahse-se a.nahse-se-btn--outline,
.nahse-se a.nahse-se-btn--outline:link,
.nahse-se a.nahse-se-btn--outline:visited {
	background: #fff;
	border-color: #c9d4f5;
	color: var(--se-blue);
}
.nahse-se a.nahse-se-btn--outline:hover,
.nahse-se a.nahse-se-btn--outline:focus-visible {
	background: var(--se-ice);
	border-color: #c9d4f5;
	color: var(--se-blue);
}
.nahse-se .nahse-se-btn--sm {
	min-height: 46px;
	padding: 11px 20px;
	font-size: 14px;
}
.nahse-se .nahse-se-btn--disabled {
	width: 100%;
	min-height: 54px;
	background: var(--se-ice);
	border-color: var(--se-ice);
	color: var(--se-soft);
	font-size: 16px;
	cursor: not-allowed;
}
.nahse-se a.nahse-se-textlink,
.nahse-se a.nahse-se-textlink:link,
.nahse-se a.nahse-se-textlink:visited {
	font-size: 14px;
	font-weight: 600;
	color: var(--se-blue);
	text-decoration: none;
	box-shadow: none;
	transition: color .3s;
}
.nahse-se a.nahse-se-textlink:hover,
.nahse-se a.nahse-se-textlink:focus-visible {
	color: var(--se-navy);
}
.nahse-se a.nahse-se-textlink--lg {
	font-size: 15px;
}

/* --------------------------------------------------------------------------
 * Hero
 * ----------------------------------------------------------------------- */
.nahse-se-hero {
	position: relative;
	overflow: hidden;
	background: var(--se-blue);
	color: #fff;
}
.nahse-se-hero__glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 55% 80% at 95% 15%, rgba(120, 160, 255, .32), transparent 60%);
	pointer-events: none;
}
.nahse-se-hero__ribbon {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.nahse-se-hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px 64px;
	align-items: center;
	padding-top: var(--se-hero-top);
	padding-bottom: 88px;
}
.nahse-se-hero__text {
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
}
.nahse-se a.nahse-se-back,
.nahse-se a.nahse-se-back:link,
.nahse-se a.nahse-se-back:visited {
	align-self: flex-start;
	font-size: 14px;
	font-weight: 600;
	color: #c7d3ff;
	text-decoration: none;
	box-shadow: none;
}
.nahse-se a.nahse-se-back:hover,
.nahse-se a.nahse-se-back:focus-visible {
	color: #fff;
}
.nahse-se-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.nahse-se-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}
.nahse-se-chip--cat,
.nahse-se a.nahse-se-chip--cat:link,
.nahse-se a.nahse-se-chip--cat:visited {
	background: #fff;
	color: var(--se-navy);
	text-decoration: none;
	box-shadow: none;
}
.nahse-se a.nahse-se-chip--cat:hover,
.nahse-se a.nahse-se-chip--cat:focus-visible {
	background: var(--se-gold);
	color: var(--se-navy);
}
.nahse-se-chip--outline,
.nahse-se a.nahse-se-chip--outline:link,
.nahse-se a.nahse-se-chip--outline:visited {
	border: 1px solid rgba(255, 255, 255, .3);
	background: transparent;
	color: #fff;
	text-decoration: none;
	box-shadow: none;
}
.nahse-se a.nahse-se-chip--outline:hover,
.nahse-se a.nahse-se-chip--outline:focus-visible {
	border-color: rgba(255, 255, 255, .7);
	background: rgba(255, 255, 255, .12);
	color: #fff;
}
.nahse-se a.nahse-se-chip {
	transition: background-color .25s, border-color .25s, color .25s;
}
.nahse-se-chip--muted {
	background: rgba(255, 255, 255, .12);
	color: #c7d3ff;
}
.nahse-se-chip--live {
	background: var(--se-gold);
	color: var(--se-navy);
}
.nahse-se h1.nahse-se-title {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: clamp(38px, 4.6vw, 60px);
	font-weight: 600;
	line-height: 1.04;
	letter-spacing: -.035em;
	text-transform: none;
	color: #fff;
	text-wrap: balance;
}
.nahse-se p.nahse-se-lede {
	max-width: 560px;
	margin: 0;
	padding: 0;
	font-size: 18px;
	line-height: 1.6;
	color: #dbe3ff;
	text-wrap: pretty;
}
.nahse-se-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 22px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .18);
}
.nahse-se-facts > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.nahse-se-facts dt {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #9fb8ff;
}
.nahse-se-facts dd {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	color: #fff;
}
.nahse-se-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 4px;
}
.nahse-se-hero__media {
	position: relative;
	min-width: 0;
}
.nahse-se-hero__photo {
	position: relative;
	aspect-ratio: 5 / 4;
	border-radius: 24px;
	overflow: hidden;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .18);
}
.nahse-se-hero__photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.nahse-se-hero__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	padding: 36px 36px 64px;
	background:
		radial-gradient(circle at 85% 15%, rgba(242, 193, 78, .28), transparent 55%),
		linear-gradient(140deg, #0a2a8a 0%, #07163f 100%);
	color: #fff;
}
.nahse-se-hero__ph-mon {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .14em;
	color: var(--se-gold);
}
.nahse-se-hero__ph-day {
	font-size: clamp(72px, 9vw, 128px);
	font-weight: 600;
	line-height: .95;
	letter-spacing: -.04em;
}
.nahse-se-hero__ph-cat {
	margin-top: 10px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #c7d3ff;
}
.nahse-se-countdown {
	position: absolute;
	z-index: 2;
	left: -20px;
	bottom: -24px;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px 20px;
	border-radius: 18px;
	background: #fff;
	color: var(--se-navy);
	box-shadow: 0 20px 44px rgba(0, 10, 40, .3);
}
.nahse-se-countdown__unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	min-width: 44px;
}
.nahse-se-countdown__num {
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
}
.nahse-se-countdown__label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--se-soft);
}

/* --------------------------------------------------------------------------
 * Main layout
 * ----------------------------------------------------------------------- */
.nahse-se-body {
	background: #fff;
}
.nahse-se-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	gap: 56px 72px;
	align-items: start;
	padding-top: 88px;
	padding-bottom: 96px;
}
.nahse-se-main {
	display: flex;
	flex-direction: column;
	gap: 72px;
	min-width: 0;
}
.nahse-se-aside {
	position: sticky;
	top: var(--se-sticky-top);
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	scroll-margin-top: calc(var(--se-sticky-top) + 8px);
}
body.admin-bar .nahse-se-aside {
	top: calc(var(--se-sticky-top) + 32px);
}
/* Tall cards (embedded forms, long notes) scroll with the page instead of sticking. */
.nahse-se-layout--form .nahse-se-aside,
.nahse-se-aside.is-static {
	position: static;
}

/* Section headings */
.nahse-se-sec {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}
.nahse-se-sec__head,
.nahse-se-sec__titles {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.nahse-se-sec__head--split {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
}
.nahse-se-eyebrow {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--se-blue);
}
.nahse-se h2.nahse-se-h2 {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.025em;
	text-transform: none;
	color: var(--se-navy);
	text-wrap: balance;
}
.nahse-se h2.nahse-se-h2 em {
	font-family: "Instrument Serif", Georgia, "Times New Roman", serif;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -.01em;
	color: var(--se-blue);
}

/* Rich text */
.nahse-se-prose {
	font-size: 17px;
	line-height: 1.7;
	color: var(--se-muted);
}
.nahse-se-prose > *:first-child {
	margin-top: 0;
}
.nahse-se-prose > *:last-child {
	margin-bottom: 0;
}
.nahse-se .nahse-se-prose p {
	margin: 0 0 1em;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.nahse-se .nahse-se-prose--lead > p:first-child {
	font-size: 19px;
	line-height: 1.6;
	color: var(--se-text);
}
.nahse-se .nahse-se-prose ul,
.nahse-se .nahse-se-prose ol {
	margin: 0 0 1em;
	padding-left: 1.3em;
}
.nahse-se .nahse-se-prose ul {
	list-style: disc;
}
.nahse-se .nahse-se-prose ol {
	list-style: decimal;
}
.nahse-se .nahse-se-prose li {
	margin: .3em 0;
	padding: 0;
}
.nahse-se .nahse-se-prose h2,
.nahse-se .nahse-se-prose h3,
.nahse-se .nahse-se-prose h4 {
	margin: 1.4em 0 .5em;
	font-family: inherit;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.01em;
	text-transform: none;
	color: var(--se-navy);
}
.nahse-se .nahse-se-prose h2 { font-size: 24px; }
.nahse-se .nahse-se-prose h3 { font-size: 20px; }
.nahse-se .nahse-se-prose h4 { font-size: 18px; }
.nahse-se .nahse-se-prose a,
.nahse-se .nahse-se-prose a:visited {
	color: var(--se-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.nahse-se .nahse-se-prose a:hover,
.nahse-se .nahse-se-prose a:focus-visible {
	color: var(--se-navy);
}
.nahse-se .nahse-se-prose strong {
	font-weight: 600;
	color: var(--se-navy);
}
.nahse-se .nahse-se-prose img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}
.nahse-se .nahse-se-prose iframe {
	max-width: 100%;
	border: 0;
	border-radius: 16px;
}

/* Highlights */
.nahse-se .nahse-se-highlights {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 6px 0 0;
	list-style: none;
}
.nahse-se .nahse-se-highlights li {
	margin: 0;
	padding: 9px 14px;
	border-radius: 999px;
	background: var(--se-ice);
	color: var(--se-blue);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

/* --------------------------------------------------------------------------
 * Agenda
 * ----------------------------------------------------------------------- */
.nahse-se-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	padding: 4px;
	border-radius: 24px;
	background: var(--se-ice);
}
.nahse-se button.nahse-se-tab {
	min-height: 40px;
	margin: 0;
	padding: 9px 16px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: var(--se-muted);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background-color .25s, color .25s;
}
.nahse-se button.nahse-se-tab:hover {
	color: var(--se-blue);
}
.nahse-se button.nahse-se-tab.is-active {
	background: #fff;
	color: var(--se-blue);
	box-shadow: 0 2px 8px rgba(10, 20, 51, .1);
}
.nahse-se-day + .nahse-se-day {
	margin-top: 32px;
}
.nahse-se.is-js .nahse-se-day + .nahse-se-day {
	margin-top: 0;
}
.nahse-se h3.nahse-se-day__title {
	margin: 0 0 18px;
	padding: 0;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--se-soft);
}
.nahse-se .nahse-se-timeline {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nahse-se .nahse-se-timeline li {
	display: grid;
	grid-template-columns: 96px 20px minmax(0, 1fr);
	gap: 0 16px;
	margin: 0;
	padding: 0;
}
.nahse-se .nahse-se-timeline li::before,
.nahse-se .nahse-se-timeline li::marker {
	content: none;
}
.nahse-se-timeline__time {
	padding-top: 2px;
	font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	line-height: 1.5;
	color: var(--se-blue);
	text-align: right;
	white-space: nowrap;
}
.nahse-se-timeline__rail {
	position: relative;
	display: flex;
	justify-content: center;
}
.nahse-se-timeline__rail::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #dfe3ee;
}
.nahse-se .nahse-se-timeline li:last-child .nahse-se-timeline__rail::before {
	background: transparent;
}
.nahse-se-timeline__dot {
	position: relative;
	width: 12px;
	height: 12px;
	margin-top: 4px;
	border: 3px solid var(--se-blue);
	border-radius: 50%;
	background: #fff;
}
.nahse-se-timeline__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding-bottom: 28px;
}
.nahse-se-timeline__title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.01em;
	color: var(--se-navy);
}
.nahse-se-timeline__desc {
	font-size: 15px;
	line-height: 1.55;
	color: var(--se-muted);
}

/* --------------------------------------------------------------------------
 * People
 * ----------------------------------------------------------------------- */
.nahse-se .nahse-se-people {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 28px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nahse-se .nahse-se-person {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	margin: 0;
	padding: 0;
}
.nahse-se-person__photo {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: 20px;
	overflow: hidden;
	background: #e9edf8;
}
.nahse-se-person__photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.nahse-se-person__initials {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 44px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--se-blue);
}
.nahse-se-person__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.nahse-se-person__name {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--se-navy);
}
.nahse-se-person__role {
	font-size: 14px;
	line-height: 1.4;
	color: var(--se-muted);
}
.nahse-se-bio summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	font-size: 14px;
	font-weight: 600;
	color: var(--se-blue);
	cursor: pointer;
	list-style: none;
}
.nahse-se-bio summary::-webkit-details-marker {
	display: none;
}
.nahse-se-bio summary::after {
	content: "+";
	font-size: 16px;
	line-height: 1;
	transition: transform .3s;
}
.nahse-se-bio[open] summary::after {
	transform: rotate(45deg);
}
.nahse-se .nahse-se-bio p {
	margin: 6px 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--se-muted);
}

/* --------------------------------------------------------------------------
 * Location
 * ----------------------------------------------------------------------- */
.nahse-se-loc {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}
.nahse-se-loc--single {
	grid-template-columns: minmax(0, 1fr);
}
.nahse-se-loc__photo {
	position: relative;
	min-height: 280px;
	border-radius: 20px;
	overflow: hidden;
	background: #e9edf8;
}
.nahse-se-loc__photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.nahse-se-loc__card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px;
	border-radius: 20px;
	background: var(--se-cream);
}
.nahse-se-loc__name {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.01em;
	color: var(--se-navy);
}
.nahse-se-loc__name--sm {
	font-size: 16px;
}
.nahse-se .nahse-se-loc__text {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--se-muted);
}
.nahse-se .nahse-se-loc__address {
	color: var(--se-text);
	font-weight: 500;
}
.nahse-se-loc__online {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.nahse-se-loc__online--divided {
	padding-top: 16px;
	border-top: 1px solid #e4e1d8;
}
.nahse-se-loc__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
	padding-top: 6px;
}

/* --------------------------------------------------------------------------
 * FAQ
 * ----------------------------------------------------------------------- */
.nahse-se-faq {
	border-top: 1px solid var(--se-line);
}
.nahse-se-faq__item {
	border-bottom: 1px solid var(--se-line);
}
.nahse-se h3.nahse-se-faq__q {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: 0;
	text-transform: none;
}
.nahse-se button.nahse-se-faq__btn {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 22px 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--se-navy);
	font-family: inherit;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	cursor: pointer;
	transition: color .25s;
}
.nahse-se button.nahse-se-faq__btn:hover {
	color: var(--se-blue);
}
.nahse-se-faq__icon {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--se-ice);
	color: var(--se-blue);
	font-size: 18px;
	line-height: 1;
	transition: transform .3s;
}
.nahse-se-faq__btn[aria-expanded="true"] .nahse-se-faq__icon {
	transform: rotate(45deg);
}
.nahse-se .nahse-se-faq__a {
	padding: 0 48px 22px 0;
	font-size: 16px;
	line-height: 1.65;
}

/* --------------------------------------------------------------------------
 * Registration card
 * ----------------------------------------------------------------------- */
.nahse-se-card {
	overflow: hidden;
	border: 1px solid var(--se-line);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 24px 50px rgba(0, 49, 148, .1);
}
.nahse-se-card__head {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	overflow: hidden;
	padding: 24px 24px 20px;
	background: var(--se-dark);
	color: #fff;
}
.nahse-se-card__head::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 100% 0%, rgba(0, 49, 148, .95), transparent 65%);
	pointer-events: none;
}
.nahse-se-datebadge {
	position: relative;
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	min-width: 60px;
	padding: 9px 6px;
	border-radius: 14px;
	background: var(--se-gold);
	color: var(--se-navy);
	line-height: 1;
}
.nahse-se-datebadge__mon {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .1em;
}
.nahse-se-datebadge__day {
	font-size: 22px;
	font-weight: 600;
	white-space: nowrap;
}
.nahse-se-datebadge--range .nahse-se-datebadge__day {
	font-size: 17px;
	padding-top: 2px;
}
.nahse-se-card__title {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.nahse-se-card__name {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}
.nahse-se-card__time {
	font-size: 13px;
	line-height: 1.4;
	color: #c7d3ff;
}
.nahse-se-card__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 24px;
}
.nahse-se-card__label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--se-soft);
}
.nahse-se .nahse-se-card__msg {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--se-muted);
}
.nahse-se-action {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.nahse-se-admission {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.nahse-se .nahse-se-tiers {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nahse-se .nahse-se-tiers li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--se-line);
}
.nahse-se .nahse-se-tiers li:last-child {
	border-bottom: 0;
}
.nahse-se-tiers__name {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--se-navy);
}
.nahse-se-tiers__note {
	font-size: 13px;
	font-weight: 400;
	color: var(--se-soft);
}
.nahse-se-tiers__price {
	flex: none;
	font-size: 16px;
	font-weight: 600;
	white-space: nowrap;
	color: var(--se-navy);
}
.nahse-se .nahse-se-note {
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--se-soft);
	text-align: center;
}
.nahse-se .nahse-se-meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 16px 0 0;
	border-top: 1px solid var(--se-line);
	list-style: none;
}
.nahse-se .nahse-se-meta li {
	position: relative;
	margin: 0;
	padding: 0 0 0 16px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--se-muted);
}
.nahse-se .nahse-se-meta li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .6em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--se-gold);
}
.nahse-se .nahse-se-card a.nahse-se-textlink {
	align-self: center;
}
.nahse-se-form {
	min-width: 0;
}
.nahse-se-help {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 24px;
	border-radius: 20px;
	background: var(--se-cream);
}
.nahse-se-help__q {
	font-size: 14px;
	font-weight: 600;
	color: var(--se-navy);
}

/* --------------------------------------------------------------------------
 * More upcoming events
 * ----------------------------------------------------------------------- */
.nahse-se-more {
	background: var(--se-cream);
}
.nahse-se-more > .nahse-se-wrap {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding-top: 96px;
	padding-bottom: 96px;
}
.nahse-se-more__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}
.nahse-se .nahse-se-mgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nahse-se .nahse-se-mgrid > li {
	display: flex;
	margin: 0;
	padding: 0;
}
.nahse-se a.nahse-se-mcard,
.nahse-se a.nahse-se-mcard:link,
.nahse-se a.nahse-se-mcard:visited {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 18px;
	padding: 24px;
	border: 1px solid var(--se-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: none;
	color: var(--se-navy);
	text-decoration: none;
	transition: transform .4s var(--se-ease), box-shadow .4s, border-color .4s;
}
.nahse-se a.nahse-se-mcard:hover,
.nahse-se a.nahse-se-mcard:focus-visible {
	border-color: #c9d4f5;
	box-shadow: 0 20px 40px rgba(0, 49, 148, .1);
	color: var(--se-navy);
	transform: translateY(-4px);
}
.nahse-se-mcard__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.nahse-se-mcard__cat {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--se-muted);
	text-align: right;
}
.nahse-se-mcard__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.nahse-se-mcard__title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.015em;
}
.nahse-se-mcard__line {
	font-size: 14px;
	line-height: 1.45;
	color: var(--se-muted);
}
.nahse-se-mcard__cta {
	margin-top: auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--se-blue);
}

/* --------------------------------------------------------------------------
 * Motion (only when JS adds .is-anim; content is visible without JS)
 * ----------------------------------------------------------------------- */
@keyframes nahse-se-up {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: none; }
}
@keyframes nahse-se-draw {
	to { stroke-dashoffset: 0; }
}
@keyframes nahse-se-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}
.nahse-se.is-anim .nahse-se-hero__text > * {
	animation: nahse-se-up 1s var(--se-ease) both;
}
.nahse-se.is-anim .nahse-se-hero__text > *:nth-child(2) { animation-delay: .09s; }
.nahse-se.is-anim .nahse-se-hero__text > *:nth-child(3) { animation-delay: .18s; }
.nahse-se.is-anim .nahse-se-hero__text > *:nth-child(4) { animation-delay: .27s; }
.nahse-se.is-anim .nahse-se-hero__text > *:nth-child(5) { animation-delay: .36s; }
.nahse-se.is-anim .nahse-se-hero__text > *:nth-child(6) { animation-delay: .45s; }
.nahse-se.is-anim .nahse-se-hero__photo {
	animation: nahse-se-up 1.2s .25s var(--se-ease) both;
}
.nahse-se.is-anim .nahse-se-countdown {
	animation: nahse-se-up .9s .8s var(--se-ease) both, nahse-se-float 5s 1.8s ease-in-out infinite;
}
.nahse-se.is-anim .nahse-se-hero__ribbon-path {
	stroke-dasharray: 2400;
	stroke-dashoffset: 2400;
	animation: nahse-se-draw 2.6s .4s cubic-bezier(.6, 0, .2, 1) forwards;
}
.nahse-se.is-anim [data-nahse-reveal] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .9s var(--se-ease), transform .9s var(--se-ease);
}
.nahse-se.is-anim [data-nahse-reveal].is-in {
	opacity: 1;
	transform: none;
}
/* Keep the card hover lift working after the reveal finishes. */
.nahse-se.is-anim a.nahse-se-mcard[data-nahse-reveal].is-in {
	transition: opacity .9s var(--se-ease), transform .4s var(--se-ease), box-shadow .4s, border-color .4s;
}
.nahse-se.is-anim a.nahse-se-mcard[data-nahse-reveal].is-in:hover,
.nahse-se.is-anim a.nahse-se-mcard[data-nahse-reveal].is-in:focus-visible {
	transform: translateY(-4px);
}

/* --------------------------------------------------------------------------
 * Responsive
 * ----------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.nahse-se-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 56px;
		padding-top: 72px;
		padding-bottom: 80px;
	}
	.nahse-se-aside {
		position: static;
		max-width: 640px;
	}
	.nahse-se-hero__grid {
		gap: 40px 48px;
	}
}

@media (max-width: 900px) {
	.nahse-se {
		--se-hero-top: 128px; /* tablet */
	}
	.nahse-se-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		padding-bottom: 80px;
	}
	.nahse-se-hero__media {
		max-width: 640px;
	}
}

@media (max-width: 767px) {
	.nahse-se-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}
	.nahse-se {
		--se-hero-top: 112px; /* phone */
	}
	.nahse-se-hero__grid {
		gap: 36px;
		padding-bottom: 64px;
	}
	.nahse-se p.nahse-se-lede {
		font-size: 17px;
	}
	.nahse-se-countdown {
		left: 16px;
		bottom: -20px;
		gap: 12px;
		padding: 12px 16px;
	}
	.nahse-se-countdown__num {
		font-size: 22px;
	}
	.nahse-se-layout {
		padding-top: 64px;
		padding-bottom: 64px;
	}
	.nahse-se-main {
		gap: 56px;
	}
	.nahse-se-aside {
		max-width: none;
	}
	.nahse-se-loc {
		grid-template-columns: minmax(0, 1fr);
	}
	.nahse-se-loc__photo {
		min-height: 220px;
	}
	.nahse-se-loc__card {
		padding: 24px;
	}
	.nahse-se .nahse-se-timeline li {
		grid-template-columns: 72px 20px minmax(0, 1fr);
		gap: 0 12px;
	}
	.nahse-se .nahse-se-faq__a {
		padding-right: 0;
	}
	.nahse-se-more > .nahse-se-wrap {
		gap: 32px;
		padding-top: 72px;
		padding-bottom: 72px;
	}
}

@media (max-width: 480px) {
	.nahse-se-actions .nahse-se-btn {
		flex: 1 1 100%;
	}
	.nahse-se-facts {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	.nahse-se-hero__photo {
		aspect-ratio: 4 / 3;
	}
	.nahse-se-hero__placeholder {
		padding: 24px;
	}
	.nahse-se .nahse-se-people {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 14px;
	}
	.nahse-se-person__initials {
		font-size: 32px;
	}
	/* Agenda: time above each session, with a simple left rule. */
	.nahse-se .nahse-se-timeline li {
		grid-template-columns: minmax(0, 1fr);
		padding-left: 16px;
		border-left: 2px solid #dfe3ee;
	}
	.nahse-se .nahse-se-timeline li:last-child {
		border-left-color: transparent;
	}
	.nahse-se-timeline__rail {
		display: none;
	}
	.nahse-se-timeline__time {
		padding: 0 0 4px;
		text-align: left;
	}
	.nahse-se-timeline__body {
		padding-bottom: 24px;
	}
	.nahse-se-tabs {
		width: 100%;
	}
	.nahse-se button.nahse-se-tab {
		flex: 1 1 auto;
	}
	.nahse-se button.nahse-se-faq__btn {
		padding: 18px 0;
		font-size: 16px;
	}
	.nahse-se-card__body {
		padding: 20px;
	}
	.nahse-se-help {
		padding: 18px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nahse-se *,
	.nahse-se *::before,
	.nahse-se *::after {
		animation: none !important;
		transition: none !important;
	}
	.nahse-se [data-nahse-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
}

@media print {
	.nahse-se [data-nahse-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
	.nahse-se-hero__ribbon,
	.nahse-se-countdown,
	.nahse-se-actions {
		display: none !important;
	}
}

/* ==========================================================================
 * END: NAHSE DFW Single Event styles
 * ========================================================================== */
