/* Aquarius Intuitive: pages, curation and long-form reading. Loaded on every page except the home page.
   Tokens come from theme.json; markup is plain core blocks plus the class names below. */

/* ---------- "Living work in progress" callout (inc/work-in-progress.php) ---------- */
.wip-callout {
	box-sizing: border-box;
	width: min(100% - 2 * var(--wp--preset--spacing--30), 56rem);
	max-width: 56rem !important;
	margin: clamp(1rem, 4vw, 2rem) auto 0 !important;
	padding: clamp(1.1rem, 4vw, 1.75rem) clamp(1.1rem, 4vw, 2rem);
	border: 1px solid rgba(207, 64, 96, 0.45);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 1rem;
	background:
		radial-gradient(40rem 14rem at 0% 0%, rgba(207, 64, 96, 0.16), transparent 70%),
		var(--wp--preset--color--surface);
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
}
.wip-callout {
	padding: 0;
	margin-bottom: clamp(1rem, 4vw, 2rem) !important;
}
/* Closed: one line of teaser. Tap or click to open. */
.wip-callout > summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "kicker toggle" "teaser toggle";
	gap: 0.25rem 1rem;
	align-items: center;
	padding: 1rem clamp(1.1rem, 4vw, 1.75rem);
	cursor: pointer;
	list-style: none;
}
.wip-callout > summary::-webkit-details-marker {
	display: none;
}
.wip-callout > summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 1rem;
}
.wip-callout__kicker {
	grid-area: kicker;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}
.wip-callout__teaser {
	grid-area: teaser;
	line-height: 1.5;
}
.wip-callout__toggle {
	grid-area: toggle;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	font-size: 0.85rem;
	white-space: nowrap;
	color: var(--wp--preset--color--blush);
	transition: border-color 0.2s ease, background 0.2s ease;
}
.wip-callout__toggle::before {
	content: "Read more";
}
.wip-callout__toggle::after {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.2s ease;
}
.wip-callout[open] .wip-callout__toggle::before {
	content: "Close";
}
.wip-callout[open] .wip-callout__toggle::after {
	transform: translateY(2px) rotate(-135deg);
}
.wip-callout > summary:hover .wip-callout__toggle {
	border-color: var(--wp--preset--color--accent);
	background: rgba(207, 64, 96, 0.14);
}
/* Open: the ideas as small cards you can scan. */
.wip-callout__body {
	padding: 0 clamp(1.1rem, 4vw, 1.75rem) clamp(1.1rem, 4vw, 1.5rem);
	animation: wip-in 0.25s ease;
}
@keyframes wip-in {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.wip-callout__body { animation: none; }
}
.wip-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
	gap: 0.75rem;
	margin-top: 0.5rem;
}
.wip-card {
	padding: 0.9rem 1rem;
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
}
.wip-card h3 {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	color: var(--wp--preset--color--blush);
}
.wip-card p {
	margin: 0;
	font-size: 0.93rem;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}
.wip-quote {
	margin: 1rem 0 0;
	padding: 0.25rem 0 0.25rem 1rem;
	border-left: 3px solid var(--wp--preset--color--sage);
}
.wip-quote p {
	margin: 0 0 0.35rem;
	font-style: italic;
	line-height: 1.6;
}
.wip-quote cite {
	font-size: 0.85rem;
	font-style: normal;
	color: var(--wp--preset--color--sage);
}
@media (max-width: 520px) {
	.wip-callout > summary {
		grid-template-areas: "kicker" "teaser" "toggle";
		grid-template-columns: minmax(0, 1fr);
	}
	.wip-callout__toggle {
		justify-self: start;
		margin-top: 0.35rem;
	}
}
.wip-callout .wip-callout__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 1rem;
	margin: 1rem 0 0;
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
}
.wip-callout__btn {
	display: inline-block;
	padding: 0.7rem 1.3rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}
.wip-callout__btn:hover,
.wip-callout__btn:focus-visible {
	filter: brightness(1.1);
}
#newsletter,
#long-form,
#short-form,
#topics {
	scroll-margin-top: 6rem;
}
/* YouTube playlist embeds (My Videos): 16:9, rounded, never wider than the screen. */
.yt-playlist {
	position: relative;
	aspect-ratio: 16 / 9;
	width: 100%;
	margin-block: 1rem 2rem;
	border-radius: 1rem;
	overflow: hidden;
	background: #000;
}
.yt-playlist iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.wp-block-embed-youtube iframe {
	border-radius: 1rem;
}

/* ---------- Shared building blocks ---------- */
.sect,
.page-hero,
.book-cover,
.book-toc,
.book-chapter,
.book-footer {
	padding-inline: var(--wp--preset--spacing--30);
	box-sizing: border-box;
}
.sect {
	padding-block: clamp(2rem, 6vw, 4rem);
}
.sect.is-surface {
	background: var(--wp--preset--color--surface);
}
.page-hero {
	padding-block: clamp(2.5rem, 8vw, 5rem);
	background: radial-gradient(50rem 22rem at 20% 0%, rgba(207, 64, 96, 0.18), transparent 70%);
}
.page-hero h1 {
	text-wrap: balance;
}
.lede {
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--sage);
	max-width: 40rem;
}
.page-hero .lede {
	max-width: var(--wp--style--global--content-size);
}
.eyebrow {
	margin: 0;
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sage);
}
.badge {
	display: inline-block;
	margin: 0;
	padding: 0.2rem 0.65rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.badge--members {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}
.badge--public {
	border-color: var(--wp--preset--color--sage);
	color: var(--wp--preset--color--sage);
}
.tile {
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 1rem;
	padding: clamp(1.1rem, 3vw, 1.6rem);
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.sect.is-surface .tile {
	background: var(--wp--preset--color--base);
}
.tile :is(h2, h3, h4) a {
	color: inherit;
	text-decoration: none;
}
.tile :is(h2, h3, h4) a:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.tile:hover {
	border-color: var(--wp--preset--color--accent);
}
.tile > * {
	margin-block: 0;
}
.tile > * + * {
	margin-top: 0.65rem;
}
.tile h3 {
	font-size: var(--wp--preset--font-size--large);
}
.tile p:not(.badge):not(.eyebrow) {
	color: #c5cbd1;
}
.tile .wp-block-buttons {
	margin-top: 1rem;
}
.callout {
	padding: 1rem 1.25rem;
	border-left: 3px solid var(--wp--preset--color--accent);
	border-radius: 0 0.75rem 0.75rem 0;
	background: var(--wp--preset--color--surface);
}
.callout > * {
	margin-block: 0;
}
.callout > * + * {
	margin-top: 0.5rem;
}
.stat__num {
	margin: 0;
	font-size: clamp(2rem, 1.2rem + 3vw, 3rem);
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}
.stat__label {
	margin: 0.35rem 0 0;
	color: #c5cbd1;
	font-size: 0.95rem;
}
.phase__tag {
	margin: 0;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--accent);
}
.founder-quote {
	font-size: var(--wp--preset--font-size--large);
	font-style: italic;
	color: var(--wp--preset--color--sage);
}
.notice-confidential {
	margin: 0;
	padding: 0.6rem 1rem;
	text-align: center;
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.slides-frame {
	position: relative;
	aspect-ratio: 16 / 9;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	overflow: hidden;
	background: #000;
}
.slides-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Members-only message (shown by the Members plugin in place of gated content) */
.members-gate {
	max-width: 36rem;
	margin: clamp(2rem, 8vw, 4rem) auto;
	padding: clamp(1.25rem, 4vw, 2rem);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	background: var(--wp--preset--color--surface);
	text-align: center;
}
.members-gate h2 {
	font-size: var(--wp--preset--font-size--x-large);
}

/* ---------- Inline forms (Connect page) ---------- */
.form-card {
	padding: clamp(1.1rem, 4vw, 2rem);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	background: var(--wp--preset--color--surface);
}
.form-card .wpcf7 br {
	display: none;
}
.form-card .wpcf7 p {
	margin: 0;
}
.form-card .ai-form-group {
	display: block;
	margin-bottom: 1rem;
}
.form-card .ai-form-label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sage);
}
.form-card .ai-form-label em {
	margin-left: 0.4rem;
	font-style: normal;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--muted);
}
.form-card .wpcf7-form-control-wrap {
	display: block;
}
.form-card .ai-input,
.form-card .ai-textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.8rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 0.75rem;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
}
.form-card .ai-textarea {
	min-height: 9rem;
	resize: vertical;
}
.form-card .ai-input:focus,
.form-card .ai-textarea:focus {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 4px rgba(207, 64, 96, 0.2);
	outline: none;
}
.form-card .ai-submit-btn {
	padding: 0.8rem 1.8rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.form-card .ai-submit-btn:hover {
	background: var(--wp--preset--color--blush);
	color: var(--wp--preset--color--base);
}
.form-card .wpcf7-not-valid-tip {
	margin-top: 0.3rem;
	font-size: 0.85rem;
	color: #ff9db0;
}
.form-card .wpcf7 form .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.75rem 1rem;
	border: 1px solid var(--wp--preset--color--sage);
	border-radius: 0.75rem;
}
@media (max-width: 600px) {
	.form-card .ai-submit-btn {
		width: 100%;
	}
}

/* ---------- Story-highlight rails (Instagram-style circles, about 200% of IG size) ---------- */
.curation-section + .curation-section {
	margin-top: clamp(2rem, 6vw, 3.5rem);
}
.curation-section > h2 {
	margin-bottom: 0.25rem;
}
.story-rail {
	--story-size: clamp(6.5rem, 26vw, 8rem);
	flex-wrap: nowrap !important;
	gap: clamp(1rem, 3vw, 1.75rem);
	overflow-x: auto;
	padding: 0.5rem var(--wp--preset--spacing--30) 1rem;
	margin-inline: calc(-1 * var(--wp--preset--spacing--30));
	scroll-snap-type: x proximity;
	scroll-padding-inline: var(--wp--preset--spacing--30);
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.story-rail::-webkit-scrollbar {
	display: none;
}
.story-rail > .story {
	flex: 0 0 var(--story-size);
	width: var(--story-size);
	margin: 0;
	text-align: center;
	scroll-snap-align: start;
}
.story a {
	display: block;
	color: inherit;
	text-decoration: none;
}
.story__ring {
	display: block;
	width: var(--story-size);
	aspect-ratio: 1;
	padding: 4px;
	border-radius: 50%;
	background: conic-gradient(from 200deg, #cf4060, #b2c7b5, #0098c7, #cf4060);
	transition: transform 0.2s ease;
}
.story a:hover .story__ring,
.story a:focus-visible .story__ring {
	transform: scale(1.05);
}
.story__ring > span {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: 4px solid var(--wp--preset--color--base);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	font-size: calc(var(--story-size) * 0.36);
	line-height: 1;
}
.story__ring img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.story__label {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.92rem;
	line-height: 1.25;
}
.story__count {
	display: block;
	font-size: 0.75rem;
	color: var(--wp--preset--color--muted);
}

/* Tag chips */
.chip-row {
	gap: 0.5rem !important;
}
.chip {
	margin: 0;
}
.chip a {
	display: inline-block;
	padding: 0.3rem 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	font-size: 0.85rem;
	color: inherit;
	text-decoration: none;
}
.chip a:hover,
.chip a:focus-visible {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

/* Creator cards */
.creator__avatar {
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0;
	border-radius: 50%;
	background: conic-gradient(from 200deg, #cf4060, #b2c7b5, #0098c7, #cf4060);
	font-size: 1.5rem;
}
.creator__handle {
	font-weight: 700;
}
.creator__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	font-size: 0.9rem;
}

/* Video preview on hover (posts with a preview_video custom field) */
.hover-video {
	position: relative;
	overflow: hidden;
}
.hover-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}
.hover-video.is-playing video {
	opacity: 1;
}

/* ---------- Long-form reading (the Field Guide) ---------- */
.book-cover {
	padding-block: clamp(3rem, 10vw, 7rem);
	text-align: center;
	background: radial-gradient(60rem 28rem at 50% 0%, rgba(207, 64, 96, 0.22), transparent 70%), var(--wp--preset--color--base);
}
.book-eyebrow {
	margin: 0 0 1rem;
	font-size: 0.8rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sage);
}
.book-title {
	max-width: 22ch;
	margin-inline: auto;
	font-size: clamp(2rem, 1.2rem + 4vw, 3.75rem);
	line-height: 1.1;
}
.book-title em {
	font-style: normal;
	color: var(--wp--preset--color--accent);
}
.book-sub {
	max-width: 40rem;
	margin-inline: auto;
	font-size: var(--wp--preset--font-size--medium);
	color: #c5cbd1;
}
.book-byline {
	color: var(--wp--preset--color--muted);
	font-size: 0.9rem;
}
.book-figure {
	max-width: 60rem;
	margin: 2rem auto;
}
.book-figure svg {
	display: block;
	width: 100%;
	height: auto;
}
.book-figure figcaption {
	margin-top: 0.75rem;
	text-align: center;
	font-size: 0.9rem;
	font-style: italic;
	color: var(--wp--preset--color--muted);
}
.book-toc {
	padding-block: clamp(2.5rem, 7vw, 4.5rem);
	background: var(--wp--preset--color--surface);
}
.toc-title {
	text-align: center;
}
.toc-grid {
	gap: 0.75rem;
}
.toc-grid > .toc-item {
	margin: 0;
}
.toc-item a {
	display: grid;
	gap: 0.15rem;
	height: 100%;
	box-sizing: border-box;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 0.9rem;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.2s ease;
}
.toc-item a:hover,
.toc-item a:focus-visible {
	border-color: var(--wp--preset--color--accent);
}
.chnum {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--accent);
}
.chtitle {
	font-weight: 700;
}
.chdesc {
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
}
.book-chapter {
	padding-block: clamp(2.5rem, 7vw, 5rem);
	scroll-margin-top: 4rem;
}
.book-chapter.is-alt {
	background: var(--wp--preset--color--surface);
}
.chapter-label {
	margin-bottom: 0.25rem;
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}
.chapter-title {
	margin-top: 0;
}
.book-chapter p:not(.chapter-label):not(.aside-label):not(.chapter-end) {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.75;
}
.book-chapter .has-drop-cap:not(:focus)::first-letter {
	margin: 0.05em 0.1em 0 0;
	font-size: 4.2em;
	font-weight: 800;
	line-height: 0.8;
	color: var(--wp--preset--color--accent);
}
.book-chapter .wp-block-pullquote {
	margin-block: 2rem;
	padding: 1.5rem 0;
	border-block: 2px solid var(--wp--preset--color--accent);
	text-align: center;
}
.book-chapter .wp-block-pullquote p {
	font-size: var(--wp--preset--font-size--large);
	font-style: italic;
	line-height: 1.4;
}
.book-aside,
.book-crosslink {
	padding: 1rem 1.25rem;
	border-left: 3px solid var(--wp--preset--color--sage);
	border-radius: 0 0.75rem 0.75rem 0;
	background: rgba(178, 199, 181, 0.07);
}
.book-aside > *,
.book-crosslink > * {
	margin-block: 0;
}
.book-aside > * + *,
.book-crosslink > * + * {
	margin-top: 0.5rem;
}
.aside-label {
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sage);
}
.book-table {
	overflow-x: auto;
}
.book-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}
.book-table th,
.book-table td {
	padding: 0.6rem 0.75rem;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	text-align: left;
	vertical-align: top;
}
.book-table th {
	border-bottom: 2px solid rgba(255, 255, 255, 0.25);
	color: var(--wp--preset--color--sage);
}
.book-table .has-text-align-right {
	text-align: right;
	white-space: nowrap;
}
.narrative li {
	margin-bottom: 0.8rem;
}
.chapter-end {
	margin-top: 2rem;
	letter-spacing: 0.5em;
	color: var(--wp--preset--color--muted);
}
.book-chapter code {
	padding: 0.1em 0.4em;
	border-radius: 0.3rem;
	background: rgba(255, 255, 255, 0.08);
	font-size: 0.9em;
}
.book-footer {
	padding-block: 2rem;
	text-align: center;
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
}
