/*
Theme Name: AndWeKnow
Theme URI: https://ndevrs.com
Author: Paul Cushing
Author URI: https://ndevrs.com
Description: AndWeKnow is a child theme of the Ollie block theme. It adds custom post types and custom blocks on top of Ollie's design system.
Template: ollie
Version: 0.5.20
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: andweknow
*/

/* Child-theme styles. Ollie's stylesheet loads automatically as the parent.
   Add overrides below or rely on theme.json for design tokens. */

/* External link marker
---------------------------------------------------------------------------- */
.awk-external::after {
	content: "";
	display: inline-block;
	width: 0.72em;
	height: 0.72em;
	vertical-align: -0.08em;
	background-color: currentColor;
	-webkit-mask: var(--awk-external-icon) no-repeat center / contain;
	mask: var(--awk-external-icon) no-repeat center / contain;
}

/* On buttons the marker must sit inside the label, not below the button box. */
.wp-block-button.awk-external::after {
	content: none;
}
.wp-block-button.awk-external .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	vertical-align: -0.1em;
	background-color: currentColor;
	-webkit-mask: var(--awk-external-icon) no-repeat center / contain;
	mask: var(--awk-external-icon) no-repeat center / contain;
}

/* Section helpers
---------------------------------------------------------------------------- */
.awk-section--dark {
	background-color: var(--wp--preset--color--awk-black);
	color: var(--wp--preset--color--awk-white);
}
.awk-section--light-grey {
	background-color: var(--wp--preset--color--awk-light-grey);
}

/* Centered red-dash section kicker (e.g. front-page "— SUPPORT" CTA band). */
.awk-cta-kicker {
	margin: 0 0 0.9rem;
	color: rgba(20, 20, 20, 0.5);
	font-size: 0.875rem; /* 14px */
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.awk-cta-kicker::before {
	content: "";
	display: inline-block;
	width: 0.8rem;
	height: 2px;
	margin-right: 0.35rem;
	margin-bottom: 0.1rem;
	vertical-align: middle;
	background: var(--wp--preset--color--awk-red);
}

/* Full-bleed colored bands butt against their neighbors (no block-gap white gap);
   each band controls its own spacing via internal padding. */
.awk-section--dark,
.awk-section--dark-2,
.awk-section--light-grey {
	margin-block: 0 !important;
}

/* Front page — hero should sit flush with adjacent dark sections.
---------------------------------------------------------------------------- */
.home .wp-site-blocks > main.wp-block-group {
	margin-block-start: 0;
}

.home .wp-site-blocks > main.wp-block-group > .awk-hero + * {
	margin-block-start: 0;
}

/* Partners landing page
---------------------------------------------------------------------------- */
.awk-partners-page {
	margin-block-start: 0;
}

.awk-partners-page__hero {
	padding: clamp(4rem, 8vw, 6rem) var(--wp--preset--spacing--50, 1.5rem);
	background: #fff;
}

.awk-partners-page__eyebrow {
	margin: 0 0 1.2rem;
	color: rgba(0, 0, 0, 0.5);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.awk-partners-page__eyebrow::before {
	content: "";
	display: inline-block;
	width: 0.9rem;
	height: 2px;
	margin-right: 0.35rem;
	vertical-align: middle;
	background: var(--wp--preset--color--awk-red);
}

.awk-partners-page__title {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(3.5rem, 7vw, 5.4rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.95;
}

.awk-partners-page__intro {
	max-width: 35rem;
	margin: 1.2rem 0 0;
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	line-height: 1.35;
}

/* All partners directory page
---------------------------------------------------------------------------- */
.awk-all-partners-page {
	margin-block-start: 0;
}

.awk-all-partners-page__hero {
	padding: clamp(3.25rem, 6vw, 5rem) var(--wp--preset--spacing--50, 1.5rem);
	background: #fff;
}

.awk-all-partners-page__eyebrow {
	margin: 0 0 0.9rem;
	color: rgba(0, 0, 0, 0.5);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.awk-all-partners-page__eyebrow::before {
	content: "";
	display: inline-block;
	width: 0.9rem;
	height: 2px;
	margin-right: 0.35rem;
	vertical-align: middle;
	background: var(--wp--preset--color--awk-red);
}

.awk-all-partners-page__title {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(3rem, 6vw, 4.6rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.95;
}

.awk-all-partners-page__intro {
	max-width: 34rem;
	margin: 1rem 0 0;
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	line-height: 1.35;
}

/* Interior page hero — shared (podcast hub, get involved, support, follow, etc.)
---------------------------------------------------------------------------- */
.awk-page-hero {
	padding: clamp(3.25rem, 6vw, 5rem) var(--wp--preset--spacing--50, 1.5rem);
	background: #fff;
	/* Thin light-gray hairline separating the white hero from the content below
	   (per the design). Removed on dark hero variants — see .awk-showcase below. */
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

/* The section that follows the hero must sit flush against the hairline — remove the
   block-gap margin that otherwise leaves a white strip below the border. Applies
   site-wide so every interior page's hero meets its next section. */
.awk-page-hero + * {
	margin-top: 0 !important;
}

.awk-page-hero__eyebrow {
	margin: 0 0 0.9rem;
	color: rgba(0, 0, 0, 0.5);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.awk-page-hero__eyebrow::before {
	content: "";
	display: inline-block;
	width: 0.9rem;
	height: 2px;
	margin-right: 0.35rem;
	vertical-align: middle;
	background: var(--wp--preset--color--awk-red);
}

.awk-page-hero__title {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(2.6rem, 5.5vw, 4.2rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.98;
}

.awk-page-hero__intro {
	max-width: 38rem;
	margin: 1rem 0 0;
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	line-height: 1.4;
	color: rgba(0, 0, 0, 0.7);
}

/* Optional small-print note/disclosure inside the hero (e.g. affiliate notice). */
.awk-page-hero__note {
	max-width: 38rem;
	margin: 1.1rem 0 0;
	font-size: 0.85rem;
	line-height: 1.4;
	color: rgba(20, 20, 20, 0.45);
}

/* Card grid — feature/path/option cards (podcast, get involved, resources)
---------------------------------------------------------------------------- */
.awk-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1.5rem;
}

.awk-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	height: 100%;
	padding: 2rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 10px;
	background: #fff;
}

.awk-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 0.5rem;
	border-radius: 8px;
	background: var(--wp--preset--color--awk-light-grey, #f1f1f3);
	color: var(--wp--preset--color--awk-red);
}

.awk-card__icon svg {
	width: 1.4rem;
	height: 1.4rem;
}

.awk-card__kicker {
	margin: 0;
	color: rgba(0, 0, 0, 0.5);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.awk-card .wp-block-heading {
	margin: 0;
	font-size: 1.4rem;
	font-weight: 800;
}

.awk-card p:not(.awk-card__kicker) {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.5;
}

/* Push the card CTA to the bottom so cards in a row align. */
.awk-card .wp-block-buttons {
	margin-top: auto;
	padding-top: 0.75rem;
}

/* Link hub — repeatable external links (Find Us on Social, grouped resources)
---------------------------------------------------------------------------- */
.awk-link-hub {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Rows separated by a single divider line (not boxed cards). */
.awk-link-hub__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	padding: 1.4rem 0;
	border: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 0;
}

.awk-link-hub__text {
	flex: 1 1 18rem;
}

.awk-link-hub__platform {
	margin: 0;
	font-weight: 800;
	font-size: 1.15rem;
}

.awk-link-hub__desc {
	margin: 0.15rem 0 0;
	color: rgba(0, 0, 0, 0.6);
}

.awk-link-hub__item .wp-block-buttons {
	flex: 0 0 auto;
	margin: 0;
}

/* Resource-list "Watch" buttons: red outline that fills red on hover (per mockup).
   Selector includes the style class to outrank .is-style-andweknow-secondary. */
.awk-link-hub__item .is-style-andweknow-secondary .wp-block-button__link {
	color: var(--wp--preset--color--awk-red);
	border-color: var(--wp--preset--color--awk-red);
}
.awk-link-hub__item .is-style-andweknow-secondary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--awk-red);
	color: #ffffff;
	border-color: var(--wp--preset--color--awk-red);
}

/* Phones: whether a row's CTA fit beside its title depended on the title length,
   so some buttons sat inline and others wrapped below. Force every CTA onto its
   own line so all rows read the same (LT Guest Appearances). */
@media (max-width: 781px) {
	.page-lt-guest-appearances .awk-link-hub__item .wp-block-buttons {
		flex-basis: 100%;
	}
}

/* Grouped link list — topic/show groups (Truther Files, Guest Appearances)
---------------------------------------------------------------------------- */
.awk-group + .awk-group {
	margin-top: 2.5rem;
}

.awk-group__title {
	margin: 0 0 1.25rem;
	padding-bottom: 0;
	border-bottom: none;
	font-size: clamp(1.6rem, 2.5vw, 2rem);
	font-weight: 800;
}
/* Short red underline bar (replaces the full-width grey rule). */
.awk-group__title::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 3px;
	margin-top: 0.7rem;
	background: var(--wp--preset--color--awk-red);
}

/* Value grid — About page (Truth / Hope / Faith / Freedom)
---------------------------------------------------------------------------- */
.awk-value-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	gap: 1.5rem 2rem;
}

.awk-value-grid .wp-block-heading {
	margin: 0 0 0.25rem;
	font-size: 1.5rem;
	font-weight: 800;
}

.awk-value-grid p {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
}

/* About — section eyebrow (side label) and readable measure
---------------------------------------------------------------------------- */
.awk-about__label {
	margin: 0 0 0.6rem;
	color: rgba(0, 0, 0, 0.45);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.awk-section--dark .awk-about__label {
	color: rgba(255, 255, 255, 0.55);
}

.awk-prose {
	max-width: 42rem;
}

/* Two-column content (Become a Partner: copy + form)
---------------------------------------------------------------------------- */
.awk-two-col {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
	gap: 2.5rem;
	align-items: start;
}

/* Form embed placeholder — until the GetResponse / Gravity form is wired in
---------------------------------------------------------------------------- */
.awk-form-embed {
	padding: 2rem;
	border: 1px dashed rgba(0, 0, 0, 0.25);
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.02);
}

.awk-form-embed__note {
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.5);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.awk-form-embed ul {
	margin: 0.5rem 0 0;
	color: rgba(0, 0, 0, 0.6);
}

/* Buttons — shared treatment
---------------------------------------------------------------------------- */
.wp-block-button__link {
	border-radius: 2px; /* barely rounded, sitewide */
	padding-left: 1.75em;
	padding-right: 1.75em;
	letter-spacing: -0.02em;
	font-weight: 600;
}

/* Primary — solid red */
.is-style-andweknow-primary .wp-block-button__link {
	background-color: var(--wp--preset--color--awk-red);
	color: var(--wp--preset--color--awk-white);
	border: none;
}

/* Secondary — dark outline */
.is-style-andweknow-secondary .wp-block-button__link {
	background-color: transparent;
	color: currentColor;
	border: 1px solid currentColor;
}
.awk-section--dark .is-style-andweknow-secondary .wp-block-button__link {
	color: var(--wp--preset--color--awk-white);
	border-color: rgba(255, 255, 255, 0.6);
}

/* Dark — solid black, white text (no Rumble branding) */
.is-style-andweknow-dark .wp-block-button__link {
	background-color: var(--wp--preset--color--awk-dark, #141414);
	color: var(--wp--preset--color--awk-white);
	border: none;
}
.is-style-andweknow-dark .wp-block-button__link:hover {
	background-color: #000;
}

/* Rumble — black branded button (rumble.com links only) */
.is-style-rumble .wp-block-button__link {
	background-color: #000;
	color: #fff;
	border: none;
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}
/* Inline Rumble logo (the logo already includes the "rumble" wordmark), used in
   place of the word "Rumble" in CTA labels — e.g. "Watch on [logo]". */
.awk-rumble-logo {
	height: 1.1em;
	width: auto;
	display: inline-block;
	vertical-align: middle;
	flex: 0 0 auto;
}

/* Navigation — desktop submenus open on hover/focus
---------------------------------------------------------------------------- */
.awk-header__brand {
	flex: 0 0 auto;
	margin: 0;
	line-height: 0;
}

.awk-header {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.awk-header__brand img,
.awk-footer__brand img {
	display: block;
	height: auto;
}

.awk-nav .awk-nav__subscribe > .wp-block-navigation-item__content {
	background-color: var(--wp--preset--color--awk-red);
	border-radius: 2px;
	color: var(--wp--preset--color--awk-white);
	font-weight: 600;
	letter-spacing: -0.02em;
	padding: 0.65em 1.75em;
}

.awk-nav .awk-nav__subscribe > .wp-block-navigation-item__content:hover,
.awk-nav .awk-nav__subscribe > .wp-block-navigation-item__content:focus,
.awk-nav .awk-nav__subscribe > .wp-block-navigation-item__content:focus-visible,
.awk-nav .awk-nav__subscribe > .wp-block-navigation-item__content:active {
	background-color: #b0141f;
	color: #fff;
	text-decoration: none;
}

/*
 * In the open mobile menu, WP core's navigation overlay applies a higher-specificity
 * hover background (color-mix(in srgb, currentcolor 3%, transparent)) to nav items,
 * which made the red subscribe button fade to near-transparent white on hover.
 * Re-assert the darker red with enough specificity to win inside .is-menu-open.
 */
.awk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .awk-nav__subscribe:hover > .wp-block-navigation-item__content,
.awk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .awk-nav__subscribe > .wp-block-navigation-item__content:hover,
.awk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .awk-nav__subscribe > .wp-block-navigation-item__content:focus {
	background-color: #b0141f;
	color: #fff;
}

/* In the open mobile menu the subscribe button stretches full width, so center
   its label instead of letting it sit left-aligned. */
.awk-nav .wp-block-navigation__responsive-container.is-menu-open .awk-nav__subscribe > .wp-block-navigation-item__content {
	justify-content: center;
	text-align: center;
}

@media (min-width: 961px) {
	.awk-header {
		flex-wrap: nowrap;
	}

	.awk-nav {
		flex: 1 1 auto;
	}

	.awk-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
	.awk-nav .wp-block-navigation__responsive-container-content {
		width: 100%;
	}

	.awk-nav .wp-block-navigation__responsive-container-content {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: var(--wp--style--block-gap, 2em);
	}

	.awk-nav .wp-block-navigation-item__content {
		font-size: clamp(0.78rem, 0.55rem + 0.55vw, 1.08rem);
	}

	.awk-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
		width: auto;
	}

	.awk-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container:first-child {
		justify-content: center;
		flex-wrap: nowrap;
		justify-self: center;
	}

	.awk-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container:last-child {
		justify-self: end;
	}
}

@media (max-width: 960px) {
	.awk-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.awk-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	/* Center the logo with the menu toggle pinned right. A 3-column grid keeps
	   both the logo and the nav in normal flow — so the header grows to fit the
	   logo (no clipping) and the toggle/overlay keep working — with the logo
	   centered between two equal side columns. */
	.awk-header {
		/* !important beats WP's generated flex layout style for the group, which
		   loads after this stylesheet (same reason the padding rule above does). */
		display: grid !important;
		grid-template-columns: 1fr auto 1fr !important;
		align-items: center;
	}

	.awk-header__brand {
		grid-column: 2;
		margin: 0;
	}

	.awk-header > .awk-nav {
		grid-column: 3;
		justify-self: end;
	}
}

/*
 * Mobile-only accordion (see assets/js/awk-mobile-nav.js): the whole parent row
 * toggles the submenu, and the section hub is injected as the first child link
 * (.awk-nav__parent-link). On desktop the parent is a real link and that hub
 * child would be redundant, so hide it there.
 */
@media (min-width: 961px) {
	.awk-nav .awk-nav__parent-link {
		display: none;
	}

	/* Partners & Resources are plain links on desktop — no dropdown, no arrow.
	   Their submenu markup stays intact for the mobile accordion (left as-is);
	   this only suppresses the desktop dropdown + toggle chevron. */
	.awk-nav .awk-nav__flat > .wp-block-navigation__submenu-icon,
	.awk-nav .awk-nav__flat > .wp-block-navigation__submenu-container {
		display: none !important;
	}
}

/*
 * iPad-Pro-ish widths (961–1087px): the full desktop nav no longer fits and the
 * items wrap/crush. Drop the "Home" item (the logo already links home) in just
 * that range; below 961px the hamburger menu takes over and Home returns.
 * The .awk-nav__home class is added by inc/nav.php's render filter (and the
 * header pattern), so this works even though the menu itself lives in the DB.
 */
@media (min-width: 961px) and (max-width: 1087px) {
	.awk-nav .awk-nav__home {
		display: none;
	}
}

@media (min-width: 782px) {
	.awk-nav .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
	.awk-nav .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
		visibility: visible;
		opacity: 1;
		display: flex;
	}

	/*
	 * Center the submenu under its parent item. WP core edge-aligns submenus
	 * (right: 0 for justified-right navs, left: -1px otherwise), so this override
	 * uses higher specificity to win regardless of the nav's justification.
	 */
	.awk-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
		left: 50%;
		right: auto;
		margin-left: 0;
		transform: translateX(-50%);
	}
}

.awk-footer__brand {
	margin: 0;
}

.awk-footer__grid {
	display: grid;
	grid-template-columns: minmax(10rem, 1.4fr) repeat(3, minmax(8rem, 1fr));
	gap: clamp(2rem, 5vw, 6rem);
	align-items: start;
}

.awk-footer__brand-column {
	display: flex;
	align-items: flex-start;
}

.awk-footer__heading {
	margin: 0 0 0.9rem;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.awk-footer__links {
	display: grid;
	gap: 0.32rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.awk-footer__links a,
.awk-footer__legal a {
	color: var(--wp--preset--color--awk-white);
	font-size: 0.82rem;
	text-decoration: none;
}

.awk-footer__links a:hover,
.awk-footer__links a:focus,
.awk-footer__legal a:hover,
.awk-footer__legal a:focus {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.awk-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	margin-top: clamp(2rem, 5vw, 4rem);
	padding-top: 1.1rem;
	gap: 1rem 2rem;
}

.awk-footer__copyright {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.72rem;
}

.awk-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 2rem;
}

.awk-footer__legal a {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.72rem;
}

@media (max-width: 780px) {
	.awk-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	/* The full-width logo row reads oddly on small screens — drop it and let the
	   link columns lead (per feedback, 2026-07). */
	.awk-footer__brand-column {
		display: none;
	}

	/* Legal links: stacked list, left-justified (instead of a wrapping row). */
	.awk-footer__legal {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.55rem;
	}
}

@media (max-width: 520px) {
	.awk-footer__grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================================
   Designer corrections 01 — 2026-06-25
   ========================================================================= */
:root {
	--awk-container: 1280px;
	--awk-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--awk-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--awk-ink: #141414;
	--awk-body: #3a3a3a;
	--awk-kicker: rgba(20, 20, 20, 0.5);
	/* External-link marker: simple up-right arrow (↗). This is the site-wide marker
	   for off-site links (nav items, buttons, etc.). The box-with-arrow "open in new
	   window" icon is reserved for the social landing page only, where it's supplied
	   as an inline SVG (see inc/page-content/social.php).
	   Used as a mask so it inherits the link's text color via currentColor. */
	--awk-external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");
}

/* Self-hosted Inter everywhere (no Mona Sans / system fallback drift). */
body,
.wp-site-blocks,
button,
input,
select,
textarea,
.wp-block-button__link,
.wp-block-navigation {
	font-family: var(--awk-font);
}

/* Body copy + headline colors. Target headings by tag (not only .wp-block-heading)
   so custom-block headings — which use their own classes — get the headline ink
   instead of inheriting the body color. */
body {
	color: var(--awk-body);
}
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	color: var(--awk-ink);
}

/* --- Global container: nav, hero, and page hero share one width + gutters,
   so every left edge aligns with the constrained section content below. --- */
/* Full-bleed header band: cap content at the global container. */
.awk-header {
	padding-inline: max(var(--awk-gutter), calc((100% - var(--awk-container)) / 2)) !important;
}

/* Homepage hero breaks out full-bleed (dark band edge-to-edge); cap its content at the
   global container so its left edge matches the nav + page content. */
.awk-hero {
	padding-inline: max(var(--awk-gutter), calc((100vw - var(--awk-container)) / 2)) !important;
}

/* The page-header block breaks out full-bleed (white band); cap its content at the
   global container so the eyebrow/title/intro left edge matches the nav + sections. */
.awk-page-hero,
.awk-partners-page__hero,
.awk-all-partners-page__hero {
	padding-inline: max(var(--awk-gutter), calc((100vw - var(--awk-container)) / 2)) !important;
}

/* When the hero is a core constrained group (e.g. the showcase archive template),
   its non-aligned children get `margin-inline:auto !important`, which centers the
   eyebrow/title/intro and pushes them off the left edge. Re-align them left while
   keeping each element's own max-width measure. */
.awk-page-hero.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.awk-partners-page__hero.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.awk-all-partners-page__hero.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* --- Section backgrounds + text on dark --- */
.awk-section--dark {
	background-color: #141414;
	color: #dddddd;
}
.awk-section--dark-2 {
	background-color: #232323;
	color: #dddddd;
}
.awk-section--dark :is(h1, h2, h3, h4, h5, h6),
.awk-section--dark-2 :is(h1, h2, h3, h4, h5, h6),
.awk-section--dark .wp-block-heading,
.awk-section--dark-2 .wp-block-heading {
	color: #ffffff;
}

/* Promo card body is "body copy on light" — not the near-black headline ink. */
.awk-promo__body {
	color: var(--awk-body);
}

/* Partner PDP headings use `color: inherit` in the block stylesheet, which made
   them pick up the body grey on light bands. Pin them to the headline ink on
   light bands and white on the dark CTA band. */
.awk-pdp__title,
.awk-pdp__band h2 {
	color: var(--awk-ink);
}
.awk-pdp__band--dark :is(h1, h2, h3) {
	color: #ffffff;
}

/* Partner PDP eyebrow: match the standard kicker (muted grey text + red dash)
   instead of the all-red treatment. */
.awk-pdp__eyebrow {
	font-size: 0.875rem; /* 14px */
	letter-spacing: 0.06em;
	font-weight: 750;
	color: var(--awk-kicker);
}
.awk-pdp__eyebrow::before {
	width: 0.8rem;
	margin-bottom: 0.1rem;
	background: var(--wp--preset--color--awk-red);
}

/* --- Header: separator + capped height + smaller logo --- */
.awk-header {
	border-bottom: 2px solid #3a3a3a;
	max-height: 125px;
}
.awk-header__brand img {
	height: 80px !important;
	width: auto !important;
}

/* Footer separator — mirror the header's bottom border. */
.awk-footer {
	border-top: 2px solid #3a3a3a;
}

/* --- Typography scale: exact sizes across desktop widths. -------------------
   WordPress fluid typography was scaling the headings below spec until ~1280px;
   these fixed values pin them to the type scale at every desktop width. Bare
   element selectors override the fluid global styles (this sheet loads last) but
   stay below the block-specific heading classes, so per-block sizes (Latest
   Episode, partner cards, etc.) are preserved. Phones are scaled down in the
   "Typography — mobile scaling" media query at the end of this file. --- */
h1 {
	font-size: 4.375rem; /* 70px — secondary page H1 / generic h1 */
}
h2 {
	font-size: 3.4375rem; /* 55px */
}
h3 {
	font-size: 2.25rem; /* 36px — standard / full-width */
}
.awk-hero__headline {
	font-size: 5.625rem; /* 90px — homepage hero H1 */
}
.awk-page-hero__title {
	font-size: 4.375rem; /* 70px — secondary page H1 */
	max-width: 22ch;
}
.awk-hero__subtext {
	font-size: 1.25rem; /* 20px */
}
.awk-page-hero__intro {
	font-size: 1.125rem; /* 18px */
	max-width: 42rem;
	color: var(--awk-body);
}

/* Multi-column card / value headings = 28px (override the global h2 scale). */
.awk-card .wp-block-heading,
.awk-value-grid .wp-block-heading {
	font-size: 1.75rem;
}

/* --- Kickers --- */
.awk-hero__eyebrow {
	font-size: 0.9375rem; /* 15px */
	letter-spacing: 0.06em;
	font-weight: 900;
	color: #d0d3d6;
}
.awk-page-hero__eyebrow,
.awk-partners-page__eyebrow,
.awk-all-partners-page__eyebrow,
.awk-card__kicker,
.awk-about__label,
.awk-form-embed__note {
	font-size: 0.875rem; /* 14px */
	letter-spacing: 0.06em;
	font-weight: 750;
	color: var(--awk-kicker);
}

/* Page-hero eyebrow red line: narrower + nudged up. */
.awk-page-hero__eyebrow::before,
.awk-partners-page__eyebrow::before,
.awk-all-partners-page__eyebrow::before {
	width: 0.8rem;
	margin-bottom: 0.1rem;
}

/* --- Nav item weight + external arrow on nav links --- */
.awk-nav .wp-block-navigation-item__content {
	font-weight: 600;
}
.awk-nav .wp-block-navigation-item.awk-external > .wp-block-navigation-item__content::after {
	content: "";
	display: inline-block;
	width: 0.72em;
	height: 0.72em;
	margin-left: 0.3rem;
	vertical-align: -0.08em;
	background-color: currentColor;
	-webkit-mask: var(--awk-external-icon) no-repeat center / contain;
	mask: var(--awk-external-icon) no-repeat center / contain;
}
/* Suppress the base list-item marker on nav items (the content marker above is used). */
.awk-nav .wp-block-navigation-item.awk-external::after {
	content: none;
}

/* --- External marker spacing --- */
.awk-external::after {
	margin-left: 0.3rem;
}
.wp-block-button.awk-external .wp-block-button__link::after {
	margin-left: 0.3rem;
}

/* --- CTA buttons: barely rounded, transitions, weights, hovers --- */
.wp-block-button__link {
	border-radius: 2px;
	transition: all 0.2s ease;
}
.awk-hero .wp-block-button__link,
.awk-nav .awk-nav__subscribe > .wp-block-navigation-item__content {
	font-weight: 700;
}
.is-style-andweknow-primary .wp-block-button__link:hover,
.is-style-rumble .wp-block-button__link:hover {
	opacity: 0.85;
}
.is-style-andweknow-secondary .wp-block-button__link:hover {
	background-color: #141414;
	color: #ffffff;
	border-color: #141414;
}
/* White outline buttons on dark: 100% opacity border + invert on hover. */
.awk-section--dark .is-style-andweknow-secondary .wp-block-button__link,
.awk-section--dark-2 .is-style-andweknow-secondary .wp-block-button__link {
	border-color: #ffffff;
	color: #ffffff;
}
.awk-section--dark .is-style-andweknow-secondary .wp-block-button__link:hover,
.awk-section--dark-2 .is-style-andweknow-secondary .wp-block-button__link:hover {
	background-color: #ffffff;
	color: #141414;
	border-color: #ffffff;
}

/* --- Footer sizing + tighter nav gap --- */
.awk-footer__links {
	gap: 0.25rem;
}
.awk-footer__links a {
	font-size: 0.875rem; /* 14px */
}
.awk-footer__copyright,
.awk-footer__legal a {
	font-size: 0.75rem; /* 12px */
}

/* --- Hero form-embed placeholder readable on the dark hero --- */
.awk-hero .awk-form-embed {
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.05);
}
.awk-hero .awk-form-embed__note {
	color: rgba(255, 255, 255, 0.7);
}

/* --- Mobile: keep alignfull content off the screen edges --- */
@media (max-width: 600px) {
	.awk-header,
	.awk-hero,
	.awk-page-hero,
	.awk-partners-page__hero,
	.awk-all-partners-page__hero {
		padding-inline: var(--awk-gutter);
	}
}

/* =========================================================================
   About page — match the Notion mockup (side labels, value grid, book feature)
   ========================================================================= */
/* Side-label rows: narrow red label column on the left, content offset right. */
.awk-about__row {
	display: grid;
	grid-template-columns: 12rem minmax(0, 42rem);
	justify-content: start;
	gap: 1rem 3.5rem;
	align-items: start;
}

.awk-about__label {
	color: var(--wp--preset--color--awk-red);
	margin-top: 0.35rem;
}
.awk-section--dark .awk-about__label,
.awk-section--dark-2 .awk-about__label {
	color: rgba(255, 255, 255, 0.5);
}

/* Thin grey rule between the white kicker sections (Founder → Background → Mission).
   Same hairline as the hero border, but within the content container (not full-bleed). */
.awk-about__divider {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	padding-top: 2.5rem !important;
}

/* Align the body's first line with the side label: the body is the 2nd grid child
   of the row and picks up a flow block-gap margin — remove it. */
.awk-about__row > *,
.awk-about__body > :first-child,
.awk-book-feature__text > :first-child {
	margin-block-start: 0 !important;
}

/* Section headings within the body column are more compact than the global H2. */
.awk-about__body > .wp-block-heading,
.awk-book-feature__text > .wp-block-heading {
	font-size: clamp(1.9rem, 3.2vw, 2.5rem);
	line-height: 1.1;
}

@media (max-width: 781px) {
	.awk-about__row {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
}

/* Value grid — two columns with internal dividers and red bullets. */
.awk-value-grid {
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin-top: 2.5rem;
}
.awk-value-grid > .wp-block-group {
	padding: 1.6rem 2rem;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	/* Kill the flow-layout block-gap margin so row cells align at the top. */
	margin-block-start: 0 !important;
}
.awk-value-grid > .wp-block-group:nth-child(even) {
	border-left: 1px solid rgba(0, 0, 0, 0.12);
}
.awk-value-grid .wp-block-heading {
	position: relative;
	padding-left: 1.15rem;
}
.awk-value-grid .wp-block-heading::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--awk-red);
}
.awk-value-grid p {
	padding-left: 1.15rem;
}

/* Card grids — align every card at the top (kill the flow-layout block-gap that
   pushes the 2nd+ cards down). Applies to all card grids site-wide. */
.awk-card-grid > * {
	margin-block-start: 0 !important;
}

/* =========================================================================
   Resources page — dark "feature" cards (per the mockup)
   ========================================================================= */
.page-resources .awk-card {
	position: relative;
	overflow: hidden;
	border: none;
	background-color: #141414;
	background-size: cover;
	background-position: center;
	color: rgba(255, 255, 255, 0.82);
}
/* Dark overlay on image cards so the text stays legible. */
.page-resources .awk-card.has-background::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(20, 20, 20, 0.5), rgba(20, 20, 20, 0.82));
	z-index: 0;
}
.page-resources .awk-card > * {
	position: relative;
	z-index: 1;
	/* Left-align (the constrained layout's margin-inline:auto centers flex items). */
	margin-inline: 0 !important;
	max-width: 100%;
}
.page-resources .awk-card .wp-block-heading {
	color: #ffffff;
}
.page-resources .awk-card__kicker {
	color: var(--wp--preset--color--awk-red);
}
.page-resources .awk-card p:not(.awk-card__kicker) {
	color: rgba(255, 255, 255, 0.8);
}
/* Solid red CTA (overrides the dark-outline style on these cards). */
.page-resources .awk-card .wp-block-button__link {
	background-color: var(--wp--preset--color--awk-red) !important;
	color: #ffffff !important;
	border: none !important;
}
.page-resources .awk-card .wp-block-button__link:hover {
	opacity: 0.85;
}

/* --- Resources tiles: 70 / 30 split (Truther Files wide, Books narrow) --- */
.page-resources .awk-card-grid {
	grid-template-columns: 7fr 3fr;
	gap: 1.5rem;
}
@media (max-width: 781px) {
	.page-resources .awk-card-grid {
		grid-template-columns: 1fr;
	}
}

/* Full-bleed light-grey band behind the tiles (the hero above stays white).
   Painted with a pseudo-element so the tiles' own width/layout is untouched. */
.page-resources .wp-block-group.alignwide:has(> .awk-card-grid) {
	position: relative;
	/* Sit flush against the hero's bottom hairline — the block-gap margin above
	   this group was leaving a white strip between the hairline and the grey band. */
	margin-top: 0 !important;
	/* !important beats the seeded inline padding-top:0 so there's visible grey
	   space between the white hero and the card row (per the mockup). */
	padding-top: clamp(3rem, 5vw, 4.5rem) !important;
	padding-bottom: 4rem;
}
.page-resources .wp-block-group.alignwide:has(> .awk-card-grid)::before {
	content: "";
	position: absolute;
	inset-block: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	background-color: var(--wp--preset--color--awk-light-grey, #f1f1f3);
	z-index: 0;
}
.page-resources .wp-block-group.alignwide:has(> .awk-card-grid) > * {
	position: relative;
	z-index: 1;
}

/* Truther Files feature tile — AI image with a bottom-up dark gradient
   (darker at the bottom, transparent at the top) and text seated at the base. */
.page-resources .awk-card-grid > .awk-card:first-child {
	min-height: 22rem;
	justify-content: flex-end;
	background-color: #141414;
	background-image:
		linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.55) 38%, rgba(0, 0, 0, 0) 82%),
		url(assets/images/truther-files.webp);
	background-size: cover;
	background-position: top;
}
/* Keep both tiles' CTAs tucked with their text (override the card default
   margin-top:auto) so the content stays bottom-aligned as a block, not split. */
.page-resources .awk-card-grid > .awk-card .wp-block-buttons {
	margin-top: 0.9rem;
}
/* Constrain the Truther Files body copy so it doesn't run the full card width. */
.page-resources .awk-card-grid > .awk-card:first-child p:not(.awk-card__kicker) {
	max-width: 37rem;
}

/* Both tiles seat their content at the bottom of the card (the right "Recommended
   Books" tile was top-aligned; match the bottom alignment of the left tile). */
.page-resources .awk-card-grid > .awk-card {
	justify-content: flex-end;
}

/* --- Beyond the Microphone — dark #232323 band with the book cover on the
   right; fix the offset paragraph. The section is seeded with
   .awk-section--light-grey; recolour it dark here. (Only this one light-grey
   section exists on the Resources page.) */
.page-resources .awk-section--light-grey {
	position: relative;
	background-color: #232323;
	color: #dddddd;
}
.page-resources .awk-section--light-grey :is(h1, h2, h3, h4, h5, h6),
.page-resources .awk-section--light-grey .wp-block-heading {
	color: #ffffff;
}
/* The constrained layout auto-centers the narrow max-width prose (with
   !important), pushing it right of the heading. Give it a full content-width
   box so it shares the left edge with the heading/label/button, then cap the
   readable line length. The cap is clamped (not a bare `100% - 42rem`) so it
   never overshoots the 1280px box on wide monitors and crushes the text. */
.page-resources .awk-section--light-grey .awk-prose {
	max-width: var(--wp--style--global--content-size, 1280px) !important;
	margin-inline: auto !important;
	padding-right: clamp(0px, calc(100% - 42rem), 38rem);
	color: #cfcfcf;
}
/* Book cover, anchored to the right edge of the centred content column so it
   tracks the text column across viewport widths. */
.page-resources .awk-section--light-grey::after {
	content: "";
	position: absolute;
	top: 50%;
	right: max(2rem, calc(50% - 640px));
	transform: translateY(-50%);
	width: 24rem;
	aspect-ratio: 1 / 1;
	background: url(assets/images/beyond-the-mic.png) no-repeat center / contain;
	pointer-events: none;
}
/* "LT'S BOOK" kicker — gray label, no red dash (per latest feedback), on the dark
   Beyond-the-Microphone band. */
.page-resources .awk-section--light-grey .awk-about__label {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: rgba(255, 255, 255, 0.55);
}
.page-resources .awk-section--light-grey .awk-about__label::before {
	content: none;
}
/* "Get the Book" — white outline button on this dark band (not the red fill). */
.page-resources .awk-section--light-grey .wp-block-button__link {
	background-color: transparent !important;
	border: 1px solid #ffffff !important;
	color: #ffffff !important;
}
.page-resources .awk-section--light-grey .wp-block-button__link:hover {
	background-color: #ffffff !important;
	color: #232323 !important;
}

/* Phones: drop the cover and let the copy use the full width. */
@media (max-width: 781px) {
	.page-resources .awk-section--light-grey::after {
		display: none;
	}
	.page-resources .awk-section--light-grey .awk-prose {
		padding-right: 0;
	}
}

/* =========================================================================
   Watch page — the "Never miss an episode" CTA band sits on white (per the
   mockup); only the "Latest Rumble Episodes" band (which holds the episode
   grid) stays light grey.
   ========================================================================= */
.page-watch .awk-section--light-grey:not(:has(.awk-episodes)) {
	background-color: #ffffff;
}

/* =========================================================================
   Get Involved page — white option cards on light grey (per the mockup):
   no icons, left-aligned, soft shadow, larger titles.
   ========================================================================= */
.page-get-involved .awk-card {
	border: none;
	box-shadow: 0 1px 4px rgba(11, 11, 12, 0.06);
	padding: 2.5rem;
}
/* Left-align (the constrained layout's margin-inline:auto centers flex items). */
.page-get-involved .awk-card > * {
	margin-inline: 0 !important;
}
.page-get-involved .awk-card .wp-block-heading {
	font-size: clamp(1.6rem, 2.2vw, 2rem);
	line-height: 1.1;
	max-width: 11ch;
}

/* =========================================================================
   Podcast hub — white path-cards on light grey, 2-up, left-aligned, grey
   outline icons (per the mockup).
   ========================================================================= */
.page-podcast .awk-card-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.page-podcast .awk-card {
	border: none;
	box-shadow: 0 1px 4px rgba(11, 11, 12, 0.06);
	padding: 2.75rem;
}
/* Left-align (the constrained layout's margin-inline:auto centers flex items). */
.page-podcast .awk-card > * {
	margin-inline: 0 !important;
}
/* Grey outline icon, no rounded-square background, larger, top-left. */
.page-podcast .awk-card__icon {
	width: auto;
	height: auto;
	margin-bottom: 1.4rem;
	border-radius: 0;
	background: transparent;
	color: rgba(20, 20, 20, 0.45);
	justify-content: flex-start;
}
.page-podcast .awk-card__icon svg {
	width: 2.25rem;
	height: 2.25rem;
}
.page-podcast .awk-card .wp-block-heading {
	font-size: clamp(1.6rem, 2.2vw, 2rem);
	line-height: 1.1;
}
@media (max-width: 781px) {
	.page-podcast .awk-card-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================================
   Patriot Showcase archive — dark page + square photo grid (per the mockup)
   ========================================================================= */
.awk-showcase .awk-page-hero {
	background: transparent;
	/* Dark page — no white-hero hairline. */
	border-bottom: none;
}
.awk-showcase .awk-page-hero__eyebrow {
	color: rgba(255, 255, 255, 0.55);
}
.awk-showcase .awk-page-hero__intro {
	color: #dddddd;
}
/* Gallery fills the wide container and aligns its left edge with the hero. */
.awk-showcase .awk-gallery {
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
}
/* The mockup shows a clean photo grid — no visible captions. */
.awk-showcase .awk-gallery__item figcaption {
	display: none;
}
/* "Load More" — centered white-outline button on the dark page. */
.awk-gallery__more {
	display: flex;
	justify-content: center;
	margin-top: 2.75rem;
}
.awk-gallery__more-btn {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 2px;
	padding: 0.78em 2.25em;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	cursor: pointer;
	transition: all 0.2s ease;
}
.awk-gallery__more-btn:hover {
	background: #ffffff;
	color: #141414;
	border-color: #ffffff;
}
.awk-gallery__more-btn[aria-busy="true"] {
	opacity: 0.6;
	pointer-events: none;
}

/* =========================================================================
   Lightbox — gallery images open in a simple slidable modal
   ========================================================================= */
/* Image trigger buttons (reset native button chrome, keep the image layout). */
.awk-lightbox-trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
	border-radius: 6px;
}

.awk-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: clamp(1rem, 4vw, 3rem);
	background: rgba(10, 10, 10, 0.92);
}
.awk-lightbox.is-open {
	display: flex;
}
.awk-lightbox__img {
	max-width: min(92vw, 1100px);
	max-height: 88vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 6px;
}
.awk-lightbox__close,
.awk-lightbox__nav {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	line-height: 1;
	transition: background 0.15s ease;
}
.awk-lightbox__close:hover,
.awk-lightbox__nav:hover {
	background: rgba(255, 255, 255, 0.25);
}
.awk-lightbox__close {
	top: 1rem;
	right: 1rem;
	width: 2.75rem;
	height: 2.75rem;
	font-size: 1.2rem;
}
.awk-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
	width: 3rem;
	height: 3rem;
	font-size: 2rem;
	padding-bottom: 0.2rem;
}
.awk-lightbox__nav--prev {
	left: clamp(0.5rem, 2vw, 1.5rem);
}
.awk-lightbox__nav--next {
	right: clamp(0.5rem, 2vw, 1.5rem);
}

/* =========================================================================
   Open FAQ list (Common Questions) — questions + answers always visible,
   separated by divider lines (per the mockup; not collapsed accordions).
   ========================================================================= */
.awk-faq-open > * {
	margin-block-start: 0 !important;
}
.awk-faq-open__title {
	margin: 0;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.14);
	font-size: clamp(2rem, 4vw, 2.75rem);
}
.awk-faq-open__item {
	padding: 1.75rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.awk-faq-open__item > * {
	margin-block-start: 0 !important;
	/* Left-align (the constrained layout centers children via margin-inline:auto). */
	margin-inline: 0 !important;
}
.awk-faq-open__q {
	margin: 0 0 0.65rem;
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1.2;
}
.awk-faq-open__a {
	margin: 0;
	max-width: 44rem;
	color: rgba(20, 20, 20, 0.6);
	line-height: 1.55;
}

/* =========================================================================
   Guidance + form card, two columns on light grey (Submit a Photo,
   Become a Partner — per mockups)
   ========================================================================= */
.awk-submit-grid {
	grid-template-columns: 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}
@media ( min-width: 782px ) {
	.awk-submit-grid {
		grid-template-columns: 1fr 1.05fr;
	}
}
/* Smaller, left-aligned guidance headings (not the global 55px). */
.page-submit-a-photo .awk-two-col h2,
.page-become-a-partner .awk-submit-grid h2 {
	font-size: 1.5rem;
}
.page-become-a-partner .awk-submit-grid h3 {
	font-size: 1.15rem;
	margin-top: 2rem;
}
.awk-divider {
	border: none;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	margin: 2rem 0;
}
/* White form card. */
.awk-form-card {
	background: #ffffff;
	border-radius: 1rem;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	box-shadow: 0 1px 4px rgba(11, 11, 12, 0.06);
}
.awk-form-card .awk-form-embed {
	border: none;
	background: transparent;
	padding: 0;
}
/* Red-dash checklist (e.g. "Where partners may appear"). */
.awk-checklist {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}
.awk-checklist li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: 0.7rem;
	line-height: 1.5;
}
.awk-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;
	width: 0.9rem;
	height: 2px;
	background: var(--wp--preset--color--awk-red, #e11d2a);
}

/* =========================================================================
   Find Us on Social — icon + name/desc rows with an arrow, in a bordered card
   ========================================================================= */
.awk-social-list {
	max-width: 56rem;
	margin-inline: auto;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 1rem;
	background: #ffffff;
	overflow: hidden;
}
.awk-social-list > * {
	margin-block-start: 0 !important;
}
.awk-social-list__item {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1.25rem;
	padding: 1.4rem 2rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.awk-social-list__item:last-child {
	border-bottom: none;
}
.awk-social-list__item > * {
	margin-block-start: 0 !important;
}
.awk-social-list__icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	color: #141414;
}
.awk-social-list__icon svg {
	width: 1.75rem;
	height: 1.75rem;
}
.awk-social-list__text {
	flex: 1 1 auto;
	min-width: 0;
}
.awk-social-list__text > * {
	margin-block-start: 0 !important;
}
.awk-social-list__platform {
	margin: 0;
	font-weight: 800;
	font-size: 1.15rem;
}
.awk-social-list__desc {
	margin: 0.2rem 0 0;
	color: rgba(20, 20, 20, 0.55);
}
.awk-social-list__arrow {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	color: rgba(20, 20, 20, 0.4);
	transition: color 0.2s ease;
}
.awk-social-list__arrow:hover {
	color: var(--wp--preset--color--awk-red);
}
.awk-social-list__arrow svg {
	width: 1.25rem;
	height: 1.25rem;
}

/* =========================================================================
   Recommended Books — two-column list in a bordered container (per the mockup)
   ========================================================================= */
/* The affiliate disclosure now lives inside the hero (page-header "note" field),
   so the hero keeps its normal bottom padding. Pull the grey book-list section up
   flush against the hero's bottom hairline (no white gap between them). */
.page-recommended-books .awk-page-hero + .awk-section--light-grey {
	margin-top: 0 !important;
}

.awk-book-list__disclosure {
	margin: 0.5rem 0 0;
	color: rgba(20, 20, 20, 0.45);
	font-size: 0.85rem;
}

.awk-book-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	max-width: 64rem;
	margin-inline: auto;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 1rem;
	background: #ffffff;
	overflow: hidden;
}
.awk-book-list > * {
	margin-block-start: 0 !important;
}

.awk-book-list__item {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	padding: 1.6rem 2rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.awk-book-list__item > * {
	margin-block-start: 0 !important;
}
/* Title column shrinks; the Buy button keeps its place on the right. */
.awk-book-list__text {
	flex: 1 1 auto;
	min-width: 0;
}
.awk-book-list__item .wp-block-buttons {
	flex: 0 0 auto;
	margin: 0;
}
/* Vertical divider between the two columns. */
.awk-book-list__item:nth-child(even) {
	border-left: 1px solid rgba(0, 0, 0, 0.1);
}
/* No bottom rule on the final row. */
.awk-book-list__item:nth-last-child(-n+2) {
	border-bottom: none;
}

.awk-book-list__text > * {
	margin-block-start: 0 !important;
}
.awk-book-list__title {
	margin: 0;
	font-weight: 800;
	font-size: 1.15rem;
	line-height: 1.25;
}
.awk-book-list__author {
	margin: 0.2rem 0 0;
	color: rgba(20, 20, 20, 0.5);
}

/* "Buy" buttons: red outline that fills red on hover. */
.awk-book-list__item .is-style-andweknow-secondary .wp-block-button__link {
	color: var(--wp--preset--color--awk-red);
	border-color: var(--wp--preset--color--awk-red);
}
.awk-book-list__item .is-style-andweknow-secondary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--awk-red);
	color: #ffffff;
	border-color: var(--wp--preset--color--awk-red);
}

@media (max-width: 781px) {
	.awk-book-list {
		grid-template-columns: 1fr;
	}
	.awk-book-list__item:nth-child(even) {
		border-left: none;
	}
	.awk-book-list__item:nth-last-child(-n+2) {
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}
	.awk-book-list__item:last-child {
		border-bottom: none;
	}
}

/* Sign-off quote — centered, italic, with decorative quote marks. */
.awk-signoff__quote {
	position: relative;
	max-width: 44rem;
	margin: 0 auto;
	font-style: italic;
	font-size: clamp(1.1rem, 1.7vw, 1.45rem);
	line-height: 1.55;
	color: #dddddd;
}
.awk-signoff__quote::before,
.awk-signoff__quote::after {
	position: absolute;
	font-style: normal;
	font-size: 3.5rem;
	line-height: 1;
	color: rgba(255, 255, 255, 0.28);
}
.awk-signoff__quote::before {
	content: "\201C";
	left: -2.25rem;
	top: -0.85rem;
}
.awk-signoff__quote::after {
	content: "\201D";
	right: -2.25rem;
	bottom: -1.75rem;
}
.awk-signoff__attr {
	margin: 1.85rem 0 0;
	color: rgba(255, 255, 255, 0.6);
}
.awk-signoff__brand {
	margin: 0.45rem 0 0;
	font-weight: 800;
	font-size: 1.3rem;
	color: #ffffff;
}
.awk-signoff__motto {
	margin: 0.3rem 0 0;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.45);
}
@media (max-width: 600px) {
	.awk-signoff__quote::before {
		left: -1rem;
		font-size: 2.5rem;
	}
	.awk-signoff__quote::after {
		right: -1rem;
		font-size: 2.5rem;
	}
}

/* Book feature — copy on the left, cover on the right. */
.awk-book-feature {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}
.awk-book-feature__kicker {
	margin: 0 0 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.875rem;
	font-weight: 750;
	color: var(--awk-kicker);
}
.awk-book-feature__cover {
	margin: 0;
}
.awk-book-feature__cover img {
	display: block;
	width: auto;
	max-width: 15rem;
	height: auto;
}
@media (max-width: 781px) {
	.awk-book-feature {
		grid-template-columns: 1fr;
	}
}

/* =========================================================================
   Typography — mobile scaling (≤781px)
   The desktop type scale is fixed (above); on phones the large headings are
   scaled down with clamps so long words don't overflow the viewport. These
   element selectors only affect generic headings — block-specific heading
   classes keep their own responsive sizes.
   ========================================================================= */
@media (max-width: 781px) {
	h1 {
		font-size: clamp(2.25rem, 8.5vw, 4rem); /* 70px desktop -> fluid on phones */
	}
	h2 {
		font-size: clamp(1.85rem, 7vw, 3rem); /* 55px desktop -> fluid on phones */
	}
	h3 {
		font-size: clamp(1.4rem, 5vw, 2rem); /* 36px desktop -> fluid on phones */
	}
	.awk-hero__headline {
		font-size: clamp(2.5rem, 10vw, 4.25rem); /* 90px desktop -> fluid on phones */
	}
	.awk-page-hero__title {
		font-size: clamp(2.1rem, 8.5vw, 3.5rem); /* 70px desktop -> fluid on phones */
	}
}

/* =========================================================================
   Gravity Forms — brand styling.
   The form-embed block emits `.awk-form` plus a per-form variant class
   (e.g. `.awk-form--subscribe`, `.awk-form--partner`). Rules here override the
   Gravity Forms "Orbital" theme defaults (blue button, its own title) so forms
   match the AWK mockups. Shared rules apply to every form; the multi-field and
   subscribe-pill treatments are scoped to their respective variants.
   ========================================================================= */

/* --- Shared across all forms --- */

/* Drop Gravity Forms' own title/description — the page supplies its heading. */
.awk-form .gform_wrapper .gform_heading {
	display: none;
}

/* Solid red submit button (replaces the Orbital blue), wherever it sits. */
.awk-form .gform_wrapper .gform-button,
.awk-form .gform_wrapper input[type="submit"] {
	margin: 0;
	border: none;
	border-radius: 5px;
	padding: 0.7rem 1.75rem;
	background: var(--wp--preset--color--awk-red, #e11d2a) !important;
	color: #ffffff !important;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.4;
	white-space: nowrap;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.awk-form .gform_wrapper .gform-button:hover,
.awk-form .gform_wrapper input[type="submit"]:hover {
	opacity: 0.9;
}

/* Required-field asterisk in brand red. */
.awk-form .gform_wrapper .gfield_required {
	color: var(--wp--preset--color--awk-red, #e11d2a);
}

/* --- Multi-field forms (Partner, Photo, Contact): stacked, labelled fields ---
   Excludes the subscribe pill via :not() so the two layouts never collide. */

.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield_label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #4b5563;
}

.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield input,
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield textarea,
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield select {
	width: 100%;
	padding: 0.65rem 0.85rem;
	border: 1px solid rgba(0, 0, 0, 0.18);
	border-radius: 6px;
	background: #ffffff;
	font-size: 1rem;
	line-height: 1.4;
	color: #141414;
}
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield input:focus,
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield textarea:focus,
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield select:focus {
	outline: none;
	border-color: var(--wp--preset--color--awk-red, #e11d2a);
	box-shadow: 0 0 0 2px rgba(225, 29, 42, 0.15);
}
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield textarea {
	min-height: 7rem;
	resize: vertical;
}

/* Checkboxes/radios must stay square — the width:100% input rule above otherwise
   stretches the consent checkbox into a long rectangle. */
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield input[type="checkbox"],
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield input[type="radio"] {
	width: 1.15rem;
	height: 1.15rem;
	min-width: 0;
	flex: 0 0 auto;
	padding: 0;
	margin: 0.15rem 0 0;
	vertical-align: top;
}
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield input::placeholder,
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield textarea::placeholder {
	color: #aab1bb;
	opacity: 1;
}

/* File input: the shared input padding above clips the native "Choose File"
   button. Strip the box styling on file inputs so the button renders at its
   natural size (Submit a Photo page). */
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gfield input[type="file"] {
	padding: 0;
	border: none;
	background: transparent;
	line-height: 1.4;
}

/* Sub-labels (e.g. the First / Last under a Name field): smaller, normal case. */
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gform-field-label--type-sub {
	margin-top: 0.3rem;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #6b7280;
}

/* The submit lives in the footer here — give it breathing room above. */
.awk-form:not(.awk-form--subscribe) .gform_wrapper .gform_footer {
	margin-top: 1.5rem;
	padding: 0;
}

/* --- Subscribe form: Name + Email + red button. On desktop the Name field is
   noticeably smaller than the Email field, and the Subscribe button nests inside
   the Email field's right edge (per the mockup). On phones the Name | Email row
   sits 40% / 60% with a full-width button breaking out below. GF's Orbital
   stylesheet loads after this file, so layout-critical properties use !important
   to win. --- */

/* Desktop: Name (narrow) + Email (wide). Two columns only — the submit is placed
   into the Email column below so it overlays the field rather than taking its own
   column. */
.awk-form--subscribe .gform_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: minmax(0, 0.5fr) minmax(0, 1fr) !important;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	max-width: 40rem;
	background: transparent;
	box-shadow: none;
	padding: 0;
}

/* Reset Gravity Forms' per-field grid widths/spacing. */
.awk-form--subscribe .gform_wrapper .gform_fields > .gfield {
	margin: 0;
	padding: 0;
	min-width: 0;
	width: auto !important;
	max-width: none !important;
	grid-column: auto !important;
}

/* Explicitly place Name and Email so the submit can share the Email cell. These
   match the specificity of the per-field reset above (which forces
   grid-column:auto) and, being later in source order, win. */
.awk-form--subscribe .gform_wrapper .gform_fields > .gfield--type-name {
	grid-column: 1 !important;
	grid-row: 1 !important;
}
.awk-form--subscribe .gform_wrapper .gform_fields > .gfield--type-email {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

/* Keep the (visually hidden) field labels/legends out of the layout. */
.awk-form--subscribe .gform_wrapper .gfield_label,
.awk-form--subscribe .gform_wrapper legend.gfield_label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Name is a "complex" field — flatten its inner grid so the single input fills. */
.awk-form--subscribe .gform_wrapper .ginput_container {
	display: block;
	margin: 0;
	width: 100%;
}
.awk-form--subscribe .gform_wrapper .ginput_container--name .gform-grid-col {
	width: 100%;
	max-width: none;
	padding: 0;
	flex: 1 1 auto;
}

/* White input boxes for Name + Email. */
.awk-form--subscribe .gform_wrapper input[type="text"],
.awk-form--subscribe .gform_wrapper input[type="email"] {
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.18) !important;
	border-radius: 5px;
	background: #ffffff !important;
	box-shadow: none !important;
	/* Taller fields so the nested Subscribe button clears the top/bottom edges.
	   height:auto overrides GF's fixed control height so the padding drives the box. */
	height: auto !important;
	padding: 0.9rem 1rem;
	font-size: 1rem;
	line-height: 1.4;
	color: #141414;
}
.awk-form--subscribe .gform_wrapper input[type="text"]:focus,
.awk-form--subscribe .gform_wrapper input[type="email"]:focus {
	outline: none;
	border-color: var(--wp--preset--color--awk-red, #e11d2a) !important;
	box-shadow: 0 0 0 2px rgba(225, 29, 42, 0.15) !important;
}
.awk-form--subscribe .gform_wrapper input::placeholder {
	color: #aab1bb;
	opacity: 1;
}

/* Submit shares the Email cell and pins to its right edge, vertically centered, so
   it sits inside the field with a small inset. The Email input reserves right
   padding (below) so its text never slides under the button. */
.awk-form--subscribe .gform_wrapper .gform_fields > .gfield--type-submit {
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: end !important;
	align-self: center !important;
	display: flex;
	margin: 0 !important;
	padding-right: 0.6rem !important;
	z-index: 2;
}
.awk-form--subscribe .gform_wrapper input[type="submit"],
.awk-form--subscribe .gform_wrapper .gform-button {
	width: auto;
	white-space: nowrap;
	/* Shorter than the field (min-height/height override GF's control height) so the
	   centered button sits inside with breathing room top and bottom. */
	min-height: 0 !important;
	height: auto !important;
	padding: 0.55rem 1.4rem !important;
	/* Slightly larger, tighter, heavier label to match the mockup (!important to beat
	   Gravity Forms' Orbital button typography, which loads after this file). */
	font-size: 16px !important;
	letter-spacing: -0.02rem !important;
	font-weight: 650 !important;
}

/* Room inside the Email field for the nested button. */
.awk-form--subscribe .gform_wrapper input[type="email"] {
	padding-right: 9.5rem;
}

/* Footer only holds hidden inputs here — give it no box. */
.awk-form--subscribe .gform_wrapper .gform_footer {
	margin: 0;
	padding: 0;
}

/* Phones: Name (40%) | Email (60%) on one row, full-width Subscribe button below.
   The button breaks out of the Email field here — undo the desktop nesting. */
@media (max-width: 600px) {
	.awk-form--subscribe .gform_wrapper .gform_fields {
		grid-template-columns: 2fr 3fr !important;
		align-items: end;
		gap: 0.75rem;
		max-width: none;
	}
	.awk-form--subscribe .gform_wrapper .gform_fields > .gfield--type-email {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}
	/* Reset the desktop right-padding that reserved room for the nested button. */
	.awk-form--subscribe .gform_wrapper input[type="email"] {
		padding-right: 1rem;
	}
	.awk-form--subscribe .gform_wrapper .gform_fields > .gfield--type-submit {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		justify-self: stretch !important;
		align-self: auto !important;
		padding-right: 0 !important;
	}
	.awk-form--subscribe .gform_wrapper input[type="submit"],
	.awk-form--subscribe .gform_wrapper .gform-button {
		width: 100% !important;
		max-width: none !important;
		justify-content: center;
		/* !important to beat the shorter desktop button padding, which is also
		   !important; this rule is later in source order so it wins on mobile. */
		padding: 0.9rem 1.75rem !important;
	}
}
