/* ============================================================
   MKE premium layer (v2.0)
   Loaded on every page AFTER base/home/shop/pages. Adds material:
   paper grain, layered shadows, cursor spotlight, dark panels with
   rim light, glass strips, motion. Nothing here changes structure.
   ============================================================ */

:root {
	--paper: #FBF9F4;
	--paper-deep: #F4F0E6;
	--sage: #8FA88F;
	--gold: #C4A46B;
	--bottle-2: #27473A;
	--bottle-deep: #142A22;
	--shadow-1: 0 1px 2px rgba(32, 30, 26, .04), 0 4px 14px rgba(32, 30, 26, .05);
	--shadow-2: 0 2px 4px rgba(32, 30, 26, .05), 0 14px 32px rgba(32, 30, 26, .10), 0 36px 70px -24px rgba(30, 58, 47, .22);
	--shadow-dark: 0 30px 70px -20px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06);
	--ring-top: inset 0 1px 0 rgba(255, 255, 255, .75);
	--ease: cubic-bezier(.2, .7, .2, 1);
	--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Paper ---------- */
body { background: var(--paper); }
body::before {
	content: '';
	position: fixed;
	inset: 0;
	background: var(--grain);
	background-size: 160px 160px;
	opacity: .06;
	pointer-events: none;
	z-index: 1;
	mix-blend-mode: multiply;
}
p { text-wrap: pretty; }
::selection { background: rgba(121, 111, 81, .28); color: var(--ink); }

/* ---------- Topbar & header ---------- */
.mke-topbar {
	background: linear-gradient(90deg, var(--olive-dark) 0%, var(--olive) 50%, var(--olive-dark) 100%);
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
	letter-spacing: .2em;
	font-size: .72rem;
}
.mke-header {
	background: rgba(251, 249, 244, .78);
	border-bottom: 1px solid rgba(32, 30, 26, .06);
	backdrop-filter: blur(18px) saturate(1.5);
	-webkit-backdrop-filter: blur(18px) saturate(1.5);
}
.mke-header.is-scrolled { background: rgba(251, 249, 244, .9); box-shadow: 0 1px 0 rgba(32, 30, 26, .05), 0 10px 30px -12px rgba(32, 30, 26, .14); }
/* Reading progress, a hairline of olive that grows as you scroll */
.mke-header::after {
	content: '';
	position: absolute;
	left: 0; bottom: -1px;
	height: 2px;
	width: 100%;
	background: linear-gradient(90deg, var(--olive), var(--gold));
	transform-origin: 0 50%;
	transform: scaleX(var(--mke-progress, 0));
	opacity: 0;
	transition: opacity .3s;
}
.mke-header.is-scrolled::after { opacity: 1; }
.mke-menu a { transition: color .2s; }
.mke-menu a:hover { color: var(--bottle); }
.mke-menu a::after { height: 1.5px; background: linear-gradient(90deg, var(--olive), var(--gold)); }
.mke-cart { border-radius: 50%; transition: background .2s, transform .2s; }
.mke-cart:hover { background: rgba(121, 111, 81, .12); transform: translateY(-1px); }
.mke-cart-count { background: var(--bottle); box-shadow: 0 0 0 2px var(--paper); }

/* ---------- Buttons: gradient body, top light, sheen sweep ---------- */
.mke-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(180deg, var(--bottle-2) 0%, var(--bottle) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 1px 2px rgba(30, 58, 47, .3), 0 10px 24px -8px rgba(30, 58, 47, .5);
	transition: transform .22s var(--ease), box-shadow .22s var(--ease), background .22s;
}
.mke-btn::after,
.woocommerce a.button:not(.loading)::after, .woocommerce button.button:not(.loading)::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .22) 50%, transparent 65%);
	transform: translateX(-120%);
	transition: transform .6s var(--ease);
	pointer-events: none;
	z-index: -1;
}
.mke-btn:hover::after, .woocommerce a.button:hover::after, .woocommerce button.button:hover::after { transform: translateX(120%); }
.mke-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce #payment #place_order:hover {
	background: linear-gradient(180deg, #2C5142 0%, #1E3A2F 100%);
	transform: translateY(-2px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 2px 4px rgba(30, 58, 47, .3), 0 18px 34px -10px rgba(30, 58, 47, .6);
}
.mke-btn-hero, .mke-btn-light, .mke-btn-hero:hover, .mke-btn-light:hover {
	background: linear-gradient(180deg, #FFFFFF 0%, #F4EFE4 100%);
	color: var(--ink);
	box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(0, 0, 0, .18), 0 14px 34px -8px rgba(0, 0, 0, .45);
}
.mke-btn-hero:hover, .mke-btn-light:hover { box-shadow: inset 0 1px 0 #fff, 0 2px 4px rgba(0, 0, 0, .18), 0 22px 44px -10px rgba(0, 0, 0, .55); }
.mke-btn-hero::after, .mke-btn-light::after { background: linear-gradient(110deg, transparent 35%, rgba(121, 111, 81, .18) 50%, transparent 65%); }
.mke-news-form .mke-btn, .mke-news-form .mke-btn:hover { background: linear-gradient(180deg, #8A7F5E, var(--olive)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 10px 24px -8px rgba(0, 0, 0, .5); }

/* ---------- Eyebrows: a short olive dash ---------- */
.mke-eyebrow { display: inline-flex; align-items: center; gap: .6rem; }
.mke-eyebrow::before { content: ''; width: 18px; height: 1px; background: var(--olive); opacity: .8; }
.mke-section-head .mke-eyebrow::after { content: ''; width: 18px; height: 1px; background: var(--olive); opacity: .8; }
.mke-hero .mke-eyebrow::before, .mke-hero .mke-eyebrow::after { background: var(--cream); }

/* ---------- Card material (shared) ---------- */
.mke-card,
.woocommerce ul.products li.product,
.mke-pcard, .mke-related-card, .mke-acc,
.mke-cards > *, .mke-magnet {
	position: relative;
	border-color: rgba(32, 30, 26, .07);
	box-shadow: var(--shadow-1), var(--ring-top);
	background: linear-gradient(180deg, #FFFFFF 0%, #FDFCF9 100%);
}
.mke-glow { overflow: clip; }
.mke-glow::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(196, 164, 107, .16), rgba(121, 111, 81, .06) 40%, transparent 65%);
	opacity: 0;
	transition: opacity .35s var(--ease);
	pointer-events: none;
	z-index: 2;
}
.mke-glow:hover::before { opacity: 1; }
.mke-card:hover, .woocommerce ul.products li.product:hover, .mke-pcard:hover, .mke-related-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-2), var(--ring-top);
	border-color: rgba(121, 111, 81, .25);
}
.mke-card-img { background: radial-gradient(90% 70% at 50% 100%, #ECE6D8 0%, var(--cream-light) 70%); }
.mke-card-img::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, .0) 60%, rgba(32, 30, 26, .05) 100%);
	pointer-events: none;
}
.mke-card-img { position: relative; }
.mke-card-price { font-size: 1.05rem; color: var(--bottle); }
.mke-card-cta { display: inline-flex; align-items: center; gap: .35rem; }
.mke-card-cta::after { content: ''; width: 0; height: 1px; background: var(--bottle); transition: width .3s var(--ease); }
.mke-card:hover .mke-card-cta::after { width: 22px; }

/* Colour dots on range cards */
.mke-card-dots { display: flex; align-items: center; gap: 5px; margin: .55rem 0 0; flex-wrap: nowrap; }
.mke-card-dots i { width: 12px; height: 12px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08), inset 2px 2px 3px rgba(255, 255, 255, .35); }
.mke-card-dots small { margin-left: .25rem; font-size: .72rem; color: var(--muted); letter-spacing: .02em; white-space: nowrap; }

/* Shop archive cards */
.woocommerce ul.products li.product { border-radius: 16px; transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.woocommerce ul.products li.product img { background: radial-gradient(90% 70% at 50% 100%, #ECE6D8 0%, var(--cream-light) 70%); }
.woocommerce ul.products li.product .price .amount { color: var(--bottle); }

/* ---------- Reveal: a touch of focus pull on large screens ---------- */
@media (min-width: 1024px) and (hover: hover) {
	.mke-reveal { transform: translateY(22px); filter: blur(5px); transition: opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease); transition-delay: var(--mke-delay, 0ms); }
	.mke-reveal.is-in { filter: blur(0); }
}
@media (prefers-reduced-motion: reduce) { .mke-reveal { filter: none; transform: none; } }

/* ============================================================
   HOMEPAGE
   ============================================================ */

/* Hero: slow push-in, warm light leak, vignette, scroll cue */
.mke-hero-media img { scale: 1.08; animation: mke-kenburns 26s ease-out both; }
@keyframes mke-kenburns { from { scale: 1.08; } to { scale: 1.18; } }
@media (prefers-reduced-motion: reduce) { .mke-hero-media img { animation: none; } }
.mke-hero-overlay {
	background:
		radial-gradient(55% 45% at 12% 0%, rgba(255, 224, 170, .22) 0%, rgba(255, 224, 170, 0) 60%),
		radial-gradient(120% 80% at 50% 100%, rgba(20, 24, 18, .62) 0%, rgba(20, 24, 18, 0) 60%),
		radial-gradient(140% 100% at 50% 50%, rgba(20, 24, 18, 0) 55%, rgba(20, 24, 18, .35) 100%),
		linear-gradient(180deg, rgba(20, 24, 18, .28) 0%, rgba(20, 24, 18, .48) 100%);
}
.mke-hero h1 { text-shadow: 0 1px 0 rgba(0, 0, 0, .15), 0 12px 40px rgba(0, 0, 0, .45); }
.mke-hero-sub { text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
.mke-hero-link { position: relative; border-bottom: 0; }
.mke-hero-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: rgba(255, 255, 255, .55); transition: background .2s, transform .3s var(--ease); transform-origin: 0 50%; }
.mke-hero-link:hover::after { background: #fff; transform: scaleX(1.04); }
.mke-hero-cue {
	position: absolute;
	left: 50%; bottom: 84px;
	width: 1px; height: 54px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .75));
	overflow: hidden;
	opacity: .8;
}
.mke-hero-cue::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, #fff); transform: translateY(-100%); animation: mke-cue 2.2s var(--ease) infinite; }
@keyframes mke-cue { 0% { transform: translateY(-100%); } 60% { transform: translateY(100%); } 100% { transform: translateY(100%); } }
@media (prefers-reduced-motion: reduce) { .mke-hero-cue::after { animation: none; } }

/* Facts: a floating glass strip that overlaps the hero */
.mke-facts { background: transparent; border: 0; padding: 0 1.25rem; position: relative; z-index: 3; }
.mke-facts-inner {
	margin: -58px auto 0;
	padding: 0 1.75rem;
	background: rgba(255, 255, 255, .84);
	backdrop-filter: blur(18px) saturate(1.3);
	-webkit-backdrop-filter: blur(18px) saturate(1.3);
	border: 1px solid rgba(255, 255, 255, .85);
	border-radius: 20px;
	box-shadow: var(--shadow-2), var(--ring-top);
}
.mke-fact + .mke-fact { border-left-color: rgba(32, 30, 26, .08); }
.mke-fact dt { background: linear-gradient(90deg, var(--bottle), var(--bottle-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Section rhythm: paper, then a cream band for the process */
.mke-range { position: relative; }
.mke-range::before {
	content: '';
	position: absolute;
	inset: -6rem 0 auto 0;
	height: 26rem;
	background: radial-gradient(60% 60% at 80% 30%, rgba(143, 168, 143, .16), transparent 70%), radial-gradient(50% 60% at 15% 70%, rgba(196, 164, 107, .12), transparent 70%);
	filter: blur(30px);
	pointer-events: none;
	z-index: -1;
}
.mke-range-grid, .mke-section-head, .mke-range-compare { position: relative; }

/* Colour studio: a dark gallery room */
.mke-studio {
	background:
		radial-gradient(90% 80% at 0% 0%, rgba(74, 110, 92, .55) 0%, rgba(74, 110, 92, 0) 55%),
		radial-gradient(60% 60% at 100% 100%, rgba(196, 164, 107, .16) 0%, rgba(196, 164, 107, 0) 60%),
		linear-gradient(160deg, #244336 0%, var(--bottle) 50%, var(--bottle-deep) 100%);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .07);
	box-shadow: var(--shadow-dark), inset 0 1px 0 rgba(255, 255, 255, .1);
	padding: 2.4rem;
	border-radius: 26px;
	position: relative;
	overflow: clip;
}
.mke-studio::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--grain);
	background-size: 160px 160px;
	opacity: .12;
	mix-blend-mode: overlay;
	pointer-events: none;
}
.mke-studio > * { position: relative; z-index: 1; }
.mke-studio-stage {
	border-radius: 18px;
	background: #12241D;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .08), inset 0 0 0 1px rgba(0, 0, 0, .3);
}
.mke-studio-stage::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 30%);
	pointer-events: none;
	z-index: 2;
}
.mke-studio-stage.is-loading::after { background: linear-gradient(110deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .18) 50%, rgba(255, 255, 255, 0) 70%); }
.mke-studio .mke-eyebrow { color: rgba(241, 236, 225, .75); }
.mke-studio .mke-eyebrow::before { background: var(--gold); }
.mke-studio-panel h2 { color: #fff; }
.mke-studio-lead { color: rgba(255, 255, 255, .72); }
.mke-studio-model { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .88); backdrop-filter: blur(6px); }
.mke-studio-model:hover { border-color: rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .1); }
.mke-studio-model.is-active { background: var(--cream); color: var(--bottle); border-color: var(--cream); box-shadow: 0 6px 18px -6px rgba(0, 0, 0, .5); }
.mke-studio-swatch span {
	width: 32px; height: 32px;
	background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .42) 0%, rgba(255, 255, 255, 0) 42%), var(--sw);
	box-shadow: 0 3px 8px rgba(0, 0, 0, .45), inset 0 0 0 1px rgba(255, 255, 255, .14), inset 0 -2px 4px rgba(0, 0, 0, .25);
}
.mke-studio-swatch::after { border-color: #fff; }
.mke-studio-swatch.is-active span { transform: scale(1.06); }
.mke-studio-caption { color: #fff; font-size: 1.45rem; }
.mke-studio-price { color: rgba(255, 255, 255, .7); }
.mke-studio-dot { color: var(--gold); }
.mke-studio .mke-btn, .mke-studio .mke-btn:hover {
	background: linear-gradient(180deg, #FFFFFF, #F1ECE1);
	color: var(--bottle);
	box-shadow: inset 0 1px 0 #fff, 0 12px 30px -8px rgba(0, 0, 0, .6);
}
.mke-studio .mke-btn::after { background: linear-gradient(110deg, transparent 35%, rgba(121, 111, 81, .2) 50%, transparent 65%); }
.mke-studio-note { color: rgba(255, 255, 255, .55); }
.mke-studio-model:focus-visible, .mke-studio-swatch:focus-visible, .mke-studio .mke-btn:focus-visible { outline-color: #fff; }

/* Anatomy: framed photo, glowing hotspots, rows that light up */
.mke-anatomy { position: relative; overflow: clip; }
.mke-anatomy::before {
	content: '';
	position: absolute;
	right: -10%; top: 10%;
	width: 60%; height: 80%;
	background: radial-gradient(50% 50% at 50% 50%, rgba(143, 168, 143, .22), transparent 70%);
	filter: blur(40px);
	pointer-events: none;
	z-index: -1;
}
.mke-anatomy-figure {
	border-radius: 22px;
	box-shadow: var(--shadow-2);
	outline: 1px solid rgba(32, 30, 26, .06);
	transform: rotate(-.6deg);
	transition: transform .6s var(--ease);
}
.mke-anatomy-figure:hover { transform: rotate(0deg); }
.mke-anatomy-figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 25%, transparent 75%, rgba(20, 24, 18, .18)); pointer-events: none; }
.mke-spot { box-shadow: 0 2px 10px rgba(0, 0, 0, .3), 0 0 0 4px rgba(255, 255, 255, .25); z-index: 2; }
.mke-spot::before { border-color: rgba(255, 255, 255, .9); }
.mke-anatomy-list li { border-radius: 12px; transition: background .25s, padding .25s, box-shadow .25s; }
.mke-anatomy-list li.is-hot { background: #fff; box-shadow: var(--shadow-1); border-top-color: transparent; }
.mke-anatomy-list li.is-hot + li { border-top-color: transparent; }
.mke-anatomy-list li::before { box-shadow: 0 4px 10px -3px rgba(30, 58, 47, .6); }

/* Process: cream band with a line that draws itself */
.mke-process {
	margin-top: 5.5rem;
	padding: 5rem 1.25rem 5.5rem;
	background: linear-gradient(180deg, var(--paper-deep) 0%, var(--cream-light) 100%);
	border-top: 1px solid rgba(32, 30, 26, .06);
	border-bottom: 1px solid rgba(32, 30, 26, .06);
	position: relative;
}
.mke-process::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(50% 80% at 50% 0%, rgba(255, 255, 255, .8), transparent 70%);
	pointer-events: none;
}
.mke-process-inner { position: relative; }
.mke-process-steps::before { background: linear-gradient(90deg, var(--olive), var(--gold), var(--olive)); height: 1.5px; transform: scaleX(0); transform-origin: 0 50%; transition: transform 1.4s var(--ease) .2s; }
.mke-process-steps:has(li.is-in)::before { transform: scaleX(1); }
.mke-process-n {
	background: linear-gradient(180deg, var(--bottle-2), var(--bottle));
	color: #fff;
	border: 0;
	box-shadow: 0 0 0 5px var(--paper-deep), 0 8px 18px -6px rgba(30, 58, 47, .6), inset 0 1px 0 rgba(255, 255, 255, .18);
	width: 48px; height: 48px;
}

/* Videos: staggered, deep shadow, halo play */
.mke-ugc-videos { padding: 1rem 0; }
.mke-video-card { box-shadow: var(--shadow-2); transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.mke-video-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(20, 24, 18, .5) 100%); z-index: 1; pointer-events: none; }
.mke-video-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -20px rgba(30, 58, 47, .5), var(--shadow-1); }
.mke-play { z-index: 2; box-shadow: 0 8px 24px rgba(0, 0, 0, .35); }
.mke-play::before { content: ''; position: absolute; inset: -8px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .7); animation: mke-pulse 2.6s ease-out infinite; }
@media (min-width: 1025px) {
	.mke-video-card:nth-child(2) { transform: translateY(22px); }
	.mke-video-card:nth-child(2):hover { transform: translateY(16px); }
	.mke-video-card:nth-child(1) { transform: rotate(-1.2deg); }
	.mke-video-card:nth-child(3) { transform: rotate(1.2deg); }
	.mke-video-card:nth-child(1):hover { transform: rotate(0) translateY(-6px); }
	.mke-video-card:nth-child(3):hover { transform: rotate(0) translateY(-6px); }
}

/* FAQ: a soft paper card */
.mke-faq-inner .mke-faq-list {
	background: linear-gradient(180deg, #fff, #FDFBF7);
	border: 1px solid rgba(32, 30, 26, .07);
	border-radius: 18px;
	padding: .4rem 1.6rem;
	box-shadow: var(--shadow-1), var(--ring-top);
}
.mke-faq-item summary { transition: color .2s; }
.mke-faq-item summary:hover, .mke-faq-item[open] summary { color: var(--bottle); }
.mke-faq-item summary::after { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 1.15rem; background: var(--cream-light); color: var(--olive-dark); transition: rotate .25s var(--ease), background .2s, color .2s; }
.mke-faq-item[open] summary::after { background: var(--bottle); color: #fff; }
.mke-faq-item[open] p { animation: mke-faq-in .35s var(--ease); }
@keyframes mke-faq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.mke-faq-item:last-child { border-bottom: 0; }

/* Dark panels: magnet band + CTA band, with aurora and rim light */
.mke-magnet-band, .mke-cta-band {
	position: relative;
	overflow: clip;
	background: linear-gradient(160deg, #244336 0%, var(--bottle) 55%, var(--bottle-deep) 100%);
	box-shadow: var(--shadow-dark), inset 0 1px 0 rgba(255, 255, 255, .1);
}
.mke-magnet-band::before, .mke-cta-band::before {
	content: '';
	position: absolute;
	inset: -20%;
	background:
		radial-gradient(35% 45% at 18% 20%, rgba(143, 168, 143, .38), transparent 70%),
		radial-gradient(30% 40% at 85% 75%, rgba(196, 164, 107, .22), transparent 70%),
		radial-gradient(40% 40% at 60% 0%, rgba(255, 255, 255, .06), transparent 70%);
	filter: blur(40px);
	animation: mke-aurora 18s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes mke-aurora { from { transform: translate3d(-2%, -1%, 0) rotate(0deg); } to { transform: translate3d(2%, 2%, 0) rotate(3deg); } }
@media (prefers-reduced-motion: reduce) { .mke-magnet-band::before, .mke-cta-band::before { animation: none; } }
.mke-magnet-band::after, .mke-cta-band::after { content: ''; position: absolute; inset: 0; background: var(--grain); background-size: 160px 160px; opacity: .12; mix-blend-mode: overlay; pointer-events: none; }
.mke-magnet-band > *, .mke-cta-band > * { position: relative; z-index: 1; }
.mke-magnet-band { border-radius: 26px; border: 1px solid rgba(255, 255, 255, .07); }
.mke-magnet-band .mke-magnet-form { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .14); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 20px 40px -20px rgba(0, 0, 0, .6); border-radius: 18px; }
.mke-magnet-band .mke-magnet-art span { box-shadow: 0 20px 40px -10px rgba(0, 0, 0, .6); }
.mke-magnet-band .mke-magnet-form .mke-btn, .mke-magnet-band .mke-magnet-form .mke-btn:hover { background: linear-gradient(180deg, #FFFFFF, #F1ECE1); color: var(--bottle); box-shadow: inset 0 1px 0 #fff, 0 12px 30px -8px rgba(0, 0, 0, .6); }
.mke-magnet-band .mke-magnet-kicker { color: var(--gold); }
.mke-cta-band { margin-top: 5.5rem; padding: 5.5rem 1.25rem; border-bottom: 0; box-shadow: none; }
.mke-cta-band h2 { font-size: clamp(1.9rem, 3.6vw, 2.7rem); }
.mke-cta-band .mke-btn { padding: 1.1rem 2.5rem; font-size: 1.05rem; }

/* Guides section: a whisper of colour behind the grid */
.mke-home-blog { position: relative; }
.mke-home-blog::before { content: ''; position: absolute; inset: 20% 0 0 0; background: radial-gradient(50% 60% at 50% 50%, rgba(196, 164, 107, .12), transparent 70%); filter: blur(40px); pointer-events: none; z-index: -1; }

/* ============================================================
   INNER PAGES
   ============================================================ */
.mke-page-hero { position: relative; overflow: clip; background: linear-gradient(180deg, var(--paper-deep) 0%, var(--paper) 100%); border-bottom-color: rgba(32, 30, 26, .06); }
.mke-page-hero::before {
	content: '';
	position: absolute;
	inset: -30% -10% auto auto;
	width: 60%; height: 160%;
	background: radial-gradient(40% 40% at 60% 40%, rgba(143, 168, 143, .22), transparent 70%), radial-gradient(30% 30% at 20% 80%, rgba(196, 164, 107, .16), transparent 70%);
	filter: blur(40px);
	pointer-events: none;
}
.mke-page-hero-inner { position: relative; }
.mke-page-hero-media img {
	border: 6px solid #fff;
	outline: 1px solid rgba(32, 30, 26, .08);
	box-shadow: var(--shadow-2);
	transform: rotate(1deg);
	transition: transform .6s var(--ease);
}
.mke-page-hero-media:hover img { transform: rotate(0); }
.mke-page-hero h1 { text-shadow: 0 1px 0 #fff; }

/* Content components */
.mke-answer, .mke-toc, .mke-callout, .mke-takeaways, .mke-facts-title { box-shadow: var(--shadow-1), var(--ring-top); }
.mke-page-wrap blockquote { box-shadow: var(--shadow-dark); position: relative; overflow: clip; }
.mke-page-wrap blockquote::before { content: ''; position: absolute; inset: -20%; background: radial-gradient(35% 45% at 18% 20%, rgba(143, 168, 143, .35), transparent 70%); filter: blur(30px); pointer-events: none; }
.mke-page-wrap blockquote > * { position: relative; }
.mke-page-wrap img, .mke-photo-band img, .mke-media-split img { border-radius: 16px; box-shadow: var(--shadow-2); }
.mke-page-wrap h2::before { background: linear-gradient(90deg, var(--olive), var(--gold)); }

/* ============================================================
   SHOP: archive header + product page
   ============================================================ */
.woocommerce .hero-section { background: transparent !important; border: 0 !important; }
.woocommerce-products-header { padding-top: 2rem; }
.mke-stats > li, .mke-stats > * { background: linear-gradient(180deg, #fff, var(--cream-light)); border: 1px solid rgba(32, 30, 26, .07); box-shadow: var(--shadow-1), var(--ring-top); border-radius: 14px; }
.mke-stats strong, .mke-stats .mke-num { color: var(--bottle); }
.single-product .hero-section { background: transparent !important; border: 0 !important; }
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.single-product .flexy-item .ct-media-container {
	border-radius: 18px;
	background: radial-gradient(90% 70% at 50% 100%, #ECE6D8 0%, var(--cream-light) 70%);
}
.single-product .woocommerce-product-gallery { filter: drop-shadow(0 24px 40px rgba(32, 30, 26, .14)); }
.single-product .summary .price { font-size: 1.75rem; color: var(--bottle); letter-spacing: -.01em; }
.single-product .summary .price .amount { color: var(--bottle); }
.mke-swatch { box-shadow: 0 0 0 1px rgba(32, 30, 26, .1), 0 3px 8px rgba(0, 0, 0, .18); background-image: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .42) 0%, rgba(255, 255, 255, 0) 42%); }
.mke-swatch.is-active { box-shadow: 0 0 0 2px var(--bottle), 0 3px 8px rgba(0, 0, 0, .2); }
.mke-cover-addon { box-shadow: var(--shadow-1), var(--ring-top); background: linear-gradient(180deg, #fff, var(--cream-light)); }
.mke-cover-addon:hover { box-shadow: var(--shadow-2), var(--ring-top); }
.single_add_to_cart_button { background: linear-gradient(180deg, #8A7F5E, var(--olive)) !important; }
.single_add_to_cart_button:hover { background: linear-gradient(180deg, var(--olive), var(--olive-dark)) !important; }
.mke-buy-now { background: linear-gradient(180deg, var(--bottle-2), var(--bottle)) !important; }
.woocommerce div.product form.cart div.quantity { box-shadow: var(--shadow-1); }
.mke-acc { border-radius: 16px; transition: box-shadow .3s; }
.mke-acc[open] { box-shadow: var(--shadow-2), var(--ring-top); }
.mke-usp li::before { color: var(--bottle); }

/* Cart & checkout panels */
.woocommerce-cart .cart_totals, .woocommerce-checkout form.checkout #order_review { box-shadow: var(--shadow-1), var(--ring-top); background: linear-gradient(180deg, #fff, var(--cream-light)); border-radius: 18px; }

/* ============================================================
   FOOTER
   ============================================================ */
.mke-footer { position: relative; background: linear-gradient(180deg, var(--bottle) 0%, var(--bottle-deep) 100%); }
.mke-footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), transparent); }
.mke-footer::after { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 60% at 15% 0%, rgba(143, 168, 143, .16), transparent 70%); pointer-events: none; }
.mke-footer-inner, .mke-footer-legal { position: relative; z-index: 1; }
.mke-news-form input { border-radius: 10px; background: rgba(255, 255, 255, .94); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .12); }
.mke-footer-menu a { transition: color .2s, transform .2s; display: inline-block; }
.mke-footer-menu a:hover { text-decoration: none; color: var(--cream); transform: translateX(3px); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
	.mke-studio { padding: 1.4rem; border-radius: 20px; }
	.mke-facts-inner { margin-top: -44px; padding: 0 1.25rem; }
	.mke-anatomy-figure { transform: none; }
}
@media (max-width: 600px) {
	.mke-facts { padding: 0 .9rem; }
	.mke-facts-inner { margin-top: -34px; border-radius: 16px; padding: 0 1rem; }
	.mke-hero-cue { display: none; }
	.mke-studio { padding: 1rem; }
	.mke-process { margin-top: 3.6rem; padding: 3.4rem 1.25rem 3.8rem; }
	.mke-cta-band { margin-top: 3.6rem; padding: 3.8rem 1.25rem; }
	.mke-faq-inner .mke-faq-list { padding: .2rem 1rem; }
	.mke-page-hero-media img { border-width: 4px; transform: none; }
	.mke-card:hover, .woocommerce ul.products li.product:hover { transform: none; }
	.mke-glow::before { display: none; }
	body::before { opacity: .045; mix-blend-mode: normal; }
}
@media (max-height: 760px) { .mke-hero-cue { display: none; } }
@media (hover: none) {
	.mke-glow::before { display: none; }
	.mke-btn::after, .woocommerce a.button:not(.loading)::after, .woocommerce button.button:not(.loading)::after { display: none; }
}

/* ============================================================
   TOUCH / SMALL SCREENS: a calm, fast page.
   Everything that costs GPU time on a phone (fixed grain, backdrop blur,
   blurred glows, infinite aurora, Ken Burns, hover lifts) is switched off.
   The material stays: paper colour, shadows, gradients, dark panels.
   ============================================================ */
@media (hover: none), (max-width: 1024px) {
	body::before { display: none; }
	.mke-header, .mke-header.is-scrolled { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(251, 249, 244, .97); }
	.mke-nav { backdrop-filter: none; -webkit-backdrop-filter: none; background: #FBF9F4; }
	.mke-facts-inner { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(255, 255, 255, .97); }
	.mke-hero-media img { animation: none; scale: 1; transform: none; will-change: auto; }
	.mke-hero-cue { display: none; }
	.mke-range::before, .mke-anatomy::before, .mke-home-blog::before, .mke-page-hero::before, .mke-page-wrap blockquote::before { display: none; }
	.mke-magnet-band::before, .mke-cta-band::before {
		animation: none;
		filter: none;
		inset: 0;
		background: radial-gradient(60% 60% at 15% 15%, rgba(143, 168, 143, .28), transparent 70%), radial-gradient(45% 50% at 90% 90%, rgba(196, 164, 107, .16), transparent 70%);
	}
	.mke-studio::after, .mke-magnet-band::after, .mke-cta-band::after { display: none; }
	.mke-studio-model, .mke-magnet-band .mke-magnet-form, .mke-play { backdrop-filter: none; -webkit-backdrop-filter: none; }
	.mke-video-card, .mke-video-card:hover, .mke-anatomy-figure, .mke-page-hero-media img,
	.mke-card:hover, .woocommerce ul.products li.product:hover, .mke-pcard:hover, .mke-related-card:hover { transform: none; }
	.mke-spot::before, .mke-play::before { animation: none; opacity: .5; }
	.mke-glow::before { display: none; }
	.mke-btn::after, .woocommerce a.button:not(.loading)::after, .woocommerce button.button:not(.loading)::after { display: none; }
	.single-product .woocommerce-product-gallery { filter: none; }
	.mke-facts-inner, .mke-studio, .mke-magnet-band { box-shadow: var(--shadow-1), var(--ring-top); }
	.mke-studio, .mke-magnet-band { box-shadow: 0 16px 40px -20px rgba(0, 0, 0, .45); }
}
@media (max-width: 600px) {
	.mke-card-dots { gap: 4px; }
	.mke-card-dots i { width: 11px; height: 11px; }
	.mke-card-dots i:nth-child(n+6) { display: none; }
	.mke-card-dots small { font-size: .68rem; }
}
