/*
Theme Name: Warsaken Dossier 2027
Theme URI: https://news.warsaken.com
Description: Editorial WordPress theme for the Warsaken Dossier.
Author: Eclectic Nerds LLC
Author URI: https://warsaken.com
Version: 2.11.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: warsaken-dossier
Tags: news, block-editor, custom-menu, featured-images, wide-blocks
*/

@font-face {
	font-family: "Roboto Slab";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("assets/fonts/roboto-slab-latin.woff2") format("woff2");
}

:root {
	--ink: #0a0a0a;
	--paper: #fff;
	--paper-soft: #f7f7f4;
	--muted: #777774;
	--line: #d8d8d3;
	--signal: #ffc4d2;
	--header-height: 78px;
	--gutter: clamp(20px, 6.2vw, 88px);
	--max-width: 1400px;
	--content-width: 760px;
	--editorial: "Roboto Slab", Rockwell, Georgia, serif;
	--sans: "Roboto Slab", Rockwell, Georgia, serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--ink);
	background: var(--paper);
	font-family: var(--editorial);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar:horizontal {
	height: 8px;
}

::-webkit-scrollbar-track {
	background: #000;
}

::-webkit-scrollbar-track:horizontal {
	background: rgba(255, 255, 255, 0);
}

::-webkit-scrollbar-thumb {
	background: #eee;
	border-left: solid 2px #999;
	border-top-right-radius: 25px;
	border-bottom-right-radius: 25px;
}

::-webkit-scrollbar-thumb:horizontal {
	background: #eee;
	border-top: solid 2px #999;
	border-left: 0;
	border-top-right-radius: 0;
	border-bottom-left-radius: 25px;
	border-bottom-right-radius: 25px;
}

::-webkit-scrollbar-thumb:hover {
	background: #fff;
	border-left: solid 2px #999;
}

::-webkit-scrollbar-thumb:horizontal:hover {
	background: #fff;
	border-top: solid 2px #999;
	border-left: 0;
}

body.nav-open,
body.search-open,
body.card-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

button,
input {
	font: inherit;
}

button,
.button {
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 26px;
	color: #fff;
	background: var(--ink);
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 8px;
	left: 8px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto;
	color: #fff;
	background: #000;
}

/* Header: adapted from the 2026 Shopify site's centered wordmark, mega panel,
   search drawer, and mobile drawer patterns. */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	color: #fff;
	background: var(--ink);
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.admin-bar .site-header {
	top: 32px;
}

.has-tucked-hero .site-header {
	position: absolute;
	top: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.68), transparent);
	border-color: rgba(255, 255, 255, 0.38);
}

.admin-bar.has-tucked-hero .site-header {
	top: 32px;
}

.has-tucked-hero .site-header.is-scrolled {
	position: fixed;
	background: rgba(10, 10, 10, 0.97);
	border-color: rgba(255, 255, 255, 0.18);
}

.site-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	width: min(100%, var(--max-width));
	height: var(--header-height);
	padding: 0 var(--gutter);
	margin: 0 auto;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--sans);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-decoration: none;
}

.site-brand__mark,
.footer-mark {
	display: grid;
	place-items: center;
	width: 38px;
	height: 30px;
	border: 2px solid currentColor;
	font-family: var(--editorial);
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
}

.site-brand__logo {
	width: auto;
	max-width: 210px;
	height: 44px;
	object-fit: contain;
}

.site-nav {
	justify-self: center;
}

.primary-menu,
.primary-menu ul,
.footer-menu,
.footer-menu ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.primary-menu {
	display: flex;
	align-items: stretch;
	justify-content: center;
	height: var(--header-height);
}

.primary-menu > li {
	display: flex;
	align-items: stretch;
}

.primary-menu > li > a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 15px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.primary-menu > li > a::after {
	position: absolute;
	right: 15px;
	bottom: 20px;
	left: 15px;
	height: 1px;
	content: "";
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
}

.primary-menu > li:hover > a::after,
.primary-menu > li:focus-within > a::after,
.primary-menu > li.current-menu-item > a::after,
.primary-menu > li.current-menu-ancestor > a::after {
	transform: scaleX(1);
}

.warsaken-icon {
	display: block;
	flex: 0 0 auto;
}

.menu-item-icon {
	margin-left: 7px;
	transition: transform 180ms ease;
}

.primary-menu > li.is-menu-open > a .menu-item-icon {
	transform: rotate(180deg);
}

.primary-menu > li > .sub-menu {
	position: fixed;
	top: var(--header-height);
	right: 0;
	left: 0;
	z-index: -1;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	padding: 34px max(var(--gutter), calc((100vw - var(--max-width)) / 2 + var(--gutter))) 38px;
	color: var(--ink);
	background: var(--paper);
	border-bottom: 1px solid var(--ink);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-12px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.admin-bar .primary-menu > li > .sub-menu {
	top: calc(var(--header-height) + 32px);
}

.primary-menu > li:hover > .sub-menu,
.primary-menu > li:focus-within > .sub-menu,
.primary-menu > li.is-menu-open > .sub-menu {
	z-index: 5;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.primary-menu .sub-menu a {
	display: flex;
	min-height: 86px;
	padding: 18px;
	align-items: flex-end;
	color: #fff;
	background: var(--ink);
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 160ms ease, background-color 160ms ease;
}

.primary-menu .sub-menu a:hover,
.primary-menu .sub-menu a:focus {
	background: #242424;
	transform: translateY(-3px);
}

.header-actions {
	display: flex;
	align-items: center;
	justify-self: end;
	gap: 8px;
}

.header-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 8px;
	color: inherit;
	background: transparent;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.shop-link {
	border: 1px solid currentColor;
	border-radius: 999px;
}

.menu-toggle {
	display: none;
	justify-self: start;
}

.menu-toggle .icon--close {
	display: none;
}

.menu-toggle[aria-expanded="true"] .icon--menu {
	display: none;
}

.menu-toggle[aria-expanded="true"] .icon--close {
	display: block;
}

.search-drawer {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	padding: 0 var(--gutter);
	color: var(--ink);
	background: var(--paper);
	border-bottom: 1px solid var(--ink);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-10px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.search-drawer[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.search-drawer form {
	display: flex;
	width: min(100%, 900px);
	padding: 28px 0;
	margin: 0 auto;
	border-bottom: 1px solid var(--ink);
}

.search-drawer input {
	flex: 1;
	min-width: 0;
	padding: 10px 0;
	color: var(--ink);
	background: transparent;
	border: 0;
	outline: 0;
	font-size: clamp(22px, 4vw, 42px);
}

.search-drawer button {
	padding: 0 20px;
	color: #fff;
	background: var(--ink);
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Home editorial feature. */
.site-main {
	min-height: 55vh;
}

.home-hero {
	background: var(--paper);
}

.home-hero__media {
	position: relative;
	display: block;
	height: clamp(520px, 60vw, 760px);
	color: #fff;
	background: #181818;
	overflow: hidden;
	text-decoration: none;
}

.home-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 900ms cubic-bezier(0.2, 0.7, 0, 1);
}

.home-hero__media:hover img {
	transform: scale(1.018);
}

.home-hero__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.2) 58%, rgba(0, 0, 0, 0.1) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.28), transparent 48%);
}

.home-hero__content {
	position: absolute;
	right: var(--gutter);
	bottom: clamp(44px, 8vw, 92px);
	left: var(--gutter);
	display: block;
	width: min(700px, 75vw);
}

.home-hero__title {
	display: block;
	margin-top: 18px;
	font-size: clamp(42px, 5.1vw, 76px);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.post-eyebrow {
	margin: 0;
	color: #969693;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.post-eyebrow a {
	text-decoration: none;
}

.home-hero .post-eyebrow {
	color: #fff;
}

.home-hero__summary {
	display: grid;
	grid-template-columns: minmax(0, 680px) 1fr;
	align-items: start;
	gap: 48px;
	min-height: 120px;
	padding: 28px var(--gutter) 32px;
	font-size: 17px;
}

.home-hero__summary p,
.article-card__excerpt p,
.single-article__dek p {
	margin: 0;
}

.text-link {
	justify-self: end;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.announcement {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr) auto;
	align-items: center;
	gap: 30px;
	width: min(calc(100% - (2 * var(--gutter))), 1224px);
	min-height: 98px;
	padding: 20px 32px;
	margin: clamp(56px, 8vw, 110px) auto;
	border: 1px solid var(--ink);
}

.announcement__label {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #999;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.announcement__label span {
	width: 6px;
	height: 6px;
	background: var(--signal);
	border-radius: 50%;
}

.announcement__copy {
	font-size: clamp(16px, 1.6vw, 21px);
}

.announcement__copy span {
	color: #777;
}

/* Three-column news grid. */
.listing-section,
.related-posts {
	width: min(100%, var(--max-width));
	padding: 20px var(--gutter) clamp(80px, 10vw, 150px);
	margin: 0 auto;
}

.listing-section--archive {
	padding-top: clamp(72px, 9vw, 132px);
}

.section-heading,
.archive-header {
	padding-bottom: 28px;
	margin-bottom: 34px;
	border-bottom: 1px solid var(--ink);
}

.section-heading h1,
.section-heading h2,
.archive-header h1 {
	margin: 6px 0 0;
	font-size: clamp(34px, 4vw, 58px);
	letter-spacing: -0.035em;
	line-height: 1;
}

.archive-description {
	max-width: 680px;
	margin-top: 16px;
}

.archive-description p {
	margin: 0;
}

.article-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(30px, 3vw, 48px) clamp(24px, 2.3vw, 32px);
}

.article-card {
	min-width: 0;
}

.article-card__image {
	display: block;
	margin-bottom: 20px;
	background: #111;
	overflow: hidden;
}

.article-card__image img,
.article-card__placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(0.2, 0.7, 0, 1), opacity 300ms ease;
}

.article-card__placeholder {
	background: linear-gradient(135deg, #111, #444);
}

.article-card:hover .article-card__image img {
	transform: scale(1.025);
	opacity: 0.92;
}

.article-card__title {
	margin: 12px 0 13px;
	font-size: clamp(21px, 2vw, 27px);
	letter-spacing: -0.025em;
	line-height: 1.1;
}

.article-card__title a {
	text-decoration: none;
}

.article-card__excerpt {
	color: #4c4c49;
	font-size: 15px;
	line-height: 1.65;
}

.navigation.pagination {
	margin-top: 70px;
}

.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--line);
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.page-numbers.current,
.page-numbers:hover {
	color: #fff;
	background: var(--ink);
	border-color: var(--ink);
}

/* Articles and Gutenberg content. */
.single-article__header,
.standard-page__header {
	width: min(calc(100% - (2 * var(--gutter))), 1040px);
	padding: clamp(72px, 10vw, 150px) 0 clamp(42px, 6vw, 76px);
	margin: 0 auto;
	text-align: center;
}

.single-article__header h1,
.standard-page__header h1 {
	margin: 18px 0 24px;
	font-size: clamp(43px, 6.5vw, 88px);
	letter-spacing: -0.055em;
	line-height: 0.98;
}

.single-article__dek {
	width: min(100%, 760px);
	margin: 0 auto;
	color: #555;
	font-size: clamp(18px, 2vw, 23px);
}

.single-article__byline {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.single-article__byline img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
}

.single-article__image {
	width: min(calc(100% - (2 * var(--gutter))), 1320px);
	margin: 0 auto clamp(52px, 7vw, 96px);
}

.single-article__image img {
	width: 100%;
	max-height: 800px;
	object-fit: cover;
}

.entry-content {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	margin-right: auto;
	margin-left: auto;
	font-size: 18px;
	line-height: 1.8;
}

.entry-content > * {
	margin-top: 0;
	margin-bottom: 1.6em;
}

.entry-content > h2,
.entry-content > h3,
.entry-content > h4 {
	margin-top: 2em;
	line-height: 1.15;
}

.entry-content > h2 {
	font-size: clamp(31px, 4vw, 46px);
}

.entry-content > h3 {
	font-size: clamp(25px, 3vw, 34px);
}

.entry-content a {
	text-decoration: underline;
}

.entry-content blockquote {
	padding: 4px 0 4px 28px;
	margin-right: 0;
	margin-left: 0;
	border-left: 3px solid var(--ink);
	font-size: 1.25em;
}

.entry-content .alignwide {
	width: min(calc(100vw - (2 * var(--gutter))), 1200px);
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.entry-content .alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.related-posts {
	padding-top: clamp(80px, 10vw, 150px);
}

.standard-page {
	padding-bottom: 120px;
}

.empty-state {
	width: min(calc(100% - (2 * var(--gutter))), 820px);
	padding: clamp(90px, 13vw, 180px) 0;
	margin: 0 auto;
	text-align: center;
}

.empty-state h1 {
	font-size: clamp(40px, 6vw, 76px);
	line-height: 1;
}

/* Legacy [Card] shortcode presentation; the flip interaction remains in script.js. */
.post--item-inline-card {
	display: grid;
	justify-items: center;
	gap: 14px;
	width: min(100%, 480px);
	margin: 42px auto;
}

.post--item-inline-card img {
	width: auto;
	max-width: 100%;
	max-height: 680px;
	border-radius: 7% / 5.0112%;
	cursor: pointer;
	filter: drop-shadow(0 18px 24px rgba(0, 0, 0, 0.22));
	transition: transform 180ms ease;
}

.post--item-inline-card img:hover {
	transform: translateY(-4px);
}

.post--item-inline-card-buy {
	display: flex;
	gap: 10px;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Shopify-derived footer shell. All actual link groups come from Footer Navigation. */
.site-footer {
	color: #fff;
	background: var(--ink);
}

.site-footer__inner {
	width: min(100%, var(--max-width));
	padding: clamp(64px, 8vw, 112px) var(--gutter) 28px;
	margin: 0 auto;
}

.footer-intro {
	display: grid;
	grid-template-columns: auto minmax(0, 500px);
	align-items: start;
	gap: 28px;
	padding-bottom: 52px;
	border-bottom: 1px solid #444;
}

.footer-mark {
	color: #fff;
	text-decoration: none;
}

.footer-intro p {
	margin: -6px 0 0;
	font-size: clamp(22px, 2.6vw, 36px);
	font-weight: 700;
	line-height: 1.15;
}

.footer-navigation {
	padding: 52px 0;
	border-bottom: 1px solid #444;
}

.footer-menu {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px;
}

.footer-menu > li > a {
	display: block;
	margin-bottom: 18px;
	color: #858585;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-decoration: none;
	text-transform: uppercase;
}

.footer-menu .sub-menu {
	display: grid;
	gap: 8px;
}

.footer-menu .sub-menu a {
	font-size: 15px;
	text-decoration: none;
}

.footer-menu .sub-menu a:hover {
	text-decoration: underline;
}

.footer-engage {
	display: grid;
	grid-template-columns: minmax(0, 580px);
	align-items: end;
	gap: 50px;
	padding: 52px 0;
	border-bottom: 1px solid #444;
}

.newsletter-form label {
	display: block;
	margin-bottom: 14px;
	font-size: 14px;
}

.newsletter-form__row {
	display: flex;
	border-bottom: 1px solid #777;
}

.newsletter-form input {
	flex: 1;
	min-width: 0;
	padding: 10px 0;
	color: #fff;
	background: transparent;
	border: 0;
	outline: 0;
}

.newsletter-form button {
	padding: 0 18px;
	color: var(--ink);
	background: #fff;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	padding-top: 26px;
	color: #888;
	font-family: var(--sans);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.footer-bottom p {
	margin: 0;
}

.back-to-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 100;
	width: 44px;
	height: 44px;
	color: #fff;
	background: var(--ink);
	border: 1px solid #555;
	opacity: 0;
	pointer-events: none;
	transition: opacity 180ms ease;
}

.back-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.back-to-top .icon--up {
	margin: auto;
	transform: rotate(180deg);
}

@media (max-width: 1100px) {
	:root {
		--gutter: clamp(20px, 4vw, 48px);
	}

	.primary-menu > li > a {
		padding-right: 10px;
		padding-left: 10px;
		font-size: 10px;
	}

	.site-brand__name {
	display: none;
	}
}

@media (max-width: 900px) {
	.admin-bar .site-header,
	.admin-bar.has-tucked-hero .site-header {
		top: 46px;
	}

	.site-header__inner {
		grid-template-columns: 1fr auto 1fr;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.site-brand {
		grid-column: 2;
	}

	.site-brand__name {
		display: inline;
	}

	.site-nav {
		position: fixed;
		top: var(--header-height);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100;
		justify-self: auto;
		padding: 24px var(--gutter) 80px;
		color: #fff;
		background: rgba(10, 10, 10, 0.99);
		overflow-y: auto;
		opacity: 0;
		pointer-events: none;
		transform: translateX(-100%);
		transition: opacity 220ms ease, transform 300ms cubic-bezier(0.2, 0.7, 0, 1);
	}

	.admin-bar .site-nav {
		top: calc(var(--header-height) + 46px);
	}

	.site-nav.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateX(0);
	}

	.primary-menu {
		display: block;
		height: auto;
	}

	.primary-menu > li {
		display: block;
		border-bottom: 1px solid #333;
	}

	.primary-menu > li > a {
		min-height: 66px;
		padding: 0;
		font-size: 18px;
	}

	.primary-menu > li > a::after {
		display: none;
	}

	.primary-menu > li > .sub-menu {
		position: static;
		display: grid;
		grid-template-columns: 1fr 1fr;
		max-height: 0;
		padding: 0;
		color: #fff;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 1;
		overflow: hidden;
		pointer-events: auto;
		transform: none;
		transition: max-height 300ms ease, padding 300ms ease;
	}

	.primary-menu > li.is-menu-open > .sub-menu {
		max-height: 1000px;
		padding: 0 0 22px;
	}

	.primary-menu .sub-menu a {
		min-height: 70px;
		border: 1px solid #333;
	}

	.header-actions {
		grid-column: 3;
	}

	.shop-link {
		display: none;
	}

	.home-hero__media {
		height: 620px;
	}

	.article-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.announcement {
		grid-template-columns: 1fr auto;
	}

	.announcement__label {
		grid-column: 1 / -1;
	}

	.footer-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	:root {
		--header-height: 68px;
		--gutter: 20px;
	}

	.site-brand__name {
		display: none;
	}

	.site-brand__mark {
		width: 34px;
		height: 27px;
	}

	.home-hero__media {
		height: 540px;
	}

	.home-hero__content {
		width: auto;
	}

	.home-hero__title {
		font-size: 42px;
	}

	.home-hero__summary {
		grid-template-columns: 1fr;
		gap: 20px;
		padding-top: 22px;
	}

	.text-link {
		justify-self: start;
	}

	.announcement {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 24px;
		margin-top: 54px;
		margin-bottom: 54px;
	}

	.announcement__label {
		grid-column: auto;
	}

	.announcement .button {
		justify-self: start;
	}

	.listing-section {
		padding-top: 10px;
	}

	.listing-section--archive {
		padding-top: 64px;
	}

	.article-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.article-card__title {
		font-size: 24px;
	}

	.single-article__header h1,
	.standard-page__header h1 {
		font-size: 44px;
	}

	.entry-content {
		font-size: 17px;
	}

	.footer-intro,
	.footer-engage {
		grid-template-columns: 1fr;
	}

	.footer-menu {
		grid-template-columns: 1fr 1fr;
		gap: 36px 20px;
	}

	.footer-bottom {
		flex-direction: column;
	}

	.search-drawer form {
		padding: 16px 0;
	}

	.search-drawer input {
		font-size: 22px;
	}
}

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

/* ==========================================================================
   Shopify production parity — header, footer, neutral system, and wordmark
   Source: live shop.warsaken.com base.css + 2026 Liquid sections.
   ========================================================================== */
:root {
	--gray-0: #ffffff;
	--gray-25: #fdfdfa;
	--gray-50: #f5f5f7;
	--gray-75: #eeeef1;
	--gray-80: #efefea;
	--gray-100: #e7e7e8;
	--gray-150: #e1e1e3;
	--gray-350: #a8a8a4;
	--gray-500: #7a7a7a;
	--gray-750: #3a3a3a;
	--gray-900: #141414;
	--gray-950: #0a0a0a;
	--gray-1000: #000000;
	--black: var(--gray-1000);
	--white: var(--gray-0);
	--ink: var(--gray-900);
	--grey: var(--gray-750);
	--ink-soft: var(--grey);
	--mute: var(--gray-500);
	--faint: var(--gray-350);
	--shade: var(--gray-150);
	--line: var(--gray-100);
	--line-2: var(--gray-80);
	--paper: var(--gray-75);
	--cream: var(--gray-25);
	--dark: var(--gray-950);
	--canvas: var(--gray-50);
	--surface: var(--gray-0);
	--accent: #c8102e;
	--r-pill: 999px;
	--maxw: 1440px;
	--gutter: 32px;
	--header-height: 64px;
	--font-sans: "Roboto Slab", Arial, sans-serif;
	--font-display: "Roboto Slab", Arial, sans-serif;
	--font-mono: "Roboto Slab", Arial, sans-serif;
}

body {
	color: var(--ink);
	background: var(--canvas);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.5;
}

.container {
	width: 100%;
	max-width: var(--maxw);
	padding-right: var(--gutter);
	padding-left: var(--gutter);
	margin-right: auto;
	margin-left: auto;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 22px;
	color: var(--cream);
	background: var(--ink);
	border: 1px solid var(--ink);
	border-radius: var(--r-pill);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.btn-sm {
	padding: 10px 16px;
	font-size: 11px;
}

.header-wrapper {
	position: sticky;
	top: 0;
	z-index: 1000;
}

.admin-bar .header-wrapper {
	top: 32px;
}

.site-header,
.has-tucked-hero .site-header,
.has-tucked-hero .site-header.is-scrolled {
	position: relative;
	top: auto;
	color: var(--ink);
	background: rgba(255, 255, 255, 0.6);
	border-bottom: 1px solid transparent;
	backdrop-filter: blur(10px) brightness(600%);
	-webkit-backdrop-filter: blur(10px) brightness(600%);
	transition: background 250ms ease, border-color 200ms ease, backdrop-filter 250ms ease;
}

.site-header.is-scrolled,
.site-header.menu-open {
	border-bottom-color: var(--line);
}

.site-header.menu-open {
	background: #fff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.header-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 64px;
	gap: 32px;
}

.header-logo {
	color: inherit;
	text-decoration: none;
	transform: translateY(2px);
}

.wordmark {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.wordmark-mark {
	width: auto;
	height: 24px;
	flex-shrink: 0;
}

.wordmark-text {
	white-space: nowrap;
}

.primary-nav {
	position: static;
	justify-self: auto;
	color: inherit;
	transform: translateY(-1px);
}

.primary-nav-list,
.primary-nav-list ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.primary-nav-list {
	display: flex;
	align-items: center;
	gap: 4px;
}

.primary-nav-list > li {
	display: block;
}

.primary-nav-list > li > a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 14px;
	color: #333;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.005em;
	line-height: 1.5;
	text-decoration: none;
	transition: color 200ms ease;
}

.primary-nav-list > li > a::before {
	position: absolute;
	top: -12px;
	right: 0;
	left: 0;
	height: 4px;
	content: "";
	background: #000;
	border-radius: 0 0 3px 3px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 180ms ease;
}

.primary-nav-list > li:hover > a,
.primary-nav-list > li.current-menu-item > a,
.primary-nav-list > li.current-menu-ancestor > a,
.primary-nav-list > li.is-menu-open > a {
	color: #000;
}

.primary-nav-list > li:hover > a::before,
.primary-nav-list > li.current-menu-item > a::before,
.primary-nav-list > li.current-menu-ancestor > a::before,
.primary-nav-list > li.is-menu-open > a::before {
	opacity: 1;
}

.primary-nav-list > li > .sub-menu {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	max-height: 0;
	padding: 0 max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter)));
	color: var(--ink);
	background: #fff;
	border-bottom: 1px solid transparent;
	box-shadow: none;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	transform: none;
	transition: max-height 320ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 200ms ease, padding 320ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.primary-nav-list > li:hover > .sub-menu,
.primary-nav-list > li:focus-within > .sub-menu,
.primary-nav-list > li.is-menu-open > .sub-menu {
	z-index: 5;
	max-height: 600px;
	padding-top: 40px;
	padding-bottom: 48px;
	border-bottom-color: var(--line);
	box-shadow: 0 24px 48px -32px rgba(20, 20, 15, 0.18);
	opacity: 1;
	pointer-events: auto;
}

.primary-nav-list .sub-menu a {
	display: flex;
	align-items: flex-end;
	min-height: 132px;
	padding: 16px;
	color: var(--ink-soft);
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 15px;
	font-size: 14px;
	text-decoration: none;
	transition: color 200ms ease, border-color 200ms ease, background 200ms ease;
}

.primary-nav-list .sub-menu a:hover {
	color: #000;
	background: var(--cream);
	border-color: var(--ink);
	transform: none;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 18px;
	justify-self: auto;
}

.header-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	height: auto;
	padding: 0;
	color: var(--ink-soft);
	background: none;
	font-size: 13px;
	transition: color 200ms ease;
}

.header-action:hover {
	color: var(--ink);
}

.mobile-toggle {
	display: none;
}

.menu-toggle,
.site-brand,
.site-header__inner {
	display: none;
}

.search-drawer {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	padding: 24px 0;
	color: var(--ink);
	background: #fff;
	border-bottom: 1px solid var(--line);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-8px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.search-drawer[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
	transform: none;
}

.search-drawer form,
.field-group {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
	background: var(--cream);
	border: 1px solid var(--line);
	border-radius: var(--r-pill);
	overflow: hidden;
}

.field-group > input:not([type="hidden"]) {
	flex: 1;
	min-width: 0;
	padding: 0 18px;
	color: var(--ink);
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 13px;
}

.field-group > input::placeholder {
	color: var(--mute);
}

.field-group > .btn,
.field-group > button {
	border-radius: 0;
	flex-shrink: 0;
}

body.has-tucked-hero .home-hero {
	margin-top: -64px;
}

/* Keep the feature media and its following summary as two discrete rows.
   Positioning the image also protects the hero from WordPress/plugin img
   rules that set featured images back to height:auto. */
.home-hero {
	display: block;
}

.home-hero__media {
	position: relative;
	display: block;
	height: clamp(480px, 38vw, 620px);
	background: var(--dark);
	isolation: isolate;
	overflow: hidden;
}

.home-hero__image-link {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	color: #fff;
	overflow: hidden;
	text-decoration: none;
}

.home-hero__image-link > img.wp-post-image,
.home-hero__image-link > img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.home-hero__shade {
	z-index: 1;
	pointer-events: none;
}

.home-hero__content {
	z-index: 2;
	pointer-events: none;
}

.home-hero__title {
	margin: 18px 0 0;
	font-size: clamp(40px, 4.1vw, 64px);
}

.home-hero__content a {
	pointer-events: auto;
}

.home-hero__title a {
	color: #fff;
	text-decoration: none;
}

.home-hero__summary {
	position: relative;
	z-index: 1;
	width: 100%;
}

body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) {
	color: var(--gray-50);
	background: transparent;
	border-bottom-color: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .primary-nav-list > li > a {
	color: #ccc;
}

body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .primary-nav-list > li:hover > a,
body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .primary-nav-list > li.current-menu-item > a,
body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .primary-nav-list > li.current-menu-ancestor > a,
body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .primary-nav-list > li.is-menu-open > a {
	color: #fff;
}

body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .primary-nav-list > li > a::before {
	background: #fff;
}

.home-hero,
.home-hero__summary,
.listing-section,
.related-posts,
.single-article,
.standard-page,
.empty-state {
	color: var(--ink);
	background: var(--surface);
}

.listing-section,
.related-posts {
	max-width: var(--maxw);
}

.announcement {
	background: var(--cream);
	border-color: var(--ink);
}

.site-footer {
	color: var(--ink);
	background: #eeeef1;
	border-top: 1px solid var(--line);
}

.site-footer-inner {
	width: 100%;
	max-width: var(--maxw);
	padding-top: 72px;
	padding-bottom: 72px;
}

.footer-logo {
	margin-bottom: 43px;
}

.footer-logo a {
	display: inline-flex;
	color: var(--ink);
}

.footer-tagline {
	margin: 0 0 50px;
	color: var(--ink);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
}

.footer-grid,
.footer-grid ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.footer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 48px;
	margin-bottom: 55px;
}

.footer-grid > li > a {
	display: block;
	margin: 0 0 18px;
	color: var(--mute);
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-decoration: none;
	text-transform: uppercase;
}

.footer-grid .sub-menu {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-grid .sub-menu a {
	color: var(--ink-soft);
	font-size: 14px;
	text-decoration: none;
}

.footer-grid .sub-menu a:hover {
	color: var(--ink);
}

.footer-engage {
	display: flex;
	align-items: center;
	justify-content: space-between;
	grid-template-columns: none;
	gap: 24px;
	padding: 30px 0;
	margin-bottom: 24px;
	border-top: 1px solid var(--line);
	border-bottom: 0;
	flex-wrap: wrap;
}

.footer-engage .footer-news {
	width: auto;
	max-width: none;
	flex: 0 1 360px;
	min-width: 240px;
}

.footer-social,
.footer-social ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	color: var(--ink-soft);
	background: var(--cream);
	border: 1px solid var(--line);
	border-radius: var(--r-pill);
	transition: color 160ms ease, border-color 160ms ease;
}

.footer-social a:hover {
	color: var(--ink);
	border-color: var(--ink);
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 24px;
	color: var(--mute);
	border-top: 1px solid var(--line);
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	flex-wrap: wrap;
}

.footer-bottom-brand {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.footer-divider {
	display: inline-block;
	width: 1px;
	height: 13px;
	background: var(--line);
}

.footer-legal-list {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0;
	margin: 0;
	list-style: none;
	flex-wrap: wrap;
}

.footer-legal-list a {
	color: var(--mute);
	text-decoration: none;
}

.footer-legal-list a:hover {
	color: var(--ink);
}

.back-to-top {
	color: var(--ink);
	background: var(--cream);
	border-color: var(--line);
}

@media (max-width: 1100px) {
	.primary-nav {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100;
		display: flex;
		padding: 88px var(--gutter) 32px;
		color: var(--ink);
		background: var(--cream);
		overflow-x: hidden;
		overflow-y: auto;
		opacity: 1;
		pointer-events: none;
		transform: translateX(-100%);
		transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1);
	}

	.primary-nav.is-open {
		pointer-events: auto;
		transform: translateX(0);
	}

	.primary-nav-list {
		display: block;
		width: 100%;
	}

	.primary-nav-list > li {
		border-bottom: 1px solid var(--line-2);
	}

	.primary-nav-list > li > a {
		min-height: 58px;
		padding: 14px 0;
		color: var(--ink);
		font-size: 22px;
		letter-spacing: -0.015em;
	}

	.primary-nav-list > li > a::before {
		display: none;
	}

	.primary-nav-list > li > .sub-menu {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-height: 0;
		padding: 0;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transition: max-height 300ms ease, padding 300ms ease;
	}

	.primary-nav-list > li.is-menu-open > .sub-menu {
		max-height: 1000px;
		padding: 0 0 22px;
	}

	.primary-nav-list .sub-menu a {
		min-height: 82px;
		border-radius: 12px;
	}

	.mobile-toggle {
		display: inline-flex;
		position: relative;
		z-index: 101;
		color: inherit;
	}

	.wordmark-text {
		display: none;
	}

	.header-bar {
		justify-content: flex-start;
		gap: 12px;
	}

	.header-logo {
		position: relative;
		z-index: 101;
	}

	.header-actions {
		position: relative;
		z-index: 101;
		margin-left: auto;
	}

	body.nav-open .site-header {
		color: var(--ink);
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 32px 40px;
	}
}

@media (max-width: 700px) {
	.home-hero__media {
		height: clamp(440px, 72vh, 560px);
	}

	.home-hero__content {
		bottom: 38px;
	}

	.home-hero__title {
		font-size: clamp(36px, 10vw, 48px);
	}
}

/* 2.11 exact shop search shell and article spacing refinements. */
.search-scrim {
	position: fixed;
	inset: 0;
	z-index: 101;
	background: rgba(10, 10, 10, 0.08);
	backdrop-filter: blur(20px) brightness(0.9);
	-webkit-backdrop-filter: blur(20px) brightness(0.9);
	opacity: 0;
	pointer-events: none;
	transition: opacity 240ms ease;
}

.search-scrim.open {
	opacity: 1;
	pointer-events: auto;
}

.search-drawer {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 102;
	padding: 32px 0;
	color: var(--ink);
	background: var(--cream);
	border-bottom: 1px solid var(--line);
	opacity: 1;
	transform: translateY(-100%);
	transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.search-drawer[aria-hidden="false"] {
	transform: translateY(0);
}

.search-drawer__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 0;
}

.search-drawer-form {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
}

.search-drawer-form__icon {
	width: 20px;
	height: 20px;
	color: var(--ink);
	flex: 0 0 20px;
}

.search-drawer-form input[type="search"] {
	width: 100%;
	height: auto;
	min-width: 0;
	padding: 8px 0;
	color: var(--ink);
	background: transparent;
	border: 0;
	border-radius: 0;
	outline: 0;
	font-family: inherit;
	font-size: 17px;
	letter-spacing: 0;
	-webkit-appearance: none;
	appearance: none;
}

.search-drawer-form input[type="search"]::placeholder {
	color: #adadb1;
}

.search-drawer-form input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.search-drawer .search-drawer__close {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	color: var(--ink);
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--r-pill);
	flex: 0 0 36px;
}

.listing-section--archive {
	padding-top: 30px;
}

.single-article__image {
	border-radius: 12px;
	overflow: hidden;
}

.single-article__image img {
	border-radius: inherit;
}

.post--item-inline-card img {
	max-height: 552px;
}

.single-article {
	padding-bottom: 60px;
}

.related-posts {
	margin-bottom: 0;
}

.newsletter-status.is-success {
	color: #2d5d2a;
}

.newsletter-status.is-error {
	color: #7c2620;
}

@media (max-width: 700px) {
	.search-drawer {
		padding: 24px 0;
	}
}

@media (max-width: 782px) {
	.admin-bar .header-wrapper {
		top: 46px;
	}
}

@media (max-width: 700px) {
	:root {
		--gutter: 22px;
	}
}

@media (max-width: 560px) {
	.footer-engage,
	.footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.footer-engage .footer-news {
		width: 100%;
		max-width: none;
		flex: 0 0 auto;
	}
}

@media (max-width: 400px) {
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.primary-nav-list > li > .sub-menu {
		grid-template-columns: 1fr;
	}
}

/* ========================================================================== 
   Shared editorial rail and refined home composition.
   Full-bleed media remains edge-to-edge; readable content aligns with the
   usable width of the three-column grid.
   ========================================================================== */
:root {
	--content-rail: 1376px;
}

.home-hero__content,
.announcement {
	width: min(calc(100% - var(--gutter) - var(--gutter)), var(--content-rail));
}

.home-hero__media {
	height: clamp(560px, 45vw, 720px);
}

.home-hero__shade {
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.3) 48%, rgba(0, 0, 0, 0.08) 100%),
		linear-gradient(0deg, rgba(0, 0, 0, 0.64) 0%, transparent 60%);
}

.home-hero__content {
	right: auto;
	bottom: clamp(38px, 5vw, 72px);
	left: 50%;
	color: #fff;
	transform: translateX(-50%);
}

.home-hero__title {
	width: min(100%, 760px);
	margin-top: 14px;
}

.home-hero__summary {
	position: static;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 48px;
	width: 100%;
	min-height: 0;
	padding: 0;
	margin-top: 24px;
	color: rgba(255, 255, 255, 0.9);
	background: transparent;
	font-size: 16px;
	line-height: 1.6;
}

.home-hero__summary > div {
	width: min(100%, 720px);
}

.home-hero__read {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 84px;
	min-height: 40px;
	padding: 0 22px;
	color: #0a0a0a;
	background: linear-gradient(115deg, #fff 0%, #d9d9d9 28%, #fff 48%, #c8c8c8 70%, #fff 100%);
	background-size: 220% 100%;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: var(--r-pill);
	box-shadow: 0 5px 18px rgba(0, 0, 0, 0.2), inset 0 1px 0 #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-position 350ms ease, transform 180ms ease;
	white-space: nowrap;
}

.home-hero__read:hover,
.home-hero__read:focus-visible {
	background-position: 100% 0;
	transform: translateY(-1px);
}

.announcement {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 8px;
	min-height: 0;
	padding: 16px 20px;
	margin: 30px auto;
	font-size: 14px;
	line-height: 1.45;
}

.announcement__copy {
	min-width: 0;
	font-size: inherit;
}

.announcement__label {
	display: flex;
	margin: 0;
	font-size: 9px;
}

.announcement__copy strong {
	font-size: 14px;
}

.announcement .button {
	align-self: flex-start;
	min-height: 36px;
	padding: 0 20px;
	margin-top: 4px;
	font-size: 9px;
	white-space: nowrap;
}

.listing-section,
.related-posts {
	width: min(100%, var(--maxw));
	max-width: var(--maxw);
	background: var(--canvas);
}

.listing-section {
	padding-top: clamp(24px, 4vw, 56px);
}

.listing-section--home {
	padding-top: 0;
}

.home-hero + .listing-section--home {
	padding-top: 30px;
}

.listing-section--archive {
	padding-top: clamp(72px, 9vw, 132px);
}

.navigation.pagination,
.navigation.pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.navigation.pagination {
	margin-top: 70px;
}

.navigation.pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	width: 42px;
	min-width: 42px;
	height: 42px;
	padding: 0;
	color: var(--ink-soft);
	background: transparent;
	border: 1px solid var(--line);
	border-radius: 50%;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	text-decoration: none;
	text-transform: none;
}

.navigation.pagination .page-numbers.current,
.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus-visible {
	color: #fff;
	background: var(--ink);
	border-color: var(--ink);
}

.navigation.pagination .page-numbers.dots,
.navigation.pagination .page-numbers.dots:hover {
	color: var(--ink-soft);
	background: transparent;
	border-color: var(--line);
}

@media (max-width: 700px) {
	.home-hero__media {
		height: clamp(570px, 86vh, 700px);
	}

	.home-hero__content {
		bottom: 30px;
	}

	.home-hero__summary {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
		margin-top: 18px;
		font-size: 14px;
	}

	.announcement {
		gap: 8px;
		padding: 14px 16px;
	}

	.announcement__label {
		display: flex;
		width: max-content;
		margin: 0;
	}

	.navigation.pagination,
	.navigation.pagination .nav-links {
		gap: 7px;
	}

	.navigation.pagination .page-numbers {
		width: 38px;
		min-width: 38px;
		height: 38px;
	}
}

/* Hero art direction: restrained Shopify campaign composition. */
.home-hero__media {
	height: clamp(600px, 42vw, 780px);
}

.home-hero__shade {
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.58) 30%, rgba(0, 0, 0, 0.18) 62%, rgba(0, 0, 0, 0.1) 100%),
		linear-gradient(0deg, rgba(0, 0, 0, 0.3), transparent 58%);
}

.home-hero__content {
	top: 50%;
	bottom: auto;
	transform: translate(-50%, -42%);
}

.home-hero .post-eyebrow {
	color: rgba(255, 255, 255, 0.88);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.home-hero__title {
	width: min(100%, 650px);
	margin-top: 22px;
	font-size: clamp(34px, 2.65vw, 50px);
	font-weight: 300;
	font-variation-settings: "wght" 300;
	letter-spacing: -0.025em;
	line-height: 1.12;
}

.home-hero__title a {
	color: #c9f2d5;
}

.home-hero__summary {
	display: block;
	margin-top: 28px;
}

.home-hero__read {
	min-width: 0;
	min-height: 48px;
	padding: 0 24px;
	color: #141414;
	background: #fdfdfa;
	border: 1px solid #fdfdfa;
	border-radius: var(--r-pill);
	box-shadow: none;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.08em;
	transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.home-hero__read:hover,
.home-hero__read:focus-visible {
	color: #fff;
	background: #141414;
	background-position: initial;
	transform: translateY(-1px);
}

.article-card__title {
	font-weight: 300;
	font-variation-settings: "wght" 300;
	letter-spacing: -0.015em;
	line-height: 1.15;
}

@media (max-width: 700px) {
	.home-hero__media {
		height: clamp(560px, 82vh, 680px);
	}

	.home-hero__content {
		top: auto;
		bottom: 34px;
		transform: translateX(-50%);
	}

	.home-hero__title {
		margin-top: 16px;
		font-size: clamp(34px, 9vw, 44px);
	}

	.home-hero__summary {
		margin-top: 22px;
	}
}

/* Inline card showcase: card and actions directly on the striped field. */
.post--item-inline-card {
	display: grid;
	place-items: center;
	width: 100%;
	max-width: 100%;
	padding: clamp(24px, 4vw, 56px);
	margin: 56px auto;
	background: repeating-linear-gradient(
		135deg,
		#f8f8f9 0,
		#f8f8f9 12px,
		#e5e5e8 12px,
		#e5e5e8 24px
	);
	transform: none;
}

.post--item-inline-card-stage {
	display: grid;
	place-items: center;
	gap: 22px;
	width: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.post--item-inline-card img {
	width: auto;
	max-width: min(100%, 480px);
	max-height: 612px;
}

.post--item-inline-card-buy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	flex-wrap: wrap;
}

.post--item-inline-card-buy:empty {
	display: none;
}

.post--item-inline-card-buy a {
	color: #fff;
	background: var(--ink);
	border: 1px solid var(--ink);
	transition: color 180ms ease, background 180ms ease;
}

.post--item-inline-card-buy a:hover,
.post--item-inline-card-buy a:focus-visible {
	color: var(--ink);
	background: var(--cream);
}

/* Shared pill-control specification. Circular pagination and icon-only
   controls intentionally retain their dedicated geometry. */
:root {
	--pill-control-height: 48px;
	--pill-control-padding: 24px;
	--pill-control-font-size: 11px;
	--pill-control-font-weight: 400;
	--pill-control-letter-spacing: 0.08em;
}

.button,
.btn,
.home-hero__read,
.announcement .button,
.field-group > .btn,
.field-group > button.btn,
.post--item-inline-card-buy a,
.wp-block-button__link,
.entry-content .wp-block-button__link,
.wp-element-button,
.entry-content .wp-element-button,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	height: var(--pill-control-height);
	min-height: var(--pill-control-height);
	padding: 0 var(--pill-control-padding);
	margin: 0;
	border-radius: var(--r-pill);
	font-family: var(--font-sans);
	font-size: var(--pill-control-font-size);
	font-weight: var(--pill-control-font-weight);
	letter-spacing: var(--pill-control-letter-spacing);
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background 200ms ease, transform 200ms ease, color 200ms ease, border-color 200ms ease;
	white-space: nowrap;
	cursor: pointer;
}

input[type="submit"] {
	color: #fff;
	background: var(--ink);
	border: 1px solid var(--ink);
	cursor: pointer;
}

.entry-content blockquote {
	padding-left: 40px;
	text-align: left;
}

.related-posts {
	padding-top: 30px;
	padding-bottom: clamp(20px, calc(10vw - 60px), 90px);
	margin-top: 30px;
	margin-bottom: 0;
	border-bottom: 60px solid var(--surface);
}

@media (max-width: 700px) {
	.post--item-inline-card {
		padding: 18px;
		margin-top: 42px;
		margin-bottom: 42px;
	}

	.post--item-inline-card-stage {
		gap: 18px;
		padding: 0;
		border-radius: 0;
	}

	.related-posts {
		padding-top: 30px;
	}
}

/* Shopify design-system foil cycle and shared button interaction. */
@property --foil-color {
	syntax: '<color>';
	inherits: true;
	initial-value: rgb(255, 199, 210);
}

html {
	animation: foil-cycle 1.75s linear infinite;
}

@keyframes foil-cycle {
	0% {
		--foil-color: rgb(255, 199, 210);
	}

	25% {
		--foil-color: rgb(255, 216, 181);
	}

	50% {
		--foil-color: rgb(201, 239, 216);
	}

	75% {
		--foil-color: rgb(201, 234, 255);
	}

	100% {
		--foil-color: rgb(255, 199, 210);
	}
}

.button:hover,
.btn:hover,
.home-hero__read:hover,
.announcement .button:hover,
.field-group > .btn:hover,
.field-group > button.btn:hover,
.post--item-inline-card-buy a:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
input[type="submit"]:hover {
	color: var(--dark);
	background-color: var(--foil-color);
	border-color: #e9dcb1;
}

.button:focus-visible,
.btn:focus-visible,
.home-hero__read:focus-visible,
.announcement .button:focus-visible,
.field-group > .btn:focus-visible,
.field-group > button.btn:focus-visible,
.post--item-inline-card-buy a:focus-visible,
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible,
input[type="submit"]:focus-visible {
	color: var(--dark);
	background-color: var(--foil-color);
	border-color: #e9dcb1;
	outline: 2px solid var(--ink);
	outline-offset: 2px;
}

.button:active,
.btn:active,
.home-hero__read:active,
.announcement .button:active,
.field-group > .btn:active,
.field-group > button.btn:active,
.post--item-inline-card-buy a:active,
.wp-block-button__link:active,
.wp-element-button:active,
input[type="submit"]:active {
	transform: translateY(1px);
}

:where(
	.button,
	.btn,
	.home-hero__read,
	.announcement .button,
	.field-group > .btn,
	.field-group > button.btn,
	.post--item-inline-card-buy a,
	.wp-block-button__link,
	.wp-element-button,
	input[type="submit"]
),
:where(
	.button,
	.btn,
	.home-hero__read,
	.announcement .button,
	.field-group > .btn,
	.field-group > button.btn,
	.post--item-inline-card-buy a,
	.wp-block-button__link,
	.wp-element-button
) * {
	cursor: pointer !important;
}

button:disabled,
.button[aria-disabled="true"],
.btn[aria-disabled="true"],
input[type="submit"]:disabled {
	color: var(--mute);
	background: #fff;
	border-color: var(--line);
	cursor: default !important;
	transform: none;
}

button:disabled *,
.button[aria-disabled="true"] *,
.btn[aria-disabled="true"] * {
	cursor: default !important;
}

@media (prefers-reduced-motion: reduce) {
	html {
		animation: none;
	}
}

/* Homepage editorial refinements: restored hero excerpt and paired alerts. */
.single-article__byline {
	font-family: "Roboto Slab", Rockwell, Georgia, serif;
}

.home-hero__summary {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 22px;
}

.home-hero__excerpt {
	width: min(100%, 650px);
	color: rgba(255, 255, 255, 0.9);
	font-size: 16px;
	line-height: 1.6;
}

.home-hero__excerpt p {
	margin: 0;
}

.home-feature-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 16px 24px;
	width: min(calc(100% - var(--gutter) - var(--gutter)), var(--content-rail));
	margin: 30px auto;
}

.home-feature-row > .article-card {
	grid-row: 1 / 3;
	grid-column: 1;
}

.home-feature-row > .announcement:not(.announcement--more) {
	grid-row: 1;
	grid-column: auto;
}

.home-feature-row > .announcement--more {
	grid-row: 2;
	grid-column: 2 / 4;
}

.article-card__image {
	position: relative;
	border-radius: 12px;
	transition: transform 250ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 250ms ease;
}

.article-card:hover .article-card__image,
.article-card:focus-within .article-card__image {
	box-shadow: 0 14px 28px rgba(20, 20, 20, 0.12);
	transform: translateY(-4px);
}

.article-card__cta {
	position: absolute;
	bottom: 16px;
	left: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: var(--gray-950);
	background: #f3f3f5;
	border-radius: 50%;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 200ms ease, background-color 200ms ease, transform 250ms cubic-bezier(0.2, 0.7, 0.2, 1);
	pointer-events: none;
}

.article-card__cta svg {
	width: 14px;
	height: 14px;
	opacity: 0;
	transition: opacity 200ms ease;
}

.article-card:hover .article-card__cta,
.article-card:focus-within .article-card__cta {
	background-color: var(--foil-color);
	opacity: 1;
	transform: translateY(0);
}

.article-card:hover .article-card__cta svg,
.article-card:focus-within .article-card__cta svg {
	opacity: 1;
}

.announcement {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	min-height: 0;
	padding: 20px 24px;
	margin: 0;
	background: #fff;
	border: 1px solid #dededb;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(20, 20, 20, 0.08);
	transition: border-color 200ms ease, box-shadow 250ms ease, transform 250ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.home-feature-row > .announcement {
	height: 100%;
}

.announcement:hover,
.announcement:focus-within {
	border-color: #d2d2cf;
	box-shadow: 0 18px 38px rgba(20, 20, 20, 0.12);
	transform: translateY(-4px);
}

.announcement__copy {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 7px;
	width: 100%;
}

.announcement__copy strong,
.announcement__copy span {
	display: block;
}

.announcement__copy strong {
	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
}

.announcement__copy span {
	color: var(--mute);
	font-size: 14px;
	line-height: 1.5;
}

.announcement__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	margin-top: auto;
	color: var(--gray-950);
	background: #f3f3f5;
	border: 0;
	border-radius: 50%;
	text-decoration: none;
	opacity: 1;
	transition: color 200ms ease, background-color 200ms ease, transform 200ms ease;
	cursor: pointer;
}

.announcement:hover .announcement__cta,
.announcement:focus-within .announcement__cta,
.announcement__cta:hover,
.announcement__cta:focus-visible {
	color: var(--dark);
	background-color: var(--foil-color);
}

.announcement__cta:focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 2px;
}

.announcement__cta:active {
	transform: translateY(1px);
}

.announcement__cta svg {
	width: 14px;
	height: 14px;
	opacity: 1;
	cursor: pointer;
}

.announcement--more {
	background: var(--canvas);
	border-color: var(--line);
	box-shadow: none;
}

.announcement--more:hover,
.announcement--more:focus-within {
	box-shadow: 0 12px 26px rgba(20, 20, 20, 0.07);
}

.announcement-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 24px;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
}

.announcement-list li {
	padding: 7px 0;
	border-bottom: 1px solid var(--line);
}

.announcement-list li:first-child {
	padding-top: 2px;
}

.announcement-list a {
	display: block;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
	text-decoration: none;
}

.announcement-list a:hover,
.announcement-list a:focus-visible {
	opacity: 0.58;
}

.announcement__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	margin-top: auto;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.announcement__all svg {
	width: 14px;
	height: 14px;
	transition: transform 200ms ease;
	cursor: pointer;
}

.announcement__all:hover svg,
.announcement__all:focus-visible svg {
	transform: translate(2px, -2px);
}

@media (max-width: 1050px) {
	.home-feature-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
	}

	.home-feature-row > .article-card {
		grid-row: auto;
		grid-column: 1 / -1;
	}

	.home-feature-row > .announcement:not(.announcement--more) {
		grid-row: auto;
		grid-column: auto;
	}

	.home-feature-row > .announcement--more {
		grid-row: auto;
		grid-column: 1 / -1;
	}

	.announcement-list {
		grid-template-columns: 1fr;
	}

	.announcement-list li {
		padding: 5px 0;
		font-size: 14px;
	}
}

@media (max-width: 700px) {
	.home-feature-row {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 16px;
	}

	.home-feature-row > .article-card,
	.home-feature-row > .announcement:not(.announcement--more),
	.home-feature-row > .announcement--more,
	.announcement,
	.announcement--more {
		grid-row: auto;
		grid-column: auto;
		min-height: 0;
	}

	.announcement-list {
		grid-template-columns: 1fr;
	}
}

/* 2.10 header, editorial spacing, and newsletter refinements. */
body.has-tucked-hero .home-hero {
	margin-top: -65px;
}

body.has-tucked-hero .home-hero__media::before {
	position: absolute;
	inset: 0;
	z-index: 2;
	content: "";
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.4) 0%,
		rgba(0, 0, 0, 0) 10%,
		rgba(0, 0, 0, 0) 100%
	);
	pointer-events: none;
}

.header-actions {
	color: #333;
}

.search-trigger {
	color: inherit;
}

.shop-link {
	display: inline-flex;
	height: 38px;
	padding: 0 18px;
	color: inherit;
	border: 1px solid currentColor;
	font-size: 10px;
	text-decoration: none;
}

.shop-link:hover,
.shop-link:focus-visible {
	color: var(--ink);
	background-color: var(--foil-color);
	border-color: #e9dcb1;
}

body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .header-actions {
	color: #ccc;
}

body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .search-trigger:hover,
body.has-tucked-hero .site-header:not(.is-scrolled):not(.menu-open) .search-trigger:focus-visible {
	color: #fff;
}

.search-drawer {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 102;
	padding: 32px 0;
	color: var(--ink);
	background: var(--cream);
	border-bottom: 1px solid var(--line);
	opacity: 1;
	transform: translateY(-100%);
	transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.search-drawer__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 0;
}

.search-drawer__inner form {
	flex: 1;
}

.search-drawer .search-drawer__close {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	color: var(--ink);
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--r-pill);
	flex: 0 0 36px;
}

.search-drawer__close:hover,
.search-drawer__close:focus-visible {
	color: var(--ink);
	background-color: var(--foil-color);
	border-color: #e9dcb1;
}

.listing-section {
	padding-top: 0;
}

.listing-section--archive {
	padding-top: 30px;
}

.post--item-inline-card img {
	max-height: 552px;
}

.related-posts {
	padding-top: 30px;
	margin-top: 30px;
	margin-bottom: 0;
	border-bottom: 0;
	border-radius: 12px;
	overflow: hidden;
}

hr,
.wp-block-separator {
	height: 0;
	background: transparent;
	border: 0;
	border-top: 1px solid #aaa;
	opacity: 1;
}

.section-heading,
.archive-header {
	border-bottom-color: #aaa;
}

.newsletter-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.newsletter-status {
	width: 100%;
	margin: -12px 0 0;
	color: var(--ink-soft);
	font-size: 13px;
}

@media (max-width: 700px) {
	.header-actions {
		gap: 10px;
	}

	.shop-link {
		height: 34px;
		padding: 0 13px;
	}

	.search-drawer {
		padding: 24px 0;
	}

	.search-drawer .search-drawer__close {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.related-posts {
		padding-top: 30px;
	}
}
