/*
 * Regulating AI — responsive.css
 * All breakpoint-specific rules live here; style.css holds the
 * breakpoint-agnostic global styles.
 *
 * Breakpoints:
 *   Mobile         : max-width 768px
 *   Extra-small    : max-width 767px (nested inside the Mobile tier above,
 *                    for overrides needed on phones generally, not just
 *                    the narrowest ones)
 *   Landscape      : min-width 600px  and max-width 768px
 *   Tablet         : min-width 768px  and max-width 991px
 *   iPad / tablets : min-width 991px  and max-width 1024px
 *   Laptop         : min-width 1024px and max-width 1200px
 *   Desktop/large  : min-width 1200px
 *
 * The hamburger/off-canvas menu only appears below 991px. From 991px
 * up, the primary nav (logo + 7 links + Newsletter + Join Community)
 * is always shown inline in the header — never a hamburger — with its
 * font size/padding/gaps kept compact all the way through 991px–1439px
 * (the container padding grows faster than the nav's own size across
 * those tiers, so it needs to stay tight the whole way, not just at
 * iPad width). It only reaches the full literal nav spec at 1440px+,
 * where there's finally enough room — see the extra nav-only breakpoint
 * below the Laptop block.
 */

/* =========================================================
   NAV TOGGLE — hamburger/off-canvas menu below 991px only
   ========================================================= */
@media (max-width: 991px) {
	.rai-nav-toggle { display: inline-flex; }

	/* max-height is measured from where this panel itself starts (right
	   below the sticky header), not from the top of the screen — a flat
	   85vh doesn't account for the header's own height, so on shorter
	   phone screens the panel could extend past the bottom of the
	   viewport with no way to reach what got pushed past it. Subtracting
	   the header's approximate mobile height (~74px: 20px padding top/
	   bottom + the logo) keeps the whole panel within the visible area. */
	.rai-main-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--rai-white);
		border-top: 1px solid var(--rai-border);
		box-shadow: var(--rai-shadow-md);
		max-height: calc(100vh - 74px);
		max-height: calc(100dvh - 74px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 1029;
	}
	.rai-main-nav.is-open { display: block; }

	.rai-main-nav .navbar-nav { flex-direction: column; align-items: stretch; width: 100%; gap: 0; }
	.rai-main-nav .nav-item { width: 100%; }

	/* .nav-link is inline-block on desktop (sizes to its text); on mobile it
	   needs to be a full-width block so the row/divider spans edge to edge
	   and the whole row is tappable, not just the text. */
	.rai-main-nav .nav-link {
		display: block;
		width: 100%;
		padding: 12px 24px;
		text-align: left;
		border-bottom: 1px solid var(--rai-border);
		border-radius: 0;
	}
	.rai-main-nav .nav-link:hover,
	.rai-main-nav .nav-link:active,
	.rai-main-nav .current-menu-item > .nav-link { background: var(--rai-bg-light); color: #0167FF; }

	.rai-main-nav .dropdown-menu { position: static; box-shadow: none; border: none; padding: 0; margin-top: 0 !important; }
	.rai-main-nav .dropdown-item { display: block; width: 100%; padding: 14px 24px 14px 40px; border-bottom: 1px solid var(--rai-border); background: var(--rai-bg-light); border-radius: 0; }

	/* Dimmed backdrop behind the open panel, and lock page scroll while it's open. */
	body.rai-nav-is-open { overflow: hidden; }
	body.rai-nav-is-open::after {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(11, 30, 60, .45);
		z-index: 1025;
	}

	/* Newsletter / Join Community move into the off-canvas panel, not the cramped header row. */
	.rai-header-actions-only { display: none; }
	.rai-mobile-nav-actions {
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding: 20px 24px;
		border-top: 1px solid var(--rai-border);
	}
	.rai-mobile-nav-actions .rai-btn { width: 100%; }

	.rai-header-actions { gap: 16px; }
}

/* =========================================================
   FOOTER — centered content below 991px (mobile, landscape, tablet).
   The desktop right-shift/right-align treatment only makes sense once
   columns sit side by side; once they stack, centering every block
   (brand, each column's heading+list, contact info, bottom bar) reads
   far better than left- or right-hugging a full-width column.
   ========================================================= */
@media (max-width: 991px) {
	.rai-footer-brand { text-align: center; }
	.rai-footer-brand .rai-logo { margin-left: auto; margin-right: auto; }
	.rai-footer-brand p { margin-left: auto; margin-right: auto; }
	.rai-footer-contact { align-items: center; }
	.rai-footer-contact li { justify-content: center; }

	.rai-footer-col-inner { text-align: center; }
	.rai-footer-col-company .rai-footer-col-inner { margin: 0 auto; }

	/* Now a direct grid child of .rai-footer-top (a sibling of the columns,
	   not nested in Company) — grid-column:1/-1 spans the full row
	   regardless of column count, so justify-content:center centers it
	   across the whole footer width, not just within one column. */
	.rai-footer-social { grid-column: 1 / -1; position: static; margin-top: 20px; justify-content: center; }

	.rai-footer-bottom { flex-direction: column; text-align: center; gap: 12px; }
	.rai-footer-bottom a { margin: 0 10px; }
}

/* =========================================================
   1. MOBILE — max-width: 768px
   ========================================================= */
@media (max-width: 768px) {
	:root { --rai-section-y: 20px; }

	.rai-container { padding: 20px; }
	.rai-header { padding: 20px; }

	h1 { font-size: 2rem; }
	h2 { font-size: 1.625rem; }

	.rai-topbar-label { font-size: 14px; line-height: 18px; padding: 10px 14px; }
	.rai-topbar-ticker { padding-left: 14px; }
	.rai-topbar-ticker-item { font-size: 12px; line-height: 15px; }
	.rai-topbar-ticker-sep { margin: 0 12px; font-size: 16px; }

	.rai-logo { max-height: 34px; }
	.rai-header-actions { gap: 12px; }
	.rai-btn-newsletter { font-size: 12px; letter-spacing: .5px; padding: 6px 0; }
	.rai-btn-join-community { font-size: 13px; line-height: 17px; padding: 8px 14px; border-radius: 6px; }

	.rai-hero { padding-top: 40px; padding-bottom: 40px; }
	.rai-hero-grid { grid-template-columns: 1fr; gap: 32px; }
	.rai-hero-actions { flex-direction: column; align-items: stretch; }
	.rai-hero-actions .rai-btn { width: 100%; }
	.rai-hero-stats { gap: 24px; justify-content: space-between; }

	.rai-intro-grid,
	.rai-why-grid,
	.rai-podcast-grid,
	.rai-events-grid,
	.rai-insights-grid,
	.rai-whatwedo-grid,
	.rai-hearings-grid,
	.rai-newsletter-grid { grid-template-columns: 1fr; gap: 32px; }

	.rai-why-media { order: -1; }
	.rai-whatwedo-media { order: -1; }

	.rai-intro-steps { flex-wrap: wrap; justify-content: flex-start; gap: 16px 24px; }
	.rai-intro-actions,
	.rai-cta-actions { flex-direction: column; align-items: stretch; }
	.rai-intro-actions .rai-btn,
	.rai-cta-actions .rai-btn { width: 100%; }

	.rai-whatwedo-list { grid-template-columns: 1fr; gap: 24px; }

	.rai-event-card { flex-direction: column; align-items: flex-start; }
	.rai-event-card .rai-btn { width: 100%; }

	.rai-cta-grid { grid-template-columns: 1fr; padding: 40px 24px; text-align: center; }
	.rai-cta-media { order: -1; }
	.rai-cta-actions { justify-content: center; }

	.rai-form-row { grid-template-columns: 1fr; }

	.rai-latest-episode-card { padding: 24px; max-width: 100%; }
	.rai-latest-episode-label { font-size: 13px; line-height: 15px; margin-bottom: 16px; }
	.rai-latest-episode-media { margin-bottom: 16px; }
	.rai-latest-episode-title { font-size: 22px; line-height: 28px; margin-bottom: 12px; }
	.rai-latest-episode-meta { font-size: 13px; line-height: 16px; margin-bottom: 16px; }
	.rai-latest-episode-listen { gap: 12px; }
	.rai-latest-episode-listen-label { font-size: 13px; }
	.rai-latest-episode-listen a { font-size: 18px; }
	.rai-latest-episode-card:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(0, 0, 0, .22); }
	.rai-latest-episode-card:hover .rai-play-btn { transform: translate(-50%, -50%) scale(1.04); }

	.rai-footer { padding-top: 40px; }
	.rai-footer-top { grid-template-columns: 1fr; gap: 40px; padding-bottom: 32px; }
	.rai-footer-contact li { align-items: flex-start; }

	.rai-section-heading { flex-direction: column; align-items: flex-start; gap: 16px; }

	/* #rai-home-hero-section (NOT some shared wrapper) is the real two-
	   column flex container — its direct children are the text block
	   (#responsible-ai-governance-section) and the episode card
	   (#home-hero-latest-episode). !important here because the base rule
	   in style.css sets the same properties at equal specificity and
	   would otherwise win purely on source order. column-reverse (not
	   column) so the episode card shows above the text block on mobile. */
	#rai-home-hero-section { flex-direction: column-reverse !important; gap: 20px; padding: 20px; }
	#responsible-ai-governance-section, #home-hero-latest-episode { flex: 1 1 100% !important; width: 100%; }

	#raig-text { font-size: 13px; margin-bottom: 12px; }
	#raig-heading { font-size: 28px; line-height: 34px; margin-bottom: 16px; }
	#raig-content-description { font-size: 15px; margin-bottom: 24px; }
	#hero-redirection-btns { flex-direction: column !important; align-items: stretch; margin-bottom: 40px; }
	#hero-redirection-btns .elementor-button { width: 100%; font-size: 16px; padding: 12px 20px; }
	/* The single-row left-border divider still applies per grid row —
	   just the second column in each row gets it, no top/bottom borders
	   between rows. */
	#home-hero-stats-section { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px; padding: 0; }
	#home-hero-stats-section > div { padding-left: 0; border-left: none; }
	#home-hero-stats-section > div:nth-child(even) { padding-left: 24px; border-left: 1px solid #00F0C8; }
	.hero-stats-count { font-size: 28px; white-space: normal; }
	.hero-stats-text { font-size: 13px; }

	#podcast-hero-section { flex-direction: column-reverse !important; gap: 20px; padding: 20px; }
	#leading-podcast-content-section, #featured-latest-podcast { flex: 1 1 100% !important; width: 100%; }
	#podcast-leading-text { font-size: 13px; margin-bottom: 12px; }
	#podcast-leading-heading { font-size: 32px; line-height: 40px; margin-bottom: 16px; }
	#podcast-leading-desc { font-size: 15px; margin-bottom: 24px; }
	#listen-on-btns { flex-direction: column !important; align-items: stretch; margin-bottom: 32px; }
	#listen-on-btns .elementor-button { width: 100%; font-size: 16px; padding: 12px 20px; }
	#podcast-stats-section { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px; }
	#podcast-stats-section > div { padding-left: 0; border-left: none; }
	#podcast-stats-section > div:nth-child(even) { padding-left: 24px; border-left: 1px solid #E5E6EC; }
	.pod-stats-count { font-size: 28px; white-space: normal; }
	.pod-stats-desc { font-size: 13px; }

	/* Same reasoning as the hero: #rai-initiative-section's own
	   flex-direction (not a shared-wrapper lookup) controls the split.
	   column-reverse so the PolicyOra screenshot/build-compare-find card
	   shows above the text block on mobile. */
	#rai-initiative-section { flex-direction: column-reverse !important; gap: 40px; padding: 20px; }
	#left-section, #right-section { flex: 1 1 100% !important; width: 100%; }
	#initiative-left-heading { font-size: 28px; line-height: 36px; margin-bottom: 16px; }
	#initiative-content-1, #initiative-content-2, #initiative-content-3 { font-size: 15px; margin-bottom: 16px; }
	#initiative-content-3 { margin-bottom: 24px; }
	#rai-initiative-btns { flex-direction: column !important; align-items: stretch; }
	#rai-initiative-btns .elementor-button { width: 100%; font-size: 16px; padding: 12px 20px; }
	#introducing-policyora-heading { font-size: 20px; line-height: 26px; margin-bottom: 16px; }
	#build-compare-find { padding: 16px 18px; gap: 8px; }
	#build-block, #compare-block, #find-block { gap: 10px; }
	.build-image, .compare-image, .find-image { width: 36px; height: 36px; padding: 6px; border-radius: 8px; }
	.build-image img, .compare-image img, .find-image img { width: 22px; height: 22px; }
	#build-text, #compare-text, #find-text { font-size: 16px; }
	#build-block, #compare-block { padding-right: 36px; }
	#build-block::after, #compare-block::after { right: 2px; width: 28px; height: 10px; }

	#why-we-built-section { padding: 20px; }
	#why-we-build-heading { font-size: 28px; line-height: 36px; margin-bottom: 32px; }
	.rai-wwb-list { gap: 32px; }
	/* .rai-wwb-item-body normally wraps the icon/title row AND the
	   description together, so aligning it against the number column
	   with align-items also drags the (much taller, multi-line) title
	   into that alignment — the number ends up centered/topped against
	   the whole card instead of just the icon row. display:contents
	   removes the body's own box from layout, promoting its children
	   (.rai-wwb-item-top and .rai-wwb-item-description) to be direct
	   flex items of .rai-wwb-item alongside the number, so the number
	   only ever aligns against the icon+title row's own height, and the
	   description can be forced onto its own full-width line below. */
	.rai-wwb-item { flex-wrap: wrap; align-items: center; gap: 24px; }
	.rai-wwb-item-body { display: contents; }
	.rai-wwb-item-number { width: 52px; font-size: 44px; flex: 0 0 auto; }
	.rai-wwb-item-top { flex: 1 1 auto; gap: 12px; padding-top: 0; }
	.rai-wwb-item-icon { width: 40px; height: 40px; padding: 8px; border-radius: 8px; }
	.rai-wwb-item-title { font-size: 20px; }
	.rai-wwb-item-connector { display: none; }
	.rai-wwb-item-description { flex: 0 0 100%; width: 100%; font-size: 14px; margin-top: 12px; }

	#home-podcast-section { padding: 20px; }
	/* Back to a single stacked column — the fixed 340px heading column
	   plus a flexible description and a third button column has no room
	   to work with at mobile/tablet widths. */
	#podcast-heading-desc { flex-direction: column; align-items: stretch; gap: 16px; margin-bottom: 32px; }
	#home-podcast-heading { flex: 0 0 auto; font-size: 28px; line-height: 36px; }
	#podcast-content-desc { font-size: 15px; }
	#podcast-heading-desc > .elementor-widget-button { flex: 0 0 auto; }
	#podcast-heading-desc .elementor-button { font-size: 16px; padding: 12px 20px; }

	.rai-podcast-showcase { flex-direction: column; gap: 32px; }
	.rai-podcast-featured-col, .rai-podcast-picks-col { flex: 1 1 100%; width: 100%; }
	.rai-podcast-col-heading { font-size: 20px; margin-bottom: 12px; }
	.rai-podcast-featured-card { padding: 24px; }
	.rai-podcast-featured-media img { height: 180px !important; }
	.rai-podcast-featured-title { font-size: 22px; line-height: 28px; }
	.rai-podcast-featured-divider { margin: 16px 0; }
	.rai-podcast-featured-guest { font-size: 22px; line-height: 28px; }
	.rai-podcast-pick-title { font-size: 18px; line-height: 22px; }

	#events-summits-section { padding: 20px; }
	#events-summits-heading { font-size: 28px; line-height: 36px; }
	#events-summits-section > div:has(> #events-summits-heading) { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
	.full-calendar-button .elementor-button { font-size: 15px; padding: 10px 18px; }

	#reports-analysis-section { padding: 20px; }
	#reports-analysis-heading { font-size: 28px; line-height: 36px; }
	#reports-analysis-section > div:has(> #reports-analysis-heading) { flex-direction: column; align-items: flex-start; gap: 16px; }
	#reports-analysis-section .elementor-button { font-size: 15px; padding: 10px 18px; }

	#capital-hill-video-section { padding: 20px; }
	#capital-hill-video-section > div:has(> #reports-analysis-heading) { flex-direction: column; align-items: flex-start; gap: 16px; }
	/* Accordion here through the Tablet tier below: single column, player
	   back in normal flow (not absolutely pinned to a right column), so
	   it renders wherever it sits in the DOM — right after the active
	   item, per latest-videos.js. */
	.rai-hearings-listing { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; }
	.rai-hearings-listing::after { display: none; }
	.rai-hearings-items { gap: 32px; }
	.rai-hearings-player { position: relative; top: auto; right: auto; width: auto; }

	#join-movement-section { flex-direction: column; }
	#join-left-image { display: none; }
	#join-left-image img { height: 220px; }
	#join-right-content-section { padding: 20px; }
	#join-movement-heading { font-size: 28px; line-height: 32px; margin-bottom: 12px; padding: 0; }
	#join-content-desc { font-size: 14px; margin-bottom: 20px; }
	#join-movement-btns { flex-direction: column !important; align-items: stretch; gap: 12px; }
	#join-movement-btns .elementor-button { font-size: 15px; padding: 10px 18px; width: 100%; }

	#stay-informed-section { padding: 20px; }
	#stay-informed-heading { font-size: 28px; line-height: 36px; }
	.elementor-element-64dd1dc { margin-top: 28px; }
	#stay-informed-section .form-row { flex-direction: column; align-items: stretch; gap: 16px; }
	#stay-informed-section input.wpcf7-submit { width: 100%; font-size: 16px; padding: 12px 20px; }
	body.page-id-24 #stay-informed-section .newsletter-form { flex-direction: column; align-items: stretch; gap: 24px; }

	#about-us-hero-section { padding: 20px; }
	#about-us-hero-heading { font-size: 32px; line-height: 40px; margin-bottom: 16px; }
	#about-us-hero-content { font-size: 15px; }

	#advisory-board-hero-section { padding: 20px; }
	#advisory-board-heading { font-size: 32px; line-height: 40px; margin-bottom: 16px; }
	#advisory-board-desc { font-size: 15px; }

	#partners-hero-section { padding: 20px; }
	#partners-hero-heading { font-size: 32px; line-height: 38px; margin-bottom: 16px; }
	#partners-hero-desc { font-size: 15px; }

	#our-expert-hero-section { padding: 20px; }
	#our-expert-hero-heading { font-size: 32px; line-height: 38px; margin-bottom: 16px; }
	#our-expert-hero-desc { font-size: 15px; margin-bottom: 24px; }
	#net-ind-cou-section { flex-direction: row !important; flex-wrap: nowrap !important; gap: 8px; }
	#network-section, #industry-section, #countries-section { flex: 1 1 0 !important; width: auto !important; min-width: 0; padding: 10px 8px; }
	.net-ind-cou-title { font-size: 11px; margin-bottom: 4px; }
	.net-ind-cou-desc { font-size: 10px; line-height: 13px; }

	#partners-listing-section { padding: 20px; }
	#partner-list-title { font-size: 28px; line-height: 36px; margin-bottom: 24px; }
	.rai-partners-grid { gap: 16px; }
	.rai-partners-card { flex: 0 0 100%; aspect-ratio: 2.1 / 1; padding: 16px; }

	.rai-experts-listing { padding: 20px; }
	.rai-experts-filters { padding: 16px; }
	.rai-experts-search-form { flex-direction: column; align-items: stretch; gap: 10px; }
	.rai-experts-search-input { font-size: 15px; line-height: 22px; padding: 12px 16px; }
	.rai-experts-search-submit { width: 100%; font-size: 16px; padding: 12px 24px; }
	.rai-experts-tabs { gap: 8px; margin-bottom: 24px; }
	.rai-experts-tab { font-size: 14px; line-height: 18px; padding: 8px 14px; }
	.rai-experts-grid { gap: 20px; }
	.rai-expert-card { flex: 0 0 100%; padding: 20px; }

	#program-initiative-listing { padding: 20px; }
	.rai-programs-list { gap: 40px; }
	.rai-program-row { flex-direction: column; gap: 24px; }
	.rai-program-title { font-size: 28px; line-height: 36px; }
	.rai-program-short-desc { font-size: 15px; }
	.rai-program-listing-content h1, .rai-program-listing-content h2, .rai-program-listing-content h3,
	.rai-program-listing-content h4, .rai-program-listing-content h5, .rai-program-listing-content h6 { font-size: 18px; line-height: 22px; margin: 24px 0 12px; }
	.rai-program-listing-content p, .rai-program-listing-content ul li { font-size: 15px; }
	.rai-program-buttons { flex-direction: column; align-items: stretch; }
	.rai-program-btn { padding: 14px 24px; font-size: 16px; }

	#our-mission-section { flex-direction: column-reverse; gap: 32px; padding: 20px; }
	#our-mission-heading { font-size: 28px; line-height: 36px; margin-bottom: 16px; }
	#our-mission-content-1, #our-mission-content-2, #our-mission-content-3 { font-size: 14px; margin-bottom: 16px; }

	#podcast-founder-section { flex-direction: column-reverse !important; gap: 32px; padding: 20px; }
	#founder-back-sec { flex: 1 1 100% !important; width: 100%; max-width: 320px; margin: 20px auto; }
	#about-founder-sec { flex: 1 1 100% !important; width: 100%; }
	#founder-name { font-size: 28px; line-height: 36px; }
	#founder-description { font-size: 15px; }

	#events-hero-section { padding: 20px; }
	#events-hero-heading { font-size: 32px; line-height: 38px; margin-bottom: 16px; }
	#events-hero-desc { font-size: 15px; }

	#resources-hero-section { padding: 20px; }
	#resources-hero-heading { font-size: 32px; line-height: 38px; margin-bottom: 16px; }
	#resources-hero-desc { font-size: 15px; }

	/* !important — the base rule (style.css) is also !important, fighting
	   an Elementor-injected inline style; without matching !important
	   here, this override is silently ignored and the base rule's 80px
	   horizontal padding keeps applying even on narrow mobile viewports. */
	.rai-resources-listing { padding: 20px !important; }
	/* padding:0 — the base rule's own padding:0 50px stacked on top of
	   .rai-resources-listing's horizontal padding, squeezing the tabs
	   into a narrow column pushed toward the right with a large empty
	   gap on the left. min-width:0 + width:100% so each stacked tab
	   fills the column instead of sizing to its base min-width:200px. */
	.rai-resources-tabs { flex-direction: column; gap: 8px; margin-bottom: 32px; padding: 0; }
	.rai-resources-tab { font-size: 20px; padding: 0; min-width: 0; width: 100%; }
	.rai-resources-list { gap: 32px; }
	/* min-width:0 — the base rule's min-width:280px (meant to floor the
	   desktop 2-column grid, so cards don't get too narrow) was still in
	   effect here since this override never reset it, forcing the card
	   wider than its container on any mobile viewport under ~280px of
	   available content width and clipping the title/image at the edge. */
	.rai-resource-card { flex: 1 1 100%; min-width: 0; }
	.rai-resource-card-title a { font-size: 20px; line-height: 26px; }
	.rai-resource-card-meta { font-size: 13px; }

	.rai-resource-press-item { padding-bottom: 24px; margin-bottom: 24px; }
	.rai-resource-press-media img { max-height: 240px !important; }
	.rai-resource-press-badge { top: 12px; right: 0; font-size: 13px; line-height: 16px; padding: 6px 12px; }
	.rai-resource-press-header { flex-direction: column; align-items: flex-start; gap: 12px; }
	.rai-resource-press-title a { font-size: 20px; line-height: 26px; }
	.rai-resource-press-meta { font-size: 13px; }

	.rai-resources-featured { padding: 32px 0; margin-bottom: 32px; }
	.rai-resources-featured-inner { flex-direction: column-reverse; gap: 24px; padding: 0 20px; }
	.rai-resources-featured-media { flex: 1 1 100%; width: 100%; }
	.rai-resources-featured-heading { font-size: 18px; line-height: 24px; }
	.rai-resources-featured-title a { font-size: 20px; line-height: 26px; }
	.rai-resources-featured-desc { font-size: 15px; }
	.rai-resources-all-heading { font-size: 28px; line-height: 36px; margin-bottom: 24px; }
	/* min-width:0 — same fix as .rai-resource-card above; the base
	   rule's min-width:280px was still floor-ing this card's width past
	   the viewport on mobile. */
	.rai-resource-news-card { flex: 1 1 100%; min-width: 0; }
	.rai-resource-news-title a { font-size: 20px; line-height: 26px; }
	.rai-resource-news-meta { font-size: 13px; }

	#events-highlights-list-section { padding: 20px; }
	#highlights-heading { font-size: 28px; line-height: 36px; }
	.rai-event-highlights-grid { gap: 20px; }
	.rai-event-highlight-card { flex: 0 0 100%; }
	.rai-event-highlight-logo { max-height: 70px; }
	.rai-event-highlight-title { font-size: 20px; line-height: 24px; }
	#upcoming-events-list-section { padding: 20px; }
	#upcoming-events-heading { font-size: 28px; line-height: 36px; }
	.rai-upcoming-events-grid { gap: 20px; }
	.rai-upcoming-event-card { flex: 0 0 100%; }
	.rai-upcoming-event-title { font-size: 20px; line-height: 22px; margin-bottom: 16px; }
	.rai-upcoming-event-footer { flex-direction: column; align-items: flex-start; gap: 12px; }

	#how-we-work-section { padding: 20px; }
	#how-we-work-heading { font-size: 28px; line-height: 36px; margin-bottom: 20px; }
	.rai-mission-pillar { flex-direction: column; }
	.rai-mp-tabs { flex: 0 0 auto; }
	.rai-mp-tab { flex: 0 0 auto; padding: 16px 20px; font-size: 18px; }
	.rai-mp-content-wrap { border-left: none; }
	.rai-mp-content { border-top: 1px solid #28508C; border-bottom: 1px solid #28508C; padding: 20px; }
	.rai-mp-badge { font-size: 11px; }
	.rai-mp-title { font-size: 22px; margin-bottom: 12px; }
	.rai-mp-description { font-size: 15px; }

	#rai-timeline-section { padding: 20px; }
	#rai-timeline-heading { font-size: 28px; line-height: 36px; margin-bottom: 24px; }
	.rai-timeline-list { margin: 0; }
	.rai-timeline-number { width: 36px; height: 36px; font-size: 18px; }
	.rai-timeline-item:not(:last-child)::before { left: 18px; height: calc(100% + 28px); }
	.rai-timeline-connector { width: 34px; margin-top: 18px; }
	.rai-timeline-content { padding-left: 12px; }
	.rai-timeline-year { font-size: 30px; line-height: 38px; }
	.rai-timeline-description { font-size: 14px; margin-top: 6px; }
	.rai-timeline-item { margin-bottom: 28px; }

	#events-summit-column-section { flex-direction: column; gap: 24px; }
	#upcoming-events-list { flex: 1 1 100%; gap: 16px; }
	#events-summit-monitoring { flex: 1 1 100%; gap: 16px; }

	/* Desktop is a single flex row (date | body | media). At mobile the
	   date stays a left-hand column but image+content now stack in a
	   column next to it instead of squeezing into that same row — CSS
	   Grid (not flex) so the date can span both the image's and body's
	   rows regardless of their DOM order. */
	.rai-events-listing-card { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; gap: 12px; }
	.rai-events-listing-date { grid-column: 1; grid-row: 1 / 3; width: auto; padding: 8px 4px; }
	.rai-events-listing-date-day, .rai-events-listing-date-month { font-size: 13px; }
	.rai-events-listing-date-range-line, .rai-events-listing-date-range-sep { font-size: 9px; }
	.rai-events-listing-media { grid-column: 2; grid-row: 1; width: 100%; align-self: auto; }
	.rai-events-listing-media img { height: auto !important; aspect-ratio: 16 / 10; object-fit: cover !important; }
	.rai-events-listing-body { grid-column: 2; grid-row: 2; padding: 12px; gap: 4px; }
	.rai-events-listing-type { font-size: 12px; }
	.rai-events-listing-title a { font-size: 16px; line-height: 20px; }
	.rai-events-listing-location { font-size: 12px; }

	.rai-wwd-item { padding: 18px 0; gap: 8px; }
	.rai-wwd-item-title { font-size: 20px; line-height: 26px; }
	.rai-wwd-item-description { font-size: 14px; line-height: 19px; }
	.rai-wwd-item-link { font-size: 14px; line-height: 19px; }

	#what-we-do-section { padding: 20px; }
	#what-we-do-heading { font-size: 28px; line-height: 36px; margin-bottom: 24px; }
	#what-we-do-two-col-view { flex-direction: column; gap: 32px; }
	.rai-wwd-pillars { max-width: 320px; margin: 0 auto; }
	.rai-wwd-pillars-item { gap: 19px; }
	.rai-wwd-pillars-item-1 { gap: 49px; }
	.rai-wwd-pillars-item-3 { gap: 45px; }
	.rai-wwd-pillars-item-4 { gap: 34px; }
	.rai-wwd-pillars-label-text { font-size: 9px; }

	#real-time-legislative-monitoring, #host-with-us-section { padding: 24px; }
	#real-time-legislative-heading { font-size: 24px; line-height: 32px; }
	.host-event-with-us .elementor-button { font-size: 18px; padding: 12px 22px; }
	.btn-transparent-blue-border .elementor-button { font-size: 16px; }
	#host-with-us-content { font-size: 16px; }
	.get-in-touch-btn .elementor-button { font-size: 16px; padding: 12px 22px; }

	.rai-reports-listing { flex-direction: column; gap: 32px; margin-top: 24px; }
	.rai-reports-listing-card { flex: 1 1 100%; min-width: 0; }
	.rai-reports-listing-title a { font-size: 20px; }
	.rai-reports-listing-meta { font-size: 12px; }
	.rai-reports-listing-link { font-size: 14px; }

	#advisory-board-list-section { padding: 20px; }
	.rai-advisory-board-row-inner,
	.rai-advisory-board-row:nth-child(even) .rai-advisory-board-row-inner { flex-direction: column; padding: 40px 20px; gap: 24px; }
	.rai-advisory-board-media { flex: none; max-width: 100%; width: 100%; }
	.rai-advisory-board-content { flex: none; max-width: 100%; }
	.rai-advisory-board-name { font-size: 24px; line-height: 30px; }

	#podcast-guest-list-section { padding: 20px; }
	#guest-content-section { display: flex !important; flex-direction: column !important; align-items: flex-start; justify-content: flex-start; gap: 20px; margin-bottom: 48px; }
	textarea.form-control { min-height: calc(1.5em + 5.75rem + calc(var(--bs-border-width) * 2)); }
	#guest-list-heading { font-size: 28px; line-height: 36px; }
	#guest-description { font-size: 15px; }
	.rai-podcast-guest-list { gap: 20px; }
	.rai-podcast-guest-card { flex: 1 1 100%; min-width: 0; }

	#latest-episode-section { padding: 20px; }
	#latest-episode-heading { font-size: 28px; line-height: 36px; margin-bottom: 24px; }
	.rai-latest-episodes-grid { gap: 16px; }
	.rai-latest-episode-item { flex: 1 1 100%; min-width: 0; padding: 20px; padding-top: 40px; }
	.rai-latest-episode-item-title { font-size: 20px; line-height: 24px; }

	#advisory-get-involoved-section { padding: 20px; }
	#background-section-for-get-involved { flex-direction: column !important; align-items: flex-start; gap: 24px; padding: 28px 24px; }
	#join-advisory-section { flex: 0 0 auto !important; max-width: none !important; width: 100%; }
	#join-advisory-heading { font-size: 28px; line-height: 36px; max-width: none; }
	#join-advisory-description { font-size: 14px; line-height: 20px; max-width: none; }
	#experts-btn-section,
	#join-advisory-section + div { width: 100% !important; }
	.aply-network-btn { width: 100%; }
	.aply-network-btn .elementor-button { width: 100%; font-size: 16px; padding: 14px 24px; }
	.request-expert-btn { width: 100%; }
	.request-expert-btn .elementor-button { width: 100%; font-size: 16px; padding: 14px 24px; }

	#contact-us-section { flex-direction: column !important; gap: 32px; padding: 20px; }
	#reach-us-directly-heading { font-size: 28px; line-height: 36px; }
	#reach-us-directly-text { font-size: 15px; margin-bottom: 24px; }
	#email-address-section p,
	#address-location-section p,
	#business-days-section p { font-size: 16px; }
	#reach-us-directly-section + div { padding: 32px 24px; }
	.rai-contact-form-heading { font-size: 28px; line-height: 36px; }
	.rai-contact-form-subheading { font-size: 14px; }
	#contact-us-section .form-row { flex-direction: column; }
	#contact-us-section input.wpcf7-submit { width: 100%; font-size: 16px; padding: 12px 20px; }

	.rai-single-title { font-size: 28px; line-height: 36px; margin-bottom: 16px; }
	.rai-post-hero-badge { font-size: 13px; padding: 6px 12px; }
	.rai-post-meta-row { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
	.rai-post-share-label { font-size: 16px; line-height: 24px; }
	.rai-post-share-link { width: 34px; height: 34px; }
	.rai-post-share-link i { font-size: 13px; }
	.rai-entry-content h2 { font-size: 24px; margin: 24px 0 12px; }
	.rai-entry-content p,
	.rai-entry-content li { font-size: 15px; line-height: 23px; }

	.expert-section-heading { font-size: 28px; line-height: 36px; margin-bottom: 24px; }
	.expert-btn { font-size: 16px; line-height: 20px; padding: 12px 20px; width: 100%; }

	#expert-hero-section { padding: 20px; }
	#expert-hero-section .rai-container { flex-direction: column; gap: 24px; }
	#expert-hero-media { flex: none; max-width: 240px; margin: 0 auto; }
	#expert-hero-name { font-size: 28px; line-height: 36px; }
	#expert-hero-tagline { font-size: 18px; line-height: 24px; }
	#expert-hero-btns { flex-direction: column; align-items: stretch; width: 100%; }

	#expert-stats-section { padding: 20px; }
	#expert-stats-row { flex-wrap: wrap; row-gap: 24px; }
	.expert-stat { flex: 1 1 50%; border-left: none; padding: 0 12px; margin-bottom: 0; }
	.expert-stat-count { font-size: 30px; }

	#expert-expertise-grid { flex-direction: column; }
	.expert-expertise-card { flex: 1 1 100%; }

	#expert-experience-timeline { flex-direction: column; gap: 32px; }
	#expert-experience-timeline::before { top: 0; bottom: 0; left: 30px; right: auto; width: 0; border-top: none; border-left: 2px dashed #00F0C8; }
	.expert-experience-item { text-align: left; padding-left: 60px; }
	.expert-experience-dot { position: absolute; left: 21px; top: 4px; margin: 0; }
	.expert-experience-title,
	.expert-experience-meta { text-align: left; }

	#expert-credentials-box { padding: 32px 24px; }
	#expert-credentials-list { grid-template-columns: 1fr; }

	#expert-help-grid { flex-direction: column; }
	.expert-help-card { flex: 1 1 100%; flex-direction: column; align-items: flex-start; }
	.expert-help-request { align-self: stretch; justify-content: center; }

	#expert-cta-section { padding: 20px; margin-bottom: 30px; }
	#expert-cta-inner { flex-direction: column; align-items: flex-start; }
	#expert-cta-heading { font-size: 26px; line-height: 34px; }
	#expert-cta-btns { flex-direction: column; align-items: stretch; width: 100%; }

	#event-contact-section { padding: 20px; }
	#event-contact-inner { flex-direction: column; align-items: flex-start; }
	#event-contact-heading { font-size: 26px; line-height: 34px; }
	#event-contact-section .expert-btn { width: 100%; }

	#podcast-guest-cta-section { padding: 20px; }
	#podcast-guest-cta-inner { flex-direction: column; align-items: flex-start; }
	#podcast-guest-cta-heading { font-size: 26px; line-height: 34px; }
	#podcast-guest-cta-section .expert-btn { width: 100%; }

	#episode-related-section { padding: 20px; }
	#episode-related-heading { font-size: 30px; line-height: 38px; margin-bottom: 24px; }
	#episode-related-grid .rai-podcast-pick-card { flex: 1 1 100%; }

	#single-podcast-hero-section { padding: 20px; }
	#single-podcast-hero-section .rai-container { flex-direction: column; align-items: flex-start; }
	#podcast-hero-title { font-size: 36px; line-height: 44px; margin-bottom: 20px; }
	#podcast-hero-guest-name { font-size: 20px; line-height: 26px; }
	#podcast-hero-media { flex: 1 1 100%; max-width: 100%; }

	#podcast-content-section { padding: 20px; }
	#podcast-about-inner { flex-direction: column; gap: 32px; }
	#podcast-about-heading { font-size: 30px; line-height: 38px; margin-bottom: 16px; }
	#podcast-chapters-heading { font-size: 22px; line-height: 28px; }
	#podcast-about-guest-card { flex: 1 1 100%; max-width: 100%; padding: 24px; }

	#podcast-guest-hero-section { padding: 20px; }
	#podcast-guest-hero-section .rai-container { flex-direction: column; gap: 40px; }
	#podcast-guest-hero-media { flex: 1 1 100%; max-width: 260px; margin: 0 auto; }
	#podcast-guest-hero-content { padding-top: 0; text-align: center; }
	#podcast-guest-hero-name { font-size: 28px; }
	#podcast-guest-hero-divider { margin: 20px auto; }

	#all-episodes-header { padding: 20px; }
	#all-episodes-heading { font-size: 32px; line-height: 40px; }
	.all-episodes-section-heading { font-size: 28px; line-height: 36px; margin-bottom: 24px; }
	#all-episodes-featured-section,
	#all-episodes-grid-section { padding: 20px; }
	.rai-all-episodes-grid .rai-episode-listing-card { flex: 1 1 100%; }
	#podcast-guest-episodes-grid .rai-episode-listing-card { flex: 1 1 100%; }
	.rai-featured-episodes-slider .slick-prev { left: -8px; }
	.rai-featured-episodes-slider .slick-next { right: -8px; }

	#podcast-guests-header { padding: 20px; }
	#podcast-guests-heading { font-size: 32px; line-height: 40px; }
	#podcast-guests-listing-section { padding: 20px; }

	#all-videos-header { padding: 20px; }
	#all-videos-heading { font-size: 32px; line-height: 40px; }
	#all-videos-grid-section { padding: 20px; }
	.rai-video-listing-card { flex: 1 1 100%; }
	.rai-video-modal-dialog { margin: 12px; }
	.rai-video-modal-title { font-size: 15px; }

	#events-page-header { padding: 20px; }
	#events-page-heading { font-size: 32px; line-height: 40px; }
	.events-section-heading { font-size: 28px; line-height: 36px; margin-bottom: 24px; }
	#events-upcoming-section,
	#events-past-section { padding: 20px; }
	.rai-past-events-grid .rai-event-listing-card { flex: 1 1 100%; }
	.rai-past-events-filter { flex-direction: column; align-items: stretch; padding: 20px; }
	.rai-past-events-filter-actions { width: 100%; }
	.rai-past-events-filter-submit,
	.rai-past-events-filter-reset { flex: 1 1 50%; }
	.rai-upcoming-events-slider .slick-prev { left: -8px; }
	.rai-upcoming-events-slider .slick-next { right: -8px; }

	#event-hero-section { padding: 20px; }
	#event-hero-section .rai-container { flex-direction: column; align-items: flex-start; }
	#event-hero-title { font-size: 36px; line-height: 44px; }
	#event-hero-subtitle { font-size: 16px; }
	#event-hero-media { flex: 1 1 100%; max-width: 100%; }

	#event-countdown-section { padding: 20px; }
	#event-countdown-inner { flex-direction: column; align-items: flex-start; }
	#event-countdown-title { font-size: 26px; line-height: 32px; }
	#event-countdown-timer { flex-wrap: wrap; gap: 12px; }
	.event-countdown-unit { width: calc((100% - 12px) / 2); }
	.event-countdown-divider { display: none; }

	#event-about-section { padding: 20px; }
	#event-about-heading { font-size: 30px; line-height: 38px; }
	#event-details-box { padding: 24px 20px; }
	.event-detail-item { flex: 1 1 100%; }
}

/* =========================================================
   1B. EVENTS LISTING CARD — min-width: 500px and max-width: 768px
   ========================================================= */
/* Below 500px the card is a stacked CSS Grid (date spans the left
   column, image on top, content below — see the Mobile block above).
   At 500px and up there's enough width to go back to the original
   desktop row structure (date | image | content side by side), just at
   a smaller scale than the full desktop card. This must come after the
   Mobile block in source order so it wins for the 500–768px overlap. */
@media (min-width: 500px) and (max-width: 768px) {
	.rai-events-listing-card { display: flex; flex-direction: row; align-items: stretch; gap: 12px; }
	.rai-events-listing-date { display: flex; align-items: center; justify-content: center; width: 44px; padding: 8px 4px; }
	.rai-events-listing-media { width: 140px; align-self: stretch; }
	.rai-events-listing-media img { height: 100% !important; aspect-ratio: auto; object-fit: fill !important; }
	.rai-events-listing-body { padding: 12px 0; gap: 4px; }
}

/* =========================================================
   2. LANDSCAPE — min-width: 600px and max-width: 768px
   ========================================================= */
@media (min-width: 600px) and (max-width: 768px) {
	/* Wide enough here to go back to a single row for both button pairs
	   (they were stacked column at true mobile widths below 600px) —
	   !important to beat the mobile block's own !important column rule. */
	#hero-redirection-btns { flex-direction: row !important; align-items: stretch; margin-bottom: 40px; flex-wrap: wrap; }
	#hero-redirection-btns .elementor-button { width: auto; }
	#rai-initiative-btns { flex-direction: row !important; align-items: stretch; flex-wrap: wrap; }
	#rai-initiative-btns .elementor-button { width: auto; }

	.rai-topbar-label { font-size: 16px; line-height: 20px; padding: 12px 18px; }
	.rai-topbar-ticker { padding-left: 18px; }
	.rai-topbar-ticker-item { font-size: 13px; line-height: 16px; }
	.rai-topbar-ticker-sep { margin: 0 16px; font-size: 17px; }

	.rai-logo { max-height: 38px; }
	.rai-btn-newsletter { font-size: 14px; }
	.rai-btn-join-community { font-size: 15px; line-height: 19px; padding: 9px 18px; }

	.rai-whatwedo-list { grid-template-columns: 1fr 1fr; }
	.rai-insights-grid { grid-template-columns: 1fr 1fr; }
	.rai-hero-stats { flex-wrap: nowrap; }
	.rai-cta-grid { grid-template-columns: 1fr; padding: 48px 40px; }
	.rai-footer-top { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 20px; }
	.rai-footer-brand { grid-column: 1 / -1; }

	.rai-latest-episode-card { max-width: 100%; }
	.rai-latest-episode-title { font-size: 26px; line-height: 32px; }
	.rai-latest-episode-meta { font-size: 14px; }

	#raig-heading { font-size: 42px; line-height: 52px; }
	#raig-content-description { font-size: 16px; }
	#hero-redirection-btns .elementor-button { font-size: 17px; padding: 12px 22px; }
	/* From 600px up, back to a single row like desktop (only true mobile,
	   below 600px, keeps the 2x2 grid from the block above) — !important
	   needed to beat that same-specificity mobile rule, since it's also
	   !important and would otherwise win by importance regardless of
	   source order. */
	#home-hero-stats-section { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch; gap: 24px; }
	#home-hero-stats-section > div { padding-left: 24px; border-left: 1px solid #00F0C8; }
	#home-hero-stats-section > div:first-child { padding-left: 0; border-left: none; }
	.hero-stats-count { font-size: 34px; white-space: nowrap; }

	#podcast-leading-heading { font-size: 42px; line-height: 52px; }
	#podcast-leading-desc { font-size: 16px; }
	#listen-on-btns .elementor-button { font-size: 17px; padding: 12px 22px; }
	#podcast-stats-section { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch; gap: 24px; }
	#podcast-stats-section > div { padding-left: 24px; border-left: 1px solid #E5E6EC; }
	#podcast-stats-section > div:first-child { padding-left: 0; border-left: none; }
	.pod-stats-count { font-size: 34px; white-space: nowrap; }

	#rai-initiative-section { padding: 50px 40px; }
	#initiative-left-heading { font-size: 32px; line-height: 40px; }
	#introducing-policyora-heading { font-size: 22px; line-height: 28px; }

	#why-we-built-section { padding: 50px 40px; }
	#why-we-build-heading { font-size: 32px; line-height: 40px; }
	.rai-wwb-item { gap: 28px; }
	.rai-wwb-item-number { width: 60px; font-size: 52px; }
	.rai-wwb-item-icon { width: 44px; height: 44px; }
	.rai-wwb-item-title { font-size: 22px; }

	#home-podcast-section { padding: 50px 40px; }
	#home-podcast-heading { font-size: 32px; line-height: 40px; }
	.rai-podcast-featured-media img { height: 200px !important; }
	.rai-podcast-featured-title { font-size: 26px; line-height: 32px; }
	.rai-podcast-featured-guest { font-size: 26px; line-height: 32px; }

	#events-summits-section { padding: 50px 40px; }
	#events-summits-heading { font-size: 32px; line-height: 40px; }
	.rai-events-listing-title a { font-size: 18px; line-height: 22px; }
	#real-time-legislative-heading { font-size: 30px; line-height: 38px; }

	#reports-analysis-section { padding: 50px 40px; }
	#reports-analysis-heading { font-size: 32px; line-height: 40px; }
	.rai-reports-listing-title a { font-size: 22px; }

	#capital-hill-video-section { padding: 50px 40px; }

	#what-we-do-section { padding: 50px 40px; }
	#what-we-do-heading { font-size: 32px; line-height: 40px; }
	.rai-wwd-pillars { max-width: 380px; margin: 0 auto; }
	.rai-wwd-pillars-item { gap: 23px; }
	.rai-wwd-pillars-item-1 { gap: 59px; }
	.rai-wwd-pillars-item-3 { gap: 54px; }
	.rai-wwd-pillars-item-4 { gap: 40px; }
	.rai-wwd-pillars-label-text { font-size: 10px; }

	#join-left-image img { height: 260px; }
	#join-right-content-section { padding: 32px 40px 40px; }
	#join-movement-heading { font-size: 32px; line-height: 40px; }
	#join-content-desc { font-size: 15px; }
	#join-movement-btns { flex-direction: row !important; }
	#join-movement-btns .elementor-button { width: auto; }

	#stay-informed-section { padding: 50px 40px; }
	#stay-informed-heading { font-size: 32px; line-height: 40px; }
	#stay-informed-section input.wpcf7-submit { width: auto; }

	#about-us-hero-section { padding: 50px 40px; }
	#about-us-hero-heading { font-size: 46px; line-height: 56px; }
	#about-us-hero-content { font-size: 16px; }

	#advisory-board-hero-section { padding: 50px 40px; }
	#advisory-board-heading { font-size: 46px; line-height: 56px; }
	#advisory-board-desc { font-size: 16px; }

	#partners-hero-section { padding: 50px 40px; }
	#partners-hero-heading { font-size: 46px; line-height: 52px; }
	#partners-hero-desc { font-size: 16px; }

	#our-expert-hero-section { padding: 50px 40px; }
	#our-expert-hero-heading { font-size: 46px; line-height: 52px; }
	#our-expert-hero-desc { font-size: 16px; }
	#net-ind-cou-section { flex-direction: row !important; flex-wrap: nowrap !important; gap: 12px; }
	#network-section, #industry-section, #countries-section { flex: 1 1 0 !important; width: auto !important; min-width: 0; padding: 14px 12px; }
	.net-ind-cou-title { font-size: 13px; }
	.net-ind-cou-desc { font-size: 11px; line-height: 14px; }

	#partners-listing-section { padding: 50px 40px 0; }
	#partner-list-title { font-size: 32px; line-height: 40px; }
	.rai-partners-grid { gap: 20px; }
	.rai-partners-card { flex: 0 0 calc((100% - 20px) / 2); }

	.rai-experts-listing { padding: 50px 40px 0; }
	.rai-experts-search-submit { font-size: 17px; padding: 13px 28px; }
	.rai-experts-tab { font-size: 16px; padding: 10px 18px; }
	.rai-experts-grid { gap: 20px; }
	.rai-expert-card { flex: 0 0 calc((100% - 20px) / 2); }

	#program-initiative-listing { padding: 50px 40px 0; }
	.rai-programs-list { gap: 48px; }
	.rai-program-row { flex-direction: column; gap: 24px; }
	.rai-program-title { font-size: 32px; line-height: 40px; }
	.rai-program-short-desc { font-size: 16px; }
	.rai-program-listing-content h1, .rai-program-listing-content h2, .rai-program-listing-content h3,
	.rai-program-listing-content h4, .rai-program-listing-content h5, .rai-program-listing-content h6 { font-size: 20px; line-height: 24px; margin: 28px 0 14px; }
	.rai-program-listing-content p, .rai-program-listing-content ul li { font-size: 16px; }
	.rai-program-buttons { flex-wrap: wrap; }

	#our-mission-section { padding: 50px 40px; }
	#our-mission-heading { font-size: 32px; line-height: 40px; }

	#podcast-founder-section { padding: 50px 40px; }
	#founder-name { font-size: 32px; line-height: 40px; }

	#events-hero-section { padding: 50px 40px; }
	#events-hero-heading { font-size: 46px; line-height: 52px; }

	#resources-hero-section { padding: 50px 40px; }
	#resources-hero-heading { font-size: 46px; line-height: 52px; }

	.rai-resources-listing { padding: 50px 40px !important; }
	.rai-resources-tab { font-size: 22px; }
	.rai-resource-press-media img { max-height: 290px !important; }
	.rai-resource-press-title a { font-size: 22px; line-height: 28px; }
	.rai-resources-featured-inner { padding: 0 40px; }
	.rai-resources-all-heading { font-size: 32px; line-height: 40px; }
	.rai-resource-news-title a { font-size: 22px; line-height: 28px; }

	#events-highlights-list-section { padding: 50px 40px; }
	#highlights-heading { font-size: 32px; line-height: 40px; }
	.rai-event-highlights-grid { gap: 20px; }
	.rai-event-highlight-card { flex: 0 0 calc((100% - 20px) / 2); }
	#upcoming-events-list-section { padding: 50px 40px; }
	#upcoming-events-heading { font-size: 32px; line-height: 40px; }
	.rai-upcoming-events-grid { gap: 20px; }
	.rai-upcoming-event-card { flex: 0 0 calc((100% - 20px) / 2); }

	#how-we-work-section { padding: 50px 40px; }
	#how-we-work-heading { font-size: 32px; line-height: 40px; }
	.rai-mp-tab { font-size: 22px; }
	.rai-mp-title { font-size: 26px; }
	.rai-mp-description { font-size: 16px; }

	#rai-timeline-section { padding: 50px 40px; }
	#rai-timeline-heading { font-size: 32px; line-height: 40px; }
	.rai-timeline-list { margin: 0; }
	.rai-timeline-year { font-size: 36px; line-height: 44px; }
	.rai-timeline-description { font-size: 16px; }

	#podcast-guest-list-section { padding: 50px 40px; }
	#guest-list-heading { font-size: 32px; line-height: 40px; }

	#latest-episode-section { padding: 50px 40px; }
	#latest-episode-heading { font-size: 32px; line-height: 40px; }

	#advisory-board-list-section { padding: 20px; }
	.rai-advisory-board-row-inner,
	.rai-advisory-board-row:nth-child(even) .rai-advisory-board-row-inner { flex-direction: column; padding: 40px; gap: 24px; }
	.rai-advisory-board-media { flex: none; max-width: 100%; width: 100%; }
	.rai-advisory-board-content { flex: none; max-width: 100%; }
	.rai-advisory-board-name { font-size: 26px; line-height: 32px; }

	#advisory-get-involoved-section { padding: 20px; }
	#background-section-for-get-involved { flex-direction: column !important; align-items: flex-start; gap: 24px; padding: 32px 40px; }
	#join-advisory-section { flex: 0 0 auto !important; max-width: none !important; width: 100%; }
	#join-advisory-heading { font-size: 32px; line-height: 40px; }
	#experts-btn-section,
	#join-advisory-section + div { width: auto !important; }
	.aply-network-btn, .aply-network-btn .elementor-button { width: auto; }
	.request-expert-btn, .request-expert-btn .elementor-button { width: auto; }

	#contact-us-section { flex-direction: column !important; gap: 32px; padding: 50px 40px; }
	#reach-us-directly-heading { font-size: 32px; line-height: 40px; }
	#reach-us-directly-section + div { padding: 40px; }
	.rai-contact-form-heading { font-size: 32px; line-height: 40px; }
}

/* =========================================================
   1a. EXTRA-SMALL MOBILE — max-width: 767px
   Positioned after Landscape (not right after Mobile above) on purpose:
   Landscape's range (600-768px) overlaps this one, and without !important
   a rule's source order decides ties — placed earlier, Landscape's later
   #rai-initiative-section padding was silently winning at exactly 767px.
   ========================================================= */
@media (max-width: 767px) {
	#rai-initiative-section {
		flex-direction: column-reverse !important;
		gap: 20px;
		padding: 20px;
	}

	p.rai-wwb-item-description { padding: 0; }

	div#what-we-do-two-col-view { padding: 0; }
	.elementor-element.elementor-element-0cbdc5c.e-con.e-atomic-element.e-div-block-base { padding: 0; }

	#what-we-do-two-col-view { flex-direction: column; gap: 15px; }
}

/* Below 600px only — the 600-767px range below has its own gap value,
   since it also overlaps the Landscape tier above and needs !important
   to beat Landscape's own (non-important) .rai-wwd-pillars-item gap. */
@media (max-width: 600px) {
	.rai-wwd-pillars-item {
		position: absolute;
		bottom: 20%;
		width: 6%;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 5px !important;
	}
}

/* 600px through 767px — no !important needed here since this rule is
   simply the last .rai-wwd-pillars-item declaration in source order for
   this range (after both Landscape's and the base Mobile block's). */
@media (min-width: 600px) and (max-width: 768px) {
	.rai-wwd-pillars-item {
		position: absolute;
		bottom: 20%;
		width: 6%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}

/* =========================================================
   3. TABLET — min-width: 768px and max-width: 991px
   ========================================================= */
@media (min-width: 768px) and (max-width: 991px) {
	:root { --rai-section-y: 40px; }

	.rai-container { padding: 25px 40px; }
	.rai-header { padding: 25px 40px; }

	.rai-topbar-label { font-size: 18px; line-height: 22px; padding: 14px 24px; }
	.rai-topbar-ticker { padding-left: 24px; }
	.rai-topbar-ticker-item { font-size: 13px; line-height: 16px; }
	.rai-topbar-ticker-sep { margin: 0 18px; font-size: 17px; }

	.rai-logo { max-height: 40px; }
	.rai-btn-newsletter { font-size: 15px; }
	.rai-btn-join-community { font-size: 17px; line-height: 21px; padding: 10px 20px; }

	.rai-hero-grid { grid-template-columns: 1fr; gap: 48px; }
	.rai-hero-grid .rai-episode-card { max-width: 480px; margin: 0 auto; }

	.rai-intro-grid { grid-template-columns: 1fr; gap: 40px; }
	.rai-why-grid { grid-template-columns: 1fr; gap: 40px; }
	.rai-why-media { order: -1; }

	.rai-podcast-grid { grid-template-columns: 1fr; }
	.rai-events-grid { grid-template-columns: 1fr; }
	.rai-insights-grid { grid-template-columns: 1fr 1fr; }

	.rai-whatwedo-grid { grid-template-columns: 1fr; gap: 40px; }
	.rai-whatwedo-media { order: -1; max-width: 320px; margin: 0 auto; }
	.rai-whatwedo-list { grid-template-columns: 1fr 1fr; }

	.rai-hearings-grid { grid-template-columns: 1fr; gap: 32px; }
	.rai-hearing-media { order: -1; }

	.rai-cta-grid { grid-template-columns: 1fr; padding: 56px; text-align: center; }
	.rai-cta-actions { justify-content: center; }

	.rai-newsletter-grid { grid-template-columns: 1fr; gap: 40px; }
	.rai-form-row { grid-template-columns: 1fr 1fr; }

	/* row-gap wider than column-gap: extra breathing room between the
	   brand/contact row and the menu columns below it, without pushing
	   the 4 columns further apart horizontally. */
	.rai-footer-top { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 24px; row-gap: 64px; }
	.rai-footer-brand { grid-column: 1 / -1; }

	/* Same reasoning as the mobile block: the hero's two columns still
	   need to stack at tablet width — a fixed 480px episode card plus a
	   flexible text column is too cramped in a portrait tablet viewport.
	   column-reverse so the episode card shows above the text block. */
	#rai-home-hero-section { flex-direction: column-reverse !important; gap: 40px; padding: 50px 40px; }
	#responsible-ai-governance-section, #home-hero-latest-episode { flex: 1 1 100% !important; width: 100%; }
	div#home-hero-latest-episode { justify-content: center; display: flex; }

	#raig-heading { font-size: 52px; line-height: 62px; }
	#home-hero-stats-section { gap: 24px; }
	.hero-stats-count { font-size: 38px; }

	#podcast-hero-section { flex-direction: column-reverse !important; gap: 40px; padding: 50px 40px; }
	#leading-podcast-content-section, #featured-latest-podcast { flex: 1 1 100% !important; width: 100%; }
	div#featured-latest-podcast { justify-content: center; display: flex; }
	#podcast-leading-heading { font-size: 52px; line-height: 62px; }
	#podcast-stats-section { gap: 24px; }
	.pod-stats-count { font-size: 38px; }

	#rai-initiative-section { flex-direction: column-reverse !important; gap: 40px; padding: 50px 40px; }
	#left-section, #right-section { flex: 1 1 100% !important; width: 100%; }
	#initiative-left-heading { font-size: 36px; line-height: 44px; }
	#introducing-policyora-heading { font-size: 24px; line-height: 30px; }

	#why-we-built-section { padding: 50px 40px; }
	#why-we-build-heading { font-size: 36px; line-height: 44px; }
	.rai-wwb-list { gap: 40px; }
	.rai-wwb-item { gap: 32px; }
	.rai-wwb-item-number { width: 70px; font-size: 60px; }
	.rai-wwb-item-icon { width: 48px; height: 48px; }
	.rai-wwb-item-title { font-size: 26px; }
	.rai-wwb-item-connector { display: none; }

	/* Still not enough room for the featured card plus a fixed-380px
	   picks column to coexist — same "stack until genuinely wide enough"
	   approach as the hero/initiative sections above. */
	#home-podcast-section { padding: 50px 40px; }
	#podcast-heading-desc { flex-direction: column; align-items: stretch; gap: 16px; }
	#home-podcast-heading { flex: 0 0 auto; font-size: 36px; line-height: 44px; }
	#podcast-heading-desc > .elementor-widget-button { flex: 0 0 auto; }
	.rai-podcast-showcase { flex-direction: column; gap: 32px; }
	.rai-podcast-featured-col, .rai-podcast-picks-col { flex: 1 1 100%; width: 100%; }
	.rai-podcast-col-heading { font-size: 22px; margin-bottom: 14px; }
	.rai-podcast-featured-media img { height: 210px !important; }
	.rai-podcast-featured-title { font-size: 28px; line-height: 34px; }
	.rai-podcast-featured-guest { font-size: 28px; line-height: 34px; }

	#events-summits-section { padding: 50px 40px; }
	#events-summits-heading { font-size: 36px; line-height: 44px; }
	#events-summits-section > div:has(> #events-summits-heading) { flex-direction: row; align-items: flex-start; gap: 16px; margin-bottom: 32px; }
	#events-summit-column-section { flex-direction: column; gap: 32px; }
	#upcoming-events-list { flex: 1 1 100%; }
	#events-summit-monitoring { flex: 1 1 100%; flex-direction: row; }
	.rai-events-listing-title a { font-size: 19px; line-height: 23px; }
	#real-time-legislative-heading { font-size: 32px; line-height: 40px; }

	#reports-analysis-section { padding: 50px 40px; }
	#reports-analysis-heading { font-size: 36px; line-height: 44px; }
	#reports-analysis-section > div:has(> #reports-analysis-heading) { flex-direction: row; align-items: flex-start; gap: 16px; }
	.rai-reports-listing { gap: 32px; margin-top: 28px; }

	#capital-hill-video-section { padding: 50px 40px; }
	#capital-hill-video-section > div:has(> #reports-analysis-heading) { flex-direction: row; align-items: flex-start; gap: 16px; }
	/* Still accordion at tablet width — two-column starts at the iPad
	   tier (991px) below. */
	.rai-hearings-listing { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; }
	.rai-hearings-listing::after { display: none; }
	.rai-hearings-items { gap: 32px; }
	.rai-hearings-player { position: relative; top: auto; right: auto; width: auto; }
	/* Thought Leadership list — 2-column at tablet width instead of the
	   single-column stack used below 768px. */
	.rai-reports-listing-card { flex: 1 1 calc(50% - 16px); }
	.rai-reports-listing-title a { font-size: 22px; }

	#what-we-do-section { padding: 50px 40px; }
	#what-we-do-heading { font-size: 36px; line-height: 44px; }
	#what-we-do-two-col-view { flex-direction: column; gap: 32px; }
	.rai-wwd-pillars { max-width: 420px; margin: 0 auto; }
	.rai-wwd-pillars-item {
		position: absolute;
		bottom: 20%;
		width: 6%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.rai-wwd-pillars-item-1 { left: 16%; gap: 70px; }
	.rai-wwd-pillars-item-3 { left: 56.5%; gap: 65px; }
	.rai-wwd-pillars-item-4 { left: 76%; gap: 52px; }
	.rai-wwd-pillars-label-text { font-size: 11px; }

	#join-left-image img { height: 280px; }
	#join-right-content-section { padding: 40px; }
	#join-movement-heading { font-size: 36px; line-height: 44px; }

	#stay-informed-section { padding: 50px 40px; }
	#stay-informed-heading { font-size: 36px; line-height: 44px; }

	#about-us-hero-section { padding: 50px 40px; }
	#about-us-hero-heading { font-size: 52px; line-height: 62px; }

	#advisory-board-hero-section { padding: 50px 40px; }
	#advisory-board-heading { font-size: 52px; line-height: 62px; }

	#partners-hero-section { padding: 50px 40px; }
	#partners-hero-heading { font-size: 52px; line-height: 58px; }

	#our-expert-hero-section { padding: 50px 40px; }
	#our-expert-hero-heading { font-size: 52px; line-height: 58px; }
	#net-ind-cou-section { flex-direction: row !important; flex-wrap: nowrap !important; gap: 16px; }
	#network-section, #industry-section, #countries-section { flex: 1 1 0 !important; width: auto !important; min-width: 0; padding: 18px 16px; }
	.net-ind-cou-title { font-size: 16px; }
	.net-ind-cou-desc { font-size: 13px; line-height: 17px; }

	#partners-listing-section { padding: 50px 40px 0; }
	#partner-list-title { font-size: 36px; line-height: 44px; }
	.rai-partners-grid { gap: 20px; }
	.rai-partners-card { flex: 0 0 calc((100% - 20px) / 2); }

	.rai-experts-listing { padding: 50px 40px 0; }
	.rai-experts-grid { gap: 20px; }
	.rai-expert-card { flex: 0 0 calc((100% - 20px) / 2); }

	#program-initiative-listing { padding: 50px 40px 0; }
	.rai-programs-list { gap: 56px; }
	.rai-program-row { flex-direction: column; gap: 32px; }
	.rai-program-title { font-size: 36px; line-height: 44px; }
	.rai-program-listing-content h1, .rai-program-listing-content h2, .rai-program-listing-content h3,
	.rai-program-listing-content h4, .rai-program-listing-content h5, .rai-program-listing-content h6 { font-size: 22px; line-height: 26px; }

	#our-mission-section { padding: 50px 40px; flex-direction: column-reverse; }
	#our-mission-heading { font-size: 36px; line-height: 44px; }

	#podcast-founder-section { padding: 50px 40px; flex-direction: column-reverse !important; gap: 40px; }
	#founder-back-sec { flex: 1 1 100% !important; width: 100%; max-width: 360px; margin: 20px auto; }
	#about-founder-sec { flex: 1 1 100% !important; width: 100%; }
	#founder-name { font-size: 36px; line-height: 44px; }

	#events-hero-section { padding: 50px 40px; }
	#events-hero-heading { font-size: 52px; line-height: 58px; }

	#resources-hero-section { padding: 50px 40px; }
	#resources-hero-heading { font-size: 52px; line-height: 58px; }

	.rai-resources-listing { padding: 50px 40px !important; }
	.rai-resources-tabs { flex-direction: row; }
	.rai-resources-list { gap: 32px; }
	.rai-resource-card { flex: 0 1 calc(50% - 16px); }
	.rai-resource-press-media img { max-height: 360px !important; }
	.rai-resource-press-title a { font-size: 22px; line-height: 28px; }
	.rai-resources-featured-inner { flex-direction: column-reverse; gap: 32px; padding: 0 40px; }
	.rai-resources-featured-media { flex: 1 1 100%; width: 100%; }
	.rai-resource-news-card { flex: 0 1 calc(50% - 16px); }

	#events-highlights-list-section { padding: 50px 40px; }
	#highlights-heading { font-size: 36px; line-height: 44px; }
	.rai-event-highlights-grid { gap: 20px; }
	.rai-event-highlight-card { flex: 0 0 calc((100% - 20px) / 2); }
	#upcoming-events-list-section { padding: 50px 40px; }
	#upcoming-events-heading { font-size: 36px; line-height: 44px; }
	.rai-upcoming-events-grid { gap: 20px; }
	.rai-upcoming-event-card { flex: 0 0 calc((100% - 20px) / 2); }

	#how-we-work-section { padding: 50px 40px; }
	#how-we-work-heading { font-size: 36px; line-height: 44px; }
	.rai-mission-pillar { flex-direction: column; }
	.rai-mp-tabs { flex: 0 0 auto; }
	.rai-mp-tab { flex: 0 0 auto; padding: 20px 24px; font-size: 24px; }
	.rai-mp-content-wrap { border-left: none; }
	.rai-mp-content { border-top: 1px solid #28508C; border-bottom: 1px solid #28508C; }
	.rai-mp-title { font-size: 28px; }
	.rai-mp-description { font-size: 18px; }

	#rai-timeline-section { padding: 50px 40px; }
	#rai-timeline-heading { font-size: 36px; line-height: 44px; }
	.rai-timeline-list { margin: 0 20px; }
	.rai-timeline-number { width: 40px; height: 40px; font-size: 20px; }
	.rai-timeline-item:not(:last-child)::before { left: 20px; height: calc(100% + 48px); }
	.rai-timeline-connector { width: 57px; margin-top: 20px; }
	.rai-timeline-year { font-size: 40px; line-height: 48px; }
	.rai-timeline-description { font-size: 18px; }

	#advisory-board-list-section { padding: 20px; }
	.rai-advisory-board-row-inner,
	.rai-advisory-board-row:nth-child(even) .rai-advisory-board-row-inner { flex-direction: column; padding: 40px; gap: 24px; }
	.rai-advisory-board-media { flex: none; max-width: 100%; width: 100%; }
	.rai-advisory-board-content { flex: none; max-width: 100%; }
	.rai-advisory-board-name { font-size: 28px; line-height: 34px; }

	#podcast-guest-list-section { padding: 50px 40px; }
	#guest-list-heading { font-size: 36px; line-height: 44px; }

	#latest-episode-section { padding: 50px 40px; }
	#latest-episode-heading { font-size: 36px; line-height: 44px; }
	.rai-podcast-guest-list { gap: 20px; }
	.rai-podcast-guest-card { flex: 0 1 calc((100% - 20px) / 2); }

	#advisory-get-involoved-section { padding: 20px; }
	#background-section-for-get-involved { flex-direction: column !important; align-items: flex-start; gap: 24px; padding: 40px; }
	#join-advisory-section { flex: 0 0 auto !important; max-width: none !important; width: 100%; }
	#join-advisory-heading { font-size: 36px; line-height: 44px; }
	#experts-btn-section,
	#join-advisory-section + div { width: auto !important; }
	.aply-network-btn, .aply-network-btn .elementor-button { width: auto; }
	.request-expert-btn, .request-expert-btn .elementor-button { width: auto; }

	#contact-us-section { flex-direction: column !important; gap: 32px; padding: 50px 40px; }
	#reach-us-directly-heading { font-size: 36px; line-height: 44px; }
	#reach-us-directly-section + div { padding: 48px; }
	.rai-contact-form-heading { font-size: 36px; line-height: 44px; }

	.expert-section-heading { font-size: 36px; line-height: 44px; }
	#expert-hero-media { flex: 0 0 300px; max-width: 300px; }
	#expert-hero-name { font-size: 36px; line-height: 44px; }
	.expert-expertise-card { flex: 0 1 calc((100% - 30px) / 2); }
	.expert-help-card { flex: 1 1 100%; }
	#expert-cta-section { margin-bottom: 40px; }

	#event-hero-title { font-size: 48px; line-height: 56px; }
	#event-hero-media { flex: 0 0 40%; max-width: 40%; }
	#event-countdown-title { font-size: 32px; line-height: 40px; }
	#event-about-heading { font-size: 36px; line-height: 44px; }
	.event-detail-item { flex: 0 1 calc((100% - 20px) / 2); }

	.rai-all-episodes-grid .rai-episode-listing-card { flex: 0 1 calc((100% - 30px) / 2); }
	#podcast-guest-episodes-grid .rai-episode-listing-card { flex: 0 1 calc((100% - 30px) / 2); }
	.rai-video-listing-card { flex: 0 1 calc((100% - 30px) / 2); }
	.rai-past-events-grid .rai-event-listing-card { flex: 0 1 calc((100% - 30px) / 2); }
}

/* =========================================================
   4. IPAD & OTHER TABLETS — min-width: 991px and max-width: 1024px
   ========================================================= */
@media (min-width: 991px) and (max-width: 1024px) {
	:root { --rai-section-y: 40px; }

	.rai-container { padding: 25px 40px; }
	.rai-header { padding: 25px 40px; }

	.rai-topbar-label { font-size: 19px; line-height: 23px; padding: 15px 28px; }
	.rai-topbar-ticker-item { font-size: 14px; line-height: 17px; }

	.rai-logo { max-height: 32px; }
	.rai-main-nav { gap: 4px; }
	.rai-main-nav .navbar-nav { gap: 2px; }
	.rai-main-nav .nav-link { padding: 6px 7px; font-size: 13px; }

	.rai-header-actions { gap: 10px; }
	.rai-btn-newsletter { font-size: 12px; padding: 6px 0; }
	.rai-btn-join-community { font-size: 13px; line-height: 16px; padding: 6px 12px; border-radius: 6px; }

	.rai-hero-grid { grid-template-columns: 1fr; gap: 48px; }
	.rai-hero-grid .rai-episode-card { max-width: 520px; margin: 0 auto; }

	.rai-why-grid { grid-template-columns: 1fr; gap: 40px; }
	.rai-why-media { order: -1; }

	.rai-podcast-grid { grid-template-columns: 1fr; }
	.rai-events-grid { grid-template-columns: 1fr; }

	.rai-whatwedo-grid { grid-template-columns: .9fr 1.1fr; gap: 40px; }

	.rai-cta-grid { padding: 56px; }

	/* From 991px on, the hero and initiative sections go back to their
	   two-column layout (only mobile/tablet ≤991px stack) — just the
	   padding and font sizes still need to scale down at this tier. */
	#rai-home-hero-section { padding: 50px 40px; }
	#raig-heading { font-size: 56px; line-height: 66px; }
	#raig-content-description { font-size: 16px; }
	#hero-redirection-btns .elementor-button { font-size: 16px; padding: 12px 22px; }

	/* The fixed-45px base count size plus a single nowrap row is what was
	   overlapping here — a 2x2 grid (same pattern as true mobile) with a
	   smaller count size gives every stat its own room. */
	#home-hero-stats-section { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
	#home-hero-stats-section > div { padding-left: 0; border-left: none; }
	#home-hero-stats-section > div:nth-child(even) { padding-left: 24px; border-left: 1px solid #00F0C8; }
	.hero-stats-count { font-size: 32px; white-space: normal; }
	.hero-stats-text { font-size: 14px; }

	#podcast-hero-section { padding: 50px 40px; }
	#podcast-leading-heading { font-size: 56px; line-height: 66px; }
	#podcast-leading-desc { font-size: 16px; }
	#listen-on-btns .elementor-button { font-size: 16px; padding: 12px 22px; }
	#podcast-stats-section { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
	#podcast-stats-section > div { padding-left: 0; border-left: none; }
	#podcast-stats-section > div:nth-child(even) { padding-left: 24px; border-left: 1px solid #E5E6EC; }
	.pod-stats-count { font-size: 32px; white-space: normal; }
	.pod-stats-desc { font-size: 14px; }

	#rai-initiative-section { padding: 50px 40px; }
	#initiative-left-heading { font-size: 38px; line-height: 46px; }
	#initiative-content-1, #initiative-content-2, #initiative-content-3 { font-size: 15px; }
	#rai-initiative-btns .elementor-button { font-size: 16px; padding: 12px 22px; }
	#introducing-policyora-heading { font-size: 26px; line-height: 32px; }

	/* The PolicyOra card's right column is considerably narrower here
	   than at 1440px+, where these are given their full literal spec —
	   scale the Build/Compare/Find bar down to match. */
	#build-compare-find { padding: 16px 24px; gap: 12px; }
	#build-block, #compare-block, #find-block { gap: 12px; }
	.build-image, .compare-image, .find-image { width: 44px; height: 44px; padding: 8px; border-radius: 10px; }
	.build-image img, .compare-image img, .find-image img { width: 28px; height: 28px; }
	#build-text, #compare-text, #find-text { font-size: 20px; }
	#build-block, #compare-block { padding-right: 52px; }
	#build-block::after, #compare-block::after { width: 40px; height: 12px; }

	#why-we-built-section { padding: 50px 40px; }
	#why-we-build-heading { font-size: 38px; line-height: 46px; }
	.rai-wwb-item { gap: 38px; }
	.rai-wwb-item-number { width: 84px; font-size: 72px; }
	.rai-wwb-item-icon { width: 50px; height: 50px; }
	.rai-wwb-item-title { font-size: 28px; }
	.rai-wwb-item-connector::after { height: 56px; }
	.rai-wwb-item-connector::before { top: 56px; }

	#home-podcast-section { padding: 50px 40px; }
	/* The heading's fixed 340px column (sized for the full 48px desktop
	   spec) leaves a lot of unused white space next to its own shorter
	   38px text at this width, while starving the description column —
	   narrowing it to match frees that space up for the description. */
	#home-podcast-heading { flex-basis: 260px; font-size: 38px; line-height: 46px; }
	.rai-podcast-showcase { gap: 32px; }
	.rai-podcast-top-picks { gap: 16px; }
	.rai-podcast-featured-card { padding: 24px; }
	.rai-podcast-featured-media img { height: 220px !important; }
	.rai-podcast-featured-title { font-size: 26px; line-height: 32px; }
	.rai-podcast-featured-guest { font-size: 26px; line-height: 32px; }
	.rai-podcast-pick-title { font-size: 20px; line-height: 24px; }

	#events-summits-section { padding: 50px 40px; }
	#events-summits-heading { font-size: 38px; line-height: 46px; }
	#events-summit-column-section { gap: 24px; }
	#upcoming-events-list { gap: 20px; }
	.rai-events-listing-media { width: 170px; }
	.rai-events-listing-card { gap: 16px; }
	.rai-events-listing-card:nth-child(4) { display: none; }
	.rai-events-listing-title a { font-size: 18px; line-height: 22px; }
	#real-time-legislative-heading { font-size: 32px; line-height: 40px; }
	#real-time-legislative-monitoring { padding: 24px; }

	#reports-analysis-section { padding: 50px 40px; }
	#reports-analysis-heading { font-size: 38px; line-height: 46px; }
	.rai-reports-listing { gap: 32px; margin-top: 32px; }
	.rai-reports-listing-title a { font-size: 24px; }

	#capital-hill-video-section { padding: 50px 40px; }
	/* Two-column again from here up — restores the player's absolute,
	   pinned-to-the-right positioning the accordion tiers above drop. */
	.rai-hearings-listing { grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 40px; }
	.rai-hearings-items { gap: 40px; }
	.rai-hearings-player { position: absolute; top: 0; right: 0; width: calc(50% - 20px); }

	#what-we-do-section { padding: 50px 40px; }
	#what-we-do-heading { font-size: 38px; line-height: 46px; }
	.rai-wwd-pillars { max-width: 460px; }
	.rai-wwd-pillars-item {
		position: absolute;
		bottom: 21%;
		width: 6%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.rai-wwd-pillars-item-1 { gap: 71px; }
	.rai-wwd-pillars-item-3 { gap: 65px; }
	.rai-wwd-pillars-item-4 { gap: 49px; }
	.rai-wwd-pillars-label-text { font-size: 11px; }

	/* From 991px on: Quick Links/Resources/PolicyOra go back to centered
	   blocks with left-aligned text, and Company goes back to right-
	   positioned with left-aligned text (not centered). Explicit here
	   because 991px is the shared boundary of both the "≤991 centered"
	   rule above and this block — without this, the centered version
	   could still win right at exactly 991px. */
	.rai-footer-col-inner { width: fit-content; max-width: 100%; text-align: left; margin: 0 auto; }
	.rai-footer-col-company .rai-footer-col-inner {
		width: fit-content;
		max-width: 100%;
		margin: 0 0 0 auto;
		text-align: left;
	}

	/* Row again from here up — image regains its full-height flex
	   sizing instead of the fixed px height used while stacked below. */
	#join-movement-section { flex-direction: row; }
	#join-left-image { flex: 0 0 42%; }
	#join-left-image img { height: 100%; }
	#join-right-content-section { padding: 40px; }
	#join-movement-heading { font-size: 38px; line-height: 46px; }

	#stay-informed-section { padding: 50px 40px; }
	#stay-informed-heading { font-size: 38px; line-height: 46px; }

	#about-us-hero-section { padding: 50px 40px; }
	#about-us-hero-heading { font-size: 56px; line-height: 66px; }

	#advisory-board-hero-section { padding: 50px 40px; }
	#advisory-board-heading { font-size: 56px; line-height: 66px; }

	#partners-hero-section { padding: 50px 40px; }
	#partners-hero-heading { font-size: 56px; line-height: 62px; }

	#our-expert-hero-section { padding: 50px 40px; }
	#our-expert-hero-heading { font-size: 56px; line-height: 62px; }
	#net-ind-cou-section { flex-direction: row !important; flex-wrap: nowrap !important; gap: 18px; }
	#network-section, #industry-section, #countries-section { flex: 1 1 0 !important; width: auto !important; min-width: 0; padding: 20px 18px; }
	.net-ind-cou-title { font-size: 18px; }
	.net-ind-cou-desc { font-size: 15px; line-height: 19px; }

	#partners-listing-section { padding: 50px 40px 0; }
	#partner-list-title { font-size: 38px; line-height: 46px; }
	.rai-partners-grid { gap: 20px; }
	.rai-partners-card { flex: 0 0 calc((100% - 60px) / 4); padding: 16px; }

	.rai-experts-listing { padding: 50px 40px 0; }
	.rai-experts-grid { gap: 20px; }
	.rai-expert-card { flex: 0 0 calc((100% - 60px) / 4); padding: 20px; }

	#program-initiative-listing { padding: 50px 40px 0; }
	.rai-program-row { flex-direction: row; gap: 40px; }
	.rai-program-title { font-size: 38px; line-height: 46px; }
	.rai-program-listing-content h1, .rai-program-listing-content h2, .rai-program-listing-content h3,
	.rai-program-listing-content h4, .rai-program-listing-content h5, .rai-program-listing-content h6 { font-size: 22px; line-height: 26px; }

	/* Row again from here up. */
	#our-mission-section { flex-direction: row; padding: 50px 40px; }
	#our-mission-heading { font-size: 38px; line-height: 46px; }

	#podcast-founder-section { flex-direction: row; padding: 50px 40px; gap: 40px; }
	#founder-back-sec { flex: 0 0 320px; margin: 20px 0; }
	#founder-name { font-size: 38px; line-height: 46px; }

	#events-hero-section { padding: 50px 40px; }
	#events-hero-heading { font-size: 56px; line-height: 62px; }

	#resources-hero-section { padding: 50px 40px; }
	#resources-hero-heading { font-size: 56px; line-height: 62px; }

	.rai-resources-listing { padding: 50px 40px !important; }
	.rai-resource-press-media img { max-height: 420px !important; }
	.rai-resources-featured-inner { flex-direction: row; padding: 0 40px; }
	.rai-resources-featured-media { flex: 0 0 45%; width: auto; }

	#events-highlights-list-section { padding: 50px 40px; }
	#highlights-heading { font-size: 38px; line-height: 46px; }
	#upcoming-events-list-section { padding: 50px 40px; }
	#upcoming-events-heading { font-size: 38px; line-height: 46px; }

	#how-we-work-section { padding: 50px 40px; }
	#how-we-work-heading { font-size: 38px; line-height: 46px; }
	/* Two-column again from here up — assets/js/our-mission-pillar.js
	   re-parents content panels back into .rai-mp-content-wrap at this
	   width. */
	.rai-mission-pillar { flex-direction: row; }
	.rai-mp-tabs { flex: 0 0 260px; }
	.rai-mp-tab { font-size: 22px; padding: 20px; }
	.rai-mp-content-wrap { border-left: 1px solid #28508C; }
	.rai-mp-content { border-top: none; }
	.rai-mp-title { font-size: 28px; }
	.rai-mp-description { font-size: 18px; }

	#rai-timeline-section { padding: 50px 40px; }
	#rai-timeline-heading { font-size: 38px; line-height: 46px; }
	.rai-timeline-list { margin: 0 40px; }
	.rai-timeline-year { font-size: 43px; line-height: 52px; }
	.rai-timeline-description { font-size: 19px; }

	#advisory-board-list-section { padding: 20px; }
	.rai-advisory-board-row-inner { padding: 50px 60px; }
	.rai-advisory-board-name { font-size: 30px; line-height: 36px; }

	#podcast-guest-list-section { padding: 50px 40px; }

	#latest-episode-section { padding: 50px 40px; }
	#latest-episode-heading { font-size: 38px; line-height: 46px; }

	#advisory-get-involoved-section { padding: 20px; }
	#background-section-for-get-involved { flex-direction: row; padding: 40px; }
	#join-advisory-heading { font-size: 38px; line-height: 46px; }

	#contact-us-section { flex-direction: row; padding: 50px 40px; }
	#reach-us-directly-heading { font-size: 38px; line-height: 46px; }
	.rai-contact-form-heading { font-size: 38px; line-height: 46px; }
}

/* =========================================================
   5. LAPTOP — min-width: 1024px and max-width: 1200px
   ========================================================= */
@media (min-width: 1024px) and (max-width: 1200px) {
	:root { --rai-section-y: 60px; }

	.rai-container { padding: 25px 60px; }
	.rai-header { padding: 25px 60px; }

	/* Laptop's container padding (60px) actually leaves LESS room than the
	   iPad tier's (40px) at the same viewport width, so the nav must stay
	   at least as compact here — easing it up caused header overlap. */
	.rai-logo { max-height: 32px; }
	.rai-main-nav { gap: 4px; }
	.rai-main-nav .navbar-nav { gap: 2px; }
	.rai-main-nav .nav-link { padding: 6px 7px; font-size: 13px; }

	.rai-header-actions { gap: 10px; }
	.rai-btn-newsletter { font-size: 12px; padding: 6px 0; }
	.rai-btn-join-community { font-size: 13px; line-height: 16px; padding: 6px 12px; border-radius: 6px; }

	.rai-hero-grid { gap: 40px; }
	.rai-intro-grid,
	.rai-why-grid,
	.rai-whatwedo-grid { gap: 48px; }

	.rai-cta-grid { padding: 56px; }

	#rai-home-hero-section { padding: 50px 60px; }
	#raig-heading { font-size: 60px; line-height: 70px; }
	#raig-content-description { font-size: 17px; }
	#hero-redirection-btns .elementor-button { font-size: 17px; padding: 13px 24px; }

	#home-hero-stats-section { display: grid !important; grid-template-columns: 1fr 1fr; gap: 22px 24px; }
	#home-hero-stats-section > div { padding-left: 0; border-left: none; }
	#home-hero-stats-section > div:nth-child(even) { padding-left: 24px; border-left: 1px solid #00F0C8; }
	.hero-stats-count { font-size: 34px; white-space: normal; }
	.hero-stats-text { font-size: 15px; }

	#podcast-hero-section { padding: 50px 60px; }
	#podcast-leading-heading { font-size: 60px; line-height: 70px; }
	#podcast-leading-desc { font-size: 17px; }
	#listen-on-btns .elementor-button { font-size: 17px; padding: 13px 24px; }
	#podcast-stats-section { display: grid !important; grid-template-columns: 1fr 1fr; gap: 22px 24px; }
	#podcast-stats-section > div { padding-left: 0; border-left: none; }
	#podcast-stats-section > div:nth-child(even) { padding-left: 24px; border-left: 1px solid #E5E6EC; }
	.pod-stats-count { font-size: 34px; white-space: normal; }
	.pod-stats-desc { font-size: 15px; }

	#rai-initiative-section { padding: 50px 60px; }
	#initiative-left-heading { font-size: 40px; line-height: 48px; }
	#initiative-content-1, #initiative-content-2, #initiative-content-3 { font-size: 16px; }
	#rai-initiative-btns .elementor-button { font-size: 17px; padding: 13px 24px; }
	#introducing-policyora-heading { font-size: 27px; line-height: 33px; }

	#build-compare-find { padding: 18px 26px; gap: 14px; }
	#build-block, #compare-block, #find-block { gap: 14px; }
	.build-image, .compare-image, .find-image { width: 48px; height: 48px; padding: 9px; border-radius: 10px; }
	.build-image img, .compare-image img, .find-image img { width: 32px; height: 32px; }
	#build-text, #compare-text, #find-text { font-size: 24px; }
	#build-block, #compare-block { padding-right: 58px; }
	#build-block::after, #compare-block::after { width: 46px; height: 13px; }

	#why-we-built-section { padding: 50px 60px; }
	#why-we-build-heading { font-size: 40px; line-height: 48px; }
	.rai-wwb-item { gap: 44px; }
	.rai-wwb-item-number { width: 94px; font-size: 82px; }
	.rai-wwb-item-icon { width: 52px; height: 52px; }
	.rai-wwb-item-title { font-size: 30px; }
	.rai-wwb-item-connector::after { height: 68px; }
	.rai-wwb-item-connector::before { top: 68px; }

	#home-podcast-section { padding: 50px 60px; }
	#home-podcast-heading { flex-basis: 280px; font-size: 40px; line-height: 48px; }
	.rai-podcast-showcase { gap: 36px; }
	.rai-podcast-top-picks { gap: 18px; }
	.rai-podcast-featured-card { padding: 28px; }
	.rai-podcast-featured-media img { height: 235px !important; }
	.rai-podcast-featured-title { font-size: 28px; line-height: 34px; }
	.rai-podcast-featured-guest { font-size: 28px; line-height: 34px; }
	.rai-podcast-pick-title { font-size: 22px; line-height: 26px; }

	#events-summits-section { padding: 50px 60px; }
	#events-summits-heading { font-size: 40px; line-height: 48px; }
	#upcoming-events-list { gap: 20px; }
	.rai-events-listing-media { width: 190px; }
	.rai-events-listing-card { gap: 20px; }
	.rai-events-listing-title a { font-size: 19px; line-height: 23px; }
	#real-time-legislative-heading { font-size: 34px; line-height: 42px; }
	#real-time-legislative-monitoring { padding: 28px; }

	#reports-analysis-section { padding: 50px 60px; }
	#reports-analysis-heading { font-size: 40px; line-height: 48px; }
	.rai-reports-listing { margin-top: 36px; }
	.rai-reports-listing-title a { font-size: 26px; }

	#capital-hill-video-section { padding: 50px 60px; }

	#join-right-content-section { padding: 60px; }
	#join-movement-heading { font-size: 40px; line-height: 48px; }

	#stay-informed-section { padding: 50px 60px; }
	#stay-informed-heading { font-size: 40px; line-height: 48px; }

	#about-us-hero-section { padding: 50px 60px; }
	#about-us-hero-heading { font-size: 60px; line-height: 72px; }

	#advisory-board-hero-section { padding: 50px 60px; }
	#advisory-board-heading { font-size: 60px; line-height: 72px; }

	#partners-hero-section { padding: 50px 60px; }
	#partners-hero-heading { font-size: 60px; line-height: 66px; }

	#our-expert-hero-section { padding: 50px 60px; }
	#our-expert-hero-heading { font-size: 60px; line-height: 66px; }
	#net-ind-cou-section { flex-direction: row !important; flex-wrap: nowrap !important; }
	#network-section, #industry-section, #countries-section { flex: 1 1 0 !important; width: auto !important; min-width: 0; }

	#partners-listing-section { padding: 50px 60px 0; }
	#partner-list-title { font-size: 40px; line-height: 48px; }

	.rai-experts-listing { padding: 50px 60px 0; }

	#program-initiative-listing { padding: 50px 60px 0; }
	.rai-program-title { font-size: 42px; line-height: 50px; }

	#our-mission-section { padding: 50px 60px; }
	#our-mission-heading { font-size: 40px; line-height: 48px; }

	#podcast-founder-section { padding: 50px 60px; }
	#founder-back-sec { flex: 0 0 400px; }
	#founder-name { font-size: 40px; line-height: 48px; }

	#events-hero-section { padding: 50px 60px; }
	#events-hero-heading { font-size: 60px; line-height: 66px; }

	#resources-hero-section { padding: 50px 60px; }
	#resources-hero-heading { font-size: 60px; line-height: 66px; }

	.rai-resources-listing { padding: 50px 60px !important; }
	.rai-resource-press-media img { max-height: 470px !important; }
	.rai-resources-featured-inner { padding: 0 60px; }
	.rai-resources-all-heading { font-size: 40px; line-height: 48px; }

	#events-highlights-list-section { padding: 50px 60px; }
	#highlights-heading { font-size: 40px; line-height: 48px; }
	#upcoming-events-list-section { padding: 50px 60px; }
	#upcoming-events-heading { font-size: 40px; line-height: 48px; }

	#how-we-work-section { padding: 50px 60px; }
	#how-we-work-heading { font-size: 40px; line-height: 48px; }
	.rai-mp-tabs { flex: 0 0 280px; }

	#rai-timeline-section { padding: 50px 60px; }
	#rai-timeline-heading { font-size: 40px; line-height: 48px; }
	.rai-timeline-list { margin: 0 60px; }
	.rai-timeline-year { font-size: 46px; line-height: 56px; }
	.rai-timeline-description { font-size: 20px; }

	#what-we-do-section { padding: 50px 60px; }
	#what-we-do-heading { font-size: 40px; line-height: 48px; }
	.rai-wwd-pillars { max-width: 500px; }
	.rai-wwd-pillars-item {
		position: absolute;
		bottom: 20%;
		width: 6%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.rai-wwd-pillars-item-1 { gap: 60px; }
	.rai-wwd-pillars-item-2 { gap: 18px; left: 36%; }
	.rai-wwd-pillars-item-3 { gap: 52px; }
	.rai-wwd-pillars-item-4 { gap: 38px; }
	.rai-wwd-pillars-label-text { font-size: 12px; }

	#advisory-board-list-section { padding: 20px; }
	.rai-advisory-board-row-inner { padding: 50px 80px; }

	#podcast-guest-list-section { padding: 50px 60px; }
	#guest-list-heading { font-size: 40px; line-height: 48px; }

	#latest-episode-section { padding: 50px 60px; }
	#latest-episode-heading { font-size: 40px; line-height: 48px; }

	#advisory-get-involoved-section { padding: 0; margin: 50px 0; }
	#background-section-for-get-involved { padding: 48px 60px; }
	#join-advisory-heading { font-size: 40px; line-height: 48px; }

	#contact-us-section { padding: 50px 60px; }
	#reach-us-directly-heading { font-size: 40px; line-height: 48px; }
	#reach-us-directly-section + div { padding: 48px 56px; }
	.rai-contact-form-heading { font-size: 40px; line-height: 48px; }
}

/* =========================================================
   NAV — kept compact from 1200px through 1439px: the container padding
   jumps to the full 80px desktop value here, which (combined with the
   full 16px/20px nav spec) doesn't actually leave enough room until
   ~1440px. Reaches the literal given spec only once there's genuine
   room for it, above 1440px (unstyled here — falls through to the base
   rules in style.css). The hero/initiative two-column layout and its
   80px padding are already correct at this tier from the base rules in
   style.css — only their font sizes still need scaling down here.
   ========================================================= */
@media (min-width: 1200px) and (max-width: 1439px) {
	.rai-logo { max-height: 34px; }
	.rai-main-nav { gap: 4px; }
	.rai-main-nav .navbar-nav { gap: 2px; }
	.rai-main-nav .nav-link { padding: 7px 8px; font-size: 13px; }

	#raig-heading { font-size: 64px; line-height: 76px; }
	#podcast-leading-heading { font-size: 64px; line-height: 76px; }
	#initiative-left-heading { font-size: 44px; line-height: 52px; }
	#introducing-policyora-heading { font-size: 28px; line-height: 34px; }

	#why-we-build-heading { font-size: 44px; line-height: 52px; }
	.rai-wwb-item { gap: 48px; }
	.rai-wwb-item-number { width: 102px; font-size: 92px; }
	.rai-wwb-item-icon { width: 54px; height: 54px; }
	.rai-wwb-item-title { font-size: 32px; }
	.rai-wwb-item-connector::after { height: 80px; }
	.rai-wwb-item-connector::before { top: 80px; }

	#home-podcast-heading { font-size: 44px; line-height: 52px; }
	.rai-podcast-featured-media img { height: 245px !important; }
	.rai-podcast-featured-title { font-size: 29px; line-height: 35px; }
	.rai-podcast-featured-guest { font-size: 29px; line-height: 35px; }

	#events-summits-heading { font-size: 44px; line-height: 52px; }
	.rai-events-listing-title a { font-size: 20px; line-height: 24px; }
	#real-time-legislative-heading { font-size: 36px; line-height: 44px; }

	#reports-analysis-heading { font-size: 44px; line-height: 52px; }
	.rai-reports-listing { margin-top: 38px; }
	.rai-reports-listing-title a { font-size: 27px; }

	#join-movement-heading { font-size: 44px; line-height: 52px; }

	#stay-informed-heading { font-size: 44px; line-height: 52px; }

	#about-us-hero-heading { font-size: 64px; line-height: 76px; }

	#advisory-board-heading { font-size: 64px; line-height: 76px; }

	#partners-hero-heading { font-size: 64px; line-height: 70px; }

	#our-expert-hero-heading { font-size: 64px; line-height: 70px; }
	#net-ind-cou-section { flex-direction: row !important; flex-wrap: nowrap !important; }
	#network-section, #industry-section, #countries-section { flex: 1 1 0 !important; width: auto !important; min-width: 0; }

	#partner-list-title { font-size: 44px; line-height: 52px; }

	#our-mission-heading { font-size: 44px; line-height: 52px; }
	.rai-resources-all-heading { font-size: 44px; line-height: 52px; }
	#latest-episode-heading { font-size: 44px; line-height: 52px; }

	#founder-name { font-size: 44px; line-height: 52px; }

	#events-hero-heading { font-size: 64px; line-height: 70px; }
	#resources-hero-heading { font-size: 64px; line-height: 70px; }
	#highlights-heading { font-size: 44px; line-height: 52px; }
	#upcoming-events-heading { font-size: 44px; line-height: 52px; }

	#how-we-work-heading { font-size: 44px; line-height: 52px; }

	#rai-timeline-heading { font-size: 44px; line-height: 52px; }
	.rai-timeline-list { margin: 0 80px; }
	.rai-timeline-year { font-size: 49px; line-height: 59px; }
	.rai-timeline-description { font-size: 22px; }

	#what-we-do-heading { font-size: 44px; line-height: 52px; }
	.rai-wwd-pillars-label-text { font-size: 12px; }

	#join-advisory-heading { font-size: 44px; line-height: 52px; }

	.rai-header-actions { gap: 12px; }
	.rai-btn-newsletter { font-size: 13px; padding: 6px 0; }
	.rai-btn-join-community { font-size: 14px; line-height: 18px; padding: 7px 14px; }

	#reach-us-directly-heading { font-size: 44px; line-height: 52px; }
	.rai-contact-form-heading { font-size: 44px; line-height: 52px; }
}

/* =========================================================
   991px TO 1200px ONLY
   ========================================================= */
@media (min-width: 991px) and (max-width: 1200px) {
	#host-with-us-section {
		border-radius: 12px;
		background-image: linear-gradient(90deg, #06DDC5 0%, #005FF3 100%);
		padding: 25px;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 10px;
		justify-content: center;
	}

	/* Only margin differs from the base rule for these three — font-size/
	   line-height/etc. are left alone so the Laptop tier's own distinct
	   #real-time-legislative-heading size (1024–1200px) isn't overridden
	   by this query. */
	#real-time-legislative-text { margin: 0 0 15px; }
	#real-time-legislative-heading { margin: 0 0 12px; }
	#real-time-legislative-content { margin: 0 0 15px; }
}

/* =========================================================
   991px TO 1200px ONLY — homepage hero 50/50 split
   ========================================================= */
@media (min-width: 991px) and (max-width: 1200px) {
	/* Homepage hero — true 50/50 split instead of the base rule's fixed
	   width:520px card (which ate a disproportionate share of the row at
	   narrower desktop widths, squeezing the text column). Card padding/
	   font-sizes are scaled down to match, since a 50%-share column here
	   is narrower than the card's own base max-width:480px. */
	#responsible-ai-governance-section,
	#home-hero-latest-episode { flex: 1 1 0%; width: auto; }
	.rai-latest-episode-card { padding: 24px; max-width: 100%; }
	.rai-latest-episode-label { font-size: 13px; }
	.rai-latest-episode-media { margin-bottom: 16px; }
	.rai-latest-episode-title { font-size: 22px; line-height: 28px; margin-bottom: 12px; }
	.rai-latest-episode-meta { font-size: 13px; margin-bottom: 16px; }
	.rai-latest-episode-listen-label { font-size: 13px; }
	.rai-latest-episode-listen a { font-size: 18px; }

	/* Left column scaled down to match — the base/IPAD/Laptop tiers'
	   sizes (heading up to 70px, stats-count 45px, etc.) were built for
	   that column having most of the row to itself; against the now-
	   compact 50%-share latest-episode card they read wildly oversized. */
	#raig-text { font-size: 13px; }
	#raig-heading { font-size: 34px; line-height: 40px; margin-bottom: 16px; }
	#raig-content-description { font-size: 14px; margin-bottom: 20px; }
	#hero-redirection-btns .elementor-button { font-size: 15px; padding: 12px 20px; }
	.hero-stats-count { font-size: 28px; }
	.hero-stats-text { font-size: 13px; }

	/* Podcast page hero — same fixed-width-card imbalance as the homepage
	   hero above, PLUS the card is taller than the 4-line text stack,
	   leaving an awkward gap under the text. Fix: promote #podcast-stats-
	   section (normally nested inside #leading-podcast-content-section)
	   out to its own full-width row below both columns via display:contents
	   on its parent + an explicit grid, instead of squeezing it into the
	   leftover space under the text. */
	#podcast-hero-section {
		display: grid;
		grid-template-columns: 1fr 480px;
		column-gap: 64px;
		row-gap: 24px;
		align-items: start;
	}
	#leading-podcast-content-section { display: contents; }
	#podcast-leading-text { grid-column: 1; grid-row: 1; }
	#podcast-leading-heading { grid-column: 1; grid-row: 2; }
	#podcast-leading-desc { grid-column: 1; grid-row: 3; }
	#listen-on-btns { grid-column: 1; grid-row: 4; }
	#podcast-stats-section { grid-column: 1 / -1; grid-row: 5; }
	#featured-latest-podcast { grid-column: 2; grid-row: 1 / 5; width: auto; }

	/* Now that stats has the full hero width to itself, keep it a single
	   row of 4 instead of the Laptop tier's 2x2 grid (which was sized for
	   the old cramped left-column layout). */
	#podcast-stats-section { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 24px; }
	#podcast-stats-section > div { padding-left: 32px !important; border-left: 1px solid #0167FF !important; }
	#podcast-stats-section > div:first-child { padding-left: 0 !important; border-left: none !important; }

	#podcast-leading-text { font-size: 13px; }
	#podcast-leading-heading { font-size: 34px; line-height: 40px; margin-bottom: 16px; }
	#podcast-leading-desc { font-size: 14px; margin-bottom: 20px; }
	#listen-on-btns .elementor-button { font-size: 15px; padding: 12px 20px; }
	.pod-stats-count { font-size: 28px; }
	.pod-stats-desc { font-size: 13px; }
}

/* =========================================================
   1200px TO 1300px ONLY — homepage hero 50/50 split
   ========================================================= */
/* Same imbalance as the 991–1200px block above, still unaddressed here
   since the base rule's fixed width:520px card (and the 1200–1439px
   tier's 64px heading) both still apply in this range on their own —
   scaled up slightly from the 991–1200px values below since there's
   more room to work with. */
@media (min-width: 1200px) and (max-width: 1300px) {
	#responsible-ai-governance-section,
	#home-hero-latest-episode { flex: 1 1 0%; width: auto; }
	.rai-latest-episode-card { padding: 28px; max-width: 100%; }
	.rai-latest-episode-label { font-size: 14px; }
	.rai-latest-episode-media { margin-bottom: 18px; }
	.rai-latest-episode-title { font-size: 24px; line-height: 30px; margin-bottom: 14px; }
	.rai-latest-episode-meta { font-size: 14px; margin-bottom: 18px; }
	.rai-latest-episode-listen-label { font-size: 14px; }
	.rai-latest-episode-listen a { font-size: 19px; }

	#raig-text { font-size: 14px; }
	#raig-heading { font-size: 60px; line-height: 60px; margin-bottom: 18px; }
	#raig-content-description { font-size: 15px; margin-bottom: 22px; }
	#hero-redirection-btns .elementor-button { font-size: 16px; padding: 13px 22px; }
	.hero-stats-count { font-size: 32px; }
	.hero-stats-text { font-size: 14px; }

	/* Podcast page hero — same fix as the 991–1200px block above, scaled
	   up slightly to match. */
	#podcast-hero-section {
		display: grid;
		grid-template-columns: 1fr 480px;
		column-gap: 64px;
		row-gap: 24px;
		align-items: start;
	}
	#leading-podcast-content-section { display: contents; }
	#podcast-leading-text { grid-column: 1; grid-row: 1; }
	#podcast-leading-heading { grid-column: 1; grid-row: 2; }
	#podcast-leading-desc { grid-column: 1; grid-row: 3; }
	#listen-on-btns { grid-column: 1; grid-row: 4; }
	#podcast-stats-section { grid-column: 1 / -1; grid-row: 5; }
	#featured-latest-podcast { grid-column: 2; grid-row: 1 / 5; width: auto; }

	/* Now that stats has the full hero width to itself, keep it a single
	   row of 4 instead of the Laptop tier's 2x2 grid (which was sized for
	   the old cramped left-column layout). */
	#podcast-stats-section { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 24px; }
	#podcast-stats-section > div { padding-left: 32px !important; border-left: 1px solid #0167FF !important; }
	#podcast-stats-section > div:first-child { padding-left: 0 !important; border-left: none !important; }

	#podcast-leading-text { font-size: 14px; }
	#podcast-leading-heading { font-size: 60px; line-height: 60px; margin-bottom: 18px; }
	#podcast-leading-desc { font-size: 15px; margin-bottom: 22px; }
	#listen-on-btns .elementor-button { font-size: 16px; padding: 13px 22px; }
	.pod-stats-count { font-size: 32px; }
	.pod-stats-desc { font-size: 14px; }
}
