/* ==========================================================================
   Justin Traders LLC — "Nordic Steel" design system
   Loaded last: intentionally overrides the inherited base layers.
   ========================================================================== */

:root,
body.zt-site {
	--iw-ink: #0E1726;
	--iw-ink-2: #16223A;
	--iw-graphite: #1E293B;
	--iw-cobalt: #2E5BFF;
	--iw-cobalt-d: #0B2A8F;
	--iw-yellow: #FFC53D;
	--iw-mist: #EEF2FA;
	--iw-mist-2: #F7F9FD;
	--iw-white: #FFFFFF;
	--iw-body: #4A5468;
	--iw-line: #DCE3F0;
	--iw-line-d: rgba(255, 255, 255, .16);
	--iw-r: 18px;
	--iw-r-sm: 12px;
	--iw-sans: "DM Sans", "Segoe UI", system-ui, sans-serif;
	--iw-display: "Space Grotesk", "DM Sans", system-ui, sans-serif;
	--iw-shadow: 0 24px 60px -30px rgba(14, 23, 38, .35);

	/* Re-tint inherited legacy tokens so older rules follow the new brand. */
	--itl-marine: #0E1726;
	--itl-marine-2: #16223A;
	--itl-coral: #2E5BFF;
	--itl-sky: #FFC53D;
	--itl-ivory: #F7F9FD;
	--itl-white: #FFFFFF;
	--itl-line: #DCE3F0;
	--itl-muted: #4A5468;
	--itl-serif: "Space Grotesk", system-ui, sans-serif;
	--itl-sans: "DM Sans", system-ui, sans-serif;
	--pi-navy: #0E1726;
	--pi-ivory: #F7F9FD;
	--pi-white: #FFFFFF;
	--pi-ink: #0E1726;
	--pi-muted: #4A5468;
	--pi-line: #DCE3F0;
	--pi-line-dark: rgba(255, 255, 255, .16);
	--pi-gold: #FFC53D;
	--pi-verdigris: #2E5BFF;
	--pi-serif: "Space Grotesk", system-ui, sans-serif;
	--pi-sans: "DM Sans", system-ui, sans-serif;
	--zt-brand: #2E5BFF;
	--zt-ink: #0E1726;
	--zt-muted: #4A5468;
	--zt-line: #DCE3F0;
}

body.zt-site {
	background: var(--iw-white);
	color: var(--iw-body);
	font-family: var(--iw-sans);
	font-size: 16px;
	line-height: 1.65;
	overflow-x: hidden;
}

body.zt-site h1,
body.zt-site h2,
body.zt-site h3,
body.zt-site h4,
body.zt-site h5 {
	font-family: var(--iw-display);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.14;
	color: var(--iw-ink);
}

body.zt-site a { color: var(--iw-cobalt); }
body.zt-site img { max-width: 100%; height: auto; }

.iw-wrap {
	width: min(1240px, 100% - 40px);
	margin-inline: auto;
}

.iw-skip {
	position: absolute;
	left: -9999px;
}
.iw-skip:focus {
	left: 16px;
	top: 16px;
	z-index: 999;
	padding: 10px 16px;
	background: var(--iw-cobalt);
	color: #fff;
	border-radius: 999px;
}

/* ---------- buttons ---------- */
.iw-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 999px;
	font: 600 .95rem/1 var(--iw-sans);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .18s ease, background .18s ease, color .18s ease;
}
.iw-btn:hover { transform: translateY(-2px); }
.iw-btn svg { width: 17px; height: 17px; }
.iw-btn--solid { background: var(--iw-cobalt); color: #fff !important; }
.iw-btn--solid:hover { background: var(--iw-cobalt-d); }
.iw-btn--yellow { background: var(--iw-yellow); color: var(--iw-ink) !important; }
.iw-btn--line { background: transparent; border-color: var(--iw-line); color: var(--iw-ink) !important; }
.iw-btn--line:hover { border-color: var(--iw-cobalt); color: var(--iw-cobalt) !important; }
.iw-btn--ghost { background: var(--iw-mist); color: var(--iw-ink) !important; }
.iw-btn--ghostlight { background: transparent; border-color: var(--iw-line-d); color: #fff !important; }
.iw-btn--sm { min-height: 42px; padding: 0 18px; font-size: .85rem; }

.iw-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	color: var(--iw-cobalt);
	font: 700 .72rem/1.4 var(--iw-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.iw-eyebrow--light { color: var(--iw-yellow); }
.iw-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--iw-yellow); }

/* ---------- header ---------- */
.iw-head {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--iw-line);
}
.iw-head__inner {
	width: min(1240px, 100% - 40px);
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 84px;
}
.iw-brand { display: flex; align-items: center; flex: 0 0 auto; }
.iw-brand img,
.iw-brand .custom-logo { width: auto !important; height: 44px !important; max-height: 44px; }
.iw-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.iw-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 10px 14px;
	border-radius: 999px;
	color: var(--iw-ink);
	font: 600 .92rem/1 var(--iw-sans);
	text-decoration: none;
}
.iw-nav__link:hover { background: var(--iw-mist); color: var(--iw-cobalt); }
.iw-nav__chev { width: 14px; height: 14px; }
.iw-nav__item { position: relative; }
.iw-mega {
	position: absolute;
	left: 50%;
	top: calc(100% + 14px);
	width: min(1120px, calc(100vw - 48px));
	transform: translateX(-50%) translateY(8px);
	background: #fff;
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r);
	box-shadow: var(--iw-shadow);
	opacity: 0;
	visibility: hidden;
	transition: opacity .18s ease, transform .18s ease;
}
.iw-nav__item--mega:hover .iw-mega,
.iw-nav__item--mega:focus-within .iw-mega {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
.iw-mega__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) .9fr;
	gap: 26px;
	padding: 28px;
}
.iw-mega__title { margin: 0 0 12px; color: var(--iw-ink); font: 700 .72rem/1.4 var(--iw-sans); letter-spacing: .12em; text-transform: uppercase; }
.iw-mega ul { list-style: none; margin: 0; padding: 0; }
.iw-mega li + li { margin-top: 8px; }
.iw-mega a { color: var(--iw-body); font-size: .88rem; text-decoration: none; }
.iw-mega a:hover { color: var(--iw-cobalt); }
.iw-mega__aside { padding: 20px; background: var(--iw-mist); border-radius: var(--iw-r-sm); }
.iw-mega__aside p { font-size: .85rem; margin: 0 0 14px; }

.iw-head__tools { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.iw-iconbtn {
	position: relative;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid var(--iw-line);
	border-radius: 50%;
	background: #fff;
	color: var(--iw-ink);
	cursor: pointer;
}
.iw-iconbtn:hover { border-color: var(--iw-cobalt); color: var(--iw-cobalt); }
.iw-cartcount {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: var(--iw-cobalt);
	color: #fff;
	font-size: .68rem;
	font-weight: 700;
}
.iw-cartcount.is-empty { display: none; }
.iw-burger { display: none; }

.iw-mobile { display: none; }
.iw-mobile__inner { padding: 18px 0 30px; }
.iw-mobile a {
	display: block;
	padding: 11px 0;
	border-bottom: 1px solid var(--iw-line);
	color: var(--iw-ink);
	font-weight: 600;
	text-decoration: none;
}
.iw-mobile__sub { font-weight: 400 !important; font-size: .92rem; color: var(--iw-body) !important; }
.iw-mobile__label {
	margin: 18px 0 4px;
	color: var(--iw-cobalt);
	font: 700 .7rem/1 var(--iw-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.iw-mobile__cta { width: 100%; margin-top: 20px; }

/* ---------- hero ---------- */
.iw-hero {
	position: relative;
	background: linear-gradient(180deg, var(--iw-mist-2) 0%, #fff 78%);
	overflow: hidden;
}
.iw-hero__dots {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(46, 91, 255, .16) 1.2px, transparent 1.2px);
	background-size: 22px 22px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, .55), transparent 65%);
	pointer-events: none;
}
.iw-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	align-items: center;
	gap: 56px;
	padding: 72px 0 84px;
}
.iw-hero h1 { margin: 0 0 18px; font-size: clamp(2.4rem, 4.4vw, 4rem); }
.iw-hero h1 em {
	font-style: normal;
	background: linear-gradient(120deg, var(--iw-cobalt), var(--iw-cobalt-d));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.iw-lead { max-width: 56ch; margin: 0 0 26px; font-size: 1.06rem; color: var(--iw-body); }
.iw-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.iw-hero__facts {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 34px 0 0;
	padding: 0;
}
.iw-hero__facts li {
	flex: 1 1 150px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r-sm);
}
.iw-hero__facts strong { display: block; font: 700 1.5rem/1 var(--iw-display); color: var(--iw-ink); }
.iw-hero__facts span { font-size: .82rem; }

.iw-hero__media { position: relative; }
.iw-hero__shot { margin: 0; border-radius: var(--iw-r); overflow: hidden; box-shadow: var(--iw-shadow); }
.iw-hero__shot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.iw-hero__shot--main { aspect-ratio: 4 / 3; }
.iw-hero__shot--sub {
	position: absolute;
	right: -8px;
	bottom: -42px;
	width: 45%;
	aspect-ratio: 1 / 1;
	border: 6px solid #fff;
}
.iw-hero__chip {
	position: absolute;
	left: -14px;
	bottom: 22px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: var(--iw-ink);
	color: #fff;
	border-radius: 999px;
	box-shadow: var(--iw-shadow);
}
.iw-hero__chip strong { display: block; font: 600 .85rem/1.2 var(--iw-sans); color: #fff; }
.iw-hero__chip small { font-size: .72rem; color: rgba(255, 255, 255, .7); }
.iw-hero__chipdot { width: 9px; height: 9px; border-radius: 50%; background: var(--iw-yellow); }

.iw-ribbon { position: relative; border-top: 1px solid var(--iw-line); background: #fff; }
.iw-ribbon__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 34px;
	justify-content: space-between;
	padding: 18px 0;
	color: var(--iw-ink);
	font: 600 .78rem/1 var(--iw-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* ---------- generic sections ---------- */
.iw-sec { padding: clamp(58px, 6vw, 92px) 0; }
.iw-sec--mist { background: var(--iw-mist-2); }
.iw-sec--ink { background: var(--iw-ink); color: rgba(255, 255, 255, .72); }
.iw-sec--ink h2,
.iw-sec--ink h3,
.iw-sec--ink strong { color: #fff; }

.iw-head2 {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	align-items: end;
	gap: 30px;
	margin-bottom: 40px;
}
.iw-head2 h2 { margin: 0; font-size: clamp(1.9rem, 3vw, 2.8rem); }
.iw-head2__note { margin: 0; font-size: .98rem; }
.iw-head2--light .iw-head2__note { color: rgba(255, 255, 255, .68); }

/* ---------- capability tabs + bento ---------- */
.iw-tabs__bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 26px;
}
.iw-tab {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid var(--iw-line);
	border-radius: 999px;
	background: #fff;
	color: var(--iw-ink);
	font: 600 .9rem/1 var(--iw-sans);
	cursor: pointer;
}
.iw-tab b { color: var(--iw-cobalt); font-size: .72rem; letter-spacing: .08em; }
.iw-tab.is-on { background: var(--iw-ink); border-color: var(--iw-ink); color: #fff; }
.iw-tab.is-on b { color: var(--iw-yellow); }
.iw-tabs__panel { display: none; }
.iw-tabs__panel.is-on { display: block; }
.iw-tabs__intro { max-width: 62ch; margin: 0 0 24px; }

.iw-bento {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.iw-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r);
	overflow: hidden;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.iw-card:hover { transform: translateY(-4px); border-color: var(--iw-cobalt); box-shadow: var(--iw-shadow); }
.iw-card--wide { grid-column: span 3; flex-direction: row; align-items: stretch; }
.iw-card__img { display: block; width: 42%; min-height: 100%; }
.iw-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.iw-card__body { display: block; padding: 24px; }
.iw-card--wide .iw-card__body { flex: 1; align-self: center; padding: 30px; }
.iw-card__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 14px;
	border-radius: 12px;
	background: var(--iw-mist);
	color: var(--iw-cobalt);
}
.iw-card h3 { margin: 0 0 8px; font-size: 1.12rem; }
.iw-card--wide h3 { font-size: 1.55rem; }
.iw-card p { margin: 0; color: var(--iw-body); font-size: .92rem; }
.iw-card__go {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
	color: var(--iw-cobalt);
	font: 600 .84rem/1 var(--iw-sans);
}
.iw-card__go svg { width: 15px; height: 15px; }

/* ---------- why ---------- */
.iw-why__grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 48px;
	align-items: start;
}
.iw-why__media { position: sticky; top: 110px; border-radius: var(--iw-r); overflow: hidden; }
.iw-why__media img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.iw-why__copy h2 { margin: 0 0 28px; font-size: clamp(1.9rem, 3vw, 2.6rem); }
.iw-reasons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.iw-reasons article { padding: 22px; border: 1px solid var(--iw-line); border-radius: var(--iw-r-sm); background: #fff; }
.iw-reasons span {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-bottom: 12px;
	border-radius: 11px;
	background: var(--iw-ink);
	color: var(--iw-yellow);
}
.iw-reasons h3 { margin: 0 0 6px; font-size: 1.02rem; }
.iw-reasons p { margin: 0; font-size: .9rem; }

/* ---------- method + stats ---------- */
.iw-steps {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
}
.iw-steps li {
	padding: 24px 20px;
	border: 1px solid var(--iw-line-d);
	border-radius: var(--iw-r-sm);
	background: rgba(255, 255, 255, .04);
}
.iw-steps__n { display: block; margin-bottom: 12px; color: var(--iw-yellow); font: 700 .9rem/1 var(--iw-display); letter-spacing: .1em; }
.iw-steps h3 { margin: 0 0 8px; font-size: 1.05rem; }
.iw-steps p { margin: 0; font-size: .88rem; color: rgba(255, 255, 255, .68); }

.iw-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 26px;
	padding-top: 26px;
	border-top: 1px solid var(--iw-line-d);
}
.iw-stats strong { display: block; font: 700 clamp(1.9rem, 3vw, 2.6rem)/1 var(--iw-display); color: var(--iw-yellow); }
.iw-stats span { font-size: .85rem; color: rgba(255, 255, 255, .7); }

/* ---------- packages ---------- */
.iw-packs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.iw-pack {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 30px;
	background: #fff;
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r);
}
.iw-pack.is-featured { background: var(--iw-ink); border-color: var(--iw-ink); color: rgba(255, 255, 255, .74); }
.iw-pack.is-featured h3,
.iw-pack.is-featured .iw-pack__price strong { color: #fff; }
.iw-pack__flag {
	position: absolute;
	top: 18px;
	right: 18px;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--iw-yellow);
	color: var(--iw-ink);
	font: 700 .68rem/1 var(--iw-sans);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.iw-pack h3 { margin: 0 0 6px; font-size: 1.2rem; }
.iw-pack__price { display: flex; align-items: baseline; gap: 6px; margin: 0 0 10px; }
.iw-pack__price strong { font: 700 2.6rem/1 var(--iw-display); color: var(--iw-ink); }
.iw-pack__price span { font-size: .85rem; }
.iw-pack__sum { margin: 0 0 18px; font-size: .92rem; }
.iw-pack ul { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; }
.iw-pack li { display: flex; gap: 10px; font-size: .9rem; }
.iw-pack li svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--iw-cobalt); }
.iw-pack.is-featured li svg { color: var(--iw-yellow); }
.iw-pack .iw-btn { margin-top: auto; width: 100%; }
.iw-pack.is-featured .iw-btn--solid { background: var(--iw-yellow); color: var(--iw-ink) !important; }

/* ---------- custom package ---------- */
.iw-custom__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 44px; align-items: start; }
.iw-custom__intro h2 { margin: 0 0 14px; font-size: clamp(1.9rem, 3vw, 2.6rem); }
.iw-ticks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.iw-ticks li { display: flex; align-items: center; gap: 10px; font-size: .93rem; }
.iw-ticks svg { width: 17px; height: 17px; color: var(--iw-cobalt); }
.iw-custom__panel {
	padding: 30px;
	background: #fff;
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r);
	box-shadow: var(--iw-shadow);
}
.iw-custom__panel .zt-chip {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 15px;
	margin: 0 6px 8px 0;
	border: 1px solid var(--iw-line);
	border-radius: 999px;
	background: #fff;
	color: var(--iw-ink);
	font: 600 .84rem/1 var(--iw-sans);
	cursor: pointer;
}
.iw-custom__panel .zt-chip.is-on { background: var(--iw-cobalt); border-color: var(--iw-cobalt); color: #fff; }

/* ---------- quotes + faq ---------- */
.iw-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.iw-quotes figure { margin: 0; padding: 26px; background: #fff; border: 1px solid var(--iw-line); border-radius: var(--iw-r); }
.iw-quotes blockquote { margin: 0 0 16px; font-size: 1rem; line-height: 1.7; color: var(--iw-ink); }
.iw-quotes figcaption strong { display: block; color: var(--iw-ink); font-size: .92rem; }
.iw-quotes figcaption span { font-size: .82rem; }

.iw-faqhome__grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 44px; align-items: start; }
.iw-faqhome h2 { margin: 0 0 12px; font-size: clamp(1.9rem, 3vw, 2.6rem); }
.iw-faqhome .iw-btn { margin-top: 20px; }
body.zt-site .iw-acc .zt-acc__item { border: 1px solid var(--iw-line); border-radius: var(--iw-r-sm); margin-bottom: 12px; background: #fff; }
body.zt-site .iw-acc .zt-acc__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	padding: 18px 20px;
	border: 0;
	background: transparent;
	color: var(--iw-ink);
	font: 600 1rem/1.4 var(--iw-sans);
	text-align: left;
	cursor: pointer;
}
body.zt-site .iw-acc .zt-acc__btn svg { flex: 0 0 auto; transition: transform .2s ease; }
body.zt-site .iw-acc .is-open .zt-acc__btn svg { transform: rotate(180deg); }
body.zt-site .iw-acc .zt-acc__panel { display: none; padding: 0 20px 20px; }
body.zt-site .iw-acc .is-open .zt-acc__panel { display: block; }
body.zt-site .iw-acc .zt-acc__panel p { margin: 0; font-size: .93rem; }

/* ---------- footer ---------- */
.iw-foot { background: var(--iw-ink); color: rgba(255, 255, 255, .68); }
.iw-foot__cta { border-bottom: 1px solid var(--iw-line-d); }
.iw-foot__ctainner {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) auto;
	align-items: center;
	gap: 28px;
	padding: 52px 0;
}
.iw-foot__ctainner h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.6rem); color: #fff; }
.iw-foot__ctaactions { display: flex; flex-wrap: wrap; gap: 12px; }
.iw-foot__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(5, minmax(0, 1fr));
	gap: 32px;
	padding: 56px 0;
}
.iw-foot__brand img { width: auto; height: 42px; margin-bottom: 18px; }
.iw-foot__brand p { margin: 0 0 18px; font-size: .88rem; }
.iw-foot__brand address { font-style: normal; display: grid; gap: 10px; font-size: .86rem; }
.iw-foot__brand address span,
.iw-foot__brand address a { display: flex; gap: 9px; color: rgba(255, 255, 255, .68); text-decoration: none; }
.iw-foot__brand address svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--iw-yellow); }
.iw-foot__brand address a:hover { color: var(--iw-yellow); }
.iw-foot__col h3 { margin: 0 0 14px; color: #fff; font: 700 .72rem/1.4 var(--iw-sans); letter-spacing: .12em; text-transform: uppercase; }
.iw-foot__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.iw-foot__col a { color: rgba(255, 255, 255, .66); font-size: .85rem; text-decoration: none; }
.iw-foot__col a:hover { color: var(--iw-yellow); }
.iw-foot__base {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 0 28px;
	border-top: 1px solid var(--iw-line-d);
	font-size: .78rem;
}
.iw-foot__legal { list-style: none; display: flex; flex-wrap: wrap; gap: 16px; margin: 0; padding: 0; }
.iw-foot__legal a { color: rgba(255, 255, 255, .6); text-decoration: none; }
.iw-foot__legal a:hover { color: var(--iw-yellow); }

.iw-totop {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 80;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 50%;
	background: var(--iw-cobalt);
	color: #fff;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
	cursor: pointer;
}
.iw-totop.is-visible { opacity: 1; pointer-events: auto; }

/* ---------- inner page banners / shared blocks ---------- */
body.zt-site .zt-banner {
	position: relative;
	padding: clamp(52px, 6vw, 84px) 0;
	background: var(--iw-ink);
	color: rgba(255, 255, 255, .72);
	border-bottom: 0;
}
body.zt-site .zt-banner .zt-wrap { display: block; }
body.zt-site .zt-banner h1 { margin: 12px 0 14px; font-size: clamp(2.1rem, 4vw, 3.4rem); color: #fff; }
body.zt-site .zt-banner .zt-lead { max-width: 68ch; color: rgba(255, 255, 255, .72); font-size: 1.02rem; }
body.zt-site .zt-banner .zt-eyebrow { color: var(--iw-yellow); font: 700 .72rem/1 var(--iw-sans); letter-spacing: .14em; text-transform: uppercase; }
body.zt-site .zt-crumbs { display: flex; flex-wrap: wrap; gap: 8px; color: rgba(255, 255, 255, .55); font-size: .76rem; }
body.zt-site .zt-crumbs a { color: rgba(255, 255, 255, .78); text-decoration: none; }

body.zt-site .zt-card,
body.zt-site .zt-widget,
body.zt-site .zt-contact-tile,
body.zt-site .zt-quote,
body.zt-site .mx-panel {
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r) !important;
	background: #fff;
}
body.zt-site .zt-field input,
body.zt-site .zt-field textarea,
body.zt-site .zt-field select,
body.zt-site .woocommerce input.input-text,
body.zt-site .woocommerce textarea,
body.zt-site .woocommerce select,
body.zt-site .select2-container .select2-selection {
	border: 1px solid var(--iw-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--iw-ink) !important;
	min-height: 48px;
}

/* ---------- WooCommerce reskin ---------- */
body.zt-site .woocommerce ul.products li.product,
body.zt-site .wc-block-grid__product {
	padding: 14px;
	background: #fff;
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r);
	text-align: left;
}
body.zt-site .woocommerce ul.products li.product img { border-radius: var(--iw-r-sm); margin-bottom: 12px; }
body.zt-site .woocommerce ul.products li.product .woocommerce-loop-product__title { font: 700 1.02rem/1.3 var(--iw-display); color: var(--iw-ink); }
body.zt-site .woocommerce ul.products li.product .price { color: var(--iw-cobalt); font-weight: 700; }
body.zt-site .woocommerce span.onsale { background: var(--iw-yellow); color: var(--iw-ink); border-radius: 999px; }

body.zt-site .woocommerce #respond input#submit,
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 #respond input#submit.alt,
body.zt-site .wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px !important;
	background: var(--iw-cobalt) !important;
	color: #fff !important;
	font: 600 .95rem/1 var(--iw-sans) !important;
	text-transform: none;
}
body.zt-site .woocommerce a.button:hover,
body.zt-site .woocommerce button.button:hover,
body.zt-site .woocommerce input.button:hover { background: var(--iw-cobalt-d) !important; }
body.zt-site .woocommerce .button.checkout-button { width: 100%; }

body.zt-site .woocommerce table.shop_table {
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r);
	border-collapse: separate;
	overflow: hidden;
	background: #fff;
}
body.zt-site .woocommerce table.shop_table th {
	background: var(--iw-ink);
	color: #fff;
	font: 700 .74rem/1 var(--iw-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 15px 14px;
}
body.zt-site .woocommerce table.shop_table td { padding: 16px 14px; border-top: 1px solid var(--iw-line); vertical-align: middle; }
body.zt-site .woocommerce table.shop_table td.product-thumbnail img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; }
body.zt-site .woocommerce table.shop_table td.product-name a { color: var(--iw-ink); font-weight: 600; text-decoration: none; }
body.zt-site .woocommerce .cart-collaterals .cart_totals,
body.zt-site .woocommerce-checkout #order_review,
body.zt-site .woocommerce-checkout .woocommerce-checkout-review-order {
	padding: 24px;
	background: var(--iw-mist-2);
	border: 1px solid var(--iw-line);
	border-radius: var(--iw-r);
}
body.zt-site .woocommerce-message,
body.zt-site .woocommerce-info,
body.zt-site .woocommerce-error {
	border-top: 0;
	border-left: 4px solid var(--iw-cobalt);
	border-radius: var(--iw-r-sm);
	background: var(--iw-mist);
	color: var(--iw-ink);
}
body.zt-site .woocommerce-message::before,
body.zt-site .woocommerce-info::before { color: var(--iw-cobalt); }
body.zt-site #payment ul.payment_methods { border-radius: var(--iw-r-sm); }
body.zt-site .woocommerce div.product .product_title { font-size: clamp(1.8rem, 3vw, 2.6rem); }
body.zt-site .woocommerce div.product p.price { color: var(--iw-cobalt); font-weight: 700; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
	.iw-nav { display: none; }
	.iw-burger { display: grid; }
	.iw-mobile { display: block; max-height: 0; overflow: hidden; border-top: 0 solid var(--iw-line); background: #fff; transition: max-height .28s ease; }
	.iw-mobile.is-open { max-height: 82vh; overflow-y: auto; border-top-width: 1px; }
	.iw-mobile__inner { width: min(1240px, 100% - 40px); margin-inline: auto; }
	.iw-foot__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.iw-foot__brand { grid-column: 1 / -1; }
	.iw-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
	.iw-hero__inner { grid-template-columns: 1fr; padding: 52px 0 70px; }
	.iw-hero__media { max-width: 620px; }
	.iw-hero__shot--sub { bottom: -24px; }
	.iw-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iw-card--wide { grid-column: span 2; }
	.iw-head2 { grid-template-columns: 1fr; align-items: start; }
	.iw-why__grid,
	.iw-custom__grid,
	.iw-faqhome__grid { grid-template-columns: 1fr; }
	.iw-why__media { position: static; max-height: 380px; }
	.iw-why__media img { aspect-ratio: 16 / 9; }
	.iw-packs,
	.iw-quotes { grid-template-columns: 1fr; }
	.iw-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iw-foot__ctainner { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
	.iw-head__cta { display: none; }
	.iw-head__inner { min-height: 72px; }
	.iw-brand img,
	.iw-brand .custom-logo { height: 36px !important; }
	.iw-card--wide { flex-direction: column; }
	.iw-card__img { width: 100%; aspect-ratio: 16 / 9; min-height: 0; }
	.iw-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iw-foot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.iw-wrap,
	.iw-head__inner,
	.iw-mobile__inner { width: min(1240px, 100% - 28px); }
	.iw-hero__shot--sub { position: static; width: 100%; margin-top: 14px; aspect-ratio: 16 / 9; border-width: 0; }
	.iw-hero__chip { position: static; margin-top: 14px; border-radius: var(--iw-r-sm); }
	.iw-actions .iw-btn { width: 100%; }
	.iw-bento,
	.iw-reasons,
	.iw-steps,
	.iw-stats,
	.iw-foot__grid { grid-template-columns: 1fr; }
	.iw-card--wide { grid-column: span 1; }
	.iw-hero__facts li { flex: 1 1 100%; }
	body.zt-site .woocommerce table.shop_table th { display: none; }
	body.zt-site .woocommerce table.shop_table td { display: flex; justify-content: space-between; gap: 14px; }
}

/* ---------- inner page layouts ---------- */
.itl-wrap, .zt-wrap { width: min(1240px, 100% - 40px); margin-inline: auto; }
.iw-disc + .iw-disc { margin-top: 54px; padding-top: 54px; border-top: 1px solid var(--iw-line); }
.iw-disc__head { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 24px; }
.iw-disc__n { font: 700 1rem/1 var(--iw-display); color: var(--iw-cobalt); letter-spacing: .08em; padding-top: 8px; }
.iw-disc__head h2 { margin: 0 0 8px; font-size: clamp(1.6rem, 2.6vw, 2.3rem); }
.iw-disc__head p { margin: 0; max-width: 62ch; }
.iw-cta2 { display: grid; grid-template-columns: minmax(0, 1.2fr) auto; align-items: center; gap: 28px; }
.iw-cta2 h2 { margin: 0 0 10px; font-size: clamp(1.7rem, 2.8vw, 2.4rem); }
.iw-cta2 p { margin: 0; max-width: 60ch; }
.iw-sec--ink .iw-cta2 p { color: rgba(255, 255, 255, .7); }
.iw-about { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 46px; align-items: start; }
.iw-about__media { margin: 0; border-radius: var(--iw-r); overflow: hidden; }
.iw-about__media img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.iw-about__copy h2 { margin: 0 0 16px; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.iw-stats--light { border-top-color: var(--iw-line); }
.iw-stats--light strong { color: var(--iw-cobalt); }
.iw-stats--light span { color: var(--iw-body); }
.iw-about .iw-actions { margin-top: 26px; }
.iw-reasons--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.iw-contact { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 44px; align-items: start; }
.iw-contact h2 { margin: 0 0 12px; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.iw-contactlist { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; }
.iw-contactlist li { display: flex; gap: 14px; padding: 16px; border: 1px solid var(--iw-line); border-radius: var(--iw-r-sm); background: #fff; }
.iw-contactlist span { color: var(--iw-cobalt); }
.iw-contactlist strong { display: block; color: var(--iw-ink); font-size: .92rem; }
.iw-contactlist a { text-decoration: none; word-break: break-word; }
.iw-faqsearch { margin: 22px 0 18px; }
.iw-faqsearch label { display: block; margin-bottom: 8px; font-size: .85rem; font-weight: 600; color: var(--iw-ink); }
@media (max-width: 1024px) {
	.iw-about, .iw-contact, .iw-cta2 { grid-template-columns: 1fr; }
	.iw-about__media img { aspect-ratio: 16 / 9; }
	.iw-reasons--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.iw-reasons--3 { grid-template-columns: 1fr; }
	.iw-disc__head { flex-direction: column; gap: 8px; }
}

/* ---------- specificity guards over inherited layers ---------- */
body.zt-site .iw-sec--ink,
body.zt-site .iw-foot { color: rgba(255, 255, 255, .72); }
body.zt-site .iw-sec--ink h1,
body.zt-site .iw-sec--ink h2,
body.zt-site .iw-sec--ink h3,
body.zt-site .iw-sec--ink h4,
body.zt-site .iw-foot h2,
body.zt-site .iw-foot h3,
body.zt-site .iw-pack.is-featured h3,
body.zt-site .iw-hero__chip strong,
body.zt-site .zt-banner h1 { color: #fff !important; }
body.zt-site .iw-sec--ink p,
body.zt-site .iw-steps p { color: rgba(255, 255, 255, .7); }
body.zt-site .iw-steps__n,
body.zt-site .iw-stats strong,
body.zt-site .iw-eyebrow--light { color: var(--iw-yellow) !important; }
body.zt-site .iw-pack.is-featured,
body.zt-site .iw-pack.is-featured p,
body.zt-site .iw-pack.is-featured li { color: rgba(255, 255, 255, .78); }
body.zt-site .iw-pack.is-featured .iw-pack__price strong { color: #fff !important; }
body.zt-site .iw-head2 h2,
body.zt-site .iw-card h3,
body.zt-site .iw-quotes blockquote { color: var(--iw-ink); }
body.zt-site .iw-head2--light h2 { color: #fff !important; }
body.zt-site .iw-card,
body.zt-site .iw-pack,
body.zt-site .iw-reasons article,
body.zt-site .iw-quotes figure,
body.zt-site .iw-contactlist li { border-radius: var(--iw-r) !important; }
body.zt-site .iw-btn { border-radius: 999px !important; text-decoration: none; }
body.zt-site .iw-foot a,
body.zt-site .iw-foot__legal a,
body.zt-site .iw-foot__col a { color: rgba(255, 255, 255, .72) !important; text-decoration: none; }
body.zt-site .iw-foot a:hover { color: var(--iw-yellow) !important; }
body.zt-site .iw-foot__col h3 { color: rgba(255, 255, 255, .5) !important; }
