.fadc-ir-session,
.fadc-ir-session * { box-sizing: border-box; }

.fadc-ir-session {
	--ir-ink: #102b4e;
	--ir-blue: #225ec7;
	--ir-blue-dark: #174693;
	--ir-aqua: #dff7f4;
	--ir-line: #d8e3f1;
	--ir-muted: #52657b;
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(20px, 4vw, 54px) 18px 72px;
	color: var(--ir-ink);
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.fadc-ir-session h1,
.fadc-ir-session h2,
.fadc-ir-session h3,
.fadc-ir-session p { margin-top: 0; }

.fadc-ir-session__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
	gap: clamp(26px, 6vw, 72px);
	align-items: center;
	padding: clamp(34px, 6vw, 72px);
	border-radius: 32px;
	background: linear-gradient(135deg, #eff8ff 0%, #fff 48%, var(--ir-aqua) 100%);
	box-shadow: 0 22px 65px rgba(16, 43, 78, .12);
}

.fadc-ir-session__eyebrow,
.fadc-ir-session__heading > span {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--ir-blue-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.fadc-ir-session__hero h1 {
	max-width: 760px;
	margin-bottom: 20px;
	font-size: clamp(2.2rem, 5vw, 4.6rem);
	line-height: 1.02;
	letter-spacing: -.045em;
}

.fadc-ir-session__hero > div > p {
	max-width: 700px;
	margin-bottom: 26px;
	color: var(--ir-muted);
	font-size: clamp(1.05rem, 1.6vw, 1.28rem);
	line-height: 1.7;
}

.fadc-ir-session__hero small {
	display: block;
	margin-top: 16px;
	color: var(--ir-muted);
}

.fadc-ir-session__actions,
.fadc-ir-session__form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.fadc-ir-session__actions a,
.fadc-ir-session__event button,
.fadc-ir-session__empty a,
.fadc-ir-session__form-actions button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	border: 1px solid var(--ir-blue);
	border-radius: 999px;
	background: #fff;
	color: var(--ir-blue-dark);
	font: inherit;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.fadc-ir-session__actions .is-primary,
.fadc-ir-session__event button,
.fadc-ir-session__form-actions button[type="submit"] {
	background: var(--ir-blue);
	color: #fff;
}

.fadc-ir-session a:focus-visible,
.fadc-ir-session button:focus-visible {
	outline: 3px solid rgba(34, 94, 199, .25);
	outline-offset: 3px;
}

.fadc-ir-session__summary {
	padding: 28px;
	border: 1px solid rgba(34, 94, 199, .15);
	border-radius: 24px;
	background: rgba(255, 255, 255, .9);
}

.fadc-ir-session__summary strong { display: block; margin-bottom: 14px; }
.fadc-ir-session__summary ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.fadc-ir-session__summary li { position: relative; padding-left: 27px; line-height: 1.55; }
.fadc-ir-session__summary li::before { position: absolute; left: 0; content: "✓"; color: #11836e; font-weight: 900; }

.fadc-ir-session__benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 24px 0 64px;
}

.fadc-ir-session__benefits article,
.fadc-ir-session__event {
	padding: 26px;
	border: 1px solid var(--ir-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 10px 34px rgba(16, 43, 78, .07);
}

.fadc-ir-session__benefits article > span {
	display: inline-grid;
	width: 38px;
	height: 38px;
	margin-bottom: 18px;
	place-items: center;
	border-radius: 50%;
	background: var(--ir-aqua);
	font-weight: 900;
}

.fadc-ir-session__benefits h2 { margin-bottom: 8px; font-size: 1.2rem; }
.fadc-ir-session__benefits p,
.fadc-ir-session__heading p,
.fadc-ir-session__event p,
.fadc-ir-session__dialog p { color: var(--ir-muted); line-height: 1.65; }
.fadc-ir-session__events { scroll-margin-top: 96px; }
.fadc-ir-session__heading { max-width: 720px; margin-bottom: 28px; }
.fadc-ir-session__heading h2 { margin-bottom: 10px; font-size: clamp(1.9rem, 3vw, 2.8rem); }
.fadc-ir-session__event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fadc-ir-session__event { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 20px; }

.fadc-ir-session__date {
	display: flex;
	width: 72px;
	height: 82px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border-radius: 18px;
	background: var(--ir-ink);
	color: #fff;
}

.fadc-ir-session__date strong { font-size: 1.65rem; line-height: 1; }
.fadc-ir-session__date span,
.fadc-ir-session__tag { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fadc-ir-session__tag { color: var(--ir-blue-dark); }
.fadc-ir-session__event h3 { margin: 8px 0; font-size: 1.25rem; line-height: 1.3; }
.fadc-ir-session__event button { min-height: 42px; padding: 9px 17px; }
.fadc-ir-session__empty { grid-column: 1 / -1; padding: 36px; border: 1px dashed var(--ir-line); border-radius: 24px; text-align: center; }

.fadc-ir-session__dialog {
	width: min(680px, calc(100vw - 28px));
	max-height: calc(100vh - 28px);
	padding: clamp(24px, 5vw, 46px);
	border: 0;
	border-radius: 26px;
	color: var(--ir-ink);
	box-shadow: 0 32px 90px rgba(8, 27, 55, .35);
}

.fadc-ir-session__dialog::backdrop { background: rgba(8, 27, 55, .68); backdrop-filter: blur(3px); }
.fadc-ir-session__close { position: absolute; top: 13px; right: 15px; }
.fadc-ir-session__close button { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #edf3fa; color: var(--ir-ink); font-size: 1.5rem; cursor: pointer; }
.fadc-ir-session__dialog h2 { margin-bottom: 8px; font-size: clamp(1.7rem, 4vw, 2.4rem); }
.fadc-ir-session__form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0 18px; }
.fadc-ir-session__form-grid label { display: grid; gap: 7px; font-size: .9rem; font-weight: 800; }

.fadc-ir-session__form-grid input,
.fadc-ir-session__form-grid select {
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	border: 1px solid #b8c8dc;
	border-radius: 10px;
	background: #fff;
	color: var(--ir-ink);
	font: inherit;
}

.fadc-ir-session__form-grid input:focus,
.fadc-ir-session__form-grid select:focus { border-color: var(--ir-blue); outline: 3px solid rgba(34, 94, 199, .18); }
.fadc-ir-session__consent { display: flex; gap: 9px; align-items: flex-start; margin-bottom: 22px; line-height: 1.5; }
.fadc-ir-session__consent input { margin-top: 4px; }
.fadc-ir-session__status { min-height: 24px; margin: 18px 0 0; font-weight: 700; }
.fadc-ir-session__status.is-error { color: #a52828; }
.fadc-ir-session__status.is-success { color: #0c735f; }
.fadc-ir-session__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 820px) {
	.fadc-ir-session__hero,
	.fadc-ir-session__event-grid,
	.fadc-ir-session__benefits { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
	.fadc-ir-session { padding-right: 12px; padding-left: 12px; }
	.fadc-ir-session__hero { padding: 28px 22px; border-radius: 24px; }
	.fadc-ir-session__hero h1 { font-size: 2.45rem; }
	.fadc-ir-session__event,
	.fadc-ir-session__form-grid { grid-template-columns: 1fr; }
	.fadc-ir-session__date { width: 100%; height: 62px; flex-direction: row; gap: 8px; }
	.fadc-ir-session__actions a,
	.fadc-ir-session__form-actions button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.fadc-ir-session * { scroll-behavior: auto !important; transition: none !important; }
}
