/*
Theme Name: The Zhaal
Theme URI: https://thezhaal.com
Author: THE ZHAAL
Description: A restrained editorial block theme for intelligence entering the physical world.
Version: 0.4.10
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: the-zhaal
*/

:root {
	--zhaal-rule: 1px solid var(--wp--preset--color--line);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
a { text-underline-offset: .18em; text-decoration-thickness: .06em; }
a:hover { color: var(--wp--preset--color--accent); }
::selection { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--paper); }

.zhaal-kicker {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .72rem;
	font-weight: 650;
	letter-spacing: .12em;
	line-height: 1.25;
	text-transform: uppercase;
}
.zhaal-rule-top { border-top: var(--zhaal-rule); padding-top: 1rem; }
.zhaal-rule-bottom { border-bottom: var(--zhaal-rule); padding-bottom: 1rem; }
.zhaal-card { border-top: var(--zhaal-rule); padding-top: 1rem; }
.zhaal-card .wp-block-post-featured-image { margin-bottom: 1.25rem; }
.zhaal-card .wp-block-post-featured-image a { display: block; overflow: hidden; }
.zhaal-card .wp-block-post-featured-image img { transition: transform .35s ease; }
.zhaal-card:hover .wp-block-post-featured-image img { transform: scale(1.015); }
.zhaal-card .wp-block-post-title a { text-decoration: none; }
.zhaal-meta { color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--mono); font-size: .76rem; letter-spacing: .03em; }
.zhaal-hero { min-height: 0; }
.zhaal-hero h1 { font-size: clamp(3.2rem, 7vw, 7.5rem) !important; line-height: 1.06; margin-block: 2rem 2.5rem; max-width: 100%; overflow-wrap: normal; }
.zhaal-hero > .wp-block-group { margin-top: 0; }
.zhaal-home-feature { padding-block: clamp(2rem, 4vw, 3.5rem) !important; }
.zhaal-home-feature .wp-block-post-featured-image { margin-bottom: 1.2rem; max-width: 100%; }
.zhaal-home-feature .wp-block-post-featured-image img { aspect-ratio: 16 / 9; height: auto; max-height: 430px; object-fit: cover; width: 100%; }
.zhaal-home-feature .wp-block-post-title { line-height: 1.12; margin-top: 0; }
.home main .has-ink-background-color { padding-block: clamp(2rem, 4vw, 3.5rem) !important; }
.home main .has-ink-background-color .wp-block-post-featured-image img { aspect-ratio: 16 / 9; height: auto; max-height: 430px; object-fit: cover; width: 100%; }
.home main .has-ink-background-color .wp-block-post-title { line-height: 1.12; margin-top: 1rem; }
.home main .wp-block-group.alignwide:has(.type-zhaal_research) { padding-block: clamp(2rem, 4vw, 3.5rem) !important; }
.home main .wp-block-group.alignwide:has(> .has-text-align-center) { padding-block: clamp(2.5rem, 5vw, 4.5rem) !important; }
main .wp-block-query:has(.type-zhaal_research) .wp-block-post-featured-image img { aspect-ratio: 16 / 9; height: auto; max-height: 430px; object-fit: cover; width: 100%; }
.zhaal-perspective { padding-block: clamp(2.5rem, 5vw, 4.5rem) !important; }
.zhaal-founder { margin-top: 3rem; }
.zhaal-founder-photo { margin: 0; }
.zhaal-founder-photo img { aspect-ratio: 4 / 5; display: block; object-fit: cover; object-position: center 24%; width: 100%; }
.zhaal-topic-link a { text-decoration: none; }
.zhaal-topic-link a::after { content: ' ↗'; color: var(--wp--preset--color--accent); }
.zhaal-site-header { border-bottom: var(--zhaal-rule); }
.zhaal-site-footer { border-top: var(--zhaal-rule); }
h1.has-display-font-size { line-height: 1.1; margin-bottom: 1.5rem; overflow-wrap: anywhere; }
.single-zhaal_signal .wp-block-post-title,
.single-zhaal_observation .wp-block-post-title,
.single-zhaal_research .wp-block-post-title {
	font-size: clamp(2.8rem, 5.2vw, 5.4rem) !important;
	line-height: 1.12;
	margin-bottom: 1.2rem;
	margin-left: 0;
	max-width: 100%;
	transform: none;
	width: auto;
}
.single-zhaal_signal .wp-block-post-author-name::before,
.single-zhaal_observation .wp-block-post-author-name::before,
.single-zhaal_research .wp-block-post-author-name::before { content: 'By: '; }
.zhaal-site-header .wp-block-site-title { text-transform: uppercase; }
.zhaal-public-id { color: var(--wp--preset--color--accent); font-family: var(--wp--preset--font-family--mono); font-size: .76rem; font-weight: 650; letter-spacing: .08em; }
.zhaal-public-facts { align-items: center; color: var(--wp--preset--color--muted); display: flex; flex-wrap: wrap; font-family: var(--wp--preset--font-family--mono); font-size: .72rem; gap: .6rem 1.2rem; letter-spacing: .03em; }
.zhaal-structured-fields { margin-top: var(--wp--preset--spacing--60); }
.zhaal-evidence-section { border-top: var(--zhaal-rule); display: grid; gap: 1rem; grid-template-columns: minmax(140px, 1fr) minmax(0, 2.4fr); padding: 1.6rem 0 2.2rem; }
.zhaal-evidence-section > * { margin-top: 0; }
.zhaal-field-body { min-width: 0; }
.zhaal-field-body > p { font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.15rem, 1.8vw, 1.5rem); line-height: 1.55; margin-top: 0; }
.zhaal-field-body > p + p { margin-top: 1.25em; }
.zhaal-source-list { margin-top: 0; padding-left: 1.25rem; }
.zhaal-source-list li { margin-bottom: .7rem; overflow-wrap: anywhere; }
.zhaal-source-disclosure { border-top: var(--zhaal-rule); margin-top: 2rem; padding-top: 1rem; }
.zhaal-source-disclosure summary { cursor: pointer; font-family: var(--wp--preset--font-family--mono); font-size: .76rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.zhaal-source-disclosure[open] .zhaal-source-list { margin-top: 1.25rem; }
.zhaal-related { border-top: var(--zhaal-rule); margin-top: 2.5rem; padding-top: 1.5rem; }
.zhaal-related-list { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); list-style: none; margin: 1.25rem 0 0; padding: 0; }
.zhaal-related-list li { border-top: var(--zhaal-rule); padding-top: .8rem; }
.zhaal-related-list a { display: block; font-size: 1.12rem; font-weight: 600; line-height: 1.25; text-decoration: none; }
.zhaal-related-list small { color: var(--wp--preset--color--muted); display: block; font-family: var(--wp--preset--font-family--mono); font-size: .68rem; letter-spacing: .06em; margin-bottom: .35rem; text-transform: uppercase; }
.wp-block-navigation a { text-decoration: none; }
.wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; filter: saturate(.82) contrast(1.03); }
.wp-block-post-content > h2 { margin-top: 2.6em; }
.wp-block-post-content > h3 { margin-top: 2em; }
.zhaal-newsletter-shell { min-height: 52vh; }
.zhaal-newsletter-form { border-top: var(--zhaal-rule); margin-top: 2rem; padding-top: 1.5rem; }
.zhaal-newsletter-form > label { display: block; font-family: var(--wp--preset--font-family--mono); font-size: .72rem; font-weight: 650; letter-spacing: .08em; margin-bottom: .65rem; text-transform: uppercase; }
.zhaal-newsletter-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.zhaal-newsletter-controls input { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--ink); border-radius: 0; color: var(--wp--preset--color--ink); font: inherit; min-height: 3.25rem; padding: .75rem 1rem; width: 100%; }
.zhaal-newsletter-controls input:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.zhaal-newsletter-controls button { background: var(--wp--preset--color--ink); border: 1px solid var(--wp--preset--color--ink); border-radius: 0; color: var(--wp--preset--color--paper); cursor: pointer; font-family: var(--wp--preset--font-family--mono); font-size: .78rem; font-weight: 650; letter-spacing: .06em; padding: .75rem 1.35rem; text-transform: uppercase; }
.zhaal-newsletter-controls button:hover { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.zhaal-newsletter-privacy, .zhaal-newsletter-notice { color: var(--wp--preset--color--muted); font-size: .82rem; }

@media (max-width: 781px) {
	.zhaal-hero h1 { font-size: clamp(2.8rem, 10vw, 4.8rem) !important; margin-block: 1.5rem 2rem; }
	.zhaal-site-header .wp-block-site-title { font-size: 1rem !important; }
	.zhaal-site-header .wp-block-navigation__responsive-container.is-menu-open { padding-inline: max(1.5rem, 5vw) !important; }
	.zhaal-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; }
	.zhaal-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; }
	.zhaal-evidence-section { grid-template-columns: 1fr; }
	.zhaal-newsletter-controls { gap: .65rem; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
