/*
 * AS Brand Home — "Store style" per module (field Style = site). Same markup and layout as the AUTOOL
 * original, restyled in this store's design system, measured on autoboss.com (AUTOBOSS Home):
 * IBM Plex Sans in sentence case, ink #191919, muted #707070, lines #e5e5e5, panel #f7f7f7,
 * radii 16 / 12 / 8, the home's pill buttons (40 px, Plex 700 14 px), H2 24 / 20 px with "See all" links,
 * the theme container (same width and gutters as header and footer), section rhythm 48 / 40 / 32.
 * Modules with their own store-style structure use templates/modules/site/{type}.php (asbh-s-* classes);
 * the AUTOOL material (pictures, copy, links) stays the same fields.
 * Modules are converted one at a time, each checked by the owner; a module without rules here keeps the AUTOOL look.
 */

.asbh-page {
	--asbh-s-ink: #191919;
	--asbh-s-muted: #707070;
	--asbh-s-line: #e5e5e5;
	--asbh-s-panel: #f7f7f7;
	--asbh-s-yellow: #fdb016;
	--asbh-s-r: 16px;
	--asbh-s-r-md: 12px;
	--asbh-s-r-sm: 8px;
	--asbh-s-font: var(--autoboss-font-sans, 'IBM Plex Sans', Arial, sans-serif);
	--asbh-s-mono: var(--autoboss-font-mono, 'IBM Plex Mono', ui-monospace, monospace);
	--asbh-s-width: min(var(--theme-container-width, calc(100vw - 160px)), var(--theme-normal-container-max-width, 1600px));
	--asbh-s-top: 24px;
}
@media (max-width: 689.98px) { .asbh-page { --asbh-s-top: 12px; } }

/* Shared: buttons of the store's home (autoboss.com): pill, 40 px, Plex 700 14 px, solid ink / outline,
   white on dark banners; hover lowers opacity like the rest of the home. */
body .asbh-page .asbh-skin-site .autool-hp-btn,
body .asbh-page .asbh-s-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	min-height: 40px;
	padding: 8px 24px;
	border: 1px solid var(--asbh-s-ink);
	border-radius: 999px;
	font-family: var(--asbh-s-font);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	transition: opacity .15s;
}
body .asbh-page .asbh-skin-site .autool-hp-btn-primary { background: var(--asbh-s-ink); color: #fff; }
body .asbh-page .asbh-skin-site :is(.autool-hp-btn-outline, .autool-hp-btn-outline--dark) { background: transparent; color: var(--asbh-s-ink); }
body .asbh-page .asbh-skin-site .autool-hp-btn:is(:hover, :focus-visible) { opacity: .86; }
body .asbh-page .asbh-skin-site :is(a, button):focus-visible { outline: 2px solid #3665f3; outline-offset: 2px; }

/* Shared: store-style section frame and head (H2 24 / 20 px, "See all" link). */
.asbh-page .asbh-s {
	width: var(--asbh-s-width);
	margin: 48px auto 0;
	color: var(--asbh-s-ink);
	font-family: var(--asbh-s-font);
	font-size: 14px;
	line-height: 20px;
}
.asbh-page .asbh-s + section:not(.asbh-s) { margin-top: 48px; }
.asbh-s :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.asbh-s p { margin: 0; }
.asbh-s-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
body .asbh-page .asbh-s-h2 { margin: 0; color: var(--asbh-s-ink); font-family: var(--asbh-s-font); font-size: 24px; font-weight: 700; line-height: 1.34; letter-spacing: normal; text-transform: none; }
.asbh-s-intro { max-width: 720px; margin-top: 4px !important; color: var(--asbh-s-muted); font-size: 14px; line-height: 20px; }
.asbh-s-more { display: inline-flex; flex: none; align-items: center; gap: 4px; padding-bottom: 4px; color: var(--asbh-s-ink); font-size: 14px; line-height: 20px; text-decoration: underline; text-underline-offset: 2px; }
.asbh-s-more:hover { text-decoration-thickness: 2px; }
.asbh-s-i { display: block; flex: none; width: 16px; height: 16px; }

/* Shared: swipe row with arrows. */
.asbh-s-scroller { position: relative; }
.asbh-s-track { display: flex; gap: var(--asbh-s-gap, 12px); overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.asbh-s-track::-webkit-scrollbar { display: none; }
.asbh-s-track > li { flex: 0 0 auto; margin: 0; float: none; scroll-snap-align: start; }
.asbh-s-arrow {
	position: absolute; z-index: 3; top: var(--arrow-top, 50%); display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; margin-top: -20px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--asbh-s-ink);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .16); cursor: pointer; opacity: 0; transition: opacity .2s;
}
.asbh-s-arrow .asbh-s-i { width: 20px; height: 20px; }
.asbh-s-arrow[hidden], .asbh-s-arrow:disabled { display: none; }
.asbh-s-prev { left: -20px; }
.asbh-s-next { right: -20px; }
.asbh-s-scroller:hover > .asbh-s-arrow, .asbh-s-arrow:focus-visible { opacity: 1; }
@media (hover: none) { .asbh-s-arrow { display: none !important; } }

/* ---------- Hero (autoboss.com home hero: rounded dark banner in the container, photo on a left fade) ---------- */
body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site {
	width: var(--asbh-s-width) !important;
	max-width: var(--asbh-s-width) !important;
	min-height: 360px;
	margin: var(--asbh-s-top) auto 0 !important;
	padding: 0 !important;
	overflow: hidden;
	border-radius: var(--asbh-s-r);
	background: #171717;
	isolation: isolate;
	font-family: var(--asbh-s-font);
}
body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site::before {
	background-image: linear-gradient(90deg, #171717 0%, rgba(23, 23, 23, .82) 38%, rgba(23, 23, 23, .2) 72%, rgba(23, 23, 23, 0) 100%) !important;
}
.autool-hp-hero-section.asbh-skin-site > .autool-hp-hero-lcp { object-position: right center; }
.autool-hp-hero-section.asbh-skin-site::after { display: none; }
body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site > .autool-hp-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 40px 24px 40px 64px !important;
}
body.asbh-home .autool-hp-page-wrapper .asbh-skin-site .autool-hp-hero-inner { display: block; max-width: 640px; }
.asbh-skin-site .autool-hp-hero-visual { display: none !important; }
body .asbh-page .asbh-skin-site .autool-hp-hero-tag {
	display: block;
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	color: #fff;
	font-family: var(--asbh-s-font);
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: .02em;
	text-transform: none;
	opacity: .85;
}
.asbh-skin-site .autool-hp-hero-tag::before { content: none; }
body .asbh-page .asbh-skin-site .autool-hp-hero-title {
	margin: 0;
	color: #fff;
	font-family: var(--asbh-s-font);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: normal;
	text-transform: none;
}
.asbh-skin-site .autool-hp-hero-title .autool-hp-accent { color: inherit; }
.asbh-skin-site .autool-hp-hero-desc { max-width: 480px; margin: 12px 0 0; color: #fff; font-size: 16px; line-height: 24px; opacity: .9; }
.asbh-skin-site .autool-hp-hero-btns { gap: 12px; margin-top: 24px; }
body .asbh-page .asbh-skin-site .autool-hp-hero-btns .autool-hp-btn-primary { border-color: #fff; background: #fff; color: #171717; }
body .asbh-page .asbh-skin-site .autool-hp-hero-btns .autool-hp-btn-outline { border-color: #fff; background: transparent; color: #fff; }
/* Key facts: the store's service-bar pattern (bold line + small muted line). */
.asbh-skin-site .autool-hp-hero-stats { gap: 32px; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .16); }
body .asbh-page .asbh-skin-site .autool-hp-hero-stat__num { color: #fff; font-family: var(--asbh-s-font); font-size: 18px; font-weight: 700; line-height: 24px; }
body .asbh-page .asbh-skin-site .autool-hp-hero-stat__label { margin-top: 2px; color: rgba(255, 255, 255, .7); font-family: var(--asbh-s-font); font-size: 13px; line-height: 18px; letter-spacing: normal; text-transform: none; }

@media (max-width: 1023.98px) {
	body .asbh-page .asbh-skin-site .autool-hp-hero-title { font-size: 30px; }
	body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site::before {
		background-image: linear-gradient(90deg, #171717 0%, rgba(23, 23, 23, .86) 55%, rgba(23, 23, 23, .45) 100%) !important;
	}
}
@media (max-width: 767.98px) {
	body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site { min-height: 420px; }
	body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site::before {
		background-image: linear-gradient(180deg, rgba(23, 23, 23, .55) 0%, rgba(23, 23, 23, .88) 45%, #171717 100%) !important;
	}
	body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site > .autool-hp-container { padding: 24px 20px 28px !important; }
	body .asbh-page .asbh-skin-site .autool-hp-hero-title { font-size: 28px; }
	.asbh-skin-site .autool-hp-hero-desc { font-size: 14px; line-height: 20px; }
	.asbh-skin-site .autool-hp-hero-btns { flex-direction: column; align-items: flex-start; gap: 8px; width: auto; }
	body .asbh-page .asbh-skin-site .autool-hp-hero-btns .autool-hp-btn { width: auto; padding: 8px 18px; }
	.asbh-skin-site .autool-hp-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 24px; padding-top: 16px; }
	body .asbh-page .asbh-skin-site .autool-hp-hero-stat__num { font-size: 16px; line-height: 22px; }
	body .asbh-page .asbh-skin-site .autool-hp-hero-stat__label { font-size: 12px; line-height: 16px; }
}

/* ---------- Category grid (autoboss.com category tiles) ---------- */
.asbh-s-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px 12px; }
.asbh-s-tile { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--asbh-s-ink); text-align: center; text-decoration: none; }
.asbh-s-tile__img { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: var(--asbh-s-r); background: var(--asbh-s-panel); }
.asbh-s-tile__img img { display: block; width: 100%; height: 100%; padding: 12%; object-fit: contain; mix-blend-mode: multiply; transition: transform .25s; }
.asbh-s-tile:hover .asbh-s-tile__img img { transform: scale(1.05); }
.asbh-s-tile__name { display: -webkit-box; overflow: hidden; font-size: 14px; font-weight: 700; line-height: 20px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.asbh-s-tile:hover .asbh-s-tile__name { text-decoration: underline; }
.asbh-s-tile__count { margin-top: -6px; color: var(--asbh-s-muted); font-size: 12px; line-height: 16px; }

/* ---------- Product rail / grid (this store's product card) ---------- */
.asbh-page .asbh-s { --asbh-s-per: 5.35; }
/* Room for the card's hover (lift / shadow) inside the scrolling track, cancelled by negative margins. */
.asbh-s .asbh-s-cards { margin: -24px -20px -48px; padding: 24px 20px 48px; scroll-padding-inline: 20px; isolation: isolate; }
.asbh-s .asbh-s-cards > li { width: calc((100% - (var(--asbh-s-per) - 1) * var(--asbh-s-gap, 12px)) / var(--asbh-s-per)); max-width: none; }
.asbh-s .asbh-s-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 12px; margin: 0; }
.asbh-s .asbh-s-grid > li { width: auto; margin: 0; float: none; }
.asbh-s ul.products::before, .asbh-s ul.products::after { display: none; }
@media (min-width: 1024px) and (max-width: 1279.98px) { .asbh-page .asbh-s { --asbh-s-per: 4.35; } }

@media (max-width: 1023.98px) {
	.asbh-page .asbh-s { margin-top: 40px; }
	.asbh-page .asbh-s + section:not(.asbh-s) { margin-top: 40px; }
	.asbh-s-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.asbh-page .asbh-s { --asbh-s-per: 3.35; }
	.asbh-s .asbh-s-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	/* Rows run to the screen edges on touch screens. */
	.asbh-s .asbh-s-cards { margin-inline: calc((100% - 100vw) / 2); padding-inline: calc((100vw - 100%) / 2); scroll-padding-inline: calc((100vw - 100%) / 2); }
	.asbh-s .asbh-s-cards > li { width: calc((100vw - 48px - (var(--asbh-s-per) - 1) * var(--asbh-s-gap, 12px)) / var(--asbh-s-per)); }
}
@media (max-width: 767.98px) {
	.asbh-page .asbh-s { margin-top: 32px; --asbh-s-gap: 10px; }
	.asbh-page .asbh-s + section:not(.asbh-s) { margin-top: 32px; }
	body .asbh-page .asbh-s-h2 { font-size: 20px; }
	.asbh-s-head { align-items: flex-start; }
	.asbh-s-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 12px; }
	.asbh-page .asbh-s { --asbh-s-per: 2.35; }
	.asbh-s .asbh-s-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 10px; }
	.asbh-s .asbh-s-cards > li { width: calc((100vw - 32px - (var(--asbh-s-per) - 1) * var(--asbh-s-gap, 10px)) / var(--asbh-s-per)); }
}

/* ---------- Shared store-style pieces ---------- */
body .asbh-page .asbh-s-btn--solid { border-color: var(--asbh-s-ink); background: var(--asbh-s-ink); color: #fff; }
body .asbh-page .asbh-s-btn--line { border-color: var(--asbh-s-ink); background: transparent; color: var(--asbh-s-ink); }
body .asbh-page .asbh-s-btn--solid.asbh-s-btn--on-dark { border-color: #fff; background: #fff; color: #171717; }
body .asbh-page .asbh-s-btn--line.asbh-s-btn--on-dark { border-color: #fff; color: #fff; }
body .asbh-page .asbh-s-btn--sm { min-height: 36px; padding: 6px 18px; font-size: 13px; }
body .asbh-page .asbh-s-btn:hover, body .asbh-page a:hover > .asbh-s-btn { opacity: .86; }
.asbh-s-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px !important; }
.asbh-s-eyebrow { margin-bottom: 8px !important; color: var(--asbh-s-muted); font-size: 14px; font-weight: 700; line-height: 20px; letter-spacing: .02em; }
.asbh-s-text { margin-top: 12px !important; color: var(--asbh-s-muted); font-size: 15px; line-height: 24px; }
.asbh-s a { color: inherit; }
.asbh-s img { display: block; max-width: 100%; height: auto; }

/* ---------- Feature band: spotlight panel ---------- */
.asbh-s-feature__panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; padding: 24px; border-radius: var(--asbh-s-r); background: var(--asbh-s-panel); }
.asbh-s-feature__media { position: relative; }
.asbh-s .asbh-s-feature__photo { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--asbh-s-r-md); object-fit: cover; }
.asbh-s .asbh-s-feature__card { position: absolute; right: 16px; bottom: 16px; width: 220px; margin: 0; padding: 0; }
.asbh-s .asbh-s-feature__card > li { width: 100%; margin: 0; padding: 8px; border-radius: var(--asbh-s-r-md); background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .16); }
.asbh-s-feature__body { padding-right: 24px; }
.asbh-s-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px !important; }
.asbh-s-facts li { padding: 14px 16px; border-radius: var(--asbh-s-r-md); background: #fff; }
.asbh-s-facts strong { display: block; font-size: 16px; font-weight: 700; line-height: 22px; }
.asbh-s-facts span { display: block; margin-top: 2px; color: var(--asbh-s-muted); font-size: 13px; line-height: 18px; }

/* ---------- Solutions: promo tiles ---------- */
.asbh-s-promos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asbh-s-promo { display: flex; align-items: stretch; height: 100%; min-height: 220px; overflow: hidden; border-radius: var(--asbh-s-r); background: var(--tint, #f7f7f7); color: var(--asbh-s-ink); text-decoration: none; }
.asbh-s-promo__text { display: flex; flex: 1 1 58%; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; padding: 24px 8px 24px 24px; }
.asbh-s-promo__title { font-size: 20px; font-weight: 700; line-height: 28px; }
.asbh-s-promo__desc { display: -webkit-box; overflow: hidden; color: #3d3d3d; font-size: 14px; line-height: 20px; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.asbh-s-promo .asbh-s-btn { margin-top: auto; }
.asbh-s-promo__media { flex: 0 0 42%; min-width: 0; }
.asbh-s .asbh-s-promo__media img { width: 100%; height: 100%; padding: 16px 16px 16px 0; object-fit: contain; mix-blend-mode: multiply; transition: transform .3s; }
.asbh-s-promo:hover .asbh-s-promo__media img { transform: scale(1.04); }
.asbh-s-promo:hover .asbh-s-promo__title { text-decoration: underline; }

/* ---------- Workflow: picture cards ---------- */
.asbh-s-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.asbh-s-step { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--asbh-s-line); border-radius: var(--asbh-s-r); background: #fff; color: var(--asbh-s-ink); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.asbh-s-step:hover { border-color: #c7c7c7; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); }
.asbh-s-step__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--asbh-s-panel); }
.asbh-s .asbh-s-step__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.asbh-s-step:hover .asbh-s-step__img img { transform: scale(1.04); }
.asbh-s-step__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 16px; }
.asbh-s-step__label { color: var(--asbh-s-muted); font-size: 12px; font-weight: 600; line-height: 16px; }
.asbh-s-step__title { font-size: 18px; font-weight: 700; line-height: 24px; }
.asbh-s-step__desc { color: var(--asbh-s-muted); font-size: 14px; line-height: 20px; }
.asbh-s-step__more { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 8px; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- Contact: boxed service bar ---------- */
.asbh-s-services { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.asbh-s-service { display: flex; align-items: flex-start; gap: 16px; padding: 20px 24px; border-radius: var(--asbh-s-r); background: var(--asbh-s-panel); }
.asbh-s-service__icon { display: block; flex: none; width: 32px; height: 32px; color: var(--asbh-s-ink); }
body .asbh-page .asbh-s-service__title { margin: 0; color: var(--asbh-s-ink); font-family: var(--asbh-s-font); font-size: 16px; font-weight: 700; line-height: 22px; text-transform: none; letter-spacing: normal; }
.asbh-s-service__desc { margin-top: 4px !important; color: var(--asbh-s-muted); font-size: 14px; line-height: 20px; }
.asbh-s-service__link { display: inline-flex; align-items: center; gap: 4px; margin-top: 8px; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- FAQ: hairline accordion ---------- */
.asbh-s-faq { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px; align-items: start; }
.asbh-s-faq__intro { position: sticky; top: 24px; }
.asbh-s-faq__list { border-top: 1px solid var(--asbh-s-line); }
.asbh-s-qa { border-bottom: 1px solid var(--asbh-s-line); }
.asbh-s-qa summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; font-size: 16px; font-weight: 600; line-height: 24px; cursor: pointer; list-style: none; }
.asbh-s-qa summary::-webkit-details-marker { display: none; }
.asbh-s-qa summary:hover span:first-child { text-decoration: underline; }
.asbh-s-qa__icon { position: relative; flex: none; width: 28px; height: 28px; border: 1px solid var(--asbh-s-line); border-radius: 50%; }
.asbh-s-qa__icon::before, .asbh-s-qa__icon::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 1.5px; margin: -.75px 0 0 -6px; content: ""; background: currentColor; transition: transform .2s; }
.asbh-s-qa__icon::after { transform: rotate(90deg); }
.asbh-s-qa[open] .asbh-s-qa__icon::after { transform: rotate(0deg); }
.asbh-s-qa__a { padding: 0 44px 20px 0; color: #3d3d3d; font-size: 15px; line-height: 24px; }
.asbh-s-qa__a p + p { margin-top: 10px; }
.asbh-s-qa__a a { color: var(--asbh-s-ink); font-weight: 600; text-decoration: underline; }

/* ---------- News: article cards ---------- */
.asbh-s .asbh-s-posts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 16px; overflow: visible; }
.asbh-s-post { display: flex; flex-direction: column; gap: 6px; color: var(--asbh-s-ink); text-decoration: none; }
.asbh-s-post__img { display: block; aspect-ratio: 16 / 9; margin-bottom: 6px; overflow: hidden; border-radius: var(--asbh-s-r-md); background: var(--asbh-s-panel); }
.asbh-s .asbh-s-post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.asbh-s-post:hover .asbh-s-post__img img { transform: scale(1.04); }
.asbh-s-post__cat { color: var(--asbh-s-muted); font-size: 12px; font-weight: 600; line-height: 16px; }
.asbh-s-post__title { display: -webkit-box; overflow: hidden; font-size: 16px; font-weight: 700; line-height: 22px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.asbh-s-post:hover .asbh-s-post__title { text-decoration: underline; }
.asbh-s-post__date { color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 12px; line-height: 16px; }

/* ---------- Brand band: compact dark banner ---------- */
.asbh-s-about__panel {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 280px; overflow: hidden;
	padding: 40px 64px; border-radius: var(--asbh-s-r); color: #fff;
	background: linear-gradient(90deg, #171717 0%, rgba(23, 23, 23, .85) 45%, rgba(23, 23, 23, .3) 100%), var(--bg-img, none) right center / cover no-repeat, #171717;
}
.asbh-s-about__eyebrow { margin-bottom: 8px !important; font-size: 14px; font-weight: 700; line-height: 20px; letter-spacing: .02em; opacity: .85; }
body .asbh-page .asbh-s-about__title { margin: 0; color: #fff; font-family: var(--asbh-s-font); font-size: 36px; font-weight: 700; line-height: 1.28; letter-spacing: normal; text-transform: none; }
.asbh-s-about__text { max-width: 520px; margin-top: 12px !important; font-size: 16px; line-height: 24px; opacity: .9; }
.asbh-page > .autool-hp-main > .asbh-s:last-child { margin-bottom: 48px; }

@media (max-width: 1023.98px) {
	.asbh-s-feature__panel { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 16px; }
	.asbh-s-feature__body { padding: 0 8px 8px; }
	.asbh-s-promos { grid-template-columns: minmax(0, 1fr); }
	.asbh-s-promo { min-height: 180px; }
	.asbh-s-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.asbh-s-faq { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.asbh-s-faq__intro { position: static; }
	.asbh-s .asbh-s-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.asbh-s-about__panel { padding: 40px; }
	body .asbh-page .asbh-s-about__title { font-size: 30px; }
	.asbh-page > .autool-hp-main > .asbh-s:last-child { margin-bottom: 40px; }
}
@media (max-width: 767.98px) {
	.asbh-s .asbh-s-feature__card { position: static; width: auto; margin-top: 12px; }
	.asbh-s .asbh-s-feature__card > li { box-shadow: none; }
	.asbh-s-facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
	.asbh-s-facts li { padding: 12px; }
	.asbh-s-promo__title { font-size: 18px; line-height: 24px; }
	.asbh-s-steps { display: flex; gap: 10px; margin-inline: calc(-1 * (100vw - 100%) / 2); padding-inline: calc((100vw - 100%) / 2); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.asbh-s-steps > li { flex: 0 0 78%; scroll-snap-align: start; }
	.asbh-s-service { padding: 16px; }
	.asbh-s-qa summary { padding: 16px 0; font-size: 15px; }
	.asbh-s-qa__a { padding-right: 0; font-size: 14px; line-height: 22px; }
	.asbh-s .asbh-s-posts { display: flex; gap: 10px; margin-inline: calc(-1 * (100vw - 100%) / 2); padding-inline: calc((100vw - 100%) / 2); overflow-x: auto; scroll-snap-type: x mandatory; }
	.asbh-s .asbh-s-posts > li { flex: 0 0 72%; scroll-snap-align: start; }
	.asbh-s-about__panel { min-height: 0; padding: 28px 20px; background: linear-gradient(180deg, rgba(23, 23, 23, .6) 0%, #171717 100%), var(--bg-img, none) center / cover no-repeat, #171717; }
	body .asbh-page .asbh-s-about__title { font-size: 28px; }
	.asbh-s-about__text { font-size: 14px; line-height: 20px; }
	.asbh-page > .autool-hp-main > .asbh-s:last-child { margin-bottom: 32px; }
}
@media (max-width: 767.98px) {
	.asbh-s-steps, .asbh-s .asbh-s-posts { scroll-padding-inline: 16px; }
	.asbh-s-head { flex-wrap: wrap; gap: 8px; }
	.asbh-s-head__text { flex: 1 1 100%; }
	.asbh-s-more { padding-bottom: 0; }
}

/* ---------- Polish (round 3) ---------- */
.asbh-s-promo__desc { -webkit-line-clamp: 3; }
.asbh-s-promo__price { font-family: var(--asbh-s-mono); font-size: 15px; font-weight: 500; line-height: 20px; }
.asbh-s-promo__price del { color: var(--asbh-s-muted); font-size: 12px; }
.asbh-s-promo__price ins { text-decoration: none; }
.asbh-s-step__meta { color: var(--asbh-s-muted); font-size: 13px; line-height: 18px; }
.asbh-s-step__price { color: var(--asbh-s-ink); font-family: var(--asbh-s-mono); font-size: 14px; }
.asbh-s-step__price del { color: var(--asbh-s-muted); font-size: 12px; }
.asbh-s-step__price ins { text-decoration: none; }
.asbh-s-tile { transition: transform .2s; }
.asbh-s-tile:hover .asbh-s-tile__img { box-shadow: 0 2px 10px rgba(0, 0, 0, .06); }

/* ---------- Category groups ---------- */
.asbh-s-gcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.asbh-s-gcard { display: flex; flex-direction: column; padding: 20px; border-radius: var(--asbh-s-r); background: var(--asbh-s-panel); }
.asbh-s-gcard__title { font-size: 18px; font-weight: 700; line-height: 24px; text-decoration: none; }
.asbh-s-gcard__title:hover { text-decoration: underline; }
.asbh-s-gcard__count { margin-bottom: 12px; color: var(--asbh-s-muted); font-size: 12px; line-height: 16px; }
.asbh-s-gsubs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.asbh-s-gsubs a { display: flex; flex-direction: column; gap: 6px; text-decoration: none; }
.asbh-s-gsub__img { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--asbh-s-r-sm); background: #fff; }
.asbh-s .asbh-s-gsub__img img { width: 100%; height: 100%; padding: 10%; object-fit: contain; transition: transform .25s; }
.asbh-s-gsubs a:hover img { transform: scale(1.05); }
.asbh-s-gsub__name { display: -webkit-box; overflow: hidden; font-size: 13px; line-height: 18px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.asbh-s-gsubs a:hover .asbh-s-gsub__name { text-decoration: underline; }
.asbh-s-gcard__all { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 16px; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- Product tabs ---------- */
.asbh-s-tablist { display: flex; gap: 8px; margin: 0 0 16px; overflow-x: auto; scrollbar-width: none; }
.asbh-s-tablist::-webkit-scrollbar { display: none; }
body .asbh-page .asbh-s-tab {
	flex: none; min-height: 36px; margin: 0; padding: 0 16px; border: 1px solid var(--asbh-s-line); border-radius: 999px; background: #fff;
	color: var(--asbh-s-ink); font-family: var(--asbh-s-font); font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: normal; text-transform: none; cursor: pointer;
}
body .asbh-page .asbh-s-tab:hover { border-color: var(--asbh-s-ink); }
body .asbh-page .asbh-s-tab[aria-selected="true"] { border-color: var(--asbh-s-ink); background: var(--asbh-s-ink); color: #fff; }
.asbh-s-panel[hidden] { display: none; }
.asbh-s-tab-all { position: relative; z-index: 1; margin-top: 12px !important; }
.asbh-s-tab-all a { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- Why us ---------- */
.asbh-s-usp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; padding-top: 32px; border-top: 1px solid var(--asbh-s-line); }
.asbh-s-prose { margin-top: 12px; color: var(--asbh-s-muted); font-size: 15px; line-height: 24px; }
.asbh-s-prose p + p { margin-top: 12px; }
.asbh-s-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.asbh-s-points li { display: flex; align-items: flex-start; gap: 12px; }
.asbh-s-point__icon { display: block; flex: none; width: 28px; height: 28px; color: var(--asbh-s-ink); }
.asbh-s-points strong { display: block; font-size: 15px; font-weight: 700; line-height: 20px; }
.asbh-s-points span { display: block; margin-top: 2px; color: var(--asbh-s-muted); font-size: 13px; line-height: 18px; }

/* ---------- Quote panel ---------- */
.asbh-s-cta__panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; overflow: hidden; padding: 40px 0 40px 48px; border-radius: var(--asbh-s-r); background: #fbf3dc; }
.asbh-s-cta .asbh-s-text { color: #3d3d3d; max-width: 520px; }
.asbh-s-cta .asbh-s-eyebrow { color: #7a5a14; }
.asbh-s-checks { display: grid; gap: 8px; margin-top: 16px !important; }
.asbh-s-checks li { position: relative; padding-left: 28px; font-size: 14px; font-weight: 600; line-height: 20px; }
.asbh-s-checks li::before { position: absolute; top: 2px; left: 0; width: 16px; height: 16px; content: ""; border-radius: 50%; background: var(--asbh-s-ink); -webkit-mask: none; }
.asbh-s-checks li::after { position: absolute; top: 6px; left: 5px; width: 6px; height: 4px; content: ""; border-bottom: 2px solid #fff; border-left: 2px solid #fff; transform: rotate(-45deg); }
.asbh-s-cta__media { align-self: stretch; margin: -40px 0; }
.asbh-s .asbh-s-cta__media img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; }

@media (max-width: 1023.98px) {
	.asbh-s-gcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.asbh-s-usp { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.asbh-s-cta__panel { grid-template-columns: minmax(0, 1fr); padding: 32px 32px 0; }
	.asbh-s-cta__media { margin: 0 -32px; }
	.asbh-s .asbh-s-cta__media img { min-height: 0; aspect-ratio: 16 / 9; }
}
@media (max-width: 767.98px) {
	.asbh-s-gcards { display: flex; gap: 10px; margin-inline: calc(-1 * (100vw - 100%) / 2); padding-inline: calc((100vw - 100%) / 2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; }
	.asbh-s-gcards > li { flex: 0 0 82%; scroll-snap-align: start; }
	.asbh-s-gcard { padding: 16px; }
	.asbh-s-points { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.asbh-s-usp { padding-top: 24px; }
	.asbh-s-cta__panel { padding: 24px 20px 0; }
	.asbh-s-cta__media { margin: 0 -20px; }
}

/* =====================================================================================================
 * Round 4 — tech pass and spacing audit (references: autooltech.com home, SpaceX).
 * Scale: blocks 64 / 48 / 40 px apart; head → content 24 / 20 / 16; large panels pad 48 / 32 / 24;
 * cards pad 24 / 20 / 16. Corners: buttons 2 px, panels 8, cards 6, small 4. Buttons 48 px, uppercase
 * tracked, primary with a divided arrow segment. Monospace numbered eyebrows and links, hairline spec rows,
 * dot grid on dark banners.
 * ===================================================================================================== */
.asbh-page {
	--asbh-s-r: 8px;
	--asbh-s-r-md: 6px;
	--asbh-s-r-sm: 4px;
	--asbh-s-btn-r: 2px;
	--asbh-s-space: 64px;
	--asbh-s-headgap: 24px;
	--asbh-s-panel-y: 48px;
	--asbh-s-panel-x: 48px;
	--asbh-s-card: 24px;
	--asbh-s-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6.5l5.5 5.5-5.5 5.5'/%3E%3C/svg%3E");
	counter-reset: asbh-sec;
}
@media (max-width: 1023.98px) { .asbh-page { --asbh-s-space: 48px; --asbh-s-headgap: 20px; --asbh-s-panel-y: 32px; --asbh-s-panel-x: 32px; --asbh-s-card: 20px; } }
@media (max-width: 767.98px) { .asbh-page { --asbh-s-space: 40px; --asbh-s-headgap: 16px; --asbh-s-panel-y: 24px; --asbh-s-panel-x: 20px; --asbh-s-card: 16px; } }

/* Rhythm. Rows keep their hover room inside (flow-root stops the negative margins collapsing into the gap). */
.asbh-page .asbh-s,
.asbh-page .asbh-s + section:not(.asbh-s) { margin-top: var(--asbh-s-space); }
.asbh-page > .autool-hp-main > .asbh-s:last-child { margin-bottom: var(--asbh-s-space); }
.asbh-s-scroller { display: flow-root; }
.asbh-s-head { margin-bottom: var(--asbh-s-headgap); }
.asbh-s-tablist { margin-bottom: var(--asbh-s-headgap); }

/* Numbered monospace eyebrows (01 / 02 …), as on autooltech.com. */
body .asbh-page .asbh-s-eyebrow {
	margin: 0 0 12px !important;
	color: var(--asbh-s-muted);
	font-family: var(--asbh-s-mono);
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: .14em;
	text-transform: uppercase;
}
body .asbh-page .asbh-s-eyebrow::before { counter-increment: asbh-sec; content: counter(asbh-sec, decimal-leading-zero) " / "; color: var(--asbh-s-ink); }
.asbh-s-cta .asbh-s-eyebrow { color: #7a5a14; }
body .asbh-page .asbh-s-h2 { font-size: 28px; line-height: 1.25; letter-spacing: -.01em; }
@media (max-width: 1023.98px) { body .asbh-page .asbh-s-h2 { font-size: 24px; } }
@media (max-width: 767.98px) { body .asbh-page .asbh-s-h2 { font-size: 22px; } }

/* "See all" and card links: monospace, uppercase, tracked, with an arrow that moves on hover. */
.asbh-s-more,
.asbh-s-gcard__all,
.asbh-s-step__more,
.asbh-s-service__link,
.asbh-s-tab-all a {
	gap: 8px;
	padding-bottom: 3px;
	border-bottom: 1px solid var(--asbh-s-line);
	font-family: var(--asbh-s-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .1em;
	text-decoration: none;
	text-transform: uppercase;
	transition: border-color .2s;
}
.asbh-s-more:hover, .asbh-s-gcard__all:hover, a:hover > .asbh-s-step__more, .asbh-s-service__link:hover, .asbh-s-tab-all a:hover { border-color: currentColor; text-decoration: none; }
.asbh-s-more .asbh-s-i, .asbh-s-gcard__all .asbh-s-i, .asbh-s-step__more .asbh-s-i, .asbh-s-service__link .asbh-s-i, .asbh-s-tab-all .asbh-s-i { width: 14px; height: 14px; transition: transform .2s; }
.asbh-s-more:hover .asbh-s-i, .asbh-s-gcard__all:hover .asbh-s-i, a:hover .asbh-s-step__more .asbh-s-i, .asbh-s-service__link:hover .asbh-s-i, .asbh-s-tab-all a:hover .asbh-s-i { transform: translateX(3px); }

/* Buttons: SpaceX-style small corners, 48 px, uppercase tracked; the primary one carries an arrow segment. */
body .asbh-page .asbh-skin-site .autool-hp-btn,
body .asbh-page .asbh-s-btn {
	position: relative;
	min-height: 48px;
	padding: 0 22px;
	border-radius: var(--asbh-s-btn-r);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background-color .3s, color .3s, border-color .3s, opacity .2s;
}
body .asbh-page .asbh-skin-site .autool-hp-btn:hover, body .asbh-page .asbh-s-btn:hover, body .asbh-page a:hover > .asbh-s-btn { opacity: 1; }
body .asbh-page :is(.asbh-skin-site .autool-hp-btn-primary, .asbh-s-btn--solid) { padding-right: 70px; }
body .asbh-page :is(.asbh-skin-site .autool-hp-btn-primary, .asbh-s-btn--solid)::before {
	position: absolute; top: 0; right: 47px; bottom: 0; width: 1px; content: ""; background: currentColor; opacity: .22;
}
body .asbh-page :is(.asbh-skin-site .autool-hp-btn-primary, .asbh-s-btn--solid)::after {
	position: absolute; top: 50%; right: 15px; width: 17px; height: 17px; margin-top: -8.5px; content: ""; background: currentColor;
	-webkit-mask: var(--asbh-s-arrow) center / contain no-repeat; mask: var(--asbh-s-arrow) center / contain no-repeat; transition: transform .3s;
}
body .asbh-page :is(.asbh-skin-site .autool-hp-btn-primary, .asbh-s-btn--solid):hover::after,
body .asbh-page a:hover > .asbh-s-btn--solid::after { transform: translateX(3px); }
/* Light: ink solid, ghost outline; hover = the theme yellow. */
body .asbh-page .asbh-skin-site .autool-hp-btn-primary, body .asbh-page .asbh-s-btn--solid { border-color: var(--asbh-s-ink); background: var(--asbh-s-ink); color: #fff; }
body .asbh-page .asbh-skin-site :is(.autool-hp-btn-outline, .autool-hp-btn-outline--dark), body .asbh-page .asbh-s-btn--line { border-color: color-mix(in srgb, var(--asbh-s-ink) 40%, transparent); background: transparent; color: var(--asbh-s-ink); }
body .asbh-page .asbh-s-btn:is(:hover, :focus-visible), body .asbh-page a:hover > .asbh-s-btn,
body .asbh-page .asbh-skin-site .autool-hp-btn:is(:hover, :focus-visible) { border-color: var(--asbh-s-yellow); background: var(--asbh-s-yellow); color: var(--asbh-s-ink); }
/* Dark banners: yellow solid (autooltech), white ghost. */
body .asbh-page .asbh-skin-site .autool-hp-hero-btns .autool-hp-btn-primary, body .asbh-page .asbh-s-btn--solid.asbh-s-btn--on-dark { border-color: var(--asbh-s-yellow); background: var(--asbh-s-yellow); color: #0b0b0c; }
body .asbh-page .asbh-skin-site .autool-hp-hero-btns .autool-hp-btn-outline, body .asbh-page .asbh-s-btn--line.asbh-s-btn--on-dark { border-color: rgba(255, 255, 255, .45); background: rgba(23, 23, 23, .35); color: #fff; }
body .asbh-page .asbh-skin-site .autool-hp-hero-btns .autool-hp-btn:hover, body .asbh-page .asbh-s-btn--on-dark:hover { border-color: #fff; background: #fff; color: #0b0b0c; }
body .asbh-page .asbh-s-btn--sm { min-height: 40px; padding: 0 16px; font-size: 12px; }
body .asbh-page .asbh-s-btn--sm.asbh-s-btn--solid { padding-right: 56px; }
body .asbh-page .asbh-s-btn--sm.asbh-s-btn--solid::before { right: 39px; }
body .asbh-page .asbh-s-btn--sm.asbh-s-btn--solid::after { right: 12px; width: 15px; height: 15px; margin-top: -7.5px; }
.asbh-s-btns { gap: 12px 16px; }
@media (max-width: 767.98px) {
	/* Two buttons on phones: equal full-width rows (autooltech). */
	.asbh-s-btns:has(> .asbh-s-btn ~ .asbh-s-btn), .asbh-skin-site .autool-hp-hero-btns { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
	body .asbh-page .asbh-skin-site .autool-hp-hero-btns .autool-hp-btn, .asbh-s-btns:has(> .asbh-s-btn ~ .asbh-s-btn) > .asbh-s-btn { width: 100%; }
}

/* Large panels: one padding scale. */
body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site > .autool-hp-container { padding: var(--asbh-s-panel-y) var(--asbh-s-panel-x) !important; }
.asbh-s-feature__panel { gap: var(--asbh-s-panel-x); padding: var(--asbh-s-card); }
.asbh-s-feature__body { padding: calc(var(--asbh-s-panel-y) - var(--asbh-s-card)) calc(var(--asbh-s-panel-x) - var(--asbh-s-card)) calc(var(--asbh-s-panel-y) - var(--asbh-s-card)) 0; }
.asbh-s-cta__panel { gap: var(--asbh-s-panel-x); padding: var(--asbh-s-panel-y) 0 var(--asbh-s-panel-y) var(--asbh-s-panel-x); }
.asbh-s-cta__media { margin: calc(-1 * var(--asbh-s-panel-y)) 0; }
.asbh-s-about__panel { padding: var(--asbh-s-panel-y) var(--asbh-s-panel-x); }
@media (max-width: 1023.98px) {
	.asbh-s-feature__body { padding: 0 calc(var(--asbh-s-panel-x) - var(--asbh-s-card)) calc(var(--asbh-s-panel-y) - var(--asbh-s-card)); }
	.asbh-s-cta__panel { padding: var(--asbh-s-panel-y) var(--asbh-s-panel-x) 0; }
	.asbh-s-cta__media { margin: 0 calc(-1 * var(--asbh-s-panel-x)); }
}
/* Cards: one padding scale. */
.asbh-s-gcard, .asbh-s-service { padding: var(--asbh-s-card); }
.asbh-s-promo__text { padding: var(--asbh-s-card) 8px var(--asbh-s-card) var(--asbh-s-card); }
.asbh-s-step__body { padding: var(--asbh-s-card); }
.asbh-s-tiles { gap: 24px 16px; }
.asbh-s-gcards, .asbh-s-promos, .asbh-s-steps, .asbh-s-services { gap: 16px; }
@media (max-width: 767.98px) { .asbh-s-tiles { gap: 16px 10px; } .asbh-s-gcards, .asbh-s-steps { gap: 10px; } .asbh-s-promos, .asbh-s-services { gap: 10px; } }

/* Hero: monospace tag, figures in a hairline row with mono labels, dot grid in the top-right corner. */
body .asbh-page .asbh-skin-site .autool-hp-hero-tag { font-family: var(--asbh-s-mono); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; opacity: .8; }
.asbh-skin-site .autool-hp-hero-tag::before { content: "— "; }
body .asbh-page .asbh-skin-site .autool-hp-hero-stat__label { font-family: var(--asbh-s-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site::after,
.asbh-s-about__panel::after {
	position: absolute; inset: 0 0 auto auto; z-index: 1; display: block; width: 46%; height: 70%; content: ""; pointer-events: none; opacity: .5;
	background-image: radial-gradient(rgba(255, 255, 255, .55) 1px, transparent 1.4px); background-size: 12px 12px;
	-webkit-mask-image: radial-gradient(ellipse at top right, #000 0%, transparent 70%); mask-image: radial-gradient(ellipse at top right, #000 0%, transparent 70%);
}
.asbh-s-about__panel > * { position: relative; z-index: 2; }
body .asbh-page .asbh-s-about__eyebrow { font-family: var(--asbh-s-mono); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }

/* A/C figures: hairline spec rows (label left in mono, value right), like autooltech's product focus. */
.asbh-s-facts { display: block; margin-top: 24px !important; border-top: 1px solid var(--asbh-s-line); }
.asbh-s-facts li { display: flex; flex-direction: row-reverse; align-items: baseline; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--asbh-s-line); border-radius: 0; background: none; }
.asbh-s-facts strong { font-size: 15px; text-align: right; }
.asbh-s-facts span { margin: 0; color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }

/* Indexes on cards (01, 02 …) and mono meta. */
.asbh-s-promos, .asbh-s-gcards, .asbh-s-steps { counter-reset: asbh-card; }
.asbh-s-promo__title::before, .asbh-s-gcard__title::before {
	display: block; margin-bottom: 8px; counter-increment: asbh-card; content: counter(asbh-card, decimal-leading-zero);
	color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; font-weight: 500; letter-spacing: .14em; line-height: 14px;
}
.asbh-s-step__label, .asbh-s-post__cat, .asbh-s-tile__count, .asbh-s-gcard__count, .asbh-s-step__meta { font-family: var(--asbh-s-mono); letter-spacing: .06em; }
.asbh-s-step__label, .asbh-s-post__cat { text-transform: uppercase; font-size: 11px; }

/* Tabs: square chips with an underline-free tech look. */
body .asbh-page .asbh-s-tab { min-height: 36px; border-radius: var(--asbh-s-btn-r); font-family: var(--asbh-s-mono); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }

/* Smaller corners everywhere (SpaceX). */
body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site { border-radius: var(--asbh-s-r); }
.asbh-s-qa__icon { border-radius: 2px; }

/* =====================================================================================================
 * Round 5 — per-module fixes.
 * ===================================================================================================== */

/* Store product card (AUTOBOSS Product Card) inside home rows: its own spacing comes back via
   restore-abpc.css; here the home rhythm — picture → 12 → category → 4 → title → 6 → rating → 10 → price. */
body .asbh-page .asbh-s .abpc-card .abpc-body { padding-top: 12px; }
body .asbh-page .asbh-s .abpc-card .abpc-cat { margin: 0 0 4px; }
body .asbh-page .asbh-s .abpc-card .abpc-rating { margin-top: 6px; }
body .asbh-page .asbh-s .abpc-card .abpc-foot { padding-top: 10px; }
@media (max-width: 767.98px) {
	body .asbh-page .asbh-s .abpc-m-boxed .abpc-body { padding: 10px 10px 12px; }
	body .asbh-page .asbh-s .abpc-card .abpc-foot { padding-top: 8px; }
}

/* Category groups: head row (title + count left, "Shop all" right), 2 × 2 white tiles with name and count. */
.asbh-s-gcard { gap: 16px; }
.asbh-s-gcard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-height: 72px; }
.asbh-s-gcard__title { display: block; font-size: 17px; line-height: 22px; }
.asbh-s-gcard__count { display: block; margin: 4px 0 0; }
.asbh-s-gcard .asbh-s-gcard__all { flex: none; margin: 2px 0 0; padding-top: 0; white-space: nowrap; }
.asbh-s-gsubs { gap: 8px; }
.asbh-s-gsub { height: 100%; padding: 8px 8px 10px; border: 1px solid transparent; border-radius: var(--asbh-s-r-md); background: #fff; transition: border-color .2s; }
.asbh-s-gsub:hover { border-color: #cfcfcf; }
.asbh-s-gsub__img { border-radius: var(--asbh-s-r-sm); }
.asbh-s .asbh-s-gsub__img img { padding: 6%; }
.asbh-s-gsub__name { font-size: 13px; font-weight: 600; line-height: 18px; }
.asbh-s-gsub__count { color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; line-height: 14px; letter-spacing: .06em; }
.asbh-s-gsub__count::after { content: " items"; }
.asbh-s-gsub.is-product .asbh-s-gsub__name { font-weight: 500; }
.asbh-s-gsubs a:hover .asbh-s-gsub__name { text-decoration: none; }

/* A/C spotlight: photo fills the left half, copy column with spec rows and a featured-model strip. */
.asbh-s-feature__panel { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; padding: 0; overflow: hidden; }
.asbh-s-feature__media { align-self: stretch; min-height: 100%; }
.asbh-s .asbh-s-feature__photo { width: 100%; height: 100%; min-height: 420px; aspect-ratio: auto; border-radius: 0; object-fit: cover; }
.asbh-s-feature__body { padding: var(--asbh-s-panel-y) var(--asbh-s-panel-x); }
.asbh-s-model { display: flex; align-items: center; gap: 14px; margin-top: 20px; padding: 10px 14px 10px 10px; border: 1px solid var(--asbh-s-line); border-radius: var(--asbh-s-r-md); background: #fff; color: var(--asbh-s-ink); text-decoration: none; transition: border-color .2s; }
.asbh-s-model:hover { border-color: var(--asbh-s-ink); }
.asbh-s-model__img { flex: none; width: 64px; height: 64px; overflow: hidden; border-radius: var(--asbh-s-r-sm); background: var(--asbh-s-panel); }
.asbh-s .asbh-s-model__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.asbh-s-model__text { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.asbh-s-model__tag { color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; line-height: 14px; letter-spacing: .1em; text-transform: uppercase; }
.asbh-s-model__name { overflow: hidden; font-size: 14px; font-weight: 600; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.asbh-s-model__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.asbh-s-model__price { font-family: var(--asbh-s-mono); font-size: 14px; font-weight: 500; }
.asbh-s-model__price del { color: var(--asbh-s-muted); font-size: 12px; }
.asbh-s-model__price ins { text-decoration: none; }
.asbh-s-model__rating { color: var(--asbh-s-muted); font-size: 12px; }
.asbh-s-model > .asbh-s-i { flex: none; transition: transform .2s; }
.asbh-s-model:hover > .asbh-s-i { transform: translateX(3px); }
.asbh-s-feature .asbh-s-btns { margin-top: 20px !important; }
@media (max-width: 1023.98px) {
	.asbh-s-feature__panel { grid-template-columns: minmax(0, 1fr); padding: 0; }
	.asbh-s .asbh-s-feature__photo { min-height: 0; aspect-ratio: 16 / 9; }
	.asbh-s-feature__body { padding: var(--asbh-s-panel-y) var(--asbh-s-panel-x); }
}

/* Carbon cleaning: product cards (picture stage, number + title, 3-line text, price | button footer). */
.asbh-s-promo { flex-direction: column; min-height: 0; border: 1px solid var(--asbh-s-line); background: #fff; transition: border-color .2s, box-shadow .2s; }
.asbh-s-promo:hover { border-color: #cfcfcf; box-shadow: 0 6px 20px rgba(0, 0, 0, .06); }
.asbh-s-promo__media { display: block; flex: none; aspect-ratio: 4 / 3; background: var(--tint, var(--asbh-s-panel)); }
.asbh-s .asbh-s-promo__media img { width: 100%; height: 100%; padding: 8%; object-fit: contain; mix-blend-mode: multiply; }
.asbh-s-promo__body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: var(--asbh-s-card); }
.asbh-s-promo__title { font-size: 18px; line-height: 24px; }
.asbh-s-promo__desc { color: var(--asbh-s-muted); -webkit-line-clamp: 3; }
.asbh-s-promo__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--asbh-s-line); }
.asbh-s-promo__price { min-width: 0; }
.asbh-s-promo .asbh-s-btn { flex: none; margin: 0; }
.asbh-s-promo:hover .asbh-s-promo__title { text-decoration: none; }
.asbh-s-promo:hover .asbh-s-btn { border-color: var(--asbh-s-yellow); background: var(--asbh-s-yellow); }
@media (max-width: 1023.98px) { .asbh-s-promos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .asbh-s-promo__desc { -webkit-line-clamp: 4; } }
@media (max-width: 767.98px) {
	.asbh-s-promos { display: flex; gap: 10px; margin-inline: calc(-1 * (100vw - 100%) / 2); padding-inline: calc((100vw - 100%) / 2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; }
	.asbh-s-promos > li { flex: 0 0 78%; scroll-snap-align: start; }
}

/* Workflow cards: the arrow sits at the title's right (no link at the bottom). */
.asbh-s-step__title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.asbh-s-step__title .asbh-s-i { flex: none; margin-top: 4px; transition: transform .2s; }
.asbh-s-step:hover .asbh-s-step__title .asbh-s-i { transform: translateX(3px); }

/* Help Center: intro + "All FAQs" + help box (left, sticky), numbered accordion (right). */
.asbh-s-faq { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; }
.asbh-s-faq__intro { top: 96px; }
.asbh-s-faq__more { margin-top: 16px !important; }
.asbh-s-help { margin-top: 32px; padding: var(--asbh-s-card); border: 1px solid var(--asbh-s-line); border-radius: var(--asbh-s-r); background: var(--asbh-s-panel); }
body .asbh-page .asbh-s-help__title { margin: 0; color: var(--asbh-s-ink); font-family: var(--asbh-s-font); font-size: 17px; font-weight: 700; line-height: 24px; letter-spacing: normal; text-transform: none; }
.asbh-s-help__text { margin-top: 4px !important; color: var(--asbh-s-muted); font-size: 14px; line-height: 20px; }
.asbh-s-help__links { margin-top: 12px !important; }
.asbh-s-help__links li + li { border-top: 1px solid var(--asbh-s-line); }
.asbh-s-help__links a { display: flex; align-items: center; gap: 12px; padding: 12px 0; text-decoration: none; }
.asbh-s-help__icon { display: block; flex: none; width: 24px; height: 24px; }
.asbh-s-help__links span { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.asbh-s-help__links strong { font-size: 14px; font-weight: 600; line-height: 20px; }
.asbh-s-help__links small { overflow: hidden; color: var(--asbh-s-muted); font-size: 12px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; }
.asbh-s-help__links .asbh-s-i { transition: transform .2s; }
.asbh-s-help__links a:hover strong { text-decoration: underline; }
.asbh-s-help__links a:hover .asbh-s-i { transform: translateX(3px); }
.asbh-s-qa summary { min-height: 64px; gap: 16px; padding: 16px 0; }
.asbh-s-qa__num { flex: none; width: 24px; color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 12px; letter-spacing: .08em; }
.asbh-s-qa__q { flex: 1; }
.asbh-s-qa summary:hover .asbh-s-qa__q { text-decoration: underline; }
.asbh-s-qa summary:hover span:first-child { text-decoration: none; }
.asbh-s-qa__a { padding: 0 44px 20px 40px; }
@media (max-width: 1023.98px) {
	.asbh-s-faq { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.asbh-s-faq__intro { display: contents; }
	.asbh-s-faq__intro > :not(.asbh-s-help) { order: 0; }
	.asbh-s-faq__list { margin-top: 20px; }
	.asbh-s-help { margin-top: 24px; }
	.asbh-s-faq__list { order: 1; }
	.asbh-s-help { order: 2; }
}
@media (max-width: 767.98px) { .asbh-s-qa__a { padding: 0 0 16px 40px; } .asbh-s-qa summary { min-height: 56px; } }

/* Quote panel: tighter copy column, benefits as checked rows, reply-time note. */
.asbh-s-cta__panel { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.asbh-s-checks { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px !important; }
.asbh-s-checks li { padding: 12px 12px 12px 36px; border-radius: var(--asbh-s-r-md); background: rgba(255, 255, 255, .7); font-size: 13px; line-height: 18px; }
.asbh-s-checks li::before { top: 13px; left: 12px; }
.asbh-s-checks li::after { top: 17px; left: 17px; }
.asbh-s-cta__note { display: flex; align-items: center; gap: 8px; margin-top: 16px !important; color: #7a5a14; font-family: var(--asbh-s-mono); font-size: 12px; letter-spacing: .06em; }
.asbh-s-cta__note::before { width: 8px; height: 8px; content: ""; border-radius: 50%; background: #3aa76d; box-shadow: 0 0 0 3px rgba(58, 167, 109, .2); }
@media (max-width: 1023.98px) { .asbh-s-cta__panel { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767.98px) { .asbh-s-checks { grid-template-columns: minmax(0, 1fr); gap: 8px; } }
/* A/C photo fills the row the copy column sets (no intrinsic-height blow-up). */
.asbh-s-feature__media { position: relative; min-height: 420px; }
.asbh-s .asbh-s-feature__photo { position: absolute; inset: 0; min-height: 0; }
@media (max-width: 1023.98px) {
	.asbh-s-feature__media { min-height: 0; aspect-ratio: 16 / 9; }
}
/* Group cards: "Shop all" on the index line (top right), titles use the full width. */
.asbh-s-gcard__head { position: relative; display: block; min-height: 0; }
.asbh-s-gcard .asbh-s-gcard__all { position: absolute; top: -2px; right: 0; margin: 0; }
.asbh-s-gcard__title { min-height: 44px; }

/* =====================================================================================================
 * Round 6 — equal-height cards, type spacing scale, no vertical motion, Why AUTOOL, quote panel.
 * Type spacing: eyebrow → title 12, title → text 12, text → list / figures 24, list → buttons 24,
 * buttons → note 16. Cards: index → title 8, title → text 8, text → footer 16. Cards in one row share their
 * height and every inner line (titles, counts, text) keeps a fixed number of lines so the rows line up.
 * ===================================================================================================== */

/* Type spacing. */
.asbh-s-intro { margin-top: 12px !important; }
.asbh-s-text, .asbh-s-prose { margin-top: 12px !important; }
.asbh-s-facts, .asbh-s-checks { margin-top: 24px !important; }
.asbh-s-btns, .asbh-s-feature .asbh-s-btns { margin-top: 24px !important; }
.asbh-s-model { margin-top: 24px; }
.asbh-s-model + .asbh-s-btns { margin-top: 16px !important; }
.asbh-s-cta__note { margin-top: 16px !important; }

/* Equal heights and aligned insides. */
.asbh-s-gcards > li, .asbh-s-promos > li, .asbh-s-steps > li, .asbh-s-posts > li, .asbh-s-tiles > li { display: flex; }
.asbh-s-gcards > li > *, .asbh-s-promos > li > *, .asbh-s-steps > li > *, .asbh-s-posts > li > *, .asbh-s-tiles > li > * { flex: 1; }
.asbh-s-gcard__title { display: -webkit-box; min-height: 44px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.asbh-s-gsubs { grid-auto-rows: 1fr; }
.asbh-s-gsub { display: flex; flex-direction: column; }
.asbh-s-gsub__name { min-height: 36px; }
.asbh-s-gsub__count { min-height: 14px; margin-top: auto; }
.asbh-s-gsub__count:empty::after { content: none; }
.asbh-s-tile__name { min-height: 40px; }
.asbh-s-tile__count { min-height: 16px; }
.asbh-s-promo__title { display: -webkit-box; min-height: 48px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.asbh-s-promo__desc { min-height: 60px; }
.asbh-s-step__label { min-height: 16px; }
.asbh-s-step__title { min-height: 48px; }
.asbh-s-step__title > :first-child, .asbh-s-step__title { overflow: hidden; }
.asbh-s-step__meta { min-height: 18px; }
.asbh-s-step__desc { display: -webkit-box; min-height: 60px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.asbh-s-post__cat { min-height: 16px; }
.asbh-s-post__title { min-height: 44px; }
.asbh-s-post__date { margin-top: auto; }
.asbh-s-post { height: 100%; }
.asbh-s-checks { grid-auto-rows: 1fr; }

/* No vertical motion: cards and their buttons stay where they are (hover changes colour / border only). */
body .asbh-page .abpc-card:is(:hover, :focus-within) { transform: none; }
body .asbh-page .abpc-card { transition: none; }
body .asbh-page .abpc-h-overlay .abpc-top > .abpc-actions { transform: none; transition: opacity .18s ease; }
body .asbh-page .abpc-h-expand > .abpc-actions { transform: none; transition: opacity .18s ease; }

/* ---------- Why AUTOOL: spec sheet ---------- */
.asbh-s-usp { display: block; padding-top: var(--asbh-s-space); border-top: 1px solid var(--asbh-s-line); }
.asbh-s-usp__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
.asbh-s-usp .asbh-s-prose { margin-top: 0 !important; color: #3d3d3d; font-size: 16px; line-height: 26px; }
.asbh-s-figs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; border-top: 1px solid var(--asbh-s-line); border-left: 1px solid var(--asbh-s-line); }
.asbh-s-fig { display: flex; flex-direction: column; gap: 6px; padding: var(--asbh-s-card); border-right: 1px solid var(--asbh-s-line); border-bottom: 1px solid var(--asbh-s-line); }
.asbh-s-fig__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.asbh-s-fig__num { color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; letter-spacing: .14em; }
.asbh-s-fig__icon { display: block; width: 28px; height: 28px; color: var(--asbh-s-ink); }
.asbh-s-fig__value { font-size: 36px; font-weight: 700; line-height: 1.05; letter-spacing: -.02em; }
.asbh-s-fig__title { margin-top: 4px; font-size: 15px; font-weight: 600; line-height: 20px; }
.asbh-s-fig__text { color: var(--asbh-s-muted); font-size: 13px; line-height: 18px; }
@media (max-width: 1023.98px) { .asbh-s-usp__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
@media (max-width: 767.98px) {
	.asbh-s-fig__value { font-size: 28px; }
	.asbh-s-fig__top { margin-bottom: 8px; }
}

/* ---------- Quote panel: offer + "How bulk orders work" card ---------- */
.asbh-s-cta__panel { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--asbh-s-panel-x); align-items: center; padding: var(--asbh-s-panel-y) var(--asbh-s-panel-x); }
.asbh-s-cta__panel.is-single { grid-template-columns: minmax(0, 1fr); }
.asbh-s-cta__body { max-width: 620px; }
.asbh-s-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.asbh-s-checks li { padding: 8px 12px 8px 34px; border: 1px solid rgba(122, 90, 20, .18); border-radius: var(--asbh-s-r-sm); background: rgba(255, 255, 255, .75); font-size: 13px; font-weight: 600; line-height: 18px; }
.asbh-s-checks li::before { top: 9px; left: 10px; }
.asbh-s-checks li::after { top: 13px; left: 15px; }
.asbh-s-cta__card { overflow: hidden; border-radius: var(--asbh-s-r); background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(122, 90, 20, .10); }
.asbh-s-cta__media { aspect-ratio: 16 / 9; margin: 0 !important; overflow: hidden; background: #171717; }
.asbh-s .asbh-s-cta__media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.asbh-s-cta__steps { padding: var(--asbh-s-card); }
body .asbh-page .asbh-s-cta__steps-title { margin: 0 0 4px; color: var(--asbh-s-ink); font-family: var(--asbh-s-mono); font-size: 12px; font-weight: 500; letter-spacing: .12em; line-height: 16px; text-transform: uppercase; }
.asbh-s-cta__steps ol { margin: 0; padding: 0; list-style: none; }
.asbh-s-cta__steps li { display: flex; align-items: flex-start; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--asbh-s-line); }
.asbh-s-cta__steps li:last-child { padding-bottom: 0; border-bottom: 0; }
.asbh-s-cta__step-num { flex: none; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 2px; background: var(--asbh-s-ink); color: #fff; font-family: var(--asbh-s-mono); font-size: 11px; letter-spacing: .04em; }
.asbh-s-cta__steps li > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.asbh-s-cta__steps strong { font-size: 14px; font-weight: 600; line-height: 20px; }
.asbh-s-cta__steps small { color: var(--asbh-s-muted); font-size: 13px; line-height: 18px; }
@media (max-width: 1023.98px) {
	.asbh-s-cta__panel { grid-template-columns: minmax(0, 1fr); padding: var(--asbh-s-panel-y) var(--asbh-s-panel-x); }
	.asbh-s-cta__body { max-width: none; }
}
@media (max-width: 1023.98px) { .asbh-s-promo__desc { min-height: 80px; } }
@media (max-width: 767.98px) {
	.asbh-s-promo__desc { min-height: 60px; -webkit-line-clamp: 3; }
	.asbh-s-fig__title { display: -webkit-box; min-height: 40px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
}
/* Buttons never move vertically (the original AUTOOL hover lifts .autool-hp-btn by 1px). */
body .asbh-page .autool-hp-btn:hover, body .asbh-page .autool-hp-btn:focus-visible, body .asbh-page .asbh-s-btn:hover { transform: none; }
/* Narrow cards (tablet, phone, small desktops): the carbon card footer stacks (price row, then a full-width button)
   so a long or sale price never runs under the button. Footer width follows the viewport (1024 -> 249px, 1280 -> 313,
   1366 -> 341), so below 1366px = footer under 340px. No container query: containment on the cards or the list would
   restart the 01/02/03 counter. Prices are never truncated: current price first, the struck price after it, and the
   row wraps between the two amounts only, never inside one. */
@media (max-width: 1365.98px) {
	.asbh-s-promo__foot { flex-direction: column; align-items: stretch; gap: 10px; }
	.asbh-s-promo .asbh-s-btn { width: 100%; }
}
.asbh-s-promo__price { flex: 1 1 auto; }
.asbh-s-promo__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-height: 20px; }
.asbh-s-promo__price ins { order: -1; }
.asbh-s-promo__price .woocommerce-Price-amount, .asbh-s-promo__price del, .asbh-s-promo__price ins { white-space: nowrap; }
.asbh-s-usp { padding-top: 0; border-top: 0; }
body .asbh-page .asbh-s .abpc-card .abpc-foot { margin-top: 0; }

/* =====================================================================================================
 * Round 7 — quote panel on the A/C spotlight pattern (photo right, steps as hairline rows, "Included" strip).
 * ===================================================================================================== */
.asbh-s-cta .asbh-s-eyebrow { color: var(--asbh-s-muted); }
.asbh-s-cta .asbh-s-text { max-width: none; color: var(--asbh-s-muted); }
@media (min-width: 1024px) {
	.asbh-s-feature__panel--reverse > .asbh-s-feature__media { order: 2; }
}
.asbh-s-feature__panel.is-single { grid-template-columns: minmax(0, 1fr); }
.asbh-s-rows__title { margin: 24px 0 0 !important; color: var(--asbh-s-ink); font-family: var(--asbh-s-mono); font-size: 12px; font-weight: 500; line-height: 16px; letter-spacing: .12em; text-transform: uppercase; }
body .asbh-page .asbh-s-rows__title { font-family: var(--asbh-s-mono); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.asbh-s-rows { margin: 12px 0 0; padding: 0; border-top: 1px solid var(--asbh-s-line); list-style: none; }
.asbh-s-rows li { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 8px; row-gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--asbh-s-line); }
.asbh-s-rows__num { grid-row: span 2; padding-top: 3px; color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; letter-spacing: .1em; }
.asbh-s-rows strong { font-size: 15px; font-weight: 600; line-height: 20px; }
.asbh-s-rows__text { color: var(--asbh-s-muted); font-size: 13px; line-height: 18px; }
.asbh-s-model--static { cursor: default; }
.asbh-s-model--static:hover { border-color: var(--asbh-s-line); }
.asbh-s-model__icon { display: flex; align-items: center; justify-content: center; }
.asbh-s-model__svg { display: block; width: 28px; height: 28px; color: var(--asbh-s-ink); }
.asbh-s-model__name--wrap { overflow: visible; white-space: normal; }
body .asbh-page .asbh-s-model .asbh-s-cta__note { margin-top: 2px !important; color: var(--asbh-s-muted); }
@media (max-width: 1023.98px) {
	.asbh-s-feature__panel--reverse > .asbh-s-feature__media { order: 0; }
}

/* =====================================================================================================
 * Round 8 — Why AUTOOL (proof first) and Help Center (search, topics, support card), rebuilt.
 * ===================================================================================================== */

/* ---------- Why AUTOOL ---------- */
.asbh-s-why__figures {
	position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden;
	border-radius: var(--asbh-s-r); background: #171717; color: #fff; isolation: isolate;
}
.asbh-s-why__figures::after {
	position: absolute; inset: 0 0 auto auto; z-index: -1; width: 55%; height: 100%; content: ""; opacity: .45;
	background-image: radial-gradient(rgba(255, 255, 255, .5) 1px, transparent 1.4px); background-size: 12px 12px;
	-webkit-mask-image: radial-gradient(ellipse at top right, #000 0%, transparent 70%); mask-image: radial-gradient(ellipse at top right, #000 0%, transparent 70%);
}
.asbh-s-why__figure { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 200px; padding: var(--asbh-s-card); }
.asbh-s-why__figure + .asbh-s-why__figure { border-left: 1px solid rgba(255, 255, 255, .12); }
.asbh-s-why__icon { position: absolute; top: var(--asbh-s-card); right: var(--asbh-s-card); width: 28px; height: 28px; color: rgba(255, 255, 255, .85); }
.asbh-s-why__value { font-size: 44px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.asbh-s-why__label { min-height: 32px; margin-top: 10px; color: rgba(255, 255, 255, .7); font-family: var(--asbh-s-mono); font-size: 11px; line-height: 16px; letter-spacing: .1em; text-transform: uppercase; }
.asbh-s-why__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px !important; border-top: 1px solid var(--asbh-s-line); border-bottom: 1px solid var(--asbh-s-line); }
.asbh-s-why__item { display: flex; flex-direction: column; padding: var(--asbh-s-card) var(--asbh-s-card) var(--asbh-s-card) 0; }
.asbh-s-why__item + .asbh-s-why__item { padding-left: var(--asbh-s-card); border-left: 1px solid var(--asbh-s-line); }
.asbh-s-why__item-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.asbh-s-why__num { color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; letter-spacing: .14em; }
.asbh-s-why__item-icon { display: block; width: 28px; height: 28px; color: var(--asbh-s-ink); }
body .asbh-page .asbh-s-why__title { margin: 0; color: var(--asbh-s-ink); font-family: var(--asbh-s-font); font-size: 17px; font-weight: 700; line-height: 24px; letter-spacing: normal; text-transform: none; }
.asbh-s-why__text { min-height: 60px; margin-top: 8px !important; color: var(--asbh-s-muted); font-size: 14px; line-height: 20px; }
.asbh-s-why__proof { margin-top: auto !important; padding-top: 16px; color: var(--asbh-s-ink); font-family: var(--asbh-s-mono); font-size: 11px; line-height: 16px; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 1023.98px) {
	.asbh-s-why__figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.asbh-s-why__figure { min-height: 168px; }
	.asbh-s-why__figure:nth-child(3) { border-left: 0; }
	.asbh-s-why__figure:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .12); }
	.asbh-s-why__value { font-size: 36px; }
	.asbh-s-why__items { grid-template-columns: minmax(0, 1fr); }
	.asbh-s-why__item, .asbh-s-why__item + .asbh-s-why__item { padding: var(--asbh-s-card) 0; border-left: 0; }
	.asbh-s-why__item + .asbh-s-why__item { border-top: 1px solid var(--asbh-s-line); }
	.asbh-s-why__text { min-height: 0; }
}
@media (max-width: 767.98px) {
	.asbh-s-why__figure { min-height: 140px; }
	.asbh-s-why__value { font-size: 28px; }
	.asbh-s-why__icon { width: 22px; height: 22px; }
}

/* ---------- Help Center ---------- */
.asbh-s-hc__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: var(--asbh-s-headgap); }
.asbh-s-hc__head > .asbh-s-head { flex: 1; margin-bottom: 0; }
.asbh-s-hc__search { position: relative; display: block; flex: 0 1 360px; }
.asbh-s-hc__search svg { position: absolute; top: 50%; left: 14px; width: 18px; height: 18px; margin-top: -9px; color: var(--asbh-s-muted); pointer-events: none; }
body .asbh-page .asbh-s-hc__search input {
	width: 100%; height: 48px; margin: 0; padding: 0 16px 0 42px; border: 1px solid var(--asbh-s-line); border-radius: var(--asbh-s-btn-r) !important;
	background: #fff; color: var(--asbh-s-ink); font-family: var(--asbh-s-font); font-size: 15px; box-shadow: none;
}
body .asbh-page .asbh-s-hc__search input:focus { border-color: var(--asbh-s-ink); outline: none; box-shadow: 0 0 0 3px rgba(25, 25, 25, .08); }
.asbh-s-hc__body { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 48px; align-items: start; }
.asbh-s-hc__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
body .asbh-page .asbh-s-chip {
	display: inline-flex; align-items: center; gap: 8px; min-height: 36px; margin: 0; padding: 0 12px; border: 1px solid var(--asbh-s-line); border-radius: var(--asbh-s-btn-r);
	background: #fff; color: var(--asbh-s-ink); font-family: var(--asbh-s-mono); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
}
body .asbh-page .asbh-s-chip span { color: var(--asbh-s-muted); }
body .asbh-page .asbh-s-chip:hover { border-color: var(--asbh-s-ink); }
body .asbh-page .asbh-s-chip[aria-pressed="true"] { border-color: var(--asbh-s-ink); background: var(--asbh-s-ink); color: #fff; }
body .asbh-page .asbh-s-chip[aria-pressed="true"] span { color: rgba(255, 255, 255, .6); }
.asbh-s-help-center .asbh-s-qa[hidden] { display: none; }
.asbh-s-qa__topic { flex: none; color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.asbh-s-hc__empty { padding: 24px 0; color: var(--asbh-s-muted); font-size: 15px; border-bottom: 1px solid var(--asbh-s-line); }
.asbh-s-help-center .asbh-s-help { position: sticky; top: calc(var(--asbh-hdr, 132px) + 16px); margin-top: 0; }
.asbh-s-help__meta { margin: 16px 0 0; border-top: 1px solid var(--asbh-s-line); }
.asbh-s-help__meta > div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--asbh-s-line); }
.asbh-s-help__meta > div:last-child { border-bottom: 0; padding-bottom: 0; }
.asbh-s-help__meta dt { color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.asbh-s-help__meta dd { margin: 0; font-size: 13px; font-weight: 600; text-align: right; }
@media (max-width: 1023.98px) {
	.asbh-s-hc__head { flex-direction: column; align-items: stretch; }
	.asbh-s-hc__search { flex-basis: auto; }
	.asbh-s-hc__body { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.asbh-s-help-center .asbh-s-help { position: static; }
}
@media (max-width: 767.98px) {
	.asbh-s-hc__chips { flex-wrap: nowrap; margin-inline: calc(-1 * (100vw - 100%) / 2); padding-inline: calc((100vw - 100%) / 2); overflow-x: auto; scrollbar-width: none; }
	.asbh-s-hc__chips::-webkit-scrollbar { display: none; }
	.asbh-s-chip { flex: none; }
	.asbh-s-qa__topic { display: none; }
}

/* =====================================================================================================
 * Round 9 — News & guides, editorial: lead story + compact rows (rows share the lead's height).
 * ===================================================================================================== */
.asbh-s-stories__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: stretch; }
.asbh-s-stories__grid.is-single { grid-template-columns: minmax(0, 1fr); }
.asbh-s-lead { display: flex; flex-direction: column; gap: 8px; color: var(--asbh-s-ink); text-decoration: none; }
.asbh-s-lead__img { display: block; aspect-ratio: 16 / 9; margin-bottom: 8px; overflow: hidden; border-radius: var(--asbh-s-r); background: var(--asbh-s-panel); }
.asbh-s .asbh-s-lead__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.asbh-s-lead:hover .asbh-s-lead__img img { transform: scale(1.03); }
.asbh-s-story__meta { color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; line-height: 16px; letter-spacing: .1em; text-transform: uppercase; }
.asbh-s-lead__title { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; font-size: 24px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.asbh-s-lead__title .asbh-s-i { flex: none; width: 20px; height: 20px; margin-top: 6px; transition: transform .2s; }
.asbh-s-lead:hover .asbh-s-lead__title .asbh-s-i { transform: translateX(3px); }
.asbh-s-lead:hover .asbh-s-lead__title > span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.asbh-s-lead__excerpt { max-width: 640px; color: var(--asbh-s-muted); font-size: 15px; line-height: 24px; }
.asbh-s-rowlist { display: grid; grid-auto-rows: 1fr; margin: 0; padding: 0; border-top: 1px solid var(--asbh-s-line); list-style: none; }
.asbh-s-rowlist > li { display: flex; border-bottom: 1px solid var(--asbh-s-line); }
.asbh-s-row { display: flex; flex: 1; align-items: center; gap: 16px; padding: 16px 0; color: var(--asbh-s-ink); text-decoration: none; }
.asbh-s-row__img { flex: none; width: 144px; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--asbh-s-r-md); background: var(--asbh-s-panel); }
.asbh-s .asbh-s-row__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.asbh-s-row:hover .asbh-s-row__img img { transform: scale(1.04); }
.asbh-s-row__text { display: flex; flex: 1; flex-direction: column; gap: 6px; min-width: 0; }
.asbh-s-row__title { display: -webkit-box; min-height: 44px; overflow: hidden; font-size: 16px; font-weight: 600; line-height: 22px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.asbh-s-row:hover .asbh-s-row__title { text-decoration: underline; text-underline-offset: 3px; }
.asbh-s-row__mins { color: var(--asbh-s-muted); font-family: var(--asbh-s-mono); font-size: 11px; line-height: 14px; letter-spacing: .1em; text-transform: uppercase; }
.asbh-s-row > .asbh-s-i { flex: none; transition: transform .2s; }
.asbh-s-row:hover > .asbh-s-i { transform: translateX(3px); }
@media (max-width: 1023.98px) {
	.asbh-s-stories__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.asbh-s-lead__title { font-size: 22px; }
}
@media (max-width: 767.98px) {
	.asbh-s-lead__title { font-size: 20px; }
	.asbh-s-lead__excerpt { font-size: 14px; line-height: 22px; }
	.asbh-s-row { gap: 12px; padding: 12px 0; }
	.asbh-s-row__img { width: 104px; }
	.asbh-s-row__title { font-size: 15px; line-height: 20px; min-height: 40px; }
	.asbh-s-row > .asbh-s-i { display: none; }
}

/* Hero on phones: the workshop photo sits behind the top of the copy (tag + title), centre crop keeps the whole
   machine line-up; a light scrim keeps the text readable, then it fades into the dark panel. */
@media (max-width: 767.98px) {
	.autool-hp-hero-section.asbh-skin-site > .autool-hp-hero-lcp { inset: 0 0 auto; height: 300px; object-position: 50% 60%; }
	body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site::before {
		background-image: linear-gradient(180deg, rgba(23, 23, 23, .5) 0, rgba(23, 23, 23, .58) 160px, rgba(23, 23, 23, .9) 260px, #171717 300px) !important;
	}
	body.asbh-home .autool-hp-page-wrapper .autool-hp-hero-section.asbh-skin-site::after { content: none; }
}

/* Round 13 — very narrow phones (< 360px): store product cards on the home wrap the price row (current price, then
   the struck price below) instead of clipping it, one size smaller so a four-digit amount fits; amounts never break. */
@media (max-width: 359.98px) {
	body .asbh-page .asbh-s .abpc-price { flex-wrap: wrap; row-gap: 0; }
	body .asbh-page .asbh-s .abpc-price > * { white-space: nowrap; }
	body .asbh-page .asbh-s .abpc-price .abpc-amount { font-size: 13px; letter-spacing: -.02em; }
}
