/*
Theme Name: WN Walker Premium
Theme URI: https://wnwalker.com/
Author: W. N. Walker Media
Author URI: https://wnwalker.com/
Description: A premium WordPress block theme for W. N. Walker featuring editorial design, coaching and business offers, dynamic blog content, media, booking, and mobile-first layouts.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wnwalker-premium
Tags: block-patterns, full-site-editing, blog, portfolio, one-column, two-columns, custom-colors, custom-menu, featured-images, wide-blocks
*/

:root {
	--wnw-black: #080808;
	--wnw-black-soft: #12110f;
	--wnw-paper: #f2efe8;
	--wnw-paper-deep: #ded8cd;
	--wnw-gold: #c8a96b;
	--wnw-gold-bright: #e6c784;
	--wnw-muted: #aaa59b;
	--wnw-line: rgba(242, 239, 232, 0.17);
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
	background: var(--wnw-black);
	color: var(--wnw-paper);
}

a {
	text-underline-offset: 0.25em;
	transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

::selection {
	background: var(--wnw-gold-bright);
	color: var(--wnw-black);
}

.wnw-shell {
	padding-right: clamp(22px, 7vw, 110px);
	padding-left: clamp(22px, 7vw, 110px);
}

.wnw-section {
	padding-top: clamp(76px, 8vw, 120px);
	padding-bottom: clamp(76px, 8vw, 120px);
}

.wnw-eyebrow {
	margin-bottom: 20px !important;
	color: var(--wnw-gold-bright);
	font-size: 11px !important;
	font-weight: 750;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.wnw-display,
.wnw-section-title,
.wnw-card-title {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -0.055em;
}

.wnw-section-title {
	max-width: 900px;
	font-size: clamp(42px, 5vw, 76px) !important;
	line-height: 0.98;
}

.wnw-muted {
	color: var(--wnw-muted);
	line-height: 1.75;
}

.wnw-header {
	position: relative;
	z-index: 20;
	min-height: 82px;
	padding: 18px clamp(22px, 5vw, 76px);
	border-bottom: 1px solid var(--wnw-line);
	background: var(--wnw-black);
}

.wnw-header .wp-block-site-title {
	margin: 0;
	font-size: 20px;
	font-weight: 850;
	letter-spacing: -0.08em;
}

.wnw-header .wp-block-navigation-item__content {
	color: #cbc6bd;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.wnw-header .wp-block-navigation-item__content:hover {
	color: var(--wnw-gold-bright);
}

.wnw-header-cta .wp-block-button__link,
.wnw-gold-button .wp-block-button__link {
	border: 0;
	border-radius: 0;
	background: var(--wnw-gold-bright);
	color: var(--wnw-black);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wnw-header-cta .wp-block-button__link {
	padding: 11px 16px;
}

.wnw-gold-button .wp-block-button__link {
	padding: 18px 24px;
}

.wnw-gold-button .wp-block-button__link:hover,
.wnw-header-cta .wp-block-button__link:hover {
	background: #fff0c9;
	transform: translateY(-2px);
}

.wnw-text-button .wp-block-button__link {
	border: 0;
	border-bottom: 1px solid var(--wnw-gold);
	border-radius: 0;
	background: transparent;
	color: var(--wnw-paper);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wnw-hero {
	min-height: 820px;
	background:
		radial-gradient(circle at 10% 80%, rgba(200, 169, 107, 0.08), transparent 30%),
		var(--wnw-black);
}

.wnw-hero > .wp-block-columns {
	min-height: 820px;
	margin-bottom: 0;
}

.wnw-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px 4vw 70px 7vw;
}

.wnw-hero-title {
	max-width: 780px;
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(62px, 8vw, 126px) !important;
	font-weight: 400;
	letter-spacing: -0.065em;
	line-height: 0.84;
}

.wnw-hero-title em {
	color: var(--wnw-gold-bright);
}

.wnw-hero-deck {
	max-width: 620px;
	margin-top: 36px !important;
	color: #c5c0b7;
	font-size: clamp(17px, 1.45vw, 22px) !important;
	line-height: 1.65;
}

.wnw-hero-media {
	position: relative;
	min-height: 820px;
	background-image:
		linear-gradient(90deg, var(--wnw-black), transparent 24%),
		linear-gradient(0deg, rgba(8, 8, 8, 0.82), transparent 32%),
		url("assets/images/will-walker-hero.png");
	background-position: center, center, center top;
	background-repeat: no-repeat;
	background-size: cover;
	filter: grayscale(100%);
}

.wnw-hero-label {
	position: absolute;
	right: 30px;
	bottom: 30px;
	color: var(--wnw-paper);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px !important;
	text-align: right;
}

.wnw-signal {
	gap: 24px;
	min-height: 72px;
	padding: 18px clamp(22px, 4vw, 65px);
	border-top: 1px solid var(--wnw-line);
	border-bottom: 1px solid var(--wnw-line);
	background: #050505;
}

.wnw-signal p {
	margin: 0;
	color: #aaa59d;
	font-size: 9px !important;
	font-weight: 750;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	white-space: nowrap;
}

.wnw-trust {
	padding-top: 34px;
	padding-bottom: 34px;
	border-bottom: 1px solid var(--wnw-line);
	background: #080808;
	text-align: center;
}

.wnw-trust-label {
	color: #5f5a54;
	font-size: 9px !important;
	font-weight: 750;
	letter-spacing: 0.17em;
	text-transform: uppercase;
}

.wnw-trust-names {
	margin-top: 22px !important;
	color: #aaa49a;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(16px, 1.55vw, 23px) !important;
}

.wnw-paths {
	background: var(--wnw-black-soft);
}

.wnw-path-grid {
	gap: 1px !important;
	background: var(--wnw-line);
}

.wnw-path-card {
	display: flex;
	min-height: 330px;
	flex-direction: column;
	padding: 28px;
	background: #12110f;
}

.wnw-path-card:hover {
	background: var(--wnw-gold-bright);
	color: var(--wnw-black);
	transform: translateY(-4px);
}

.wnw-number {
	color: var(--wnw-gold);
	font-size: 9px !important;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.wnw-path-card .wnw-card-title {
	margin-top: 60px;
	margin-bottom: 18px;
	font-size: 28px !important;
	line-height: 1.05;
}

.wnw-path-card .wnw-muted {
	font-size: 12px;
}

.wnw-about {
	background: var(--wnw-paper);
	color: var(--wnw-black);
}

.wnw-about .wnw-eyebrow,
.wnw-proof .wnw-eyebrow,
.wnw-blog .wnw-eyebrow {
	color: #8f7542;
}

.wnw-about p {
	color: #554f47;
}

.wnw-stats {
	gap: 0 !important;
	background: var(--wnw-black);
}

.wnw-stat {
	min-height: 190px;
	padding: 40px;
	border-right: 1px solid var(--wnw-line);
}

.wnw-stat:last-child {
	border-right: 0;
}

.wnw-stat strong {
	display: block;
	color: var(--wnw-gold-bright);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(46px, 5vw, 76px);
	font-weight: 400;
	line-height: 1;
}

.wnw-stat p {
	max-width: 180px;
	margin-top: 14px;
	color: #77726b;
	font-size: 9px !important;
	font-weight: 750;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.wnw-work {
	background: #11110f;
}

.wnw-offer-grid,
.wnw-case-grid,
.wnw-media-grid {
	gap: 1px !important;
	background: var(--wnw-line);
}

.wnw-offer-card {
	display: flex;
	min-height: 520px;
	flex-direction: column;
	padding: 36px;
	background: #151412;
}

.wnw-offer-card:first-child {
	background: linear-gradient(145deg, rgba(230, 199, 132, 0.14), transparent 48%), #171614;
}

.wnw-offer-card .wnw-card-title {
	margin: 50px 0 20px;
	font-size: 34px !important;
	line-height: 1.05;
}

.wnw-offer-card .wnw-muted {
	font-size: 14px;
}

.wnw-offer-price {
	margin-top: auto !important;
	padding-top: 25px;
	border-top: 1px solid var(--wnw-line);
	color: var(--wnw-gold-bright);
	font-size: 10px !important;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wnw-quote {
	padding: clamp(90px, 10vw, 150px) clamp(22px, 8vw, 140px);
	background: var(--wnw-gold-bright);
	color: var(--wnw-black);
	text-align: center;
}

.wnw-quote blockquote {
	max-width: 1100px;
	margin: auto;
}

.wnw-quote blockquote p {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(40px, 6vw, 82px) !important;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.wnw-proof,
.wnw-blog {
	background: var(--wnw-paper);
	color: var(--wnw-black);
}

.wnw-case-card {
	min-height: 430px;
	padding: clamp(28px, 4vw, 55px);
	background: #e8e3d9;
}

.wnw-demo-label {
	color: #8f7542;
	font-size: 8px !important;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.wnw-case-card .wnw-card-title {
	margin: 30px 0 20px;
	font-size: clamp(34px, 3.4vw, 52px) !important;
	line-height: 1.02;
}

.wnw-case-card p {
	color: #5d574f;
}

.wnw-media {
	background: #0d0c0b;
}

.wnw-media-card {
	min-height: 440px;
	padding: 36px;
	background:
		radial-gradient(circle at 70% 20%, rgba(200, 169, 107, 0.18), transparent 30%),
		#151412;
}

.wnw-media-card .wnw-card-title {
	margin: 90px 0 20px;
	font-size: 34px !important;
}

.wnw-speaking {
	background:
		radial-gradient(circle at 15% 80%, rgba(200, 169, 107, 0.13), transparent 35%),
		#171513;
}

.wnw-topic-list {
	padding: 35px;
	border: 1px solid var(--wnw-line);
	background: rgba(8, 8, 8, 0.48);
}

.wnw-topic-list li {
	padding: 15px 0;
	border-bottom: 1px solid var(--wnw-line);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 22px;
}

.wnw-blog .wp-block-post-template {
	gap: 20px;
}

.wnw-post-card {
	min-height: 440px;
	padding: 30px;
	border: 1px solid #ccc4b7;
	background: #e9e4da;
}

.wnw-post-card .wp-block-post-terms {
	color: #8f7542;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.wnw-post-card .wp-block-post-title {
	margin-top: 35px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.08;
}

.wnw-post-card .wp-block-post-excerpt {
	color: #5e5a53;
	font-size: 13px;
	line-height: 1.7;
}

.wnw-newsletter {
	background: #171614;
}

.wnw-newsletter-box {
	padding: clamp(32px, 5vw, 70px);
	border: 1px solid var(--wnw-line);
}

.wnw-newsletter-note {
	padding: 18px;
	border: 1px dashed rgba(230, 199, 132, 0.45);
	color: #8f8a81;
	font-size: 12px !important;
}

.wnw-booking {
	background: var(--wnw-paper);
	color: var(--wnw-black);
}

.wnw-booking-card {
	padding: clamp(38px, 7vw, 95px);
	background:
		linear-gradient(130deg, rgba(200, 169, 107, 0.16), transparent 45%),
		var(--wnw-black);
	color: var(--wnw-paper);
}

.wnw-explore {
	background: var(--wnw-black);
}

.wnw-explore-link {
	padding: 24px 8px;
	border-top: 1px solid var(--wnw-line);
}

.wnw-explore-link:last-child {
	border-bottom: 1px solid var(--wnw-line);
}

.wnw-explore-link h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(25px, 3vw, 42px) !important;
	font-weight: 400;
}

.wnw-footer {
	padding: 70px clamp(22px, 7vw, 110px) 32px;
	border-top: 1px solid var(--wnw-line);
	background: #050505;
}

.wnw-footer .wp-block-site-title {
	font-size: 20px;
	font-weight: 850;
}

.wnw-footer-meta {
	padding-top: 25px;
	border-top: 1px solid var(--wnw-line);
	color: #625e57;
	font-size: 9px !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wnw-content-shell {
	max-width: 780px;
	margin-right: auto;
	margin-left: auto;
	padding: 70px 22px;
}

.wnw-article-header {
	padding: 120px 22px 70px;
	text-align: center;
}

.wnw-article-header .wp-block-post-title {
	max-width: 1050px;
	margin-right: auto;
	margin-left: auto;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(50px, 8vw, 108px);
	font-weight: 400;
	letter-spacing: -0.055em;
	line-height: 0.96;
}

.wnw-article-header .wp-block-post-date,
.wnw-article-header .wp-block-post-author-name {
	color: #8f8a81;
	font-size: 9px;
	font-weight: 750;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wnw-content-shell p,
.wnw-content-shell li {
	color: #aaa59c;
	font-size: 17px;
	line-height: 1.9;
}

.wnw-content-shell h2 {
	margin-top: 55px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 38px;
	font-weight: 400;
}

.wnw-content-shell blockquote {
	margin: 55px 0;
	padding-left: 35px;
	border-left: 2px solid var(--wnw-gold);
	color: var(--wnw-gold-bright);
}

.wnw-archive-header {
	padding: 130px clamp(22px, 7vw, 110px) 70px;
	border-bottom: 1px solid var(--wnw-line);
}

.wnw-archive-header h1 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(60px, 9vw, 130px);
	font-weight: 400;
	letter-spacing: -0.06em;
	line-height: 0.9;
}

@media (max-width: 980px) {
	.wnw-header-cta {
		display: none;
	}

	.wnw-hero > .wp-block-columns,
	.wnw-offer-grid,
	.wnw-media-grid {
		flex-wrap: wrap !important;
	}

	.wnw-hero-copy,
	.wnw-hero-media {
		flex-basis: 100% !important;
	}

	.wnw-hero-copy {
		min-height: 660px;
		padding: 120px 7vw 70px;
	}

	.wnw-hero-media {
		min-height: 720px;
		background-position: center, center, center top;
	}

	.wnw-path-grid {
		flex-wrap: wrap !important;
	}

	.wnw-path-card {
		flex-basis: calc(50% - 1px) !important;
	}

	.wnw-stat {
		flex-basis: 50% !important;
		border-bottom: 1px solid var(--wnw-line);
	}

	.wnw-offer-card,
	.wnw-media-card {
		flex-basis: 100% !important;
		min-height: auto;
	}
}

@media (max-width: 650px) {
	.wnw-shell {
		padding-right: 22px;
		padding-left: 22px;
	}

	.wnw-header {
		padding-right: 18px;
		padding-left: 18px;
	}

	.wnw-hero-title {
		font-size: clamp(56px, 18vw, 80px) !important;
	}

	.wnw-hero-copy {
		min-height: 620px;
		padding: 110px 22px 65px;
	}

	.wnw-hero-media {
		min-height: 580px;
	}

	.wnw-signal {
		justify-content: flex-start !important;
		overflow-x: auto;
	}

	.wnw-path-card,
	.wnw-stat {
		flex-basis: 100% !important;
	}

	.wnw-path-card {
		min-height: 250px;
	}

	.wnw-about .wp-block-columns,
	.wnw-case-grid,
	.wnw-speaking > .wp-block-columns,
	.wnw-newsletter .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.wnw-about .wp-block-column,
	.wnw-case-grid .wp-block-column,
	.wnw-speaking .wp-block-column,
	.wnw-newsletter .wp-block-column {
		flex-basis: 100% !important;
	}

	.wnw-section-title {
		font-size: 43px !important;
	}

	.wnw-quote blockquote p {
		font-size: 40px !important;
	}

	.wnw-blog .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	* {
		transition-duration: 0.01ms !important;
	}
}
