/* ==========================================================================
   AIOB — RESPONSIVE STYLESHEET
   All responsive styling for the site lives here. Loaded after style.css.

   Breakpoint map:
   1. max-width: 768px               -> Mobile view
   2. min-width: 600px & max 768px   -> Landscape mobile view
   3. min-width: 768px & max 991px   -> Tablet view
   4. min-width: 991px & max 1024px  -> iPad / large tablet view
   5. min-width: 1024px & max 1200px -> Laptop view
   6. min-width: 1200px              -> Desktop / large resolutions
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. MOBILE VIEW — max-width: 768px
   Capped at 767 (not 768) so it never overlaps the tablet block below,
   which starts at min-width:768px.
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {

	h1 { font-size: 1.875rem; }
	h2 { font-size: 1.5rem; }
	h3 { font-size: 1.25rem; }

	.aiob-section {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.section-title {
		margin-bottom: 2rem;
	}

	.aiob-logo {
		max-height: 40px;
	}

	.aiob-container {
		padding-left: 15px;
		padding-right: 15px;
	}

	/* Header marquee — tight mobile gutter */
	.aiob-marquee {
		padding-left: 15px;
		padding-right: 15px;
	}

	.aiob-marquee__star {
		width: 14px;
		height: 14px;
		margin: 0 16px;
	}

	.aiob-marquee__text {
		font-size: 13px;
		padding: 11px 0;
	}

	/* Homepage hero */
	#homepage-hero-section {
		padding: 28px 15px;
	}

	#homepage-hero-content-section {
		max-width: 100%;
	}

	#home-hero-red-section {
		font-size: 13px;
		padding: 8px 14px;
		margin-bottom: 20px;
	}

	#home-hero-heading-section {
		font-size: 28px;
		line-height: 1.25;
		padding-bottom: 16px;
		margin-bottom: 22px;
	}

	#home-hero-heading-section::after {
		width: 50px;
	}

	#home-hero-content-section {
		font-size: 15px;
		max-width: 100%;
		margin-bottom: 28px;
	}

	#home-hero-redirection-buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	.red-design-button .elementor-button,
	.blue-design-button .elementor-button {
		width: 100%;
		padding: 14px 24px;
	}

	.red-design-button .elementor-button-text,
	.blue-design-button .elementor-button-text {
		font-size: 16px;
	}

	/* [among-our-guests] shortcode — wrap instead of overflowing on narrow phones */
	.aiob-among-guests {
		font-size: 14px;
		line-height: 20px;
		white-space: normal;
	}

	.aiob-among-guests__dot {
		margin: 0 4px;
	}

	/* "Why Appear" stats strip + callout card */
	#homepage-section-blue-second {
		padding: 36px 15px;
	}

	#home-second-four-col {
		margin-bottom: 32px;
	}

	#home-second-four-col > div {
		flex: 1 1 100%;
		max-width: 100%;
		padding: 0 10px;
		margin-bottom: 30px;
	}

	#home-second-four-col > div:not(:last-child)::after {
		display: none;
	}

	#home-second-four-col h2 {
		font-size: 22px;
		line-height: 28px;
		margin-bottom: 14px;
		padding-bottom: 12px;
	}

	.home-second-four-col-image img {
		width: 60px;
		height: 60px;
		padding: 13px;
	}

	#home-four-column-section {
		padding: 24px 20px;
	}

	/* "Two Ways to Hold This Election Accountable" — stack image + card */
	#homepage-section-election {
		padding: 48px 15px;
	}

	#homepage-section-election-title {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 28px;
	}

	#conversation-section-image {
		flex-direction: column;
		height: auto;
	}

	/* Row 2 reaches this stacked layout with [card, photo] DOM order (the
	   desktop zigzag relies on that, no flex `order` needed there) — left
	   as-is it stacks card-then-photo, breaking the "always image, then
	   content" order this page wants once collapsed to one column. */
	#conversation-section-image:nth-child(2) {
		flex-direction: column-reverse;
	}

	#conversation-section-image > .elementor-widget-image {
		flex-basis: auto;
		height: auto;
	}

	#conversation-section-image > .elementor-widget-image img {
		height: auto;
		min-height: 200px;
	}

	#conversation-section-content {
		height: auto;
	}

	#conversation-section-content {
		flex-basis: auto;
		padding: 30px 24px;
	}

	#conversation-title {
		font-size: 22px;
		line-height: 28px;
	}

	/* Featured Guests slider */
	#home-featured-guest-section {
		padding: 48px 15px;
	}

	#featured-section-heading {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 28px;
	}

	.featured-guest-card__title {
		font-size: 21px;
		line-height: 26px;
	}

	.featured-guest-slider .slick-dots {
		margin-top: 22px;
	}

	/* "Key AI Policy Issues" */
	#ai-policy-issue-section {
		padding: 48px 15px;
	}

	#ai-policy-issue-heading {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 28px;
	}

	.ai-policy-issue-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ai-policy-issue-card {
		padding: 22px 20px;
	}

	.ai-policy-issue-card__title {
		font-size: 22px;
		line-height: 28px;
	}

	/* "Where AI Policy Meets Voters" */
	#policy-meets-voter-section {
		padding: 48px 15px;
	}

	#policy-meets-voter-heading {
		font-size: 28px;
		line-height: 1.25;
	}

	#policy-meets-voter-paragraph {
		max-width: 100%;
		margin-bottom: 28px;
	}

	#policy-meets-voter-legend {
		gap: 24px;
	}

	.policy-map-legend__swatch {
		width: 28px;
		height: 28px;
	}

	.policy-map-legend__label {
		font-size: 14px;
	}

	/* "Reach. Influence. On the Record." impact stats */
	#homepage-impact-statistics-section {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		padding: 48px 15px;
	}

	#homepage-impact-statistics-heading {
		grid-column: 1;
		grid-row: 2;
		width: auto;
		height: auto;
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 28px;
	}

	#stats-section {
		grid-column: 1;
		grid-row: 3;
		grid-template-columns: repeat(2, 1fr);
	}

	/* Base style.css's dividers are 4-column math (:nth-child(4n) /
	   :nth-child(-n+4)) — wrong for this tier's 2-column grid, so both
	   sides are zeroed here first, then re-applied with 2-column logic:
	   right border on the left cell of each pair, bottom border under
	   every row except the last. */
	#stats-section > div {
		padding: 14px;
		border-right: 0 !important;
		border-bottom: 0 !important;
	}

	#stats-section > div:nth-child(odd) {
		border-right: 2px solid rgba(255, 255, 255, 0.302) !important;
	}

	#stats-section > div:not(:nth-last-child(-n+2)) {
		border-bottom: 2px solid rgba(255, 255, 255, 0.302) !important;
	}

	#stats-section > div:first-child {
		padding-left: 14px;
	}

	.stats-count span {
		font-size: 30px;
		line-height: 36px;
	}

	#stats-count-1 p,
	#stats-count-2 p,
	#stats-count-3 p,
	#stats-count-4 p,
	#stats-count-5 p,
	#stats-count-6 p,
	#stats-count-7 p,
	#stats-count-8 p {
		font-size: 14px;
		line-height: 18px;
	}

	/* "Discuss Participation" */
	#discuss-participation-section {
		grid-template-columns: 1fr;
		padding: 15px;
	}

	#discuss-participation-left {
		min-height: 220px;
	}

	/* Stacked at this tier — there's no side-by-side grid row to stretch
	   against, so real vertical padding is needed (the base's padding:0
	   only makes visual sense once the photo/box share a grid row). */
	#discuss-participation-right {
		padding: 24px 18px;
	}

	#discuss-participation-title {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 24px;
		padding-bottom: 16px;
	}

	.discuss-form input[type="submit"] {
		width: 100%;
		font-size: 17px;
	}

	/* "Interested in appearing on AI on the Ballot?" */
	#discuss-participation-right h2,
	#get-started-title {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 16px;
		padding-bottom: 14px;
	}

	#discuss-participation-right h2 + p {
		font-size: 15px;
		margin-bottom: 20px;
	}

	.contact-us-btn .elementor-button {
		width: 100%;
		padding: 14px 30px !important;
	}

	.contact-us-btn .elementor-button-text {
		font-size: 17px !important;
	}

	body.page-id-19 #discuss-participation-section {
		padding-bottom: 56px !important;
	}

	/* Tracker page — legal/note copy blocks */
	.tracker-content-desc {
		padding: 32px 15px 16px !important;
		margin-bottom: 32px;
	}

	.tracker-content-desc:last-of-type {
		margin-bottom: 48px;
		padding-top: 0 !important;
	}

	.tracker-content-desc p {
		font-size: 15px;
		line-height: 1.5;
		margin-bottom: 14px;
	}

	.tracker-content-desc h2 {
		font-size: 26px;
		line-height: 1.25;
		margin-bottom: 16px !important;
		padding-bottom: 12px;
	}

	/* Tracker modal — use nearly the full viewport on small screens */
	.aiob-tracker-modal__panel {
		top: 10px;
		left: 10px;
		right: 10px;
		bottom: 10px;
		border-radius: 8px;
	}

	.aiob-tracker-modal__close {
		width: 36px;
		height: 36px;
		font-size: 22px;
	}

	/* "Want your campaign's position on the record?" CTA */
	#join-campaign-section {
		flex-direction: column;
		align-items: flex-start;
	}

	body.home #join-campaign-section {
		padding: 32px 15px;
	}

	/* "About Us" inset variant — matches .aiob-container's gutter at this tier */
	#join-campaign-section.about-us-join-campaign {
		width: calc(100% - 30px);
		margin-left: 15px;
		margin-right: 15px;
		margin-bottom: 56px;
		padding-left: 15px;
		padding-right: 15px;
	}

	/* The 65% width cap (style.css) exists to guarantee room for the button
	   on the same row — moot once the section stacks to a column, and
	   without this reset it would wrongly narrow the heading to 65% width
	   even though it's no longer sharing a row with anything. */
	#join-campaign-section-title {
		max-width: 100%;
		flex: 0 0 auto;
		font-size: 26px;
		line-height: 1.3;
	}

	.participate-btn .elementor-button {
		width: 100%;
		padding: 14px 30px !important;
	}

	.participate-btn .elementor-button-text {
		font-size: 17px !important;
	}

	/* "Featured Episodes" */
	#homepage-episodes-section {
		padding: 48px 15px;
	}

	#homepage-episodes-heading {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 24px;
	}

	.episodes-listing__grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.episode-card__title {
		max-width: 100%;
		font-size: 18px;
	}

	.episodes-listing__cta {
		margin-top: 34px;
	}

	.episodes-explore-more {
		width: 100%;
		justify-content: space-between;
	}

	/* Guests page listing */
	#guest-listing-section {
		padding: 48px 15px;
	}

	#guest-featured-heading {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 24px;
	}

	/* Press Center listing */
	#press-listing-section {
		padding: 48px 15px 68px;
	}

	#press-listing-section-heading {
		font-size: 28px;
		line-height: 1.25;
	}

	.press-tabs__nav {
		margin-top: 24px;
	}

	.press-tabs__link {
		padding-bottom: 12px;
		font-size: 18px;
		line-height: 1.3;
	}

	.press-tabs__listing {
		margin-top: 28px;
	}

	.default-post-grid {
		gap: 16px;
	}

	.default-post-card {
		flex-basis: 100%;
		max-width: 100%;
	}

	/* News tab: sidebar stacks below the listing, listing drops to 1 column */
	.news-layout {
		flex-direction: column;
		gap: 32px;
	}

	.news-layout__sidebar {
		flex-basis: auto;
		max-width: 100%;
	}

	.news-post-grid {
		gap: 16px;
	}

	.news-post-card {
		flex-basis: 100%;
		max-width: 100%;
	}

	.news-post-card__title {
		font-size: 20px;
		line-height: 1.3;
	}

	.news-post-card__date {
		font-size: 15px;
		line-height: 1.4;
	}

	.media-release-card__title {
		font-size: 18px;
	}

	.media-release-card__excerpt {
		font-size: 15px;
		line-height: 1.5;
	}

	.default-post-card__title {
		font-size: 18px;
	}

	.default-post-card__excerpt {
		font-size: 16px;
		line-height: 1.5;
	}

	.news-search-widget,
	.news-latest-widget {
		padding: 20px;
	}

	.news-search-widget__heading,
	.news-latest-widget__heading {
		font-size: 26px;
		line-height: 1.25;
	}

	.guest-listing__grid {
		gap: 22px;
	}

	.guest-listing__grid .featured-guest-card {
		flex-basis: 100%;
		max-width: 100%;
	}

	/* FAQ + "Where to listen & watch" */
	#homepage-faq-section {
		padding: 48px 15px 60px;
	}

	#homepage-faq-heading {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 28px;
	}

	.faq-accordion-grid {
		flex-direction: column;
		gap: 14px;
		margin-bottom: 48px;
	}

	/* Collapse the two columns back into a single true 1,2,3,4… reading
	   order list — each .faq-item's inline `order` (set in PHP) puts them
	   back in original order once the column wrappers are removed from
	   the layout via display:contents. */
	.faq-accordion-col {
		display: contents;
	}

	.faq-item__question {
		font-size: 19px;
		line-height: 1.3;
	}

	.faq-item__icon {
		width: 34px;
		height: 34px;
	}

	#where-listen-watch-heading {
		margin: 40px 0 24px;
		font-size: 26px;
	}

	.listen-watch-grid {
		gap: 12px;
	}

	.listen-watch-card {
		width: 140px;
		padding: 16px 18px;
	}

	/* "Amplify Your Voice" */
	#amplify-your-voice-section {
		padding: 48px 15px;
	}

	#amplify-your-voice-heading {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 28px;
	}

	.amplify-voice-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.amplify-voice-card {
		padding: 28px 22px;
	}

	.amplify-voice-card__title {
		font-size: 22px;
		line-height: 28px;
	}

	/* "Who We Are" — stack image below text */
	#about-us-hero-section {
		flex-direction: column;
		align-items: stretch;
		gap: 28px;
		padding: 48px 15px;
	}

	#about-us-left-section {
		flex: 0 0 auto;
		max-width: 100%;
	}

	#about-us-right-section {
		flex: 0 0 auto;
		min-height: 220px;
	}

	#who-we-are-text {
		font-size: 13px;
		padding: 8px 14px;
		margin-bottom: 16px;
	}

	#who-we-are-heading {
		font-size: 30px;
		line-height: 1.25;
		margin-bottom: 18px;
		padding-bottom: 14px;
	}

	#who-we-are-content {
		font-size: 16px;
		line-height: 1.5;
	}

	/* "Our Values" — stack number/title/desc, too tight for a row at this width */
	#our-values-section {
		padding: 48px 15px;
	}

	#our-values-title {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 24px;
	}

	.our-values-list {
		gap: 16px;
	}

	.our-values-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 24px 20px;
	}

	.our-values-item__number {
		flex: 0 0 auto;
		font-size: 34px;
		text-align: left;
	}

	.our-values-item__title {
		flex: 0 0 auto;
		font-size: 22px;
		line-height: 28px;
	}

	.our-values-item__desc {
		font-size: 14px;
		line-height: 1.5;
	}

	/* "Our Mission" — stack image above text */
	#our-mission-section {
		flex-direction: column;
		padding: 48px 15px;
	}

	/* "Our Commitment" / "Our Partnership" / "Our Global Reach" — same
	   stacking. Top padding stays 0 at every tier (see the base rule's note
	   on stacked sections); only the last one, "Our Global Reach", carries
	   closing bottom spacing. "Our Commitment" and "Our Global Reach" reach
	   this stacked layout with [content, image] DOM order (the desktop
	   swap relies on that), so left as-is they'd stack content-then-image
	   here — reversed below so every section reads image, then content. */
	#our-commitment-section,
	#our-partnership-section,
	#our-global-reach-section {
		flex-direction: column;
		padding: 0 15px;
	}

	#our-commitment-section {
		flex-direction: column-reverse;
		margin-bottom: 60px;
	}

	#our-global-reach-section {
		flex-direction: column-reverse;
		margin-top: 60px;
		padding-bottom: 48px;
	}

	/* "Why Participate" */
	#why-participate-section {
		padding: 24px 15px;
	}

	#why-participate-title {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 18px;
		padding-bottom: 14px;
	}

	#why-participate-text {
		font-size: 16px;
		line-height: 1.5;
	}

	/* "The Conversations" episode hero */
	#episode-hero-section {
		min-height: 270px;
		padding: 48px 15px;
	}

	#episode-hero-heading {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 18px;
		padding-bottom: 14px;
	}

	#episode-hero-text {
		font-size: 16px;
		line-height: 1.5;
	}

	/* Press Center hero — stacks to a single column, empty right spacer
	   hidden since it holds no content. */
	#press-hero-section {
		flex-direction: column;
		align-items: stretch;
		min-height: auto;
	}

	#press-hero-left-section {
		flex-basis: auto;
		max-width: 100%;
		min-width: 0;
		padding: 48px 20px;
	}

	#press-hero-right-section {
		display: none;
	}

	#press-hero-section-title {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 18px;
		padding-bottom: 14px;
	}

	#press-hero-section-text {
		font-size: 16px;
		line-height: 1.5;
	}

	/* Episode listing filter bar + AJAX listing */
	.episode-filter-section {
		padding: 24px 48px;
	}

	.episode-listing-section {
		padding: 0 48px 48px;
	}

	.episode-filter-bar {
		padding: 24px 15px;
	}

	.episode-filter-bar__form {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.episode-filter-bar__field {
		flex: 1 1 auto;
	}

	.episode-filter-bar__submit {
		width: 100%;
	}

	/* "Why Should I Do This?" chat list — stacked, so both columns need to
	   go back to full-width stretch (style.css switches the desktop/row
	   layout to align-items:center !important so the photo's height
	   doesn't track the accordion's, but that only matters side-by-side —
	   the !important here is required to win over that base declaration). */
	#why-should-talk-section {
		flex-direction: column;
		align-items: stretch !important;
		gap: 24px;
		padding: 48px 15px;
	}

	/* min-height:100% (style.css) has no meaningful height to resolve
	   against once stacked into a column — fall back to a fixed height,
	   same pattern as "Who We Are" at this tier. */
	#why-should-talk-image {
		min-height: 220px;
	}

	#why-should-talk-chat .e-n-accordion {
		gap: 10px;
	}

	#why-should-talk-chat .e-n-accordion-item-title-text {
		font-size: 20px;
		line-height: 25px;
	}

	#why-should-talk-chat .e-paragraph-base {
		font-size: 15px;
	}

	/* "Why Appearing on AI on the Ballot is worth your time" */
	#appearing-on-aiob-section {
		padding: 48px 15px;
	}

	#appearing-on-aiob-title {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 28px;
	}

	.appearing-on-aiob-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.appearing-on-aiob-card {
		padding: 28px 22px;
	}

	.appearing-on-aiob-card__count {
		font-size: 34px;
		line-height: 40px;
		margin-bottom: 10px;
	}

	.appearing-on-aiob-card__title {
		font-size: 18px;
		margin-bottom: 16px;
		padding-bottom: 14px;
	}

	.appearing-on-aiob-card__desc {
		font-size: 15px;
	}

	/* "What Your Campaign Receives" */
	#campaign-receives-section {
		padding: 48px 15px;
	}

	#campaign-receives-title {
		font-size: 28px;
		line-height: 1.25;
	}

	#campaign-receives-text {
		font-size: 16px;
		line-height: 1.4;
		margin-bottom: 32px;
	}

	.campaign-receive-grid {
		gap: 14px;
	}

	.campaign-receive-item {
		flex-basis: 100%;
		max-width: 100%;
		padding: 20px 22px;
		gap: 16px;
	}

	.campaign-receive-item__title {
		font-size: 18px;
		line-height: 24px;
	}

	#our-mission-left-section {
		flex: 0 0 auto;
		min-height: 220px;
	}

	#our-mission-right-section {
		flex: 0 0 auto;
		padding: 28px 0 0;
	}

	#our-mission-right-section h2,
	#our-mission-title {
		font-size: 28px;
		line-height: 1.25;
		margin-bottom: 18px;
		padding-bottom: 14px;
	}

	#our-mission-right-section p,
	#our-mission-content {
		font-size: 16px;
		line-height: 1.5;
	}

	/* Single post detail page */
	.single-post__hero {
		min-height: 360px;
	}

	.single-post__hero-inner {
		padding: 30px 20px 26px;
	}

	.single-post__header {
		padding: 32px 20px 0;
	}

	.single-post__category {
		font-size: 12px;
		padding: 5px 14px;
	}

	.single-post__title {
		font-size: 26px;
		line-height: 1.3;
		margin-bottom: 10px;
	}

	.single-post__date {
		font-size: 13px;
	}

	.single-post__body {
		padding: 48px 16px 68px;
	}

	.single-post__share {
		gap: 10px;
		margin-bottom: 28px;
		padding-bottom: 18px;
	}

	.single-post__share-btn {
		width: 34px;
		height: 34px;
		font-size: 13px;
	}

	.single-post__content {
		font-size: 16px;
		line-height: 1.7;
	}

	.single-post__content h2 {
		margin: 34px 0 16px;
		font-size: 24px;
	}

	.single-post__content h3 {
		margin: 28px 0 14px;
		font-size: 21px;
	}

	.single-post__content h4,
	.single-post__content h5,
	.single-post__content h6 {
		margin: 24px 0 12px;
		font-size: 18px;
	}

	/* Single post — Blog detail page */
	.single-post-blog__body {
		padding: 32px 16px 60px;
	}

	.single-post-blog__title {
		font-size: 26px;
		line-height: 1.3;
		margin-bottom: 16px;
	}

	.single-post-blog__meta-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		margin-bottom: 28px;
	}

	.single-post-blog__byline {
		font-size: 14px;
		line-height: 1.5;
	}

	.single-post-blog__share-label {
		font-size: 16px;
		line-height: 1.4;
	}

	.single-post-blog__share-btn {
		width: 32px;
		height: 32px;
		font-size: 13px;
	}

	.single-post-blog__media {
		margin-bottom: 28px;
	}

	.single-post-blog__content {
		font-size: 16px;
		line-height: 1.7;
	}

	.single-post-blog__content h1,
	.single-post-blog__content h2,
	.single-post-blog__content h3,
	.single-post-blog__content h4,
	.single-post-blog__content h5,
	.single-post-blog__content h6 {
		margin: 28px 0 14px;
		font-size: 22px;
	}

	/* 404 page */
	.error-404-page {
		min-height: 50vh;
		padding: 60px 20px;
	}

	.error-404-page__code {
		font-size: 70px;
	}

	.error-404-page__title {
		font-size: 24px;
	}

	.error-404-page__desc {
		font-size: 16px;
		margin-bottom: 28px;
	}

	.error-404-page__btn {
		padding: 13px 32px;
		font-size: 16px;
	}

	/* Legal / Policy page */
	.legal-page__header {
		padding: 48px 16px 16px;
	}

	.legal-page__title {
		font-size: 28px;
		line-height: 1.3;
	}

	.legal-page__updated {
		font-size: 14px;
	}

	.legal-page__content {
		padding: 28px 16px 60px;
		font-size: 15px;
		line-height: 1.7;
	}

	.legal-page__content h2 {
		margin: 32px 0 14px;
		font-size: 20px;
	}

	.legal-page__content h3 {
		margin: 28px 0 12px;
		font-size: 18px;
	}

	.legal-page__content h4 {
		margin: 24px 0 10px;
		font-size: 16px;
	}

	.legal-page__content blockquote {
		padding: 16px 18px;
		font-size: 14px;
	}

	/* Single episode page */
	.episode-single__body {
		padding: 32px 16px 60px;
	}

	.episode-single__number {
		font-size: 22px;
		line-height: 1.3;
	}

	.episode-single__title {
		font-size: 26px;
		line-height: 1.3;
		margin-bottom: 18px;
	}

	.episode-single__play {
		width: 60px;
		height: 60px;
	}

	.episode-single__play::after {
		width: 54px;
		height: 54px;
	}

	.episode-single__meta-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.episode-single__share-label {
		font-size: 16px;
		line-height: 1.4;
	}

	.episode-single__share-btn {
		width: 32px;
		height: 32px;
		font-size: 13px;
	}

	.episode-single__watch {
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}

	.episode-single__watch-heading {
		font-size: 22px;
		letter-spacing: 1px;
		line-height: 1.3;
	}

	.episode-single__watch-btn {
		padding: 11px 20px;
	}

	.episode-single__watch-btn i {
		font-size: 16px;
	}

	.episode-single__watch-btn span {
		font-size: 15px;
	}

	.episode-single__content {
		font-size: 16px;
		line-height: 1.7;
	}

	.episode-single__content h1,
	.episode-single__content h2,
	.episode-single__content h3,
	.episode-single__content h4,
	.episode-single__content h5,
	.episode-single__content h6 {
		margin: 28px 0 14px;
		font-size: 22px;
	}

	.episode-single__more-heading {
		margin-bottom: 24px;
		font-size: 28px;
		line-height: 1.3;
	}

}


/* --------------------------------------------------------------------------
   2. LANDSCAPE MOBILE VIEW — min-width: 600px and max-width: 768px
   -------------------------------------------------------------------------- */
@media (min-width: 600px) and (max-width: 768px) {

	.aiob-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.aiob-marquee {
		padding-left: 20px;
		padding-right: 20px;
	}

	.aiob-marquee__text {
		font-size: 14px;
	}

	/* Homepage hero — a bit more room than portrait mobile */
	#homepage-hero-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#home-hero-heading-section {
		font-size: 32px;
	}

	#home-hero-redirection-buttons {
		flex-direction: row;
		align-items: center;
	}

	.red-design-button .elementor-button,
	.blue-design-button .elementor-button {
		width: auto;
	}

	/* [among-our-guests] shortcode */
	.aiob-among-guests {
		font-size: 16px;
		line-height: 21px;
		white-space: normal;
	}

	/* "Why Appear" stats strip — 2x2 grid at this wider mobile range */
	#homepage-section-blue-second {
		padding-left: 20px;
		padding-right: 20px;
	}

	#home-second-four-col > div {
		flex: 1 1 50%;
		max-width: 50%;
	}

	/* "Two Ways to Hold This Election Accountable" */
	#homepage-section-election {
		padding-left: 20px;
		padding-right: 20px;
	}

	#homepage-section-election-title {
		font-size: 32px;
	}

	/* Featured Guests slider */
	#home-featured-guest-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#featured-section-heading {
		font-size: 32px;
	}

	/* "Key AI Policy Issues" */
	#ai-policy-issue-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#ai-policy-issue-heading {
		font-size: 32px;
	}

	.ai-policy-issue-grid {
		grid-template-columns: 1fr;
	}

	/* "Where AI Policy Meets Voters" */
	#policy-meets-voter-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#policy-meets-voter-heading {
		font-size: 32px;
	}

	/* "Reach. Influence. On the Record." impact stats */
	#homepage-impact-statistics-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#homepage-impact-statistics-heading {
		font-size: 32px;
	}

	/* "Discuss Participation" */
	#discuss-participation-section {
		padding: 20px;
	}

	#discuss-participation-right {
		padding: 26px 24px;
	}

	#discuss-participation-title {
		font-size: 32px;
	}

	#discuss-participation-right h2,
	#get-started-title {
		font-size: 32px;
	}

	body.page-id-19 #discuss-participation-section {
		padding-bottom: 64px !important;
	}

	.tracker-content-desc {
		padding: 36px 20px 18px !important;
	}

	.tracker-content-desc:last-of-type {
		padding-top: 0 !important;
	}

	.tracker-content-desc p {
		font-size: 16px;
	}

	.tracker-content-desc h2 {
		font-size: 30px;
	}

	/* "Want your campaign's position on the record?" CTA */
	body.home #join-campaign-section {
		padding: 32px 20px;
	}

	#join-campaign-section.about-us-join-campaign {
		width: calc(100% - 40px);
		margin-left: 20px;
		margin-right: 20px;
		margin-bottom: 64px;
		padding-left: 20px;
		padding-right: 20px;
	}

	#join-campaign-section-title {
		font-size: 30px;
	}

	/* "Featured Episodes" */
	#homepage-episodes-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#homepage-episodes-heading {
		font-size: 32px;
	}

	.episode-card__title {
		font-size: 19px;
	}

	/* Guests page listing */
	#guest-listing-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#guest-featured-heading {
		font-size: 32px;
	}

	/* Press Center listing */
	#press-listing-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#press-listing-section-heading {
		font-size: 32px;
	}

	.press-tabs__link {
		padding-bottom: 14px;
		font-size: 20px;
	}

	.news-post-card__title {
		font-size: 22px;
	}

	.news-search-widget__heading,
	.news-latest-widget__heading {
		font-size: 28px;
	}

	/* FAQ + "Where to listen & watch" */
	#homepage-faq-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#homepage-faq-heading {
		font-size: 32px;
	}

	.faq-item__question {
		font-size: 20px;
	}

	#where-listen-watch-heading {
		font-size: 28px;
	}

	/* "Amplify Your Voice" */
	#amplify-your-voice-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#amplify-your-voice-heading {
		font-size: 32px;
	}

	.amplify-voice-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* "Who We Are" */
	#about-us-hero-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#who-we-are-heading {
		font-size: 34px;
	}

	#who-we-are-content {
		font-size: 17px;
	}

	/* "Our Values" */
	#our-values-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#our-values-title {
		font-size: 32px;
	}

	.our-values-item {
		padding: 26px 24px;
	}

	.our-values-item__number {
		font-size: 40px;
	}

	.our-values-item__title {
		font-size: 24px;
		line-height: 30px;
	}

	.our-values-item__desc {
		font-size: 15px;
	}

	/* "Our Mission" */
	#our-mission-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#our-commitment-section,
	#our-partnership-section,
	#our-global-reach-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#our-global-reach-section {
		padding-bottom: 56px;
	}

	/* "Why Participate" */
	#why-participate-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#why-participate-title {
		font-size: 32px;
	}

	#why-participate-text {
		font-size: 17px;
	}

	/* "The Conversations" episode hero */
	#episode-hero-section {
		min-height: 300px;
		padding-left: 20px;
		padding-right: 20px;
	}

	#episode-hero-heading {
		font-size: 32px;
	}

	#episode-hero-text {
		font-size: 17px;
	}

	#press-hero-section-title {
		font-size: 32px;
	}

	#press-hero-section-text {
		font-size: 17px;
		line-height: 1.5;
	}

	.episode-filter-section {
		padding: 28px 56px;
	}

	.episode-listing-section {
		padding: 0 56px 56px;
	}

	.episode-filter-bar {
		padding-left: 20px;
		padding-right: 20px;
	}

	/* "Why Should I Do This?" */
	#why-should-talk-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#why-should-talk-chat .e-n-accordion-item-title-text {
		font-size: 21px;
		line-height: 26px;
	}

	/* "Why Appearing on AI on the Ballot…" */
	#appearing-on-aiob-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#appearing-on-aiob-title {
		font-size: 32px;
	}

	.appearing-on-aiob-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* "What Your Campaign Receives" */
	#campaign-receives-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	#campaign-receives-title {
		font-size: 32px;
	}

	.campaign-receive-item {
		flex-basis: calc((100% - 14px) / 2);
		max-width: calc((100% - 14px) / 2);
	}

	#our-mission-right-section h2,
	#our-mission-title {
		font-size: 32px;
	}

	#our-mission-right-section p,
	#our-mission-content {
		font-size: 17px;
	}

	/* Single post detail page */
	.single-post__hero {
		min-height: 400px;
	}

	.single-post__title {
		font-size: 28px;
	}

	.single-post__content {
		font-size: 17px;
	}

	/* Single post — Blog detail page */
	.single-post-blog__title {
		font-size: 30px;
	}

	.single-post-blog__content {
		font-size: 17px;
	}

	/* Single episode page */
	.episode-single__title {
		font-size: 30px;
	}

	.episode-single__content {
		font-size: 17px;
	}

	.episode-single__more-heading {
		font-size: 32px;
	}

}


/* --------------------------------------------------------------------------
   3. TABLET VIEW — min-width: 768px and max-width: 991px
   Capped at 990 (not 991) so it never overlaps the iPad block below,
   which starts at min-width:991px.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {

	.aiob-section {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.aiob-container {
		padding-left: 40px;
		padding-right: 40px;
	}

	.aiob-marquee {
		padding-left: 40px;
		padding-right: 40px;
	}

	.aiob-marquee__star {
		margin: 0 18px;
	}

	.aiob-marquee__text {
		font-size: 15px;
	}

	.aiob-logo {
		max-height: 46px;
	}

	/* Homepage hero */
	#homepage-hero-section {
		padding: 36px 40px;
	}

	#homepage-hero-content-section {
		max-width: 100%;
	}

	#home-hero-heading-section {
		font-size: 36px;
		line-height: 1.3;
	}

	/* [among-our-guests] shortcode */
	.aiob-among-guests {
		font-size: 18px;
		line-height: 23px;
	}

	/* "Why Appear" stats strip — 2x2 grid */
	#homepage-section-blue-second {
		padding: 45px 40px;
	}

	#home-second-four-col > div {
		flex: 1 1 50%;
		max-width: 50%;
		padding: 0 24px;
		margin-bottom: 36px;
	}

	#home-second-four-col > div:not(:last-child)::after {
		display: none;
	}

	#home-second-four-col h2 {
		font-size: 26px;
		line-height: 32px;
	}

	#home-four-column-section {
		padding: 30px 34px;
	}

	/* "Two Ways to Hold This Election Accountable" — stack, side-by-side
	   is too cramped at this width */
	#homepage-section-election {
		padding: 60px 40px;
	}

	#homepage-section-election-title {
		font-size: 36px;
		margin-bottom: 32px;
	}

	#conversation-section-image {
		flex-direction: column;
		height: auto;
	}

	/* Same reversal as the mobile tier — see the note there. */
	#conversation-section-image:nth-child(2) {
		flex-direction: column-reverse;
	}

	#conversation-section-image > .elementor-widget-image {
		flex-basis: auto;
		height: auto;
	}

	#conversation-section-image > .elementor-widget-image img {
		height: auto;
		min-height: 300px;
	}

	#conversation-section-content {
		flex-basis: auto;
		height: auto;
	}

	/* Featured Guests slider — Slick shows 2 slides at this tier (see
	   custom.js breakpoint:991) */
	#home-featured-guest-section {
		padding: 60px 40px;
	}

	#featured-section-heading {
		font-size: 36px;
		margin-bottom: 32px;
	}

	/* "Key AI Policy Issues" — 2 columns */
	#ai-policy-issue-section {
		padding: 60px 40px;
	}

	#ai-policy-issue-heading {
		font-size: 36px;
		margin-bottom: 32px;
	}

	.ai-policy-issue-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	/* "Where AI Policy Meets Voters" */
	#policy-meets-voter-section {
		padding: 60px 40px;
	}

	#policy-meets-voter-heading {
		font-size: 36px;
	}

	/* "Reach. Influence. On the Record." impact stats */
	#homepage-impact-statistics-section {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		padding: 60px 40px;
	}

	#homepage-impact-statistics-heading {
		grid-column: 1;
		grid-row: 2;
		width: auto;
		height: auto;
		font-size: 36px;
		margin-bottom: 32px;
	}

	#stats-section {
		grid-column: 1;
		grid-row: 3;
		grid-template-columns: repeat(2, 1fr);
	}

	#stats-section > div {
		padding: 18px 20px;
		border-right: 0 !important;
		border-bottom: 0 !important;
	}

	#stats-section > div:nth-child(odd) {
		border-right: 2px solid rgba(255, 255, 255, 0.302) !important;
	}

	#stats-section > div:not(:nth-last-child(-n+2)) {
		border-bottom: 2px solid rgba(255, 255, 255, 0.302) !important;
	}

	#stats-section > div:first-child {
		padding-left: 20px;
	}

	.stats-count span {
		font-size: 40px;
		line-height: 48px;
	}

	/* "Discuss Participation" — stack, 2-col is cramped at this width */
	#discuss-participation-section {
		grid-template-columns: 1fr;
		padding: 40px;
	}

	#discuss-participation-left {
		min-height: 320px;
	}

	#discuss-participation-right {
		padding: 28px 33px;
	}

	#discuss-participation-title {
		font-size: 36px;
	}

	#discuss-participation-right h2,
	#get-started-title {
		font-size: 36px;
	}

	#discuss-participation-right h2 + p {
		font-size: 16px;
	}

	body.page-id-19 #discuss-participation-section {
		padding-bottom: 80px !important;
	}

	.tracker-content-desc {
		padding: 48px 40px 24px !important;
		margin-bottom: 40px;
	}

	.tracker-content-desc:last-of-type {
		margin-bottom: 64px;
		padding-top: 0 !important;
	}

	.tracker-content-desc p {
		font-size: 18px;
		line-height: 1.4;
	}

	.tracker-content-desc h2 {
		font-size: 36px;
		margin-bottom: 20px !important;
		padding-bottom: 16px;
	}

	/* Tracker modal */
	.aiob-tracker-modal__panel {
		top: 24px;
		left: 24px;
		right: 24px;
		bottom: 24px;
	}

	/* "Want your campaign's position on the record?" CTA */
	body.home #join-campaign-section {
		padding: 40px;
	}

	#join-campaign-section.about-us-join-campaign {
		width: calc(100% - 80px);
		margin-left: 40px;
		margin-right: 40px;
		margin-bottom: 80px;
		padding-left: 40px;
		padding-right: 40px;
	}

	#join-campaign-section-title {
		font-size: 34px;
	}

	/* "Featured Episodes" */
	#homepage-episodes-section {
		padding: 60px 40px;
	}

	#homepage-episodes-heading {
		font-size: 36px;
		margin-bottom: 32px;
	}

	.episodes-listing__grid {
		gap: 24px;
	}

	/* Guests page listing — 2 columns at tablet width */
	#guest-listing-section {
		padding: 60px 40px;
	}

	#guest-featured-heading {
		font-size: 36px;
		margin-bottom: 32px;
	}

	/* Press Center listing */
	#press-listing-section {
		padding: 60px 40px 80px;
	}

	#press-listing-section-heading {
		font-size: 36px;
	}

	.press-tabs__link {
		padding-bottom: 16px;
		font-size: 26px;
		line-height: 1.3;
	}

	.default-post-grid {
		gap: 24px;
	}

	/* News tab: sidebar still stacks below at this tier (not enough room
	   for a 3rd column yet), but the listing itself keeps 2 columns. */
	.news-layout {
		flex-direction: column;
		gap: 32px;
	}

	.news-layout__sidebar {
		flex-basis: auto;
		max-width: 100%;
	}

	.news-post-grid {
		gap: 20px;
	}

	.news-post-card__title {
		font-size: 22px;
	}

	.news-search-widget__heading,
	.news-latest-widget__heading {
		font-size: 28px;
	}

	.guest-listing__grid {
		gap: 24px;
	}

	.guest-listing__grid .featured-guest-card {
		flex-basis: calc((100% - 24px) / 2);
		max-width: calc((100% - 24px) / 2);
	}

	/* FAQ + "Where to listen & watch" */
	#homepage-faq-section {
		padding: 60px 40px 80px;
	}

	#homepage-faq-heading {
		font-size: 36px;
		margin-bottom: 32px;
	}

	.faq-accordion-grid {
		flex-direction: column;
		gap: 16px;
		margin-bottom: 64px;
	}

	.faq-accordion-col {
		display: contents;
	}

	#where-listen-watch-heading {
		margin: 48px 0 28px;
		font-size: 30px;
	}

	.listen-watch-card {
		width: 170px;
	}

	/* "Amplify Your Voice" */
	#amplify-your-voice-section {
		padding: 60px 40px;
	}

	#amplify-your-voice-heading {
		font-size: 36px;
		margin-bottom: 32px;
	}

	.amplify-voice-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	/* "Who We Are" — still stacked, side-by-side is too cramped at this width */
	#about-us-hero-section {
		flex-direction: column;
		align-items: stretch;
		gap: 36px;
		padding: 60px 40px;
	}

	#about-us-left-section {
		flex: 0 0 auto;
		max-width: 100%;
	}

	#about-us-right-section {
		flex: 0 0 auto;
		min-height: 380px;
	}

	#who-we-are-text {
		margin-bottom: 20px;
	}

	#who-we-are-heading {
		font-size: 38px;
		margin-bottom: 24px;
		padding-bottom: 16px;
	}

	#who-we-are-content {
		font-size: 19px;
		line-height: 1.4;
	}

	/* "Our Values" — still stacked, a 3-column row is too tight at this width */
	#our-values-section {
		padding: 60px 40px;
	}

	#our-values-title {
		font-size: 36px;
		margin-bottom: 32px;
	}

	.our-values-list {
		gap: 20px;
	}

	.our-values-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 30px 32px;
	}

	.our-values-item__number {
		flex: 0 0 auto;
		font-size: 44px;
		text-align: left;
	}

	.our-values-item__title {
		flex: 0 0 auto;
		font-size: 26px;
		line-height: 32px;
	}

	.our-values-item__desc {
		font-size: 15px;
	}

	/* "Our Mission" — still stacked, side-by-side is too cramped at this width */
	#our-mission-section {
		flex-direction: column;
		padding: 60px 40px;
	}

	#our-commitment-section,
	#our-partnership-section,
	#our-global-reach-section {
		flex-direction: column;
		padding: 0 40px;
	}

	/* Same reversal as the mobile tier — see the note there. */
	#our-commitment-section {
		flex-direction: column-reverse;
		margin-bottom: 60px;
	}

	#our-global-reach-section {
		flex-direction: column-reverse;
		margin-top: 60px;
		padding-bottom: 70px;
	}

	/* "Why Participate" */
	#why-participate-section {
		padding: 30px 40px;
	}

	#why-participate-title {
		font-size: 38px;
		margin-bottom: 24px;
		padding-bottom: 16px;
	}

	#why-participate-text {
		font-size: 19px;
		line-height: 1.4;
	}

	/* "The Conversations" episode hero */
	#episode-hero-section {
		min-height: 340px;
		padding: 60px 40px;
	}

	#episode-hero-heading {
		font-size: 38px;
		margin-bottom: 24px;
		padding-bottom: 16px;
	}

	#episode-hero-text {
		font-size: 19px;
		line-height: 1.4;
	}

	/* Press Center hero — row layout resumes at this tier */
	#press-hero-section {
		min-height: 480px;
	}

	#press-hero-left-section {
		padding: 60px 30px 60px 40px;
	}

	#press-hero-section-title {
		font-size: 38px;
		margin-bottom: 24px;
		padding-bottom: 16px;
	}

	#press-hero-section-text {
		font-size: 19px;
		line-height: 1.4;
	}

	.episode-filter-section {
		padding: 32px 64px;
	}

	.episode-listing-section {
		padding: 0 64px 64px;
	}

	.episode-filter-bar {
		padding: 32px 40px;
	}

	/* "Why Should I Do This?" — still stacked, side-by-side is too cramped at this width */
	#why-should-talk-section {
		flex-direction: column;
		align-items: stretch !important;
		gap: 30px;
		padding: 60px 40px;
	}

	#why-should-talk-image {
		min-height: 380px;
	}

	#why-should-talk-chat .e-n-accordion {
		gap: 12px;
	}

	#why-should-talk-chat .e-n-accordion-item-title-text {
		font-size: 22px;
		line-height: 27px;
	}

	/* "Why Appearing on AI on the Ballot…" — still 2 columns at this width */
	#appearing-on-aiob-section {
		padding: 60px 40px;
	}

	#appearing-on-aiob-title {
		font-size: 36px;
		margin-bottom: 32px;
	}

	.appearing-on-aiob-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	/* "What Your Campaign Receives" — still 2 columns at this width */
	#campaign-receives-section {
		padding: 60px 40px;
	}

	#campaign-receives-title {
		font-size: 38px;
	}

	.campaign-receive-grid {
		gap: 20px;
	}

	.campaign-receive-item {
		flex-basis: calc((100% - 20px) / 2);
		max-width: calc((100% - 20px) / 2);
	}

	#our-mission-left-section {
		flex: 0 0 auto;
		min-height: 380px;
	}

	#our-mission-right-section {
		flex: 0 0 auto;
		padding: 36px 0 0;
	}

	#our-mission-right-section h2,
	#our-mission-title {
		font-size: 38px;
		margin-bottom: 24px;
		padding-bottom: 16px;
	}

	#our-mission-right-section p,
	#our-mission-content {
		font-size: 19px;
		line-height: 1.4;
	}

	/* Single post detail page */
	.single-post__hero {
		min-height: 440px;
	}

	.single-post__hero-inner {
		padding: 50px 40px 40px;
	}

	.single-post__header {
		padding: 50px 40px 0;
	}

	.single-post__body {
		padding: 60px 40px 80px;
	}

	.single-post__title {
		font-size: 32px;
	}

	.single-post__content {
		font-size: 17px;
	}

	.single-post__content h2 {
		font-size: 28px;
	}

	.single-post__content h3 {
		font-size: 23px;
	}

	/* Single post — Blog detail page */
	.single-post-blog__body {
		padding: 60px 40px 80px;
	}

	.single-post-blog__title {
		font-size: 36px;
	}

	.single-post-blog__content {
		font-size: 17px;
	}

	.single-post-blog__content h1,
	.single-post-blog__content h2,
	.single-post-blog__content h3,
	.single-post-blog__content h4,
	.single-post-blog__content h5,
	.single-post-blog__content h6 {
		font-size: 28px;
	}

	/* 404 page */
	.error-404-page__code {
		font-size: 96px;
	}

	.error-404-page__title {
		font-size: 28px;
	}

	/* Legal / Policy page */
	.legal-page__header {
		padding: 60px 40px 36px;
	}

	.legal-page__title {
		font-size: 38px;
	}

	.legal-page__content {
		padding: 44px 40px 80px;
		font-size: 16px;
	}

	.legal-page__content h2 {
		font-size: 24px;
	}

	.legal-page__content h3 {
		font-size: 20px;
	}

	/* Single episode page */
	.episode-single__body {
		padding: 60px 40px 80px;
	}

	.episode-single__number {
		font-size: 28px;
	}

	.episode-single__title {
		font-size: 36px;
	}

	.episode-single__watch-heading {
		font-size: 28px;
	}

	.episode-single__content {
		font-size: 17px;
	}

	.episode-single__content h1,
	.episode-single__content h2,
	.episode-single__content h3,
	.episode-single__content h4,
	.episode-single__content h5,
	.episode-single__content h6 {
		font-size: 28px;
	}

	.episode-single__more-heading {
		font-size: 36px;
	}

}


/* --------------------------------------------------------------------------
   4. IPAD / LARGE TABLET VIEW — min-width: 991px and max-width: 1024px
   -------------------------------------------------------------------------- */
@media (min-width: 991px) and (max-width: 1024px) {

	.aiob-container {
		padding-left: 50px;
		padding-right: 50px;
	}

	.aiob-marquee {
		padding-left: 50px;
		padding-right: 50px;
	}

	/* Keep logo + menu + button on one row without overlap */
	.aiob-header-inner {
		gap: 10px;
	}

	.aiob-menu {
		gap: 10px;
	}

	.aiob-menu a {
		font-size: 14px;
		padding: 6px 1px;
	}

	.btn-discuss {
		font-size: 15px;
		padding: 8px 14px;
	}

	.aiob-logo {
		max-height: 36px;
	}

	/* Homepage hero */
	#homepage-hero-section {
		padding: 40px 50px;
	}

	#homepage-hero-content-section {
		max-width: 690px;
	}

	#home-hero-heading-section {
		font-size: 40px;
		line-height: 1.3;
	}

	/* [among-our-guests] shortcode */
	.aiob-among-guests {
		font-size: 19px;
		line-height: 24px;
	}

	/* "Why Appear" stats strip */
	#homepage-section-blue-second {
		padding: 48px 50px;
	}

	#home-second-four-col > div {
		padding: 0 18px;
	}

	#home-second-four-col h2 {
		font-size: 26px;
		line-height: 32px;
	}

	/* "Two Ways to Hold This Election Accountable" */
	#homepage-section-election {
		padding: 64px 50px;
	}

	#homepage-section-election-title {
		font-size: 38px;
	}

	/* Below 1200px, switch off the desktop's fixed 452px row (style.css) in
	   favour of height:auto + flex stretch on all three boxes — a fixed
	   height either clipped the card's wrapped text or left the photo at
	   its own unrelated aspect-ratio height when the card was shorter. The
	   photo wrapper needs its own height:auto too (not just the row),
	   otherwise its height:100% can't resolve against the now-auto row and
	   the image falls back to its natural aspect ratio instead of
	   stretching to match the card. */
	#conversation-section-image {
		height: auto;
	}

	#conversation-section-image > .elementor-widget-image {
		height: auto;
	}

	#conversation-section-content {
		height: auto;
		overflow: visible;
		padding: 32px 28px;
	}

	#conversation-title {
		font-size: 26px;
		line-height: 32px;
	}

	/* Featured Guests slider */
	#home-featured-guest-section {
		padding: 64px 50px;
	}

	#featured-section-heading {
		font-size: 38px;
	}

	/* "Key AI Policy Issues" */
	#ai-policy-issue-section {
		padding: 64px 50px;
	}

	#ai-policy-issue-heading {
		font-size: 38px;
	}

	.ai-policy-issue-grid {
		gap: 20px;
	}

	.ai-policy-issue-card {
		padding: 24px 22px;
	}

	.ai-policy-issue-card__title {
		font-size: 26px;
		line-height: 32px;
	}

	/* "Where AI Policy Meets Voters" */
	#policy-meets-voter-section {
		padding: 64px 50px;
	}

	#policy-meets-voter-heading {
		font-size: 38px;
	}

	/* "Reach. Influence. On the Record." impact stats */
	#homepage-impact-statistics-section {
		grid-template-columns: 240px 1fr;
		column-gap: 30px;
		padding: 64px 50px;
	}

	#homepage-impact-statistics-heading {
		width: 220px;
		height: auto;
		font-size: 32px;
		line-height: 1.2;
	}

	/* #stats-section never reset grid-template-columns at this tier, so it
	   fell through to the desktop 4-column default (style.css) while the
	   heading column above had already shrunk the space available to it —
	   squeezing all 4 stat cells into a narrow strip. 2 columns + dividers
	   off matches the tablet tier just below this one. */
	#stats-section {
		grid-template-columns: repeat(2, 1fr);
	}

	#stats-section > div {
		padding: 16px 18px;
		border-right: 0 !important;
		border-bottom: 0 !important;
	}

	#stats-section > div:nth-child(odd) {
		border-right: 2px solid rgba(255, 255, 255, 0.302) !important;
	}

	#stats-section > div:not(:nth-last-child(-n+2)) {
		border-bottom: 2px solid rgba(255, 255, 255, 0.302) !important;
	}

	.stats-count span {
		font-size: 36px;
		line-height: 44px;
	}

	#stats-count-1 p,
	#stats-count-2 p,
	#stats-count-3 p,
	#stats-count-4 p,
	#stats-count-5 p,
	#stats-count-6 p,
	#stats-count-7 p,
	#stats-count-8 p {
		font-size: 15px;
		line-height: 19px;
	}

	/* "Discuss Participation" */
	#discuss-participation-section {
		padding: 50px;
	}

	#discuss-participation-left {
		min-height: 460px;
	}

	/* Side-by-side resumes at this tier — vertical padding back to 0,
	   matching the base's intent of relying on grid stretch to match the
	   photo column's height instead of fixed padding. */
	#discuss-participation-right {
		padding: 0 42px;
	}

	#discuss-participation-title {
		font-size: 38px;
		margin-bottom: 26px;
	}

	#discuss-participation-right h2,
	#get-started-title {
		font-size: 38px;
		margin-bottom: 20px;
	}

	#discuss-participation-right h2 + p {
		font-size: 17px;
	}

	body.page-id-19 #discuss-participation-section {
		padding-bottom: 100px !important;
	}

	.tracker-content-desc {
		padding: 56px 50px 28px !important;
		margin-bottom: 44px;
	}

	.tracker-content-desc:last-of-type {
		margin-bottom: 72px;
		padding-top: 0 !important;
	}

	.tracker-content-desc p {
		font-size: 20px;
		line-height: 1.4;
	}

	.tracker-content-desc h2 {
		font-size: 38px;
	}

	/* "Want your campaign's position on the record?" CTA */
	body.home #join-campaign-section {
		padding: 40px 50px;
	}

	#join-campaign-section.about-us-join-campaign {
		width: calc(100% - 100px);
		margin-left: 50px;
		margin-right: 50px;
		margin-bottom: 100px;
		padding-left: 50px;
		padding-right: 50px;
	}

	#join-campaign-section-title {
		font-size: 38px;
	}

	/* "Featured Episodes" */
	#homepage-episodes-section {
		padding: 64px 50px;
	}

	#homepage-episodes-heading {
		font-size: 38px;
	}

	/* Guests page listing — 3 columns resume at this tier */
	#guest-listing-section {
		padding: 64px 50px;
	}

	#guest-featured-heading {
		font-size: 38px;
	}

	/* Press Center listing */
	#press-listing-section {
		padding: 64px 50px 84px;
	}

	#press-listing-section-heading {
		font-size: 38px;
	}

	.press-tabs__link {
		padding-bottom: 18px;
		font-size: 28px;
		line-height: 1.3;
	}

	/* News tab: row layout resumes, narrower sidebar */
	.news-layout__sidebar {
		flex-basis: 320px;
		max-width: 320px;
	}

	.news-post-card__title {
		font-size: 22px;
	}

	.news-search-widget__heading,
	.news-latest-widget__heading {
		font-size: 28px;
	}

	.guest-listing__grid {
		gap: 24px;
	}

	.guest-listing__grid .featured-guest-card {
		flex-basis: calc((100% - 48px) / 3);
		max-width: calc((100% - 48px) / 3);
	}

	/* FAQ + "Where to listen & watch" */
	#homepage-faq-section {
		padding: 64px 50px 100px;
	}

	#homepage-faq-heading {
		font-size: 38px;
	}

	.faq-item__question {
		font-size: 22px;
	}

	.faq-accordion-grid {
		margin-bottom: 80px;
	}

	#where-listen-watch-heading {
		font-size: 32px;
	}

	.listen-watch-card {
		width: 190px;
	}

	/* "Amplify Your Voice" */
	#amplify-your-voice-section {
		padding: 64px 50px;
	}

	#amplify-your-voice-heading {
		font-size: 38px;
	}

	.amplify-voice-grid {
		gap: 20px;
	}

	.amplify-voice-card {
		padding: 30px 24px;
	}

	.amplify-voice-card__title {
		font-size: 26px;
		line-height: 32px;
	}

	/* "Who We Are" — side-by-side resumes at this tier */
	#about-us-hero-section {
		gap: 50px;
		padding: 64px 50px;
	}

	#about-us-right-section {
		min-height: 420px;
	}

	#who-we-are-heading {
		font-size: 40px;
		margin-bottom: 22px;
		padding-bottom: 16px;
	}

	#who-we-are-content {
		font-size: 20px;
		line-height: 1.4;
	}

	/* "Our Values" — side-by-side row resumes at this tier */
	#our-values-section {
		padding: 64px 50px;
	}

	#our-values-title {
		font-size: 38px;
	}

	.our-values-list {
		gap: 22px;
	}

	.our-values-item {
		gap: 24px;
		padding: 32px 40px;
	}

	.our-values-item__number {
		flex-basis: 80px;
		font-size: 48px;
	}

	.our-values-item__title {
		flex-basis: 170px;
		font-size: 28px;
		line-height: 34px;
	}

	.our-values-item__desc {
		font-size: 15px;
	}

	/* "Our Mission" — side-by-side row resumes at this tier */
	#our-mission-section {
		padding-left: 50px;
		padding-right: 50px;
	}

	#our-commitment-section,
	#our-partnership-section,
	#our-global-reach-section {
		padding-left: 50px;
		padding-right: 50px;
	}

	#our-global-reach-section {
		padding-bottom: 85px;
	}

	/* "Why Participate" */
	#why-participate-section {
		padding: 32px 50px;
	}

	#why-participate-title {
		font-size: 40px;
		margin-bottom: 22px;
		padding-bottom: 16px;
	}

	#why-participate-text {
		font-size: 20px;
		line-height: 1.4;
	}

	/* "The Conversations" episode hero */
	#episode-hero-section {
		min-height: 380px;
		padding: 64px 50px;
	}

	#episode-hero-heading {
		font-size: 40px;
		margin-bottom: 22px;
		padding-bottom: 16px;
	}

	#episode-hero-text {
		font-size: 20px;
		line-height: 1.4;
	}

	/* Press Center hero */
	#press-hero-section {
		min-height: 540px;
	}

	#press-hero-left-section {
		padding: 64px 40px 64px 50px;
	}

	#press-hero-section-title {
		font-size: 40px;
		margin-bottom: 22px;
		padding-bottom: 16px;
	}

	#press-hero-section-text {
		font-size: 20px;
		line-height: 1.4;
	}

	.episode-filter-section {
		padding: 36px 72px;
	}

	.episode-listing-section {
		padding: 0 72px 72px;
	}

	.episode-filter-bar {
		padding: 32px 50px;
	}

	/* "Why Should I Do This?" — side-by-side row resumes at this tier */
	#why-should-talk-section {
		gap: 34px;
		padding: 64px 50px;
	}

	#why-should-talk-chat .e-n-accordion {
		gap: 13px;
	}

	#why-should-talk-chat .e-n-accordion-item-title-text {
		font-size: 22px;
		line-height: 27px;
	}

	/* "Why Appearing on AI on the Ballot…" — 3 columns resume at this tier */
	#appearing-on-aiob-section {
		padding: 64px 50px;
	}

	#appearing-on-aiob-title {
		font-size: 38px;
	}

	.appearing-on-aiob-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	.appearing-on-aiob-card {
		padding: 30px 24px;
	}

	.appearing-on-aiob-card__count {
		font-size: 40px;
		line-height: 48px;
	}

	.appearing-on-aiob-card__title {
		font-size: 19px;
	}

	/* "What Your Campaign Receives" — 3 columns resume at this tier */
	#campaign-receives-section {
		padding: 64px 50px;
	}

	#campaign-receives-title {
		font-size: 40px;
	}

	.campaign-receive-grid {
		gap: 20px;
	}

	.campaign-receive-item {
		flex-basis: calc((100% - 40px) / 3);
		max-width: calc((100% - 40px) / 3);
		padding: 24px 26px;
	}

	.campaign-receive-item__title {
		font-size: 21px;
		line-height: 27px;
	}

	#our-mission-left-section {
		min-height: 420px;
	}

	/* Scaled to stay below the >=1200px base's 30px — the previous
	   64px/72px values here were bigger than the desktop base, which made
	   padding shrink as the screen got wider instead of growing. */
	#our-mission-right-section {
		padding: 24px;
	}

	#our-mission-right-section h2,
	#our-mission-title {
		font-size: 40px;
		margin-bottom: 22px;
		padding-bottom: 16px;
	}

	#our-mission-right-section p,
	#our-mission-content {
		font-size: 20px;
		line-height: 1.4;
	}

	/* Single post detail page */
	.single-post__hero {
		min-height: 460px;
	}

	.single-post__hero-inner {
		padding: 55px 50px 45px;
	}

	.single-post__header {
		padding: 55px 50px 0;
	}

	.single-post__body {
		padding: 64px 50px 84px;
	}

	.single-post__title {
		font-size: 34px;
	}

	/* Single post — Blog detail page */
	.single-post-blog__body {
		padding: 64px 50px 84px;
	}

	.single-post-blog__title {
		font-size: 40px;
	}

	/* Legal / Policy page */
	.legal-page__header {
		padding: 64px 50px 40px;
	}

	.legal-page__title {
		font-size: 42px;
	}

	.legal-page__content {
		padding: 48px 50px 84px;
	}

	/* Single episode page */
	.episode-single__body {
		padding: 64px 50px 84px;
	}

	.episode-single__title {
		font-size: 40px;
	}

	.episode-single__more-heading {
		font-size: 40px;
	}

}


/* --------------------------------------------------------------------------
   5. LAPTOP VIEW — min-width: 1024px and max-width: 1200px
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) and (max-width: 1200px) {

	.aiob-container {
		padding-left: 60px;
		padding-right: 60px;
	}

	.aiob-marquee {
		padding-left: 60px;
		padding-right: 60px;
	}

	.aiob-header-inner {
		gap: 12px;
	}

	.aiob-menu {
		gap: 10px;
	}

	.aiob-menu a {
		font-size: 14px;
		padding: 6px 1px;
	}

	.btn-discuss {
		font-size: 15px;
		padding: 8px 16px;
	}

	.aiob-logo {
		max-height: 40px;
	}

	/* Homepage hero */
	#homepage-hero-section {
		padding: 44px 60px;
	}

	#homepage-hero-content-section {
		max-width: 740px;
	}

	#home-hero-heading-section {
		font-size: 44px;
		line-height: 1.25;
	}

	/* [among-our-guests] shortcode */
	.aiob-among-guests {
		font-size: 21px;
		line-height: 26px;
	}

	/* "Why Appear" stats strip */
	#homepage-section-blue-second {
		padding: 48px 60px;
	}

	#home-second-four-col h2 {
		font-size: 28px;
		line-height: 34px;
	}

	/* "Two Ways to Hold This Election Accountable" */
	#homepage-section-election {
		padding: 72px 60px;
	}

	#homepage-section-election-title {
		font-size: 42px;
		line-height: 1.2;
	}

	/* Same below-1200px fix as the iPad tier above. */
	#conversation-section-image {
		height: auto;
	}

	#conversation-section-image > .elementor-widget-image {
		height: auto;
	}

	#conversation-section-content {
		height: auto;
		overflow: visible;
	}

	/* Featured Guests slider */
	#home-featured-guest-section {
		padding: 72px 60px;
	}

	#featured-section-heading {
		font-size: 42px;
		line-height: 1.2;
	}

	/* "Key AI Policy Issues" */
	#ai-policy-issue-section {
		padding: 72px 60px;
	}

	#ai-policy-issue-heading {
		font-size: 42px;
		line-height: 1.2;
	}

	/* "Where AI Policy Meets Voters" */
	#policy-meets-voter-section {
		padding: 72px 60px;
	}

	#policy-meets-voter-heading {
		font-size: 42px;
		line-height: 1.2;
	}

	/* "Reach. Influence. On the Record." impact stats */
	#homepage-impact-statistics-section {
		grid-template-columns: 262px 1fr;
		column-gap: 45px;
		padding: 72px 60px;
	}

	#homepage-impact-statistics-heading {
		width: 240px;
		height: auto;
		font-size: 40px;
		line-height: 1.2;
	}

	/* Same fix as the iPad tier just above — without this, #stats-section
	   falls through to the desktop 4-column default in a squeezed space. */
	#stats-section {
		grid-template-columns: repeat(2, 1fr);
	}

	#stats-section > div {
		border-right: 0 !important;
		border-bottom: 0 !important;
	}

	#stats-section > div:nth-child(odd) {
		border-right: 2px solid rgba(255, 255, 255, 0.302) !important;
	}

	#stats-section > div:not(:nth-last-child(-n+2)) {
		border-bottom: 2px solid rgba(255, 255, 255, 0.302) !important;
	}

	.stats-count span {
		font-size: 46px;
		line-height: 54px;
	}

	/* "Discuss Participation" */
	#discuss-participation-section {
		padding: 60px;
	}

	#discuss-participation-right {
		padding: 0 48px;
	}

	#discuss-participation-title {
		font-size: 42px;
		line-height: 1.2;
	}

	#discuss-participation-right h2,
	#get-started-title {
		font-size: 42px;
		line-height: 1.2;
	}

	#discuss-participation-right h2 + p {
		font-size: 18px;
	}

	body.page-id-19 #discuss-participation-section {
		padding-bottom: 115px !important;
	}

	.tracker-content-desc {
		padding: 72px 60px 36px !important;
		margin-bottom: 46px;
	}

	.tracker-content-desc:last-of-type {
		margin-bottom: 76px;
		padding-top: 0 !important;
	}

	.tracker-content-desc p {
		font-size: 22px;
		line-height: 1.4;
	}

	.tracker-content-desc h2 {
		font-size: 42px;
		line-height: 1.2;
	}

	/* "Want your campaign's position on the record?" CTA */
	body.home #join-campaign-section {
		padding: 40px 60px;
	}

	#join-campaign-section.about-us-join-campaign {
		width: calc(100% - 120px);
		margin-left: 60px;
		margin-right: 60px;
		margin-bottom: 115px;
		padding-left: 60px;
		padding-right: 60px;
	}

	#join-campaign-section-title {
		font-size: 42px;
		line-height: 1.2;
	}

	/* "Featured Episodes" */
	#homepage-episodes-section {
		padding: 72px 60px;
	}

	#homepage-episodes-heading {
		font-size: 42px;
		line-height: 1.2;
	}

	/* Guests page listing */
	#guest-listing-section {
		padding: 72px 60px;
	}

	#guest-featured-heading {
		font-size: 42px;
		line-height: 1.2;
	}

	/* Press Center listing */
	#press-listing-section {
		padding: 72px 60px 92px;
	}

	#press-listing-section-heading {
		font-size: 42px;
		line-height: 1.2;
	}

	.press-tabs__link {
		padding-bottom: 20px;
		font-size: 30px;
		line-height: 1.35;
	}

	/* News tab */
	.news-layout__sidebar {
		flex-basis: 350px;
		max-width: 350px;
	}

	.news-post-card__title {
		font-size: 23px;
	}

	.news-search-widget__heading,
	.news-latest-widget__heading {
		font-size: 30px;
	}

	.guest-listing__grid {
		gap: 28px;
	}

	.guest-listing__grid .featured-guest-card {
		flex-basis: calc((100% - 56px) / 3);
		max-width: calc((100% - 56px) / 3);
	}

	/* FAQ + "Where to listen & watch" */
	#homepage-faq-section {
		padding: 72px 60px 110px;
	}

	#homepage-faq-heading {
		font-size: 42px;
		line-height: 1.2;
	}

	.faq-accordion-grid {
		margin-bottom: 90px;
	}

	#where-listen-watch-heading {
		font-size: 34px;
	}

	/* "Amplify Your Voice" */
	#amplify-your-voice-section {
		padding: 72px 60px;
	}

	#amplify-your-voice-heading {
		font-size: 42px;
		line-height: 1.2;
	}

	/* "Who We Are" */
	#about-us-hero-section {
		gap: 60px;
		padding: 72px 60px;
	}

	#about-us-right-section {
		min-height: 480px;
	}

	#who-we-are-heading {
		font-size: 46px;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	#who-we-are-content {
		font-size: 22px;
		line-height: 1.4;
	}

	/* "Our Values" */
	#our-values-section {
		padding: 72px 60px;
	}

	#our-values-title {
		font-size: 42px;
		line-height: 1.2;
	}

	.our-values-item {
		gap: 32px;
		padding: 36px 50px;
	}

	.our-values-item__number {
		flex-basis: 90px;
		font-size: 54px;
	}

	.our-values-item__title {
		flex-basis: 200px;
		font-size: 30px;
		line-height: 36px;
	}

	/* "Our Mission" */
	#our-mission-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#our-commitment-section,
	#our-partnership-section,
	#our-global-reach-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#our-global-reach-section {
		padding-bottom: 95px;
	}

	/* "Why Participate" */
	#why-participate-section {
		padding: 36px 60px;
	}

	#why-participate-title {
		font-size: 46px;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	#why-participate-text {
		font-size: 22px;
		line-height: 1.4;
	}

	/* "The Conversations" episode hero */
	#episode-hero-section {
		min-height: 410px;
		padding: 72px 60px;
	}

	#episode-hero-heading {
		font-size: 46px;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	#episode-hero-text {
		font-size: 22px;
		line-height: 1.4;
	}

	/* Press Center hero */
	#press-hero-section {
		min-height: 590px;
	}

	#press-hero-left-section {
		padding: 72px 50px 72px 60px;
	}

	#press-hero-section-title {
		font-size: 46px;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	#press-hero-section-text {
		font-size: 22px;
		line-height: 1.4;
	}

	.episode-filter-section {
		padding: 42px 85px;
	}

	.episode-listing-section {
		padding: 0 85px 85px;
	}

	.episode-filter-bar {
		padding: 32px 60px;
	}

	/* "Why Should I Do This?" */
	#why-should-talk-section {
		gap: 38px;
		padding: 72px 60px;
	}

	#why-should-talk-chat .e-n-accordion {
		gap: 14px;
	}

	#why-should-talk-chat .e-n-accordion-item-title-text {
		font-size: 23px;
		line-height: 28px;
	}

	/* "Why Appearing on AI on the Ballot…" */
	#appearing-on-aiob-section {
		padding: 72px 60px;
	}

	#appearing-on-aiob-title {
		font-size: 42px;
		line-height: 1.2;
	}

	.appearing-on-aiob-grid {
		gap: 22px;
	}

	.appearing-on-aiob-card {
		padding: 32px 28px;
	}

	.appearing-on-aiob-card__count {
		font-size: 44px;
		line-height: 52px;
	}

	/* "What Your Campaign Receives" */
	#campaign-receives-section {
		padding: 72px 60px;
	}

	#campaign-receives-title {
		font-size: 44px;
		line-height: 1.2;
	}

	.campaign-receive-grid {
		gap: 22px;
	}

	.campaign-receive-item {
		flex-basis: calc((100% - 44px) / 3);
		max-width: calc((100% - 44px) / 3);
		padding: 26px 28px;
	}

	.campaign-receive-item__title {
		font-size: 22px;
		line-height: 29px;
	}

	#our-mission-left-section {
		min-height: 480px;
	}

	#our-mission-right-section {
		padding: 26px;
	}

	#our-mission-right-section h2,
	#our-mission-title {
		font-size: 44px;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	#our-mission-right-section p,
	#our-mission-content {
		font-size: 22px;
		line-height: 1.4;
	}

	/* Single post detail page */
	.single-post__hero {
		min-height: 490px;
	}

	.single-post__hero-inner {
		padding: 60px 60px 48px;
	}

	.single-post__header {
		padding: 60px 60px 0;
	}

	.single-post__body {
		padding: 72px 60px 92px;
	}

	.single-post__title {
		font-size: 38px;
	}

	/* Single post — Blog detail page */
	.single-post-blog__body {
		padding: 72px 60px 92px;
	}

	.single-post-blog__title {
		font-size: 44px;
	}

	/* Legal / Policy page */
	.legal-page__header {
		padding: 72px 60px 44px;
	}

	.legal-page__title {
		font-size: 46px;
	}

	.legal-page__content {
		padding: 56px 60px 92px;
	}

	/* Single episode page */
	.episode-single__body {
		padding: 72px 60px 92px;
	}

	.episode-single__title {
		font-size: 44px;
	}

	.episode-single__more-heading {
		font-size: 44px;
	}

}


/* --------------------------------------------------------------------------
   6. DESKTOP / LARGE RESOLUTIONS — min-width: 1200px
   -------------------------------------------------------------------------- */
@media (min-width: 1200px) {

	.aiob-marquee {
		padding-left: 100px;
		padding-right: 100px;
	}

}


/* --------------------------------------------------------------------------
   6b. LARGE DESKTOP HEADER FIT — min-width: 1200px and max-width: 1440px
   Keeps a 60px gutter (instead of jumping to 100px) and lightly compacts the
   header so a full menu + button never overflows before the 1440px+ range.
   -------------------------------------------------------------------------- */
@media (min-width: 1200px) and (max-width: 1440px) {

	.aiob-container {
		padding-left: 60px;
		padding-right: 60px;
	}

	.aiob-marquee {
		padding-left: 60px;
		padding-right: 60px;
	}

	.aiob-header-inner {
		gap: 18px;
	}

	.aiob-menu {
		gap: 22px;
	}

	.aiob-menu a {
		font-size: 15px;
	}

	.btn-discuss {
		font-size: 16px;
		padding: 10px 22px;
	}

	.aiob-logo {
		max-height: 50px;
	}

	/* Homepage hero — same 60px gutter as the rest of the site at this tier */
	#homepage-hero-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#homepage-hero-content-section {
		max-width: 760px;
	}

	/* [among-our-guests] shortcode */
	.aiob-among-guests {
		font-size: 22px;
		line-height: 27px;
	}

	/* "Why Appear" stats strip — same 60px gutter as the rest of the site */
	#homepage-section-blue-second {
		padding-top: 54px;
		padding-bottom: 54px;
		padding-left: 60px;
		padding-right: 60px;
	}

	/* "Two Ways to Hold This Election Accountable" — same 60px gutter */
	#homepage-section-election {
		padding-left: 60px;
		padding-right: 60px;
	}

	#homepage-section-election-title {
		font-size: 44px;
	}

	/* Featured Guests slider — same 60px gutter */
	#home-featured-guest-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#featured-section-heading {
		font-size: 44px;
	}

	/* "Key AI Policy Issues" — same 60px gutter */
	#ai-policy-issue-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#ai-policy-issue-heading {
		font-size: 44px;
	}

	/* "Where AI Policy Meets Voters" — same 60px gutter */
	#policy-meets-voter-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#policy-meets-voter-heading {
		font-size: 44px;
	}

	/* "Reach. Influence. On the Record." impact stats — same 60px gutter */
	#homepage-impact-statistics-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#homepage-impact-statistics-heading {
		font-size: 44px;
	}

	/* "Discuss Participation" */
	#discuss-participation-section {
		padding: 60px;
	}

	#discuss-participation-right {
		padding: 0 54px;
	}

	#discuss-participation-title {
		font-size: 44px;
	}

	#discuss-participation-right h2,
	#get-started-title {
		font-size: 44px;
	}

	body.page-id-19 #discuss-participation-section {
		padding-bottom: 125px !important;
	}

	.tracker-content-desc {
		padding: 85px 60px 42px !important;
	}

	.tracker-content-desc:last-of-type {
		padding-top: 0 !important;
	}

	.tracker-content-desc h2 {
		font-size: 46px;
	}

	/* "Want your campaign's position on the record?" CTA */
	body.home #join-campaign-section {
		padding: 40px 60px;
	}

	#join-campaign-section.about-us-join-campaign {
		width: calc(100% - 120px);
		margin-left: 60px;
		margin-right: 60px;
		margin-bottom: 125px;
		padding-left: 60px;
		padding-right: 60px;
	}

	#join-campaign-section-title {
		font-size: 44px;
	}

	/* "Featured Episodes" */
	#homepage-episodes-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#homepage-episodes-heading {
		font-size: 44px;
	}

	/* Guests page listing */
	#guest-listing-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#guest-featured-heading {
		font-size: 44px;
	}

	/* Press Center listing */
	#press-listing-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#press-listing-section-heading {
		font-size: 44px;
	}

	.press-tabs__link {
		font-size: 32px;
	}

	/* FAQ + "Where to listen & watch" */
	#homepage-faq-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#homepage-faq-heading {
		font-size: 44px;
	}

	#where-listen-watch-heading {
		font-size: 34px;
	}

	/* "Amplify Your Voice" */
	#amplify-your-voice-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#amplify-your-voice-heading {
		font-size: 44px;
	}

	/* "Who We Are" — same 60px gutter as the rest of the site at this tier */
	#about-us-hero-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#who-we-are-heading {
		font-size: 50px;
	}

	/* "Our Values" — same 60px gutter as the rest of the site at this tier */
	#our-values-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	.our-values-item {
		padding-left: 60px;
		padding-right: 60px;
	}

	/* "Our Mission" — same 60px gutter as the rest of the site at this tier */
	#our-mission-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#our-commitment-section,
	#our-partnership-section,
	#our-global-reach-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#our-global-reach-section {
		padding-bottom: 95px;
	}

	/* "Why Participate" — same 60px gutter as the rest of the site at this tier */
	#why-participate-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#why-participate-title {
		font-size: 50px;
	}

	/* "The Conversations" episode hero — same 60px gutter at this tier */
	#episode-hero-section {
		min-height: 430px;
		padding-left: 60px;
		padding-right: 60px;
	}

	#episode-hero-heading {
		font-size: 50px;
	}

	/* Press Center hero */
	#press-hero-section {
		min-height: 620px;
	}

	#press-hero-left-section {
		padding: 60px 50px 60px 60px;
	}

	#press-hero-section-title {
		font-size: 50px;
	}

	.episode-filter-section {
		padding: 45px 90px;
	}

	.episode-listing-section {
		padding: 0 90px 90px;
	}

	.episode-filter-bar {
		padding-left: 60px;
		padding-right: 60px;
	}

	/* "Why Should I Do This?" — same 60px gutter as the rest of the site at this tier */
	#why-should-talk-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	/* "Why Appearing on AI on the Ballot…" — same 60px gutter at this tier */
	#appearing-on-aiob-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#appearing-on-aiob-title {
		font-size: 44px;
	}

	/* "What Your Campaign Receives" — same 60px gutter at this tier */
	#campaign-receives-section {
		padding-left: 60px;
		padding-right: 60px;
	}

	#campaign-receives-title {
		font-size: 46px;
	}

	/* Single post detail page */
	.single-post__hero {
		min-height: 520px;
	}

	.single-post__title {
		font-size: 40px;
	}

	/* Single post — Blog detail page */
	.single-post-blog__title {
		font-size: 46px;
	}

	/* Legal / Policy page */
	.legal-page__header {
		padding-left: 60px;
		padding-right: 60px;
	}

	.legal-page__content {
		padding-left: 60px;
		padding-right: 60px;
	}

	/* Single episode page */
	.episode-single__body {
		padding-left: 60px;
		padding-right: 60px;
	}

	.episode-single__title {
		font-size: 46px;
	}

}


/* --------------------------------------------------------------------------
   HEADER — Off-canvas navigation (mobile + tablet, below 991px)
   Panel slides in from the LEFT; Discuss button pinned to the panel bottom.
   Desktop (>= 991px) uses the inline base styles in style.css.
   -------------------------------------------------------------------------- */
@media (max-width: 990.98px) {

	/* Hamburger visible, desktop bar CTA hidden */
	.aiob-menu-toggle {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 44px;
		height: 44px;
		padding: 8px;
		margin-left: auto;
		background: transparent;
		border: 0;
		cursor: pointer;
	}

	.aiob-menu-toggle__bar {
		display: block;
		width: 26px;
		height: 2px;
		border-radius: 2px;
		background-color: #000000;
		transition: all 0.3s ease;
	}

	.aiob-cta--bar {
		display: none;
	}

	/* Off-canvas panel */
	.main-navigation {
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		height: 100dvh;
		width: min(320px, 85vw);
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		padding: 70px 24px 28px;
		background: #ffffff;
		transform: translateX(-100%);
		transition: transform 0.35s ease;
		z-index: 1100;
		overflow-y: auto;
	}

	.main-navigation.is-open {
		transform: translateX(0);
		box-shadow: 6px 0 30px rgba(0, 0, 0, 0.18);
	}

	/* Close button inside panel */
	.aiob-menu-close {
		display: block;
		position: absolute;
		top: 12px;
		right: 18px;
		width: 36px;
		height: 36px;
		font-size: 30px;
		line-height: 1;
		color: #000000;
		background: transparent;
		border: 0;
		cursor: pointer;
	}

	/* Stacked links */
	.aiob-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.aiob-menu li {
		width: 100%;
		border-bottom: 1px solid #eeeeee;
	}

	.aiob-menu a {
		display: block;
		width: 100%;
		text-align: left;
		padding: 14px 0;
	}

	.aiob-menu a::after {
		display: none;
	}

	/* Collapsible submenus — hidden until the arrow is tapped */
	.aiob-menu .menu-item-has-children > a::before {
		display: none;   /* the desktop caret is replaced by the toggle button */
	}

	.aiob-menu .menu-item-has-children > a {
		padding-right: 48px;   /* room for the toggle arrow */
	}

	.aiob-submenu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 0;
		right: 0;
		width: 48px;
		height: 48px;
		padding: 0;
		background: transparent;
		border: 0;
		cursor: pointer;
	}

	.aiob-submenu-arrow {
		display: block;
		width: 9px;
		height: 9px;
		border-right: 2px solid #000000;
		border-bottom: 2px solid #000000;
		transform: rotate(45deg);
		transition: transform 0.25s ease;
	}

	.menu-item-has-children.aiob-submenu-open > .aiob-submenu-toggle .aiob-submenu-arrow {
		transform: rotate(-135deg);
	}

	.aiob-menu .sub-menu {
		display: none;
		position: static;
		min-width: 0;
		margin: 0;
		padding: 0 0 6px 16px;
		background: transparent;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}

	.aiob-menu .menu-item-has-children.aiob-submenu-open > .sub-menu {
		display: block;
	}

	.aiob-menu .sub-menu li {
		border-bottom: 0;
	}

	.aiob-menu .sub-menu a {
		padding: 10px 0;
		font-size: 15px;
		white-space: normal;
	}

	.aiob-menu .sub-menu a:hover,
	.aiob-menu .sub-menu a:focus {
		background-color: transparent;
	}

	/* Discuss button pinned to bottom of the panel */
	.aiob-cta--panel {
		display: inline-flex;
		width: 100%;
		margin-top: auto;
	}

	/* Backdrop */
	.aiob-nav-overlay {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.5);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1090;
	}

	.aiob-nav-overlay.is-open {
		opacity: 1;
		visibility: visible;
	}

	/* Lock page scroll while the panel is open */
	body.aiob-nav-open {
		overflow: hidden;
	}

}


/* --------------------------------------------------------------------------
   FOOTER — responsive
   Desktop = 4 columns (base). Laptop/iPad tighten, tablet = 2x2, mobile = 1 col.
   -------------------------------------------------------------------------- */

/* Laptop + iPad: keep 4 columns, tighten gaps and reduce the raised card lift */
@media (min-width: 991px) and (max-width: 1200px) {

	.aiob-footer-grid {
		gap: 24px;
	}

	.footer-col--brand {
		margin-right: 20px;
	}

	.footer-col.footer-col--links {
		padding-left: 20px;
	}

	.footer-col--address {
		margin-left: -10px;
	}

	.footer-newsletter {
		margin-top: -123px;
		max-width: 460px;
	}

	.footer-newsletter__content {
		padding: 22px 22px 0;
	}

	.aiob-footer-main {
		padding: 80px 0 46px;
	}

}

/* Tablet: newsletter on top (same mobile treatment), brand / links / address
   in a single row underneath. Capped at 991px so it never overlaps the
   Laptop/iPad block below (min-width:991px). */
@media (min-width: 768px) and (max-width: 991px) {

	.aiob-footer-grid {
		grid-template-columns: 3fr 2fr 2fr;
		row-gap: 40px;
		column-gap: 24px;
	}

	.footer-col--brand {
		margin-right: 0;
	}

	.footer-col.footer-col--links {
		padding-left: 0;
	}

	.footer-col--address {
		margin-left: 0;
	}

	/* Newsletter moves above the row of three columns and spans full width. */
	.footer-col--newsletter {
		order: -1;
		grid-column: 1 / -1;
	}

	/* Same treatment as mobile (<=768px): smaller card, centered, raised to
	   peek above the footer's top edge. */
	.footer-newsletter {
		margin-top: -82px;
		margin-left: auto;
		margin-right: auto;
		max-width: 300px;
	}

	.footer-newsletter__bg {
		height: auto;
		aspect-ratio: 300 / 280;
	}

	.footer-newsletter__content {
		padding: 14px 14px 0;
	}

	.footer-newsletter__title {
		font-size: 20px;
		line-height: 1.25;
		white-space: normal;
		margin-bottom: 22px;
	}

	.newsletter-form__field {
		margin-bottom: 18px;
	}

	.newsletter-form__field input,
	.newsletter-form__btn {
		padding: 11px 16px;
	}

	.aiob-footer-main {
		padding: 48px 0 32px;
	}

}

/* Mobile: single column, stacked bottom bar.
   Capped at 768px (not 768) so it never overlaps the tablet block below,
   which starts at min-width:768px — otherwise both match at exactly 768px
   and whichever is later in the file wins, producing a broken mash-up. */
@media (max-width: 768px) {

	.aiob-footer-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.footer-col--brand {
		margin-right: 0;
	}

	.footer-col.footer-col--links {
		padding-left: 0;
	}

	.footer-col--address {
		margin-left: 0;
	}

	/* Newsletter moves to the top of the stack; same img+overlay structure,
	   just reflowed via `order` (no markup change needed). */
	.footer-col--newsletter {
		order: -1;
	}

	.footer-newsletter {
		margin-top: -82px;
		margin-left: auto;
		margin-right: auto;
		max-width: 300px;
	}

	.footer-newsletter__bg {
		height: auto;
		aspect-ratio: 300 / 280;
	}

	.footer-newsletter__content {
		padding: 14px 14px 0;
	}

	.footer-newsletter__title {
		font-size: 20px;
		line-height: 1.25;
		white-space: normal;
		margin-bottom: 22px;
	}

	.newsletter-form__field {
		margin-bottom: 18px;
	}

	.newsletter-form__field input,
	.newsletter-form__btn {
		padding: 11px 16px;
	}

	.aiob-footer-main {
		/* Kept below the -70px card pull so the card still peeks ~22px
		   above the footer's top edge, same effect as desktop, now from
		   the first slot in the stack. */
		padding: 48px 0 32px;
	}

	/* Center all footer column content on mobile. */
	.footer-col--brand,
	.footer-col--links,
	.footer-col--address {
		text-align: center;
	}

	.footer-logo {
		margin-left: auto;
		margin-right: auto;
	}

	.footer-desc,
	.footer-produced {
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.footer-social {
		justify-content: center;
	}

	.footer-bottom-inner {
		flex-direction: column;
		gap: 14px;
		text-align: center;
	}

	.footer-policy-menu {
		justify-content: center;
		gap: 22px;
	}

	.aiob-footer-bottom {
		padding: 20px 0;
	}

}

/* Mobile 600-768px: brand / Quick links / Address in a single 3-column row
   (same pattern as the tablet block below); the newsletter card (still
   first via `order:-1` from the mobile block above) spans full width on
   its own row. Below 600px everything stacks (too narrow for 3 columns).
   Capped at 768px so it never overlaps the tablet block (min-width:768px). */
@media (min-width: 600px) and (max-width: 768px) {

	.aiob-footer-grid {
		grid-template-columns: 3fr 2fr 2fr;
		column-gap: 18px;
		row-gap: 34px;
	}

	.footer-col--newsletter {
		grid-column: 1 / -1;
	}

}
