/* Standalone Economic Calendar command centre. */

.rg-economic-calendar {
	--rg-theme-accent: #70e6ff;
	--rg-content-max: 1440px;
	--rg-page-gutter: 40px;
	--rg-ec-bg: #020a19;
	--rg-ec-surface: #06162f;
	--rg-ec-surface-strong: #081d3b;
	--rg-ec-border: rgba(112, 230, 255, .19);
	--rg-ec-border-soft: rgba(135, 164, 205, .16);
	--rg-ec-text: #f7fbff;
	--rg-ec-muted: #9eacc2;
	--rg-ec-cyan: #70e6ff;
	--rg-ec-violet: #a989ff;
	--rg-ec-green: #45d8ad;
	--rg-ec-amber: #ffbd70;
	--rg-ec-red: #ff7f91;
	--rg-market-title-gradient: linear-gradient(112deg, #70e6ff 0%, #8fbaff 48%, #b294ff 100%);
	background: var(--rg-ec-bg);
	color: var(--rg-ec-text);
}

.rg-ec-site {
	min-width: 0;
	overflow: clip;
	background:
		radial-gradient(circle at 82% 8%, rgba(89, 74, 210, .16), transparent 29%),
		radial-gradient(circle at 13% 22%, rgba(21, 174, 216, .09), transparent 25%),
		var(--rg-ec-bg);
}

.rg-ec-container {
	width: min(var(--rg-content-max), calc(100% - (var(--rg-page-gutter) * 2)));
	margin-inline: auto;
}

.rg-ec-eyebrow {
	margin: 0;
	color: var(--rg-theme-accent);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.rg-ec-hero-fold {
	--rg-hero-fact-height: 144px;
	background:
		linear-gradient(rgba(112, 230, 255, .028) 1px, transparent 1px),
		linear-gradient(90deg, rgba(112, 230, 255, .028) 1px, transparent 1px),
		linear-gradient(118deg, #020a19 0%, #041229 54%, #090d2d 100%);
	background-size: 72px 72px, 72px 72px, auto;
}

.rg-ec-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 760px;
	padding: 128px 0 188px;
	isolation: isolate;
}

.rg-ec-hero::before,
.rg-ec-hero::after {
	position: absolute;
	border-radius: 999px;
	content: "";
	pointer-events: none;
	filter: blur(1px);
}

.rg-ec-hero::before {
	top: 18%;
	right: 5%;
	width: 420px;
	height: 420px;
	background: radial-gradient(circle, rgba(65, 208, 240, .12), rgba(80, 74, 210, .05) 46%, transparent 70%);
}

.rg-ec-hero::after {
	left: 48%;
	bottom: 17%;
	width: 1px;
	height: 230px;
	border-radius: 0;
	background: linear-gradient(transparent, rgba(112, 230, 255, .22), transparent);
	transform: rotate(24deg);
}

.rg-ec-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(390px, 5fr);
	gap: clamp(56px, 7vw, 110px);
	align-items: center;
}

.rg-ec-hero__copy {
	max-width: 830px;
}

.rg-ec-hero__copy h1 {
	max-width: 830px;
	margin: 24px 0 28px;
	font-size: var(--rg-type-display-h1, 80px);
	font-weight: 600;
	line-height: var(--rg-leading-display-h1, 1);
	letter-spacing: var(--rg-tracking-display-h1, -.045em);
	text-wrap: balance;
}

.rg-ec-gradient-text {
	color: transparent;
	-webkit-text-fill-color: transparent;
	background: var(--rg-market-title-gradient);
	-webkit-background-clip: text;
	background-clip: text;
}

.rg-ec-hero__intro {
	max-width: 690px;
	margin: 0;
	color: #b7c4d8;
	font-size: 19px;
	line-height: 1.6;
}

.rg-ec-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.rg-ec-actions .s6-cta {
	min-height: 56px;
	border: 1px solid rgba(112, 230, 255, .28);
	box-shadow: 0 18px 44px rgba(0, 17, 43, .2);
}

.rg-ec-actions .s6-cta-ghost {
	background: rgba(7, 26, 55, .52);
	color: #eaf6ff;
}

.rg-ec-actions .s6-cta:hover,
.rg-ec-actions .s6-cta:focus-visible {
	border-color: var(--rg-ec-cyan);
	box-shadow: 0 20px 48px rgba(20, 161, 196, .17);
}

.rg-ec-disclosure {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	max-width: 680px;
	margin: 26px 0 0;
	color: #91a2ba;
	font-size: 14px;
	line-height: 1.5;
}

.rg-ec-disclosure svg {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--rg-ec-cyan);
}

.rg-ec-radar {
	position: relative;
	min-width: 0;
	padding: 28px;
	border: 1px solid rgba(112, 230, 255, .24);
	border-radius: 32px;
	background: linear-gradient(145deg, rgba(10, 35, 70, .88), rgba(4, 16, 40, .94));
	box-shadow: 0 36px 100px rgba(0, 4, 20, .42), inset 0 1px rgba(255, 255, 255, .04);
	overflow: hidden;
}

.rg-ec-radar::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(112deg, transparent 38%, rgba(112, 230, 255, .08), transparent 64%);
	transform: translateX(-100%);
	animation: rg-ec-radar-scan 7s ease-in-out infinite;
	content: "";
	pointer-events: none;
}

@keyframes rg-ec-radar-scan {
	0%, 60% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

.rg-ec-radar__top {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
}

.rg-ec-radar__top > span {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid var(--rg-ec-border);
	border-radius: 16px;
	background: rgba(112, 230, 255, .08);
	color: var(--rg-ec-cyan);
}

.rg-ec-radar__top svg {
	width: 21px;
	height: 21px;
}

.rg-ec-radar__top small,
.rg-ec-radar__top strong {
	display: block;
}

.rg-ec-radar__top small {
	color: var(--rg-ec-cyan);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.rg-ec-radar__top strong {
	margin-top: 3px;
	font-size: 18px;
	line-height: 1.35;
}

.rg-ec-radar__top > i {
	padding: 7px 10px;
	border: 1px solid rgba(69, 216, 173, .24);
	border-radius: 999px;
	background: rgba(69, 216, 173, .08);
	color: #8ce7c9;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
}

.rg-ec-radar__dial {
	position: relative;
	width: min(250px, 70%);
	aspect-ratio: 1;
	margin: 24px auto 18px;
	border: 1px solid rgba(112, 230, 255, .16);
	border-radius: 50%;
	background:
		radial-gradient(circle at center, rgba(112, 230, 255, .13) 0 3%, transparent 3.5%),
		conic-gradient(from 250deg, transparent 0 72%, rgba(112, 230, 255, .16) 82%, transparent 92%),
		repeating-radial-gradient(circle, transparent 0 34px, rgba(112, 230, 255, .08) 35px 36px);
}

.rg-ec-radar__dial > span {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--rg-ec-cyan);
	box-shadow: 0 0 18px rgba(112, 230, 255, .65);
}

.rg-ec-radar__dial > span:nth-child(1) { transform: translate(-86px, -50px); }
.rg-ec-radar__dial > span:nth-child(2) { transform: translate(52px, -73px); background: var(--rg-ec-violet); }
.rg-ec-radar__dial > span:nth-child(3) { transform: translate(64px, 55px); background: var(--rg-ec-amber); }

.rg-ec-radar__dial > i {
	position: absolute;
	left: 50%;
	bottom: 50%;
	width: 1px;
	height: 46%;
	background: linear-gradient(transparent, var(--rg-ec-cyan));
	transform: rotate(38deg);
	transform-origin: bottom;
}

.rg-ec-radar__dial > b {
	position: absolute;
	inset: 50% auto auto 50%;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(112, 230, 255, .28);
	border-radius: 50%;
	background: #071a35;
	color: var(--rg-ec-cyan);
	font-size: 14px;
	letter-spacing: .08em;
	transform: translate(-50%, -50%);
}

.rg-ec-radar__event,
.rg-ec-radar__countdown {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: flex-end;
	padding: 17px 0;
	border-top: 1px solid var(--rg-ec-border-soft);
}

.rg-ec-radar__event small,
.rg-ec-radar__event strong,
.rg-ec-radar__countdown small,
.rg-ec-radar__countdown strong {
	display: block;
}

.rg-ec-radar__event small,
.rg-ec-radar__countdown small {
	color: var(--rg-ec-muted);
	font-size: 14px;
	line-height: 1.5;
}

.rg-ec-radar__event strong {
	margin-top: 4px;
	font-size: 18px;
	line-height: 1.35;
}

.rg-ec-radar__event time {
	color: #c5d2e3;
	font-size: 14px;
	font-weight: 700;
	text-align: right;
}

.rg-ec-radar__countdown strong {
	color: var(--rg-ec-cyan);
	font-size: 24px;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
	letter-spacing: .04em;
}

.rg-ec-select {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) 18px;
	gap: 12px;
	align-items: center;
	margin-top: 4px;
	padding: 12px 14px;
	border: 1px solid var(--rg-ec-border-soft);
	border-radius: 12px;
	background: rgba(2, 12, 32, .62);
}

.rg-ec-select > span {
	color: var(--rg-ec-muted);
	font-size: 14px;
	font-weight: 700;
}

.rg-ec-select select {
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 0;
	border-radius: 8px;
	outline: 0;
	appearance: none;
	background: transparent;
	color: var(--rg-ec-text);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.rg-ec-select:has(select:hover),
.rg-ec-select:has(select:focus-visible) {
	border-color: var(--rg-ec-cyan);
	background: rgba(15, 65, 99, .62);
}

.rg-ec-select:has(select:focus-visible) {
	outline: 3px solid rgba(112, 230, 255, .3);
	outline-offset: 3px;
}

.rg-ec-select > svg {
	width: 16px;
	height: 16px;
	color: var(--rg-ec-cyan);
	pointer-events: none;
}

.rg-ec-alert-grid {
	--rg-hero-fact-columns: 4;
}

.rg-ec-alert-intro {
	display: flex;
	gap: 14px;
	align-items: center;
}

.rg-ec-alert-intro > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(112, 230, 255, .24);
	border-radius: 16px;
	background: rgba(112, 230, 255, .08);
	color: var(--rg-ec-cyan);
}

.rg-ec-alert-intro svg { width: 20px; height: 20px; }
.rg-ec-alert-intro strong,
.rg-ec-alert-intro small { display: block; }
.rg-ec-alert-intro strong { font-size: 16px; line-height: 1.4; }
.rg-ec-alert-intro small { margin-top: 2px; color: var(--rg-ec-muted); font-size: 14px; line-height: 1.4; }

.rg-ec-alert-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
}

.rg-ec-alert-card__meta,
.rg-ec-alert-card > div:last-child {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
}

.rg-ec-alert-card__meta span {
	color: var(--rg-ec-cyan);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .08em;
}

.rg-ec-alert-card__meta i {
	color: #ffb5bf;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
}

.rg-ec-alert-card > strong {
	display: -webkit-box;
	overflow: hidden;
	font-size: 16px;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.rg-ec-alert-card time,
.rg-ec-alert-card b {
	color: var(--rg-ec-muted);
	font-size: 14px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.rg-ec-alert-card b { color: var(--rg-ec-text); }

.rg-ec-jump {
	position: sticky;
	top: var(--rg-header-height, 90px);
	z-index: 24;
	border-bottom: 1px solid rgba(112, 230, 255, .12);
	background: rgba(2, 10, 25, .9);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}

.rg-ec-jump .rg-ec-container {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	scrollbar-width: none;
}

.rg-ec-jump .rg-ec-container::-webkit-scrollbar { display: none; }

.rg-ec-jump a {
	position: relative;
	flex: 0 0 auto;
	padding: 19px 18px 17px;
	color: #98aac2;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: color 180ms ease, background-color 180ms ease;
}

.rg-ec-jump a::after {
	position: absolute;
	right: 18px;
	bottom: -1px;
	left: 18px;
	height: 2px;
	background: var(--rg-ec-cyan);
	transform: scaleX(0);
	content: "";
	transition: transform 180ms ease;
}

.rg-ec-jump a:hover,
.rg-ec-jump a:focus-visible {
	background: rgba(22, 76, 112, .22);
	color: #fff;
}

.rg-ec-jump a:focus-visible { outline: 3px solid var(--rg-ec-cyan); outline-offset: -4px; }
.rg-ec-jump a.is-active { color: var(--rg-ec-cyan); }
.rg-ec-jump a.is-active::after { transform: scaleX(1); }

.rg-ec-section {
	position: relative;
	padding-block: 120px;
	scroll-margin-top: 150px;
}

.rg-ec-section-head {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr);
	gap: 60px;
	align-items: end;
	margin-bottom: 54px;
}

.rg-ec-section-head h2 {
	margin: 18px 0 0;
	font-size: var(--rg-type-display-h2, 72px);
	font-weight: 600;
	line-height: var(--rg-leading-display-h2, 1.03);
	letter-spacing: var(--rg-tracking-display-h2, -.04em);
	text-wrap: balance;
}

.rg-ec-section-head > p {
	max-width: 430px;
	margin: 0 0 6px auto;
	color: var(--rg-ec-muted);
	font-size: 16px;
	line-height: 1.65;
}

.rg-ec-section-head--compact {
	align-items: center;
	margin-bottom: 28px;
}

.rg-ec-section-head--compact h2 {
	font-size: 32px;
	line-height: 1.12;
	letter-spacing: -.025em;
}

.rg-ec-pulse {
	padding-block: 80px;
	border-bottom: 1px solid rgba(112, 230, 255, .1);
}

.rg-ec-pulse__frame {
	display: grid;
	grid-template-columns: 330px minmax(0, 1fr);
	min-height: 138px;
	border: 1px solid var(--rg-ec-border);
	border-radius: 24px;
	background: rgba(5, 20, 45, .76);
	overflow: hidden;
}

.rg-ec-pulse__label {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 24px 28px;
	border-right: 1px solid var(--rg-ec-border-soft);
	background: linear-gradient(130deg, rgba(10, 44, 81, .74), rgba(4, 18, 41, .76));
}

.rg-ec-pulse__label > span {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid var(--rg-ec-border);
	border-radius: 16px;
	color: var(--rg-ec-cyan);
}

.rg-ec-pulse__label svg { width: 21px; height: 21px; }
.rg-ec-pulse__label strong,
.rg-ec-pulse__label small { display: block; }
.rg-ec-pulse__label strong { font-size: 16px; line-height: 1.4; }
.rg-ec-pulse__label small { margin-top: 4px; color: var(--rg-ec-muted); font-size: 14px; line-height: 1.4; }

.rg-ec-pulse__ticker {
	position: relative;
	min-width: 0;
	min-height: 136px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

.rg-ec-pulse__ticker .rg-tv-widget--ticker-tape,
.rg-ec-pulse__ticker .rg-tv-widget__surface,
.rg-ec-pulse__ticker tv-ticker-tape { min-height: 136px; }

.rg-ec-calendar {
	background: linear-gradient(180deg, rgba(7, 25, 52, .32), transparent 24%);
}

.rg-ec-calendar-grid {
	display: grid;
	grid-template-columns: minmax(0, 9fr) minmax(300px, 3fr);
	gap: 24px;
	align-items: stretch;
}

.rg-ec-calendar-card,
.rg-ec-today {
	border: 1px solid var(--rg-ec-border);
	border-radius: 24px;
	background: linear-gradient(145deg, rgba(8, 29, 59, .92), rgba(3, 14, 34, .96));
	box-shadow: 0 28px 80px rgba(0, 3, 15, .28);
	overflow: hidden;
}

.rg-ec-calendar-card > header {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: center;
	min-height: 76px;
	padding: 18px 22px;
	border-bottom: 1px solid var(--rg-ec-border-soft);
	background: rgba(7, 28, 57, .86);
}

.rg-ec-calendar-card > header small,
.rg-ec-calendar-card > header strong { display: block; }
.rg-ec-calendar-card > header small { color: var(--rg-ec-cyan); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rg-ec-calendar-card > header strong { margin-top: 3px; font-size: 18px; line-height: 1.35; }
.rg-ec-calendar-card > header > span { display: inline-flex; gap: 9px; align-items: center; padding: 9px 12px; border: 1px solid rgba(69, 216, 173, .22); border-radius: 999px; color: #99e9cf; font-size: 14px; font-weight: 700; }
.rg-ec-calendar-card > header > span i { width: 7px; height: 7px; border-radius: 50%; background: var(--rg-ec-green); box-shadow: 0 0 12px rgba(69, 216, 173, .55); }

.rg-ec-calendar-card__widget,
.rg-economic-calendar .rg-tv-widget--economic-calendar { height: 720px; }

.rg-economic-calendar .rg-tv-widget--preset-command-center .rg-tv-widget__source { background: rgba(2, 12, 32, .88); }

.rg-ec-today {
	display: flex;
	flex-direction: column;
	padding: 28px;
}

.rg-ec-today__top > span {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	margin-bottom: 24px;
	border: 1px solid var(--rg-ec-border);
	border-radius: 16px;
	background: rgba(112, 230, 255, .08);
	color: var(--rg-ec-cyan);
}

.rg-ec-today__top svg { width: 22px; height: 22px; }
.rg-ec-today__top small { color: var(--rg-ec-cyan); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rg-ec-today h3 { margin: 13px 0 0; font-size: 32px; font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.rg-ec-today ol { margin: 32px 0 0; padding: 0; list-style: none; }
.rg-ec-today li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; align-items: center; padding: 17px 0; border-top: 1px solid var(--rg-ec-border-soft); }
.rg-ec-today li b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: rgba(112, 230, 255, .08); color: var(--rg-ec-cyan); font-size: 14px; }
.rg-ec-today li strong,
.rg-ec-today li small { display: block; }
.rg-ec-today li strong { font-size: 15px; line-height: 1.4; }
.rg-ec-today li small { margin-top: 3px; color: var(--rg-ec-muted); font-size: 14px; line-height: 1.45; }
.rg-ec-today > a { display: flex; justify-content: space-between; gap: 12px; align-items: center; min-height: 52px; margin-top: auto; padding: 0 16px; border: 1px solid var(--rg-ec-border); border-radius: 12px; background: rgba(112, 230, 255, .06); color: var(--rg-ec-cyan); font-size: 14px; font-weight: 700; text-decoration: none; transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease; }
.rg-ec-today > a svg { width: 18px; transition: transform 180ms ease; }
.rg-ec-today > a:hover,
.rg-ec-today > a:focus-visible { border-color: var(--rg-ec-cyan); background: #164c70; color: #fff; }
.rg-ec-today > a:hover svg,
.rg-ec-today > a:focus-visible svg { transform: translateX(4px); }
.rg-ec-today > a:focus-visible { outline: 3px solid var(--rg-ec-cyan); outline-offset: 3px; }

.rg-ec-conversion {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(420px, 5fr);
	gap: 56px;
	align-items: center;
	margin-top: 24px;
	padding: 36px 40px;
	border: 1px solid rgba(112, 230, 255, .23);
	border-radius: 24px;
	background:
		radial-gradient(circle at 100% 0, rgba(103, 82, 218, .18), transparent 40%),
		linear-gradient(125deg, rgba(10, 43, 78, .88), rgba(5, 18, 44, .95));
}

.rg-ec-conversion h3 { margin: 12px 0 8px; font-size: 32px; font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.rg-ec-conversion p:not(.rg-ec-eyebrow) { max-width: 690px; margin: 0; color: var(--rg-ec-muted); font-size: 16px; line-height: 1.65; }
.rg-ec-conversion .rg-ec-actions { justify-content: flex-end; margin-top: 0; }

.rg-ec-impact {
	background:
		radial-gradient(circle at 14% 46%, rgba(56, 195, 225, .08), transparent 25%),
		#030d20;
}

.rg-ec-impact-grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr);
	gap: 20px;
}

.rg-ec-impact-card {
	position: relative;
	min-height: 390px;
	padding: 30px;
	border: 1px solid var(--rg-ec-border-soft);
	border-radius: 24px;
	background: linear-gradient(150deg, rgba(8, 30, 59, .92), rgba(4, 16, 37, .96));
	overflow: hidden;
	transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.rg-ec-impact-card:hover,
.rg-ec-impact-card:focus-within {
	border-color: rgba(112, 230, 255, .42);
	box-shadow: 0 26px 70px rgba(0, 6, 24, .32);
	transform: translateY(-5px);
}

.rg-ec-impact-card--high { min-height: 440px; border-color: rgba(255, 127, 145, .28); background: radial-gradient(circle at 100% 0, rgba(255, 127, 145, .12), transparent 44%), linear-gradient(150deg, rgba(15, 35, 65, .98), rgba(5, 16, 37, .98)); }
.rg-ec-impact-card > div { display: flex; gap: 8px; align-items: center; }
.rg-ec-impact-card > div > span { display: grid; place-items: center; width: 46px; height: 46px; margin-right: 5px; border: 1px solid var(--rg-ec-border); border-radius: 16px; background: rgba(112, 230, 255, .07); color: var(--rg-ec-cyan); }
.rg-ec-impact-card > div svg { width: 21px; height: 21px; }
.rg-ec-impact-card > div small { margin-right: auto; color: var(--rg-ec-cyan); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rg-ec-impact-card > div i { width: 7px; height: 24px; border-radius: 999px; background: var(--rg-ec-red); }
.rg-ec-impact-card--medium > div i { height: 18px; background: var(--rg-ec-amber); }
.rg-ec-impact-card--low > div i { height: 11px; background: #7aa4d9; }
.rg-ec-impact-card h3 { margin: 54px 0 18px; font-size: 32px; font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.rg-ec-impact-card p { margin: 0; color: var(--rg-ec-muted); font-size: 16px; line-height: 1.65; }
.rg-ec-impact-card ul { margin: 28px 0 0; padding: 0; list-style: none; }
.rg-ec-impact-card li { position: relative; padding: 10px 0 10px 22px; border-top: 1px solid var(--rg-ec-border-soft); color: #dbe6f5; font-size: 14px; line-height: 1.5; }
.rg-ec-impact-card li::before { position: absolute; top: 17px; left: 2px; width: 7px; height: 7px; border-radius: 50%; background: var(--rg-ec-red); content: ""; }

.rg-ec-playbook-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.rg-ec-playbook-grid::before {
	position: absolute;
	top: 52px;
	right: 15%;
	left: 15%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(112, 230, 255, .28), transparent);
	content: "";
}

.rg-ec-playbook-grid article {
	position: relative;
	min-height: 360px;
	padding: 28px;
	border: 1px solid var(--rg-ec-border-soft);
	border-radius: 24px;
	background: rgba(6, 22, 47, .78);
}

.rg-ec-playbook-grid article > b { position: absolute; top: 24px; right: 24px; color: rgba(112, 230, 255, .48); font-size: 24px; line-height: 1.2; }
.rg-ec-playbook-grid article > span { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 68px; border: 1px solid var(--rg-ec-border); border-radius: 16px; background: #071b38; color: var(--rg-ec-cyan); box-shadow: 0 0 0 10px var(--rg-ec-bg); }
.rg-ec-playbook-grid article > span svg { width: 23px; height: 23px; }
.rg-ec-playbook-grid small { color: var(--rg-ec-cyan); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rg-ec-playbook-grid h3 { margin: 13px 0 14px; font-size: 32px; font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.rg-ec-playbook-grid p { margin: 0; color: var(--rg-ec-muted); font-size: 16px; line-height: 1.65; }

.rg-ec-learn {
	background: linear-gradient(180deg, rgba(12, 37, 69, .34), rgba(2, 10, 25, .2));
}

.rg-ec-learn-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(210px, auto));
	gap: 20px;
}

.rg-ec-learn-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 28px;
	border: 1px solid var(--rg-ec-border-soft);
	border-radius: 24px;
	background: rgba(6, 23, 48, .84);
	color: var(--rg-ec-text);
	text-decoration: none;
	transition: transform 200ms ease, border-color 200ms ease, background-color 200ms ease, box-shadow 200ms ease;
}

.rg-ec-learn-card--feature { grid-row: span 2; padding: 34px; background: radial-gradient(circle at 100% 0, rgba(112, 230, 255, .14), transparent 42%), linear-gradient(150deg, #0a294f, #06152f); }
.rg-ec-learn-card:nth-child(4) { grid-column: span 2; }
.rg-ec-learn-card > span { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 34px; border: 1px solid var(--rg-ec-border); border-radius: 16px; background: rgba(112, 230, 255, .07); color: var(--rg-ec-cyan); }
.rg-ec-learn-card > span svg { width: 22px; height: 22px; }
.rg-ec-learn-card small { color: var(--rg-ec-cyan); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rg-ec-learn-card h3 { margin: 13px 0 12px; font-size: 26px; font-weight: 600; line-height: 1.18; letter-spacing: -.02em; }
.rg-ec-learn-card--feature h3 { font-size: 38px; line-height: 1.1; }
.rg-ec-learn-card p { margin: 0; color: var(--rg-ec-muted); font-size: 16px; line-height: 1.65; }
.rg-ec-learn-card strong { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: auto; padding-top: 26px; color: var(--rg-ec-cyan); font-size: 14px; line-height: 1.4; }
.rg-ec-learn-card strong svg { width: 18px; height: 18px; transition: transform 180ms ease; }
.rg-ec-learn-card:hover,
.rg-ec-learn-card:focus-visible { border-color: var(--rg-ec-cyan); background-color: #0a284f; box-shadow: 0 24px 60px rgba(0, 5, 22, .28); transform: translateY(-5px); }
.rg-ec-learn-card:hover strong svg,
.rg-ec-learn-card:focus-visible strong svg { transform: translateX(4px); }
.rg-ec-learn-card:focus-visible { outline: 3px solid var(--rg-ec-cyan); outline-offset: 3px; }

.rg-ec-widget-unavailable { display: grid; place-items: center; min-height: 100%; padding: 40px; text-align: center; }
.rg-ec-widget-unavailable strong,
.rg-ec-widget-unavailable span { display: block; }
.rg-ec-widget-unavailable span { margin-top: 8px; color: var(--rg-ec-muted); }

[data-rg-reveal] {
	opacity: 0;
	transform: translate3d(0, 20px, 0);
	transition: opacity 520ms ease, transform 520ms cubic-bezier(.2, .7, .2, 1);
}

[data-rg-reveal].is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (min-width: 901px) and (max-width: 1180px) {
	.rg-ec-hero-fold { --rg-hero-fact-stack-height: 112px; }
}

@media (min-width: 1181px) and (max-height: 820px) {
	.rg-ec-hero { align-items: flex-start; padding-top: 104px; }
	.rg-ec-hero__copy h1 { margin-block: 16px 18px; font-size: clamp(64px, 5vw, 72px); }
	.rg-ec-hero__intro { font-size: 16px; line-height: 1.55; }
	.rg-ec-actions { margin-top: 22px; }
	.rg-ec-actions .s6-cta { min-height: 52px; }
	.rg-ec-disclosure { display: none; }
	.rg-ec-radar { padding: 20px 24px; }
	.rg-ec-radar__dial { width: 120px; margin-block: 8px 7px; }
	.rg-ec-radar__dial > span:nth-child(1) { transform: translate(-39px, -24px); }
	.rg-ec-radar__dial > span:nth-child(2) { transform: translate(23px, -34px); }
	.rg-ec-radar__dial > span:nth-child(3) { transform: translate(29px, 25px); }
	.rg-ec-radar__event,
	.rg-ec-radar__countdown { padding-block: 10px; }
	.rg-ec-radar__countdown strong { font-size: 20px; }
	.rg-ec-select { padding-block: 7px; }
	.rg-ec-alert-grid > .rg-hero-fact-item { padding-block: 16px; }
}

@media (max-width: 1180px) {
	.rg-economic-calendar { --rg-page-gutter: 24px; }
	.rg-ec-hero { min-height: 860px; padding-top: 118px; }
	.rg-ec-hero__grid { grid-template-columns: minmax(0, 6fr) minmax(350px, 5fr); gap: 42px; }
	.rg-ec-hero__copy h1 { font-size: clamp(56px, 7vw, 72px); }
	.rg-ec-section { padding-block: 88px; }
	.rg-ec-section-head h2 { font-size: clamp(48px, 6vw, 64px); }
	.rg-ec-calendar-grid { grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr); }
	.rg-ec-conversion { grid-template-columns: 1fr; gap: 26px; }
	.rg-ec-conversion .rg-ec-actions { justify-content: flex-start; }
	.rg-ec-impact-grid { grid-template-columns: 1.25fr 1fr; }
	.rg-ec-impact-card--low { grid-column: span 2; min-height: 300px; }
}

@media (max-width: 900px) {
	.rg-ec-hero { min-height: 0; padding-top: 120px; }
	.rg-ec-hero__grid { grid-template-columns: 1fr; gap: 54px; }
	.rg-ec-hero__copy { max-width: 760px; }
	.rg-ec-radar { max-width: 620px; }
	.rg-ec-alert-grid { --rg-hero-fact-columns: 2; }
	.rg-ec-section-head { grid-template-columns: 1fr; gap: 24px; align-items: start; }
	.rg-ec-section-head > p { max-width: 650px; margin-left: 0; }
	.rg-ec-pulse__frame { grid-template-columns: 1fr; }
	.rg-ec-pulse__label { border-right: 0; border-bottom: 1px solid var(--rg-ec-border-soft); }
	.rg-ec-calendar-grid { grid-template-columns: 1fr; }
	.rg-ec-today { min-height: 620px; }
	.rg-ec-impact-grid { grid-template-columns: 1fr; }
	.rg-ec-impact-card--low { grid-column: auto; }
	.rg-ec-playbook-grid { grid-template-columns: 1fr; }
	.rg-ec-playbook-grid::before { display: none; }
	.rg-ec-playbook-grid article { min-height: 0; }
	.rg-ec-playbook-grid article > span { margin-bottom: 44px; box-shadow: none; }
	.rg-ec-learn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
	.rg-ec-learn-card--feature { grid-row: auto; grid-column: span 2; min-height: 420px; }
	.rg-ec-learn-card:nth-child(4) { grid-column: auto; }
}

@media (max-width: 640px) {
	.rg-economic-calendar { --rg-page-gutter: 18px; }
	.rg-ec-hero-fold { --rg-hero-fact-stack-height: 368px; }
	.rg-ec-hero { padding-top: 96px; }
	.rg-ec-hero__copy h1 { margin-top: 18px; font-size: clamp(42px, 13vw, 52px); }
	.rg-ec-hero__intro { font-size: 16px; }
	.rg-ec-actions { display: grid; grid-template-columns: 1fr; }
	.rg-ec-actions .s6-cta { width: 100%; justify-content: center; min-height: 52px; }
	.rg-ec-radar { padding: 20px; border-radius: 24px; }
	.rg-ec-radar__top { grid-template-columns: 42px minmax(0, 1fr); }
	.rg-ec-radar__top > i { grid-column: 1 / -1; justify-self: start; }
	.rg-ec-radar__dial { width: 220px; }
	.rg-ec-radar__event,
	.rg-ec-radar__countdown { align-items: flex-start; flex-direction: column; gap: 8px; }
	.rg-ec-radar__event time { text-align: left; }
	.rg-ec-select { grid-template-columns: 1fr 18px; }
	.rg-ec-select > span { grid-column: 1 / -1; }
	.rg-ec-alert-grid { --rg-hero-fact-columns: 1; }
	.rg-ec-alert-grid > .rg-hero-fact-item { padding-inline: 18px; }
	.rg-ec-alert-intro { min-height: 92px; }
	.rg-ec-jump { top: var(--rg-mobile-header-height, 72px); }
	.rg-ec-jump a { padding-inline: 14px; }
	.rg-ec-section { padding-block: 64px; }
	.rg-ec-pulse { padding-block: 48px; }
	.rg-ec-section-head { margin-bottom: 34px; }
	.rg-ec-section-head h2 { font-size: clamp(36px, 11vw, 44px); }
	.rg-ec-section-head--compact h2 { font-size: 30px; }
	.rg-ec-pulse__label { padding: 20px; }
	.rg-ec-pulse__ticker { min-height: 150px; }
	.rg-ec-pulse__ticker .rg-tv-widget--ticker-tape,
	.rg-ec-pulse__ticker .rg-tv-widget__surface,
	.rg-ec-pulse__ticker tv-ticker-tape { min-height: 150px; }
	.rg-ec-calendar-card,
	.rg-ec-today { border-radius: 16px; }
	.rg-ec-calendar-card > header { align-items: flex-start; flex-direction: column; }
	.rg-ec-calendar-card__widget,
	.rg-economic-calendar .rg-tv-widget--economic-calendar { height: 620px; }
	.rg-ec-today { min-height: 0; padding: 22px; }
	.rg-ec-today > a { margin-top: 28px; }
	.rg-ec-conversion { padding: 26px 22px; border-radius: 16px; }
	.rg-ec-conversion h3 { font-size: 28px; }
	.rg-ec-impact-grid,
	.rg-ec-learn-grid { grid-template-columns: 1fr; }
	.rg-ec-impact-card { min-height: 0; padding: 24px; border-radius: 16px; }
	.rg-ec-impact-card--high { min-height: 0; }
	.rg-ec-impact-card h3 { margin-top: 42px; }
	.rg-ec-playbook-grid article { padding: 24px; border-radius: 16px; }
	.rg-ec-learn-card,
	.rg-ec-learn-card--feature { grid-column: auto; min-height: 0; padding: 24px; border-radius: 16px; }
	.rg-ec-learn-card--feature h3 { font-size: 32px; }
}

@media (forced-colors: active) {
	.rg-ec-gradient-text { color: CanvasText; -webkit-text-fill-color: CanvasText; background: none; }
}
