/*
 * Ralph Digital Works — "Solar Graphite" brand layer (v1.0.0)
 * Loaded last. Owns typography, colour, header, hero, homepage sections,
 * package cards, shop / product presentation and the shop responsive rules.
 * Palette: Graphite Ink, Bone, Vermillion, Deep Moss.
 * Geometry: squared corners, hairline rules, hard offset shadows.
 */

:root,
body.zt-site {
	--r-ink: #14161B;
	--r-ink-2: #1E2229;
	--r-ink-3: #2B3038;
	--r-bone: #F7F4EF;
	--r-bone-2: #EFE9DF;
	--r-white: #FFFFFF;
	--r-flame: #FF4A23;
	--r-flame-dark: #DA3510;
	--r-moss: #12B886;
	--r-sun: #FFB800;
	--r-text: #1B1E24;
	--r-muted: #6E6C66;
	--r-line: #DED7CA;
	--r-line-dark: rgba(247, 244, 239, .16);
	--r-max: 1340px;
	--r-head-h: 82px;
	--r-r: 3px;
	--r-r-lg: 4px;
	--r-display: 'Bricolage Grotesque', 'Space Grotesk', system-ui, sans-serif;
	--r-body: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

	/* Re-point every inherited token from the structural layers. */
	--zt-ink: #14161B;
	--zt-brand: #FF4A23;
	--zt-brand-dark: #DA3510;
	--zt-brand-soft: #FF7A56;
	--zt-zt-dark: #DA3510;
	--zt-zt-soft: #FF7A56;
	--zt-accent: #12B886;
	--zt-surface: #F7F4EF;
	--zt-paper: #FFFFFF;
	--zt-text: #1B1E24;
	--zt-muted: #6E6C66;
	--zt-line: #DED7CA;
	--zt-line-dark: rgba(247, 244, 239, .16);
	--zt-radius-sm: 3px;
	--zt-radius: 3px;
	--zt-radius-lg: 4px;
	--zt-shadow: 0 1px 0 rgba(20, 22, 27, .06);
	--zt-shadow-lg: 0 26px 60px -44px rgba(20, 22, 27, .55);
	--zt-glow: none;
	--zt-font: 'Instrument Sans', system-ui, sans-serif;
	--zt-display: 'Bricolage Grotesque', 'Space Grotesk', system-ui, sans-serif;
	--zt-container: 1340px;
	--zt-header-h: 82px;

	--a-ink: #14161B;
	--a-ink-2: #1E2229;
	--a-azure: #FF4A23;
	--a-azure-dark: #DA3510;
	--a-violet: #FF8A1E;
	--a-mint: #12B886;
	--a-cloud: #F7F4EF;
	--a-cloud-2: #EFE9DF;
	--a-white: #FFFFFF;
	--a-text: #1B1E24;
	--a-muted: #6E6C66;
	--a-line: #DED7CA;
	--a-line-dark: rgba(247, 244, 239, .16);
	--a-grad: linear-gradient(94deg, #FF4A23 0%, #FF8A1E 100%);
	--a-max: 1340px;
	--a-head-h: 82px;
	--a-r: 3px;
	--a-r-lg: 4px;
}

body.zt-site,
body.rdw-body {
	background: var(--r-bone);
	color: var(--r-text);
	font-family: var(--r-body);
	overflow-x: hidden;
}

body.zt-site h1, body.zt-site h2, body.zt-site h3,
body.zt-site h4, body.zt-site .rdw-h2, body.zt-site .zt-h2 {
	font-family: var(--r-display);
	letter-spacing: -.028em;
	color: var(--r-ink);
}

/* ------------------------------------------------------------------ shell */
.rdw-wrap, .sc-wrap, .zt-wrap {
	width: 100%;
	max-width: var(--r-max);
	margin-inline: auto;
	padding-inline: clamp(18px, 4.2vw, 56px);
}
.rdw-wrap--wide { max-width: 1560px; }

.rdw-sec, .zt-section { padding: clamp(54px, 6.6vw, 108px) 0; position: relative; }
.rdw-sec--cloud, .zt-section--paper, .zt-section--sand { background: var(--r-bone-2); }
.rdw-sec--white { background: var(--r-white); }
.rdw-sec--ink, .zt-section--ink { background: var(--r-ink); color: #CFCABF; }
.rdw-sec--ink h2, .rdw-sec--ink h3, .rdw-sec--ink strong,
.zt-section--ink h2, .zt-section--ink h3 { color: #fff; }

.rdw-kicker, .zt-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--r-body);
	font-size: .7rem; font-weight: 700; letter-spacing: .26em; text-transform: uppercase;
	color: var(--r-flame); margin: 0 0 14px;
}
.rdw-kicker::before, .zt-eyebrow::before {
	content: ""; width: 22px; height: 1px; background: currentColor; opacity: .85;
}
.rdw-sec--ink .rdw-kicker, .zt-section--ink .zt-eyebrow { color: var(--r-sun); }

.rdw-h2, body.zt-site .zt-head h2 {
	margin: 0; font-weight: 600;
	font-size: clamp(1.7rem, 3.3vw, 2.9rem); line-height: 1.08;
}
.rdw-lead, body.zt-site .zt-head p:not(.zt-eyebrow) {
	margin: 16px 0 0; color: var(--r-muted);
	font-size: clamp(1rem, 1.15vw, 1.08rem); line-height: 1.65; max-width: 62ch;
}
.rdw-sec--ink .rdw-lead, .zt-section--ink .zt-head p { color: #A9A69D; }
.rdw-head { max-width: 780px; margin-bottom: clamp(28px, 4vw, 52px); }
.rdw-head--center { margin-inline: auto; text-align: center; }
.rdw-head--center .rdw-lead { margin-inline: auto; }

/* section index rule: distinguishing editorial device */
.rdw-rule {
	display: flex; align-items: baseline; gap: 18px;
	border-top: 1px solid var(--r-line); padding-top: 14px; margin-bottom: 34px;
}
.rdw-sec--ink .rdw-rule { border-color: var(--r-line-dark); }
.rdw-rule__n {
	font-family: var(--r-display); font-size: .82rem; font-weight: 700;
	letter-spacing: .18em; color: var(--r-flame);
}

/* ----------------------------------------------------------------- buttons */
body.zt-site .rdw-btn,
body.zt-site .zt-btn,
body.zt-site .button,
body.zt-site button.button,
body.zt-site .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--r-body); font-weight: 700; font-size: .95rem; line-height: 1;
	padding: 16px 26px; border-radius: var(--r-r); border: 1px solid var(--r-ink);
	background: var(--r-ink); color: var(--r-bone);
	text-decoration: none; cursor: pointer; text-transform: none; letter-spacing: -.005em;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
	box-shadow: 0 0 0 rgba(20, 22, 27, 0);
}
body.zt-site .rdw-btn:hover,
body.zt-site .zt-btn:hover,
body.zt-site .button:hover {
	transform: translate(-2px, -2px);
	box-shadow: 4px 4px 0 var(--r-flame);
	background: var(--r-ink);
	color: var(--r-bone);
}
body.zt-site .rdw-btn--primary,
body.zt-site .zt-btn--primary,
body.zt-site .rdw-btn--mint,
body.zt-site .zt-btn--mint,
body.zt-site .single_add_to_cart_button,
body.zt-site .checkout-button,
body.zt-site #place_order {
	background: var(--r-flame); border-color: var(--r-flame); color: #fff;
}
body.zt-site .rdw-btn--primary:hover,
body.zt-site .zt-btn--primary:hover,
body.zt-site .rdw-btn--mint:hover,
body.zt-site .zt-btn--mint:hover,
body.zt-site .single_add_to_cart_button:hover,
body.zt-site .checkout-button:hover,
body.zt-site #place_order:hover {
	background: var(--r-flame-dark); border-color: var(--r-flame-dark); color: #fff;
	box-shadow: 4px 4px 0 var(--r-ink);
}
body.zt-site .rdw-btn--ghost,
body.zt-site .zt-btn--ghost {
	background: transparent; color: var(--r-ink); border-color: var(--r-ink);
}
body.zt-site .rdw-btn--ghost:hover,
body.zt-site .zt-btn--ghost:hover { background: var(--r-ink); color: var(--r-bone); }
body.zt-site .rdw-btn--wire,
body.zt-site .zt-btn--outline-light {
	background: transparent; color: #fff; border-color: rgba(247, 244, 239, .45);
}
body.zt-site .rdw-btn--wire:hover,
body.zt-site .zt-btn--outline-light:hover {
	background: var(--r-bone); color: var(--r-ink); border-color: var(--r-bone); box-shadow: 4px 4px 0 var(--r-flame);
}
body.zt-site .rdw-btn--light, body.zt-site .zt-btn--light { background: var(--r-bone); color: var(--r-ink); border-color: var(--r-bone); }
body.zt-site .rdw-btn--sm, body.zt-site .zt-btn--sm { padding: 12px 18px; font-size: .87rem; }

body.zt-site .rdw-btn svg,
body.zt-site .zt-btn svg,
body.zt-site .button svg { width: 16px; height: 16px; flex: 0 0 16px; }

/* -------------------------------------------------------------------- header */
body.zt-site .rdw-header {
	position: sticky; top: 0; z-index: 90;
	background: var(--r-bone);
	border-bottom: 1px solid var(--r-line);
	backdrop-filter: none;
}
body.zt-site.home .rdw-header { background: var(--r-bone); }
.rdw-header__strip {
	background: var(--r-ink); color: #B9B5AC;
	font-size: .78rem; letter-spacing: .02em;
}
.rdw-header__strip .rdw-wrap {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	min-height: 38px; padding-block: 8px;
}
.rdw-header__strip a { color: #E8E3D9; text-decoration: none; }
.rdw-header__strip a:hover { color: var(--r-sun); }
.rdw-header__strip span.rdw-dot { color: var(--r-flame); }
.rdw-header__bar {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	min-height: var(--r-head-h);
}
.rdw-brand img,
.rdw-brand .custom-logo {
	height: 52px !important; width: auto !important; max-width: 210px !important;
	object-fit: contain; display: block;
}
body.zt-site .rdw-nav { display: flex; align-items: center; gap: 4px; }
body.zt-site .rdw-nav > div > a {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 14px; font-size: .92rem; font-weight: 600; color: var(--r-ink);
	text-decoration: none; border-radius: var(--r-r); position: relative;
}
body.zt-site .rdw-nav > div > a::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px;
	background: var(--r-flame); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
body.zt-site .rdw-nav > div > a:hover::after { transform: scaleX(1); }
body.zt-site .rdw-drop {
	background: var(--r-white); border: 1px solid var(--r-ink); border-radius: var(--r-r);
	box-shadow: 8px 8px 0 rgba(20, 22, 27, .1);
}
body.zt-site .rdw-drop a { border-radius: 0; }
body.zt-site .rdw-drop a:hover { background: var(--r-bone-2); color: var(--r-flame); }
body.zt-site .rdw-icon-btn {
	display: grid; place-items: center; width: 42px; height: 42px;
	border: 1px solid var(--r-line); border-radius: var(--r-r);
	background: var(--r-white); color: var(--r-ink); position: relative;
}
body.zt-site .rdw-icon-btn:hover { border-color: var(--r-ink); }
body.zt-site .rdw-count {
	position: absolute; top: -7px; right: -7px; min-width: 19px; height: 19px;
	display: grid; place-items: center; padding: 0 5px;
	background: var(--r-flame); color: #fff; font-size: .68rem; font-weight: 800;
	border-radius: 999px;
}
body.zt-site .rdw-count.is-empty { display: none; }
body.zt-site .rdw-mobile {
	background: var(--r-bone); border-top: 1px solid var(--r-line);
}
body.zt-site .rdw-mobile__link {
	display: block; padding: 13px 0; font-weight: 600; color: var(--r-ink);
	border-bottom: 1px solid var(--r-line); text-decoration: none;
}

/* --------------------------------------------------------------------- hero */
.rdw-hero {
	background: var(--r-bone);
	border-bottom: 1px solid var(--r-line);
	padding: clamp(38px, 5vw, 74px) 0 0;
	position: relative; overflow: hidden;
}
.rdw-hero__grid {
	display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	gap: clamp(28px, 4vw, 60px); align-items: end;
}
.rdw-hero__tag {
	display: inline-flex; align-items: center; gap: 10px;
	border: 1px solid var(--r-ink); border-radius: 999px; padding: 7px 16px;
	font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
.rdw-hero__tag i { width: 7px; height: 7px; border-radius: 50%; background: var(--r-moss); }
.rdw-hero h1 {
	margin: 24px 0 0; font-weight: 600;
	font-size: clamp(2.5rem, 6.4vw, 5.1rem); line-height: .96; letter-spacing: -.04em;
}
.rdw-hero h1 em { font-style: normal; color: var(--r-flame); }
.rdw-hero h1 u { text-decoration: none; box-shadow: inset 0 -.16em 0 var(--r-sun); }
.rdw-hero__lead { margin: 22px 0 0; max-width: 52ch; color: var(--r-muted); font-size: clamp(1rem, 1.25vw, 1.14rem); line-height: 1.65; }
.rdw-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 clamp(30px, 4vw, 48px); }
.rdw-hero__panel { position: relative; }
.rdw-hero__shot {
	position: relative; border: 1px solid var(--r-ink); border-radius: var(--r-r-lg);
	overflow: hidden; aspect-ratio: 4 / 3.4; background: var(--r-ink);
}
.rdw-hero__shot img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(.18) contrast(1.05); }
.rdw-hero__badge {
	position: absolute; left: -14px; bottom: 26px; z-index: 2;
	background: var(--r-flame); color: #fff; border: 1px solid var(--r-ink);
	padding: 14px 18px; border-radius: var(--r-r); max-width: 230px;
	box-shadow: 6px 6px 0 var(--r-ink);
}
.rdw-hero__badge strong { display: block; font-family: var(--r-display); font-size: 1.5rem; line-height: 1; color: #fff; }
.rdw-hero__badge span { display: block; margin-top: 6px; font-size: .78rem; letter-spacing: .05em; opacity: .92; }

/* marquee ticker beneath the hero */
.rdw-ticker {
	margin-top: clamp(26px, 3.5vw, 44px);
	border-top: 1px solid var(--r-ink); border-bottom: 1px solid var(--r-ink);
	background: var(--r-ink); color: var(--r-bone); overflow: hidden;
}
.rdw-ticker__track {
	display: flex; gap: 40px; white-space: nowrap; padding: 14px 0;
	animation: rdw-slide 34s linear infinite; will-change: transform;
}
.rdw-ticker__track span {
	font-family: var(--r-display); font-size: clamp(.9rem, 1.5vw, 1.15rem);
	letter-spacing: .04em; display: inline-flex; align-items: center; gap: 40px;
}
.rdw-ticker__track span::after { content: "◆"; color: var(--r-flame); font-size: .7em; }
@keyframes rdw-slide { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rdw-ticker__track { animation: none; } }

/* -------------------------------------------------------------- stat ledger */
.rdw-ledger {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--r-line); background: var(--r-white);
}
.rdw-ledger > div { padding: clamp(20px, 2.6vw, 34px); border-right: 1px solid var(--r-line); }
.rdw-ledger > div:last-child { border-right: 0; }
.rdw-ledger strong {
	display: block; font-family: var(--r-display); font-weight: 600;
	font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1; color: var(--r-ink);
}
.rdw-ledger span { display: block; margin-top: 10px; font-size: .85rem; color: var(--r-muted); }

/* ---------------------------------------------------------- service index */
.rdw-index { border-top: 1px solid var(--r-line); }
.rdw-index__row {
	display: grid; grid-template-columns: 72px minmax(0, 1.15fr) minmax(0, 1.35fr) auto;
	gap: clamp(14px, 2.4vw, 34px); align-items: center;
	padding: clamp(22px, 2.6vw, 34px) 0; border-bottom: 1px solid var(--r-line);
	text-decoration: none; color: inherit; transition: background .2s ease, padding .2s ease;
}
.rdw-index__row:hover { background: var(--r-white); padding-inline: 18px; }
.rdw-index__n { font-family: var(--r-display); font-size: 1rem; font-weight: 700; color: var(--r-flame); letter-spacing: .1em; }
.rdw-index__row h3 { margin: 0; font-size: clamp(1.15rem, 2vw, 1.6rem); font-weight: 600; }
.rdw-index__row h3 small { display: block; margin-top: 8px; font-family: var(--r-body); font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--r-moss); }
.rdw-index__row p { margin: 0; color: var(--r-muted); font-size: .96rem; line-height: 1.6; }
.rdw-index__go {
	display: grid; place-items: center; width: 46px; height: 46px;
	border: 1px solid var(--r-ink); border-radius: 50%; color: var(--r-ink);
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.rdw-index__row:hover .rdw-index__go { background: var(--r-flame); border-color: var(--r-flame); color: #fff; transform: rotate(-45deg); }
.rdw-index__go svg { width: 16px; height: 16px; }

/* ------------------------------------------------------------------- cards */
body.zt-site .rdw-card, body.zt-site .zt-card {
	background: var(--r-white); border: 1px solid var(--r-line); border-radius: var(--r-r);
	padding: clamp(22px, 2.5vw, 32px); box-shadow: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	height: 100%;
}
body.zt-site .rdw-card:hover, body.zt-site .zt-card:hover {
	transform: translate(-3px, -3px); border-color: var(--r-ink); box-shadow: 6px 6px 0 var(--r-ink);
}
body.zt-site .zt-card--ink { background: var(--r-ink-2); border-color: var(--r-line-dark); color: #C8C4BA; }
body.zt-site .zt-card--ink:hover { box-shadow: 6px 6px 0 var(--r-flame); border-color: var(--r-flame); }
body.zt-site .zt-ico, body.zt-site .rdw-ico {
	display: grid; place-items: center; width: 44px; height: 44px;
	border: 1px solid var(--r-ink); border-radius: var(--r-r);
	background: var(--r-sun); color: var(--r-ink);
}
body.zt-site .zt-section--ink .zt-ico { background: var(--r-flame); border-color: var(--r-flame); color: #fff; }
body.zt-site .zt-ico svg, body.zt-site .rdw-ico svg { width: 20px; height: 20px; }
body.zt-site svg { max-width: 100%; }

.rdw-grid { display: grid; gap: clamp(16px, 2vw, 26px); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rdw-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rdw-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* -------------------------------------------------------------- work cards */
.rdw-work { display: grid; gap: clamp(16px, 2vw, 26px); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rdw-work article { border: 1px solid var(--r-line); background: var(--r-white); overflow: hidden; display: flex; flex-direction: column; }
.rdw-work figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 1px solid var(--r-line); }
.rdw-work img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; filter: grayscale(.2); }
.rdw-work article:hover img { transform: scale(1.05); filter: none; }
.rdw-work .rdw-work__body { padding: clamp(18px, 2vw, 26px); display: flex; flex-direction: column; gap: 10px; flex: 1; }
.rdw-work span.rdw-tag {
	align-self: flex-start; font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
	color: var(--r-ink); background: var(--r-sun); padding: 5px 10px; border-radius: 2px;
}
.rdw-work h3 { margin: 0; font-size: 1.12rem; }
.rdw-work p { margin: 0; color: var(--r-muted); font-size: .93rem; line-height: 1.6; }

/* ------------------------------------------------------------ package cards */
.rdw-packs, .zt-price-grid, .rdw-price-grid {
	display: grid; gap: clamp(16px, 2vw, 24px);
	grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch;
}
body.zt-site .rdw-pack, body.zt-site .zt-price {
	display: flex; flex-direction: column; height: 100%;
	background: var(--r-white); border: 1px solid var(--r-ink); border-radius: var(--r-r);
	padding: clamp(24px, 2.6vw, 34px); position: relative;
}
body.zt-site .rdw-pack.is-featured, body.zt-site .zt-price.is-featured {
	background: var(--r-ink); color: #C8C4BA; box-shadow: 8px 8px 0 var(--r-flame);
}
body.zt-site .rdw-pack.is-featured h3, body.zt-site .zt-price.is-featured h3,
body.zt-site .rdw-pack.is-featured .rdw-pack__amount, body.zt-site .zt-price.is-featured .zt-price__amount { color: #fff; }
body.zt-site .rdw-pack__flag, body.zt-site .zt-price__flag {
	position: absolute; top: -13px; left: clamp(24px, 2.6vw, 34px);
	background: var(--r-sun); color: var(--r-ink); border: 1px solid var(--r-ink);
	font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
	padding: 5px 12px; border-radius: 2px;
}
body.zt-site .rdw-pack h3, body.zt-site .zt-price h3 { margin: 0; font-size: 1.25rem; }
body.zt-site .rdw-pack__amount, body.zt-site .zt-price__amount {
	margin: 14px 0 4px; font-family: var(--r-display); font-weight: 600;
	font-size: clamp(2.3rem, 4.2vw, 3.1rem); line-height: 1; color: var(--r-ink);
}
body.zt-site .rdw-pack__amount small, body.zt-site .zt-price__amount small {
	font-family: var(--r-body); font-size: .92rem; font-weight: 600; color: var(--r-muted);
}
body.zt-site .rdw-pack.is-featured .rdw-pack__amount small { color: #A9A69D; }
body.zt-site .rdw-pack ul, body.zt-site .zt-price ul {
	list-style: none; margin: 20px 0 24px; padding: 0; display: grid; gap: 11px; flex: 1;
	border-top: 1px solid var(--r-line); padding-top: 20px;
}
body.zt-site .rdw-pack.is-featured ul, body.zt-site .zt-price.is-featured ul { border-color: var(--r-line-dark); }
body.zt-site .rdw-pack li, body.zt-site .zt-price li {
	position: relative; padding-left: 24px; font-size: .93rem; line-height: 1.5; color: inherit;
}
body.zt-site .rdw-pack li::before, body.zt-site .zt-price li::before {
	content: ""; position: absolute; left: 0; top: .45em; width: 11px; height: 11px;
	border: 2px solid var(--r-flame); border-radius: 2px;
}
body.zt-site .rdw-pack .rdw-btn, body.zt-site .zt-price .zt-btn { width: 100%; }
body.zt-site .rdw-pack.is-featured .rdw-btn--ghost { color: #fff; border-color: rgba(247,244,239,.5); }
body.zt-site .rdw-pack.is-featured .rdw-btn--ghost:hover { background: var(--r-bone); color: var(--r-ink); }

/* --------------------------------------------------------------- process */
.rdw-steps, body.zt-site .zt-steps {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
	border: 1px solid var(--r-line); background: var(--r-white);
}
body.zt-site .zt-step, .rdw-step {
	padding: clamp(22px, 2.6vw, 34px); border-right: 1px solid var(--r-line); background: transparent;
}
body.zt-site .zt-step:last-child, .rdw-step:last-child { border-right: 0; }
body.zt-site .zt-step__n, .rdw-step__n {
	display: inline-block; font-family: var(--r-display); font-size: 1.5rem; font-weight: 700;
	color: var(--r-flame); background: none; width: auto; height: auto; margin-bottom: 12px;
}
body.zt-site .zt-step h3, .rdw-step h3 { margin: 0 0 8px; font-size: 1.15rem; }
body.zt-site .zt-step p, .rdw-step p { margin: 0; color: var(--r-muted); font-size: .93rem; line-height: 1.6; }

/* ------------------------------------------------------------ testimonials */
body.zt-site .rdw-quote, body.zt-site .zt-quote {
	background: var(--r-white); border: 1px solid var(--r-line); border-left: 3px solid var(--r-flame);
	border-radius: var(--r-r); padding: clamp(22px, 2.4vw, 32px); height: 100%;
}
body.zt-site .rdw-quote p { margin: 0; font-family: var(--r-display); font-size: 1.05rem; line-height: 1.5; color: var(--r-ink); }
body.zt-site .rdw-quote footer { margin-top: 18px; font-size: .86rem; color: var(--r-muted); display: grid; gap: 2px; }
body.zt-site .rdw-quote footer strong { color: var(--r-ink); }

/* --------------------------------------------------------------------- faq */
body.zt-site .rdw-faq details {
	border: 1px solid var(--r-line); border-radius: var(--r-r); background: var(--r-white);
	padding: 16px 20px; margin-bottom: 10px;
}
body.zt-site .rdw-faq details[open] { border-color: var(--r-ink); box-shadow: 4px 4px 0 var(--r-sun); }
body.zt-site .rdw-faq summary {
	cursor: pointer; font-weight: 700; font-family: var(--r-display); font-size: 1rem; color: var(--r-ink);
	list-style: none; display: flex; justify-content: space-between; gap: 14px;
}
body.zt-site .rdw-faq summary::-webkit-details-marker { display: none; }
body.zt-site .rdw-faq summary::after { content: "+"; color: var(--r-flame); font-size: 1.3rem; line-height: 1; }
body.zt-site .rdw-faq details[open] summary::after { content: "–"; }
body.zt-site .rdw-faq p { margin: 12px 0 0; color: var(--r-muted); font-size: .94rem; line-height: 1.65; }

/* ------------------------------------------------------ custom package form */
body.zt-site .zt-custom__form {
	background: var(--r-white); border: 1px solid var(--r-ink); border-radius: var(--r-r);
	padding: clamp(22px, 3vw, 40px); box-shadow: 8px 8px 0 var(--r-ink);
}
body.zt-site .zt-field { margin-bottom: 20px; }
body.zt-site .zt-field label {
	display: block; font-weight: 700; font-size: .82rem; letter-spacing: .12em;
	text-transform: uppercase; color: var(--r-ink); margin-bottom: 9px;
}
body.zt-site .zt-field input[type="text"],
body.zt-site .zt-field input[type="number"],
body.zt-site .zt-field textarea {
	width: 100%; border: 1px solid var(--r-line); border-radius: var(--r-r);
	padding: 13px 15px; font-family: var(--r-body); font-size: .96rem; background: var(--r-bone);
	color: var(--r-text);
}
body.zt-site .zt-field input:focus, body.zt-site .zt-field textarea:focus {
	outline: none; border-color: var(--r-flame); background: #fff; box-shadow: 0 0 0 3px rgba(255, 74, 35, .14);
}
body.zt-site .zt-chiplist { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0; }
body.zt-site .zt-chip {
	border: 1px solid var(--r-line); background: var(--r-bone); color: var(--r-ink);
	border-radius: 999px; padding: 8px 14px; font-size: .84rem; font-weight: 600; cursor: pointer;
}
body.zt-site .zt-chip:hover, body.zt-site .zt-chip.is-on { background: var(--r-ink); color: var(--r-bone); border-color: var(--r-ink); }
body.zt-site .zt-field__money { display: flex; align-items: center; gap: 10px; }
body.zt-site .zt-field__money span { font-family: var(--r-display); font-size: 1.4rem; color: var(--r-flame); }
body.zt-site .zt-field__hint { margin: 6px 0 0; font-size: .82rem; color: var(--r-muted); }

/* ------------------------------------------------------------------ banner */
body.zt-site .zt-banner, body.zt-site .rdw-banner {
	background: var(--r-ink); color: #CFCABF; border-bottom: 1px solid var(--r-ink);
	padding: clamp(48px, 6vw, 96px) 0 clamp(40px, 5vw, 76px);
	position: relative; overflow: hidden;
}
body.zt-site .zt-banner::after {
	content: ""; position: absolute; inset: auto -10% -60% 55%;
	height: 320px; background: radial-gradient(closest-side, rgba(255, 74, 35, .35), transparent 70%);
	pointer-events: none;
}
body.zt-site .zt-banner h1, body.zt-site .rdw-banner h1 {
	color: #fff; font-size: clamp(2.1rem, 5vw, 3.7rem); line-height: 1.02; margin: 16px 0 0; max-width: 20ch;
}
body.zt-site .zt-banner p { color: #A9A69D; max-width: 60ch; }

/* ------------------------------------------------------------------ footer */
body.zt-site .rdw-foot { background: var(--r-ink); color: #A9A69D; border-top: 4px solid var(--r-flame); }
body.zt-site .rdw-foot h3 {
	color: #fff; font-family: var(--r-body); font-size: .78rem; letter-spacing: .2em;
	text-transform: uppercase; margin: 0 0 14px;
}
body.zt-site .rdw-foot a { color: #C6C2B8; text-decoration: none; }
body.zt-site .rdw-foot a:hover { color: var(--r-sun); }
body.zt-site .rdw-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: .92rem; }
body.zt-site .rdw-foot__top {
	display: grid; grid-template-columns: 1.6fr repeat(4, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 44px);
	padding-bottom: clamp(30px, 4vw, 54px); border-bottom: 1px solid var(--r-line-dark);
}
body.zt-site .rdw-foot__brand img { height: 58px !important; width: auto !important; max-width: 230px !important; object-fit: contain; }
body.zt-site .rdw-foot__brand p { margin: 18px 0 0; font-size: .93rem; line-height: 1.65; max-width: 42ch; }
body.zt-site .rdw-foot__bottom {
	display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between;
	padding: 22px 0 34px; font-size: .85rem;
}
body.zt-site .rdw-cta {
	display: grid; grid-template-columns: 1.5fr auto; gap: clamp(20px, 3vw, 44px); align-items: center;
	background: var(--r-flame); color: #fff; border-radius: var(--r-r);
	padding: clamp(26px, 3.4vw, 48px); margin-top: clamp(-90px, -6vw, -40px);
	position: relative; z-index: 2; box-shadow: 10px 10px 0 var(--r-ink-3);
}
body.zt-site .rdw-cta h2 { color: #fff; margin: 0; font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1.08; }
body.zt-site .rdw-cta p { margin: 12px 0 0; color: rgba(255, 255, 255, .9); }
body.zt-site .rdw-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }
body.zt-site .rdw-cta .rdw-btn--mint { background: #fff; border-color: #fff; color: var(--r-ink); }
body.zt-site .rdw-cta .rdw-btn--mint:hover { background: var(--r-ink); border-color: var(--r-ink); color: #fff; box-shadow: 4px 4px 0 rgba(0,0,0,.25); }
body.zt-site .rdw-cta .rdw-btn--wire { border-color: rgba(255,255,255,.7); color: #fff; }

/* -------------------------------------------------------- shop / products */
body.zt-site ul.products li.product .woocommerce-loop-product__link,
body.zt-site ul.products li.product {
	border-radius: var(--r-r);
}
body.zt-site ul.products li.product {
	background: var(--r-white); border: 1px solid var(--r-line); overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.zt-site ul.products li.product:hover { transform: translate(-3px, -3px); border-color: var(--r-ink); box-shadow: 6px 6px 0 var(--r-ink); }
body.zt-site ul.products li.product .woocommerce-loop-product__title { font-family: var(--r-display); color: var(--r-ink); }
body.zt-site .price, body.zt-site .woocommerce-Price-amount { color: var(--r-ink); font-weight: 700; }
body.zt-site .sc-prod-head { background: var(--r-ink); color: #CFCABF; }
body.zt-site .sc-prod-head h1 { color: #fff; }
body.zt-site .sc-kicker { color: var(--r-sun); letter-spacing: .2em; text-transform: uppercase; font-size: .72rem; font-weight: 700; }
body.zt-site .sc-packpick__opt {
	border: 1px solid var(--r-line); border-radius: var(--r-r); background: var(--r-white);
}
body.zt-site .sc-packpick__opt[aria-pressed="true"] {
	border-color: var(--r-flame); box-shadow: 4px 4px 0 var(--r-flame); background: var(--r-bone);
}
body.zt-site .sc-buybox { border: 1px solid var(--r-ink); border-radius: var(--r-r); background: var(--r-white); }

/* cart / checkout keep their structure — colours and edges only */
body.zt-site .sc-cart-card,
body.zt-site .sc-order-box,
body.zt-site .woocommerce-checkout .woocommerce-checkout-review-order,
body.zt-site .woocommerce-cart .cart_totals {
	border-radius: var(--r-r); border-color: var(--r-line);
}
body.zt-site table.shop_table { border-radius: var(--r-r); border-color: var(--r-line); }
body.zt-site .woocommerce form .form-row input.input-text,
body.zt-site .woocommerce form .form-row textarea,
body.zt-site .woocommerce form .form-row select,
body.zt-site .select2-container--default .select2-selection--single {
	border-radius: var(--r-r) !important; border-color: var(--r-line) !important; background: var(--r-bone) !important;
	font-family: var(--r-body);
}
body.zt-site .woocommerce-info, body.zt-site .woocommerce-message {
	border-top-color: var(--r-flame); border-radius: var(--r-r);
}
body.zt-site #payment ul.payment_methods { border-radius: var(--r-r); }

/* -------------------------------------------------------------- responsive */
@media (max-width: 1180px) {
	.rdw-hero__grid { grid-template-columns: 1fr; align-items: start; }
	.rdw-hero__panel { order: -1; }
	.rdw-hero__badge { left: auto; right: 14px; bottom: -16px; }
	body.zt-site .rdw-foot__top { grid-template-columns: 1.4fr repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.rdw-index__row { grid-template-columns: 54px minmax(0, 1fr) auto; }
	.rdw-index__row p { grid-column: 2 / 4; }
	.rdw-grid, .rdw-work, .rdw-packs, .zt-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rdw-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rdw-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rdw-ledger > div:nth-child(2n) { border-right: 0; }
	.rdw-ledger > div:nth-child(-n+2) { border-bottom: 1px solid var(--r-line); }
	.rdw-steps, body.zt-site .zt-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.zt-site .zt-step:nth-child(2n), .rdw-step:nth-child(2n) { border-right: 0; }
	body.zt-site .zt-step:nth-child(-n+2), .rdw-step:nth-child(-n+2) { border-bottom: 1px solid var(--r-line); }
	body.zt-site .rdw-cta { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
	.rdw-header__strip .rdw-wrap > span.rdw-strip-hide { display: none; }
	.rdw-brand img, .rdw-brand .custom-logo { height: 44px !important; max-width: 170px !important; }
	.rdw-packs, .zt-price-grid { grid-template-columns: 1fr; }
	body.zt-site .rdw-pack.is-featured { box-shadow: 6px 6px 0 var(--r-flame); }
}
@media (max-width: 720px) {
	.rdw-grid, .rdw-grid--2, .rdw-grid--4, .rdw-work { grid-template-columns: 1fr; }
	.rdw-ledger { grid-template-columns: 1fr; }
	.rdw-ledger > div { border-right: 0; border-bottom: 1px solid var(--r-line); }
	.rdw-ledger > div:last-child { border-bottom: 0; }
	.rdw-steps, body.zt-site .zt-steps { grid-template-columns: 1fr; }
	body.zt-site .zt-step, .rdw-step { border-right: 0; border-bottom: 1px solid var(--r-line); }
	body.zt-site .zt-step:last-child, .rdw-step:last-child { border-bottom: 0; }
	.rdw-index__row { grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 12px; }
	.rdw-index__row p { grid-column: 2 / 4; font-size: .9rem; }
	.rdw-index__go { width: 38px; height: 38px; }
	.rdw-hero h1 { font-size: clamp(2.1rem, 10vw, 3rem); }
	.rdw-hero__cta .rdw-btn { flex: 1 1 100%; height: 52px; padding-block: 0; }
	body.zt-site .rdw-foot__top { grid-template-columns: 1fr; }
	body.zt-site .rdw-cta { margin-top: -30px; }
}

/* ------------------------------------------------- nav visibility (fixes) */
body.zt-site .rdw-has-drop { position: relative; }
body.zt-site .rdw-drop {
	position: absolute; top: calc(100% + 6px); left: 0; z-index: 120;
	width: min(420px, 80vw); padding: 10px; display: grid; gap: 2px;
	opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none;
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
body.zt-site .rdw-has-drop:hover .rdw-drop,
body.zt-site .rdw-has-drop:focus-within .rdw-drop {
	opacity: 1; visibility: visible; transform: none; pointer-events: auto;
}
body.zt-site .rdw-drop a {
	display: block; padding: 10px 12px; font-size: .92rem; font-weight: 600;
	color: var(--r-ink); text-decoration: none;
}
body.zt-site .rdw-drop a span {
	display: block; margin-top: 3px; font-size: .8rem; font-weight: 400;
	color: var(--r-muted); line-height: 1.45;
}
body.zt-site .rdw-drop a:hover span { color: var(--r-muted); }

body.zt-site .rdw-mobile { display: none; }
body.zt-site .rdw-mobile.is-open { display: block; padding-block: 8px 22px; }
body.zt-site .rdw-mobile ul { list-style: none; margin: 0; padding: 0; }
body.zt-site .rdw-mobile__sub { padding-left: 16px; }
body.zt-site .rdw-mobile__actions { display: grid; gap: 10px; margin-top: 18px; }
body.zt-site .rdw-burger { display: none; }
body.zt-site .rdw-header__cta { white-space: nowrap; }

@media (max-width: 1180px) {
	body.zt-site .rdw-nav { display: none; }
	body.zt-site .rdw-burger { display: grid; }
}
@media (max-width: 640px) {
	body.zt-site .rdw-header__cta,
	body.zt-site .rdw-search { display: none; }
}

/* ==================================================================
   v1.0.2 — live-site corrections
   ================================================================== */

/* Header tools row: was unstyled, so the search / cart / CTA stacked
   vertically and spilled out of the bar on every page. */
body.zt-site .rdw-tools {
	display: flex; align-items: center; gap: 10px; flex-shrink: 0;
}
body.zt-site .rdw-header__bar { flex-wrap: nowrap; }
body.zt-site .rdw-brand { flex: 0 0 auto; display: flex; align-items: center; }
body.zt-site .rdw-nav { flex: 1 1 auto; justify-content: center; }

/* Ledger stats: the counter span picked up a block/smaller type from the
   legacy sheet, pushing the suffix onto its own line. */
body.zt-site .rdw-ledger strong { display: flex; align-items: baseline; gap: 2px; }
body.zt-site .rdw-ledger strong .zt-count {
	display: inline; font: inherit; color: inherit; letter-spacing: inherit;
}

/* Page banners inherited the old midnight/violet gradient. Re-cast them in
   the Solar Graphite palette. */
body.zt-site .zt-banner {
	background: var(--r-ink);
	background-image:
		linear-gradient(180deg, rgba(255, 74, 35, .16), rgba(20, 22, 27, 0) 62%),
		repeating-linear-gradient(90deg, rgba(247, 244, 239, .05) 0 1px, transparent 1px 88px);
	color: var(--r-bone);
	border-bottom: 3px solid var(--r-flame);
	padding-block: clamp(48px, 6vw, 96px);
}
body.zt-site .zt-banner::before,
body.zt-site .zt-banner::after { display: none !important; }
body.zt-site .zt-banner h1 {
	font-family: var(--r-display); color: var(--r-bone);
	font-size: clamp(2.1rem, 5.4vw, 4rem); line-height: 1.02; margin: 10px 0 0;
}
body.zt-site .zt-banner .zt-lead { color: rgba(247, 244, 239, .76); max-width: 62ch; margin-top: 14px; }
body.zt-site .zt-banner .zt-eyebrow { color: var(--r-flame); }
body.zt-site .zt-crumbs, body.zt-site .zt-crumbs a { color: rgba(247, 244, 239, .62); }
body.zt-site .zt-crumbs a:hover { color: var(--r-flame); }

/* WooCommerce buttons were falling back to the core blue. */
body.zt-site .woocommerce a.button,
body.zt-site .woocommerce button.button,
body.zt-site .woocommerce input.button,
body.zt-site .woocommerce a.button.alt,
body.zt-site .woocommerce button.button.alt,
body.zt-site .woocommerce input.button.alt,
body.zt-site .woocommerce #respond input#submit,
body.zt-site ul.products li.product .button,
body.zt-site .wc-block-components-button {
	background: var(--r-flame) !important;
	border: 1px solid var(--r-flame) !important;
	color: #fff !important;
	border-radius: var(--r-r) !important;
	font-weight: 700; letter-spacing: .01em;
	padding: 12px 20px !important; min-height: 46px;
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
	box-shadow: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body.zt-site .woocommerce a.button:hover,
body.zt-site .woocommerce button.button:hover,
body.zt-site .woocommerce input.button:hover,
body.zt-site .woocommerce a.button.alt:hover,
body.zt-site .woocommerce button.button.alt:hover,
body.zt-site ul.products li.product .button:hover {
	background: var(--r-ink) !important; border-color: var(--r-ink) !important;
	transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--r-flame);
}
body.zt-site .woocommerce a.button.wc-forward:not(.checkout-button),
body.zt-site .woocommerce .return-to-shop .button {
	background: var(--r-ink) !important; border-color: var(--r-ink) !important;
}

/* Shop grid: equal-height cards with a consistent 4:3 media band. */
body.zt-site ul.products li.product img {
	aspect-ratio: 3 / 2; object-fit: cover; width: 100%; height: auto; margin-bottom: 14px;
}
body.zt-site ul.products li.product { display: flex; flex-direction: column; padding-bottom: 18px; }
body.zt-site ul.products li.product .button { margin-top: auto; align-self: flex-start; margin-inline: 18px; }
body.zt-site ul.products li.product .woocommerce-loop-product__title,
body.zt-site ul.products li.product .price,
body.zt-site ul.products li.product > p { padding-inline: 18px; }

/* Footer CTA slab: the overlap pulled it under the previous section and
   clipped the first line of the heading. */
body.zt-site .rdw-foot { padding-top: clamp(70px, 8vw, 120px); }
body.zt-site .rdw-cta { margin-top: 0; }
body.zt-site .rdw-foot .rdw-cta { margin-top: clamp(-56px, -4vw, -28px); }
@media (max-width: 720px) {
	body.zt-site .rdw-foot .rdw-cta { margin-top: -18px; }
	body.zt-site .rdw-tools { gap: 8px; }
}
