/* Gagachevi Premium Commerce — core visual system */
:root {
	--ink: #0e1713;
	--ink-2: #17231d;
	--forest: #173c2d;
	--forest-2: #20513c;
	--moss: #748e78;
	--signal: #ec5b2a;
	--signal-dark: #c74318;
	--paper: #f3f0e7;
	--paper-2: #e9e4d7;
	--cream: #faf8f2;
	--white: #fff;
	--line: rgba(14, 23, 19, .14);
	--line-light: rgba(255, 255, 255, .18);
	--muted: #627069;
	--success: #1f764f;
	--warning: #a25b05;
	--error: #a72d2d;
	--shadow: 0 24px 70px rgba(8, 18, 13, .13);
	--shadow-soft: 0 12px 38px rgba(8, 18, 13, .08);
	--radius-sm: 8px;
	--radius: 14px;
	--radius-lg: 24px;
	--container: 1480px;
	--gutter: clamp(20px, 4vw, 64px);
	--header-height: 92px;
	--font-display: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
	--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--cream);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body.is-locked { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--signal); color: var(--white); }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .55em;
	font-family: var(--font-display);
	font-weight: 850;
	line-height: .96;
	letter-spacing: -.035em;
	text-wrap: balance;
}
h1 { font-size: clamp(3.1rem, 7.2vw, 7.7rem); }
h2 { font-size: clamp(2.25rem, 4.4vw, 5.15rem); }
h3 { font-size: clamp(1.35rem, 2vw, 2.05rem); }
p { margin: 0 0 1.2em; }
ul, ol { margin: 0; padding: 0; }

.site { min-height: 100vh; overflow: clip; }
.site-main { min-height: 55vh; }
.site-container, .container {
	width: min(100% - (var(--gutter) * 2), var(--container));
	margin-inline: auto;
}
.container--narrow { max-width: 920px; }
.section { padding: clamp(76px, 10vw, 150px) 0; }
.section--paper, .section-shell--cream { background: var(--paper); }
.section--white { background: var(--white); }
.section--dark, .section-shell--dark { background: var(--ink); color: var(--white); }
.section-shell { padding: clamp(72px, 9vw, 140px) 0; }
.section-action { margin-top: 42px; text-align: center; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}
.screen-reader-text:focus, .skip-link:focus {
	top: 12px; left: 12px; z-index: 99999;
	width: auto; height: auto; margin: 0; padding: 12px 18px;
	clip: auto; overflow: visible; background: var(--white); color: var(--ink);
	box-shadow: var(--shadow); border-radius: 6px;
}
:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }

.icon { display: inline-flex; width: 1.25em; height: 1.25em; flex: 0 0 auto; }
.icon svg { width: 100%; height: 100%; }
.eyebrow {
	display: flex; align-items: center; gap: 11px;
	margin: 0 0 22px;
	font-size: .73rem; font-weight: 800; letter-spacing: .18em; line-height: 1.3;
	text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--signal); flex: 0 0 auto; }

.button-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 32px; }
.button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wc-block-components-button {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	min-height: 52px; padding: 14px 22px;
	border: 1px solid var(--signal); border-radius: 2px;
	background: var(--signal); color: var(--white);
	font-size: .76rem; font-weight: 850; letter-spacing: .09em; line-height: 1.25;
	text-transform: uppercase;
	transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.button .icon { width: 18px; height: 18px; transition: transform .25s ease; }
.button:hover .icon { transform: translateX(4px); }
.button:hover { transform: translateY(-2px); }
.button--primary,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link) { background: var(--signal); color: var(--white); border-color: var(--signal); }
.button--primary:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--signal-dark); color: var(--white); border-color: var(--signal-dark); }
.button--dark { background: var(--ink); color: var(--white); border-color: var(--ink); }
.button--dark:hover { background: var(--forest); color: var(--white); border-color: var(--forest); }
.button--light { background: var(--white); color: var(--ink); border-color: var(--white); }
.button--light:hover { background: var(--paper); color: var(--ink); }
.button--ghost { background: transparent; color: currentColor; border-color: currentColor; }
.button--outline-light { background: transparent; color: var(--white); border-color: rgba(255,255,255,.45); }
.button--small { min-height: 44px; padding: 10px 16px; }
.button--block, .button--full { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: .76rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.text-link .icon { width: 18px; height: 18px; transition: transform .2s ease; }
.text-link:hover .icon { transform: translateX(4px); }
.text-link--light { color: var(--white); }

/* Header */
.site-header {
	position: relative; z-index: 900;
	background: var(--white); color: var(--ink);
	box-shadow: 0 1px 0 var(--line);
}
.site-header__top { background: var(--ink); color: rgba(255,255,255,.86); }
.site-header__top-inner { min-height: 35px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.site-header__promise, .site-header__top-links { display: flex; align-items: center; gap: 18px; }
.site-header__top-links a:hover { color: var(--signal); }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #72c58c; box-shadow: 0 0 0 4px rgba(114,197,140,.12); }
.dealer-claim { color: #d7ded9; }
.site-header__main { background: rgba(255,255,255,.97); transition: box-shadow .25s ease, transform .25s ease; }
.site-header__main-inner { min-height: var(--header-height); display: grid; grid-template-columns: auto auto minmax(0,1fr) auto; align-items: center; gap: clamp(18px, 2.2vw, 38px); }
.site-header.is-scrolled { position: sticky; top: 0; }
.admin-bar .site-header.is-scrolled { top: 32px; }
.site-header.is-scrolled .site-header__top { display: none; }
.site-header.is-scrolled .site-header__main { box-shadow: 0 14px 38px rgba(8,18,13,.1); }
.site-header.is-scrolled .site-header__main-inner { min-height: 72px; }
.site-brand { display: flex; align-items: center; min-width: 145px; }
.brand-logo { display: inline-flex; flex-direction: column; line-height: 1; }
.brand-logo__name { font-family: var(--font-display); font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 900; letter-spacing: .02em; }
.brand-logo__tag { margin-top: 5px; font-size: .56rem; font-weight: 850; letter-spacing: .22em; color: var(--signal); }
.brand-logo--image img { max-height: 56px; width: auto; }
.catalog-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.catalog-toggle:hover, .catalog-toggle[aria-expanded="true"] { background: var(--forest); color: var(--white); border-color: var(--forest); }
.catalog-toggle .icon { width: 19px; height: 19px; }
.primary-menu { display: flex; align-items: center; justify-content: center; gap: clamp(15px, 1.6vw, 31px); list-style: none; }
.primary-menu a { display: block; padding: 35px 0; font-size: .71rem; font-weight: 850; letter-spacing: .09em; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: var(--signal); }
.primary-menu .menu-item-has-children { position: relative; }
.primary-menu .sub-menu { position: absolute; top: 78%; left: -18px; min-width: 230px; padding: 10px; list-style: none; background: var(--white); box-shadow: var(--shadow); border: 1px solid var(--line); visibility: hidden; opacity: 0; transform: translateY(8px); transition: .2s ease; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
.primary-menu .sub-menu a { padding: 11px 12px; }
.header-actions { display: flex; align-items: center; gap: 4px; }
.header-action, .mobile-menu-toggle, .icon-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 44px; min-height: 44px; border: 0; background: transparent; color: inherit; }
.header-action:hover, .mobile-menu-toggle:hover, .icon-button:hover { color: var(--signal); }
.header-action .icon, .mobile-menu-toggle .icon, .icon-button .icon { width: 21px; height: 21px; }
.header-noscript-search { display: flex; align-items: center; min-width: 190px; border: 1px solid var(--line); background: var(--white); }
.header-noscript-search input { width: 145px; min-height: 42px; padding: 8px 10px; border: 0; background: transparent; }
.header-noscript-search button { width: 42px; min-height: 42px; border: 0; background: transparent; color: var(--ink); }
html:not(.js) [data-search-open] { display: none; }
.header-action__label { font-size: .57rem; font-weight: 800; letter-spacing: .08em; }
.gagachevi-cart-count { position: absolute; top: 1px; right: 1px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border-radius: 20px; background: var(--signal); color: var(--white); font-size: .6rem; font-weight: 800; }
.mobile-menu-toggle { display: none; }

.catalog-mega { position: absolute; left: 0; right: 0; top: 100%; visibility: hidden; opacity: 0; transform: translateY(-8px); background: var(--ink); color: var(--white); border-top: 1px solid var(--line-light); box-shadow: var(--shadow); transition: .22s ease; }
.catalog-mega.is-open { visibility: visible; opacity: 1; transform: none; }
.catalog-mega__inner { display: grid; grid-template-columns: .9fr 1.45fr .75fr; gap: clamp(32px, 5vw, 84px); padding-block: 52px; }
.catalog-mega__intro h2 { font-size: clamp(2rem, 3.2vw, 3.7rem); }
.catalog-mega__intro p { color: rgba(255,255,255,.68); max-width: 42ch; }
.catalog-mega__categories { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line-light); }
.catalog-mega__categories a { min-height: 76px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 16px; padding: 15px 4px; border-bottom: 1px solid var(--line-light); }
.catalog-mega__categories a:hover { color: var(--signal); }
.catalog-mega__categories span { font-weight: 750; }
.catalog-mega__categories small { grid-column: 1; color: rgba(255,255,255,.5); font-size: .68rem; }
.catalog-mega__categories .icon { grid-row: 1 / 3; grid-column: 2; }
.catalog-mega__utility { display: flex; flex-direction: column; gap: 8px; }
.catalog-mega__utility a { display: flex; align-items: center; gap: 14px; padding: 16px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); font-weight: 750; }
.catalog-mega__utility a:hover { background: var(--signal); border-color: var(--signal); }

.mobile-drawer, .site-search-dialog, .cart-drawer, .site-dialog { position: fixed; inset: 0; z-index: 1200; visibility: hidden; pointer-events: none; }
.mobile-drawer[aria-hidden="false"], .site-search-dialog[aria-hidden="false"], .cart-drawer[aria-hidden="false"], .site-dialog[aria-hidden="false"] { visibility: visible; pointer-events: auto; }
.mobile-drawer__backdrop, .site-search-dialog::before, .cart-drawer__backdrop, .site-dialog__backdrop { position: absolute; inset: 0; content: ""; background: rgba(4,10,7,.72); opacity: 0; transition: opacity .25s ease; }
.mobile-drawer[aria-hidden="false"] .mobile-drawer__backdrop, .site-search-dialog[aria-hidden="false"]::before, .cart-drawer[aria-hidden="false"] .cart-drawer__backdrop, .site-dialog[aria-hidden="false"] .site-dialog__backdrop { opacity: 1; }
.mobile-drawer__panel, .cart-drawer__panel { position: absolute; top: 0; right: 0; width: min(92vw, 470px); height: 100%; overflow-y: auto; padding: 26px; background: var(--cream); transform: translateX(100%); transition: transform .3s ease; }
.mobile-drawer[aria-hidden="false"] .mobile-drawer__panel, .cart-drawer[aria-hidden="false"] .cart-drawer__panel { transform: none; }
.mobile-drawer__header, .cart-drawer__header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.mobile-search, .site-search-form, .search-form { display: flex; align-items: stretch; margin: 24px 0; }
.mobile-search input, .site-search-form input, .search-form input { flex: 1; min-width: 0; min-height: 54px; padding: 12px 16px; border: 1px solid var(--line); background: var(--white); color: var(--ink); }
.mobile-search button, .site-search-form button, .search-form button { width: 54px; border: 0; background: var(--signal); color: var(--white); display: grid; place-items: center; }
.mobile-primary-menu, .mobile-primary-menu ul { list-style: none; }
.mobile-primary-menu > li { border-bottom: 1px solid var(--line); }
.mobile-primary-menu a { display: block; padding: 15px 0; font-family: var(--font-display); font-size: 1.3rem; font-weight: 800; }
.mobile-primary-menu .sub-menu { padding: 0 0 12px 16px; }
.mobile-primary-menu .sub-menu a { font-family: var(--font-body); font-size: .87rem; }
.mobile-drawer__categories { margin-top: 28px; }
.mobile-drawer__categories > strong { display: block; margin-bottom: 8px; font-size: .7rem; letter-spacing: .12em; }
.mobile-drawer__categories a { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: .9rem; font-weight: 700; }
.mobile-drawer__footer { margin-top: 28px; }
.mobile-phone { display: flex; justify-content: center; align-items: center; gap: 8px; padding: 16px; font-weight: 800; }
.site-search-dialog__panel, .site-dialog__panel { position: relative; z-index: 1; width: min(92vw, 760px); max-height: calc(100vh - 60px); overflow-y: auto; margin: 30px auto; padding: clamp(28px, 5vw, 60px); background: var(--cream); box-shadow: var(--shadow); transform: translateY(18px); opacity: 0; transition: .25s ease; }
.site-search-dialog[aria-hidden="false"] .site-search-dialog__panel, .site-dialog[aria-hidden="false"] .site-dialog__panel { transform: none; opacity: 1; }
.site-dialog__close { position: absolute; top: 16px; right: 16px; }
.site-search-dialog__panel h2, .site-dialog__panel h2 { font-size: clamp(2.2rem, 5vw, 4.6rem); }
.cart-drawer__panel { background: var(--white); }
.cart-drawer .widget_shopping_cart_content { padding-top: 20px; }

/* Hero and homepage */
.home-hero { position: relative; min-height: min(820px, calc(100vh - 35px)); display: grid; align-items: end; background: var(--ink); color: var(--white); }
.home-hero__visual, .home-hero__overlay { position: absolute; inset: 0; }
.home-hero__visual img { width: 100%; height: 100%; object-fit: cover; }
.home-hero__overlay { background: linear-gradient(90deg, rgba(5,14,9,.93) 0%, rgba(5,14,9,.75) 42%, rgba(5,14,9,.2) 76%, rgba(5,14,9,.35) 100%), linear-gradient(0deg, rgba(5,14,9,.72), transparent 55%); }
.home-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(240px,.5fr); gap: clamp(30px, 8vw, 120px); align-items: end; padding-top: clamp(120px, 18vh, 210px); padding-bottom: 130px; }
.home-hero__copy { max-width: 1020px; }
.home-hero h1 { max-width: 12.5ch; }
.home-hero__copy > p:not(.eyebrow) { max-width: 62ch; font-size: clamp(1rem, 1.4vw, 1.2rem); color: rgba(255,255,255,.76); }
.home-hero__side { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; border-left: 1px solid var(--line-light); }
.hero-index { display: grid; grid-template-columns: 60px 1fr; align-items: center; gap: 12px; padding: 20px; border-top: 1px solid var(--line-light); }
.hero-index span { font-family: var(--font-display); font-size: 2.2rem; font-weight: 850; color: var(--signal); }
.hero-index small { font-weight: 800; letter-spacing: .08em; }
.home-hero__rail { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; border-top: 1px solid var(--line-light); background: rgba(8,18,13,.55); backdrop-filter: blur(10px); }
.home-hero__rail-inner { min-height: 64px; display: flex; justify-content: space-between; align-items: center; gap: 24px; font-size: .68rem; font-weight: 800; letter-spacing: .13em; }

.section-heading { max-width: 940px; margin-bottom: clamp(38px, 6vw, 74px); }
.section-heading h2 { margin-bottom: .35em; }
.section-heading > p:not(.eyebrow), .section-heading--split > p { color: var(--muted); max-width: 58ch; }
.section-heading--split { max-width: none; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.55fr); align-items: end; gap: 40px; }
.section-heading--light p { color: rgba(255,255,255,.68); }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading--center .eyebrow { justify-content: center; }

.task-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.task-card { position: relative; min-height: 290px; padding: clamp(24px, 3vw, 38px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .25s ease, color .25s ease; }
.task-card:hover { background: var(--forest); color: var(--white); }
.task-card__top { display: flex; justify-content: space-between; margin-bottom: 52px; color: var(--signal); font-weight: 850; }
.task-card h3 { max-width: 14ch; }
.task-card p { color: var(--muted); }
.task-card:hover p { color: rgba(255,255,255,.67); }
.task-card__arrow { position: absolute; right: 28px; bottom: 26px; }

.category-editorial-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 165px; gap: 18px; }
.category-editorial-card { position: relative; overflow: hidden; min-height: 330px; color: var(--white); background: var(--forest); }
.category-editorial-card:nth-child(1), .category-editorial-card:nth-child(5) { grid-column: span 7; grid-row: span 3; }
.category-editorial-card:nth-child(2), .category-editorial-card:nth-child(6) { grid-column: span 5; grid-row: span 2; }
.category-editorial-card:nth-child(3), .category-editorial-card:nth-child(4) { grid-column: span 5; grid-row: span 2; }
.category-editorial-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.category-editorial-card:hover img { transform: scale(1.05); }
.category-editorial-card__overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,15,10,.92), rgba(7,15,10,.05) 70%); }
.category-editorial-card__content { position: absolute; inset: auto 0 0; padding: clamp(24px, 3vw, 42px); }
.category-editorial-card__content > span { display: block; color: var(--signal); font-family: var(--font-display); font-size: 1.65rem; font-weight: 850; }
.category-editorial-card__content h3 { margin: 10px 0 5px; font-size: clamp(1.65rem, 3vw, 3.6rem); }
.category-editorial-card__content small { color: rgba(255,255,255,.65); }

.power-section { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.power-card { position: relative; min-height: 710px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.power-card__visual { position: absolute; inset: 0; }
.power-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.power-card:hover .power-card__visual img { transform: scale(1.04); }
.power-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6,14,9,.93), rgba(6,14,9,.08) 70%); }
.power-card__content { position: relative; z-index: 1; padding: clamp(34px, 5vw, 72px); color: var(--white); }
.power-card__content h2 { font-size: clamp(2.2rem, 4vw, 4.8rem); }
.power-card__content p { color: rgba(255,255,255,.72); }
.power-card--engine .button--dark { background: var(--signal); border-color: var(--signal); }

.selector-section { background: var(--forest); color: var(--white); }
.selector-section__inner { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(48px, 8vw, 120px); align-items: center; }
.selector-section__copy p { color: rgba(255,255,255,.68); max-width: 55ch; }
.machine-selector { padding: clamp(26px, 4vw, 54px); background: var(--white); color: var(--ink); box-shadow: var(--shadow); }
.machine-selector label, .filter-field, .site-form label, .inquiry-form label { display: flex; flex-direction: column; gap: 8px; }
.machine-selector label + label { margin-top: 18px; }
.machine-selector label > span, .filter-field > span, .site-form label > span, .inquiry-form label > span { font-size: .68rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.machine-selector select, .shop-filter-form select, .shop-filter-form input, .site-form input, .site-form select, .site-form textarea, .inquiry-form input, .inquiry-form textarea {
	width: 100%; min-height: 52px; padding: 12px 14px;
	border: 1px solid var(--line); border-radius: 0;
	background: var(--cream); color: var(--ink);
}
.machine-selector select:focus, .site-form input:focus, .site-form select:focus, .site-form textarea:focus { border-color: var(--signal); outline: 2px solid rgba(236,91,42,.16); }
.machine-selector button { margin-top: 22px; }

.service-home-section { display: grid; grid-template-columns: 1.08fr .92fr; background: var(--paper); }
.service-home-section__visual { position: relative; min-height: 680px; }
.service-home-section__visual img { width: 100%; height: 100%; object-fit: cover; }
.service-home-section__badge { position: absolute; left: 0; bottom: 0; max-width: 460px; padding: 26px 34px; background: var(--signal); color: var(--white); }
.service-home-section__badge strong { display: block; font-family: var(--font-display); font-size: 2rem; }
.service-home-section__badge span { font-size: .67rem; font-weight: 800; letter-spacing: .08em; }
.service-home-section__content { padding: clamp(60px, 8vw, 120px); align-self: center; }
.service-home-section__content h2 { max-width: 11ch; }
.service-steps-mini { margin: 34px 0; list-style: none; border-top: 1px solid var(--line); }
.service-steps-mini li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.service-steps-mini > li > span { font-family: var(--font-display); font-size: 1.7rem; font-weight: 850; color: var(--signal); }
.service-steps-mini p { margin: 3px 0 0; color: var(--muted); }

.professional-section { background: var(--white); }
.professional-section__inner { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(48px, 8vw, 120px); align-items: center; }
.professional-section__copy p { color: var(--muted); }
.professional-section__visual { position: relative; min-height: 620px; }
.professional-section__visual > img { width: 100%; height: 100%; object-fit: cover; }
.professional-section__metrics { position: absolute; left: -40px; bottom: 30px; width: min(460px, 90%); background: var(--ink); color: var(--white); }
.professional-section__metrics span { display: grid; grid-template-columns: 115px 1fr; gap: 16px; padding: 18px 22px; border-bottom: 1px solid var(--line-light); font-size: .8rem; }
.professional-section__metrics strong { color: var(--signal); }

.brand-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.brand-tile { min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; transition: .2s ease; }
.brand-tile:hover { background: var(--white); transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.brand-tile span { font-family: var(--font-display); font-size: 1.4rem; font-weight: 850; }
.brand-tile small { color: var(--muted); }
.brand-tile--placeholder { opacity: .55; }

.location-section { display: grid; grid-template-columns: 1.1fr .9fr; background: var(--ink); color: var(--white); }
.location-section__map { position: relative; min-height: 650px; }
.location-section__map img { width: 100%; height: 100%; object-fit: cover; }
.map-pin { position: absolute; top: 48%; left: 52%; display: grid; place-items: center; width: 66px; height: 66px; border-radius: 50%; background: var(--signal); color: var(--white); box-shadow: 0 0 0 16px rgba(236,91,42,.18); }
.location-section__content { padding: clamp(58px, 8vw, 116px); align-self: center; }
.location-section__content p { color: rgba(255,255,255,.7); }
.location-details { margin: 34px 0; border-top: 1px solid var(--line-light); }
.location-details > div { display: grid; grid-template-columns: 130px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line-light); }
.location-details span { font-size: .67rem; font-weight: 850; letter-spacing: .1em; color: var(--signal); }

.post-grid, .article-grid, .search-results-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.post-card, .article-card, .search-result-card { background: var(--white); border: 1px solid var(--line); }
.post-card__media, .article-card__media { display: block; aspect-ratio: 16/11; overflow: hidden; background: var(--paper-2); }
.post-card__media img, .article-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.post-card:hover img, .article-card:hover img { transform: scale(1.04); }
.post-card__content, .article-card__body, .search-result-card { padding: 28px; }
.post-card__meta, .article-card__meta, .article-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; font-size: .66rem; font-weight: 800; letter-spacing: .08em; color: var(--muted); }
.advice-placeholder-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.advice-placeholder-card { min-height: 330px; padding: 34px; border: 1px solid var(--line); background: var(--paper); display: flex; flex-direction: column; }
.advice-placeholder-card > span { color: var(--signal); font-family: var(--font-display); font-size: 2rem; font-weight: 850; }
.advice-placeholder-card strong { margin-top: auto; display: flex; justify-content: space-between; align-items: center; font-size: .73rem; letter-spacing: .08em; }

/* Shared page heroes and content */
.page-hero { background: var(--ink); color: var(--white); overflow: hidden; }
.page-hero--light { background: var(--paper); color: var(--ink); }
.page-hero__inner { min-height: 590px; display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); align-items: stretch; }
.page-hero__copy { align-self: center; padding: clamp(70px, 10vw, 140px) clamp(30px, 7vw, 100px) clamp(70px, 10vw, 140px) 0; }
.page-hero__copy h1 { font-size: clamp(3rem, 6.2vw, 7.2rem); }
.page-hero__text { max-width: 60ch; color: rgba(255,255,255,.68); font-size: 1.08rem; }
.page-hero--light .page-hero__text { color: var(--muted); }
.page-hero__visual { position: relative; min-height: 470px; }
.page-hero__visual > img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,23,19,.35), transparent 45%); }
.page-hero__visual-label { position: absolute; z-index: 1; right: 24px; bottom: 24px; padding: 16px 20px; background: rgba(14,23,19,.88); color: var(--white); }
.page-hero__visual-label span { display: block; font-family: var(--font-display); font-size: 1.3rem; font-weight: 850; }
.page-hero__visual-label small { color: var(--signal); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.page-hero--compact .page-hero__inner { min-height: 420px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 28px; font-size: .68rem; font-weight: 750; letter-spacing: .06em; color: rgba(255,255,255,.57); }
.page-hero--light .breadcrumbs, .commerce-breadcrumb-wrap .breadcrumbs { color: var(--muted); }
.breadcrumbs a:hover { color: var(--signal); }

.about-intro__grid, .service-overview__grid, .professional-needs__grid, .professional-solutions__grid, .values-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.about-intro__grid > *, .service-overview__grid > *, .professional-needs__grid > *, .professional-solutions__grid > *, .values-grid > * { padding: clamp(28px, 4vw, 46px); background: var(--white); border: 1px solid var(--line); }
.icon-box { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 24px; background: var(--signal); color: var(--white); }
.icon-box .icon { width: 25px; height: 25px; }
.about-method__grid, .service-preparation__grid, .b2b-process, .content-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(50px, 8vw, 120px); align-items: center; }
.about-method__media, .service-preparation__media { min-height: 560px; }
.about-method__media img, .service-preparation__media img { width: 100%; height: 100%; object-fit: cover; }
.numbered-list, .process-line { list-style: none; counter-reset: steps; border-top: 1px solid var(--line); }
.numbered-list li, .process-line li { counter-increment: steps; display: grid; grid-template-columns: 62px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.numbered-list li::before, .process-line li::before { content: "0" counter(steps); font-family: var(--font-display); font-size: 2rem; font-weight: 850; color: var(--signal); }
.process-line--three { display: grid; grid-template-columns: repeat(3,1fr); border-left: 1px solid var(--line); }
.process-line--three li { display: block; padding: 34px; border-right: 1px solid var(--line); }
.process-line--three li::before { display: block; margin-bottom: 36px; }
.check-list { list-style: none; display: grid; gap: 13px; }
.check-list li { display: flex; gap: 12px; align-items: flex-start; }
.check-list .icon { color: var(--signal); margin-top: 3px; }
.check-list--dark { padding: 26px; background: var(--ink); color: var(--white); }
.dual-entry__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.dual-entry__card { min-height: 360px; padding: clamp(32px, 5vw, 60px); background: var(--ink); color: var(--white); display: flex; flex-direction: column; }
.dual-entry__card:nth-child(2) { background: var(--forest); }
.dual-entry__card .button { margin-top: auto; align-self: flex-start; }

.contact-cards { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.contact-cards article { padding: 30px; background: var(--white); border: 1px solid var(--line); }
.contact-cards h2 { font-size: clamp(1.5rem, 2.2vw, 2.45rem); overflow-wrap: anywhere; }
.contact-route-links { margin-top: 32px; border-top: 1px solid var(--line); }
.contact-route-links a { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); }
.contact-route-links span { color: var(--signal); font-family: var(--font-display); font-size: 1.35rem; font-weight: 850; }

.form-layout { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(40px, 7vw, 100px); align-items: start; }
.form-layout__aside { position: sticky; top: 110px; }
.form-card { padding: clamp(28px, 5vw, 58px); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.site-form, .inquiry-form { display: grid; gap: 20px; }
.form-grid { display: grid; gap: 18px; }
.form-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.site-form textarea, .inquiry-form textarea { min-height: 140px; resize: vertical; }
.form-section-title { display: grid; grid-template-columns: 54px 1fr; gap: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.form-section-title > span { font-family: var(--font-display); font-size: 2rem; color: var(--signal); font-weight: 850; }
.form-section-title h2 { font-size: 1.65rem; }
.checkbox-field, .form-check { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-size: .82rem; color: var(--muted); }
.checkbox-field input, .form-check input { width: 18px; min-height: 18px; margin-top: 3px; flex: 0 0 auto; }
.checkbox-field a, .form-check a { text-decoration: underline; }
.honeypot, .form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.file-field small { color: var(--muted); font-size: .75rem; }
.form-layout__contact { display: flex; gap: 16px; align-items: center; margin-top: 28px; }
.form-layout__contact small { display: block; font-weight: 800; letter-spacing: .08em; }
.form-layout__contact a { font-family: var(--font-display); font-size: 1.5rem; font-weight: 850; }
.form-notice { padding: 16px 18px; margin-bottom: 22px; border-left: 4px solid; background: var(--paper); }
.form-notice--success { border-color: var(--success); }
.form-notice--error { border-color: var(--error); }
.form-notice--warning { border-color: var(--warning); }
.editor-note { margin-top: 24px; padding: 14px 18px; background: #fff5d8; border-left: 4px solid #c98900; font-size: .82rem; }
.selected-product-card { display: flex; gap: 18px; margin-top: 30px; padding: 18px; background: var(--white); border: 1px solid var(--line); }
.selected-product-card img { width: 86px; height: 86px; object-fit: contain; }
.selected-product-card div { display: flex; flex-direction: column; }
.selected-product-card small, .selected-product-card span { color: var(--muted); font-size: .7rem; }

.faq-page__grid { display: grid; grid-template-columns: minmax(260px,.4fr) minmax(0,1fr); gap: clamp(45px, 7vw, 100px); }
.faq-page__aside { position: sticky; top: 110px; align-self: start; }
.faq-page__help { padding: 28px; background: var(--forest); color: var(--white); }
.faq-group + .faq-group { margin-top: 56px; }
.accordion { border-top: 1px solid var(--line); }
.accordion__item { border-bottom: 1px solid var(--line); }
.accordion__item > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; font-family: var(--font-display); font-size: 1.3rem; font-weight: 800; }
.accordion__item > summary::-webkit-details-marker { display: none; }
.accordion__item > summary::after { content: "+"; color: var(--signal); font-family: var(--font-body); font-size: 1.5rem; }
.accordion__item[open] > summary::after { content: "−"; }
.accordion__panel { padding: 0 0 24px; color: var(--muted); max-width: 75ch; }

.legal-content { max-width: 900px; padding: clamp(70px, 9vw, 130px) 0; }
.prose { font-size: 1.02rem; }
.prose h2, .prose h3 { margin-top: 1.5em; }
.prose h2 { font-size: clamp(2rem, 3vw, 3.4rem); }
.prose h3 { font-size: 1.6rem; }
.prose a { color: var(--signal-dark); text-decoration: underline; }
.prose ul, .prose ol { margin: 1.2em 0; padding-left: 1.3em; }
.prose table { width: 100%; border-collapse: collapse; overflow-x: auto; }
.prose th, .prose td { padding: 12px; border: 1px solid var(--line); text-align: left; }

/* Blog and article */
.archive-hero, .article-hero { background: var(--ink); color: var(--white); }
.archive-hero__grid, .article-hero__inner { min-height: 560px; display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); }
.archive-hero__grid > div:first-child, .article-hero__copy { align-self: center; padding: 80px 70px 80px 0; }
.archive-hero__visual, .article-hero__media { min-height: 500px; }
.archive-hero__visual img, .article-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.archive-shell, .article-main { background: var(--cream); }
.archive-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 32px; }
.article-lead { max-width: 58ch; color: rgba(255,255,255,.7); font-size: 1.1rem; }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: clamp(45px, 8vw, 110px); padding-block: clamp(70px, 9vw, 130px); align-items: start; }
.article-content { max-width: 820px; }
.article-aside { position: sticky; top: 110px; }
.article-aside__card { padding: 32px; background: var(--forest); color: var(--white); }
.article-aside__card h2 { font-size: 2.1rem; }
.article-aside__card p { color: rgba(255,255,255,.7); }
.article-next { padding: 64px 0; background: var(--paper); }
.article-next__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }

/* WooCommerce archive */
.commerce-main { padding-bottom: clamp(70px, 9vw, 130px); background: var(--cream); }
.commerce-container { padding-top: 34px; }
.commerce-breadcrumb-wrap { margin-bottom: 24px; }
.shop-hero { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.45fr); gap: 24px; align-items: end; margin-bottom: 42px; padding: clamp(45px, 6vw, 82px); background: var(--ink); color: var(--white); }
.shop-hero h1 { font-size: clamp(3.2rem, 6vw, 6.8rem); }
.shop-hero__copy > p:last-child { max-width: 65ch; color: rgba(255,255,255,.68); }
.shop-hero__meta { padding: 24px; background: rgba(255,255,255,.07); border: 1px solid var(--line-light); }
.shop-hero__meta > span { color: var(--signal); }
.shop-hero__meta strong { display: block; margin: 12px 0; font-size: .8rem; letter-spacing: .07em; }
.shop-hero__meta a { display: flex; align-items: center; justify-content: space-between; font-weight: 750; color: var(--signal); }
.shop-layout { display: grid; grid-template-columns: 285px minmax(0,1fr); gap: 36px; align-items: start; }
.shop-filters { position: sticky; top: 100px; padding: 24px; background: var(--white); border: 1px solid var(--line); }
.shop-filters__header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.shop-filters__header .icon-button { display: none; }
.shop-filter-form { display: grid; gap: 17px; }
.filter-price-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.shop-filter-form__actions { display: grid; gap: 12px; text-align: center; }
.shop-toolbar { display: flex; justify-content: space-between; align-items: center; min-height: 54px; margin-bottom: 22px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.shop-toolbar select, .shop-mobile-ordering select { min-height: 42px; padding: 8px 34px 8px 12px; border: 1px solid var(--line); background: var(--white); }
.shop-mobile-controls, .shop-mobile-ordering { display: none; }
.active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 22px; }
.active-filters__label { font-size: .68rem; font-weight: 850; letter-spacing: .08em; }
.filter-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; background: var(--paper); border: 1px solid var(--line); font-size: .75rem; }
.active-filters__clear { margin-left: auto; font-size: .75rem; text-decoration: underline; }
.woocommerce ul.products, ul.products { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; margin: 0 !important; padding: 0; list-style: none; }
ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }
.product-card__inner { height: 100%; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); transition: transform .3s ease, box-shadow .3s ease; }
.product-card__inner:hover { transform: translateY(-6px); box-shadow: var(--shadow-soft); }
.product-card__media { position: relative; aspect-ratio: 1/1; overflow: hidden; display: block; background: #f4f4f0; }
.product-card__media img { width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; padding: 22px; transition: transform .45s ease; }
.product-card__inner:hover .product-card__media img { transform: scale(1.04); }
.product-card__media .onsale, .woocommerce span.onsale { top: 14px !important; left: 14px !important; right: auto !important; min-width: auto; min-height: auto; padding: 7px 10px; border-radius: 0; background: var(--signal); color: var(--white); font-size: .67rem; font-weight: 850; line-height: 1.2; }
.product-card__media-arrow { position: absolute; right: 14px; bottom: 14px; width: 42px; height: 42px; display: grid; place-items: center; background: var(--ink); color: var(--white); transition: background .2s ease; }
.product-card__inner:hover .product-card__media-arrow { background: var(--signal); }
.product-card__content { display: flex; flex-direction: column; flex: 1; padding: 23px; }
.product-card__meta { min-height: 22px; display: flex; justify-content: space-between; gap: 8px; margin-bottom: 12px; font-size: .65rem; font-weight: 800; letter-spacing: .08em; color: var(--muted); text-transform: uppercase; }
.product-card__mode { color: var(--signal-dark); }
.product-card__title-link h2 { font-size: clamp(1.35rem, 1.8vw, 1.9rem); line-height: 1.05; }
.product-card__specs { list-style: none; margin: 15px 0; border-top: 1px solid var(--line); }
.product-card__specs li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .72rem; }
.product-card__specs span { color: var(--muted); }
.product-card__price-row { margin-top: auto; padding-top: 18px; }
.product-card__price-row .price, .product-card .price { color: var(--ink) !important; font-family: var(--font-display); font-size: 1.55rem !important; font-weight: 850 !important; }
.product-card__price-row del { color: var(--muted); font-size: .78em; }
.product-card__price-row ins { text-decoration: none; color: var(--signal-dark); }
.product-card__cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); font-size: .71rem; font-weight: 850; letter-spacing: .08em; }
.product-fallback-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.product-fallback-card { min-height: 390px; display: flex; flex-direction: column; padding: 24px; background: var(--paper); border: 1px solid var(--line); }
.product-fallback-card > img { aspect-ratio: 1/1; width: 100%; object-fit: cover; }
.product-fallback-card__number { color: var(--signal); font-family: var(--font-display); font-size: 1.8rem; font-weight: 850; }
.shop-empty-state { padding: 70px 30px; text-align: center; background: var(--paper); }
.shop-empty-state__icon { width: 70px; height: 70px; margin: 0 auto 24px; display: grid; place-items: center; background: var(--white); }
.shop-empty-state__icon .icon { width: 32px; height: 32px; }
.shop-empty-state .button-row { justify-content: center; }
.shop-seo-copy { max-width: 900px; margin: 90px auto 0; padding: 40px; background: var(--paper); }
.woocommerce nav.woocommerce-pagination { margin-top: 42px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 7px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 43px; height: 43px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); background: var(--white); color: var(--ink); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ink); color: var(--white); }

/* Single product */
.single-product .commerce-container { max-width: var(--container); }
.single-product div.product { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.72fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.single-product div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; position: sticky; top: 100px; }
.single-product div.product .summary { width: auto !important; float: none !important; margin: 0 !important; padding: clamp(24px, 3vw, 42px); background: var(--white); border: 1px solid var(--line); }
.single-product .woocommerce-product-gallery__wrapper { background: #f4f4f0; }
.single-product .woocommerce-product-gallery__image img { width: 100%; }
.single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-top: 8px !important; }
.single-product .flex-control-thumbs li { width: auto !important; float: none !important; background: #f4f4f0; }
.single-product .product_title { font-size: clamp(2.5rem, 4.8vw, 5rem); }
.product-eyebrow { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; font-size: .69rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; color: var(--signal-dark); }
.single-product .summary .price { color: var(--ink) !important; font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3.2rem) !important; font-weight: 850; }
.product-status-line { display: flex; flex-wrap: wrap; gap: 9px 18px; margin: 16px 0 22px; padding: 15px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .74rem; color: var(--muted); }
.product-status-line .stock { margin: 0; color: var(--success); }
.single-product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin: 22px 0 !important; }
.single-product form.cart .variations { width: 100%; margin-bottom: 14px; }
.single-product form.cart .variations th, .single-product form.cart .variations td { display: block; text-align: left; padding: 5px 0; }
.single-product form.cart .variations select { width: 100%; min-height: 52px; padding: 10px 14px; border: 1px solid var(--line); background: var(--cream); }
.quantity .qty { min-height: 52px; border: 1px solid var(--line); }
.single-product .single_add_to_cart_button { min-height: 52px; }
.product-secondary-actions { display: grid; gap: 12px; }
.product-phone-link { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border: 1px solid var(--line); font-weight: 800; }
.product-trust-points { list-style: none; display: grid; gap: 10px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.product-trust-points li { display: flex; gap: 10px; font-size: .8rem; color: var(--muted); }
.product-trust-points .icon { color: var(--success); }
.single-product .woocommerce-tabs, .single-product .related, .single-product .upsells { grid-column: 1 / -1; width: 100%; margin-top: 65px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 4px; padding: 0 !important; margin: 0 0 24px !important; border-bottom: 1px solid var(--line); }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 15px 20px !important; font-size: .75rem; letter-spacing: .07em; }
.single-product .woocommerce-tabs ul.tabs li.active a { background: var(--ink); color: var(--white); }
.single-product .woocommerce-Tabs-panel { padding: 38px; background: var(--white); border: 1px solid var(--line); }
.woocommerce table.shop_attributes { border-collapse: collapse; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: 13px; border: 1px solid var(--line); background: transparent !important; font-style: normal; }
.product-editorial-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; margin-top: 50px; }
.product-editorial-card { padding: clamp(32px, 5vw, 60px); background: var(--paper); }
.product-editorial-card--dark { background: var(--forest); color: var(--white); }
.product-service-banner { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 20px; padding: clamp(34px, 5vw, 60px); background: var(--ink); color: var(--white); }
.product-service-banner > div { max-width: 850px; }
.product-service-banner p { color: rgba(255,255,255,.68); }
.mobile-product-bar { display: none; }

/* Cart, checkout, account */
.woocommerce-cart .commerce-container, .woocommerce-checkout .commerce-container, .woocommerce-account .commerce-container { padding-top: clamp(55px, 7vw, 100px); }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-billing-fields, .woocommerce-additional-fields, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { background: var(--white); border: 1px solid var(--line); padding: clamp(22px, 4vw, 38px); }
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px; border-color: var(--line); }
.woocommerce-cart .cart-collaterals { margin-top: 30px; }
.woocommerce-cart .cart-collaterals .cart_totals { float: right; width: min(100%, 520px); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 50px; padding: 10px 13px; border: 1px solid var(--line); background: var(--cream); }
.woocommerce-checkout #customer_details { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.woocommerce-checkout #order_review_heading { margin-top: 45px; }
.woocommerce-checkout-payment { border-radius: 0 !important; background: var(--paper) !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); font-weight: 750; }
.woocommerce-MyAccount-navigation { width: 28% !important; }
.woocommerce-MyAccount-content { width: 69% !important; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-top-color: var(--signal); background: var(--paper); color: var(--ink); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--signal); }
.wc-block-components-sidebar-layout { gap: 28px !important; }
.wc-block-components-order-summary, .wc-block-components-totals-wrapper, .wc-block-checkout__form { background: var(--white); }

/* Footer */
.site-footer { background: var(--ink); color: var(--white); }
.site-footer__cta { border-bottom: 1px solid var(--line-light); }
.site-footer__cta-inner { min-height: 220px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.site-footer__cta h2 { max-width: 13ch; margin: 0; font-size: clamp(2.3rem, 4.2vw, 4.8rem); }
.site-footer__main { padding: 70px 0; }
.site-footer__grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr 1fr; gap: clamp(35px, 6vw, 90px); }
.site-footer__brand p { max-width: 37ch; margin-top: 22px; color: rgba(255,255,255,.6); }
.site-footer__column > strong { display: block; margin-bottom: 19px; color: var(--signal); font-size: .68rem; letter-spacing: .11em; }
.footer-menu, .legal-menu { list-style: none; display: grid; gap: 10px; }
.footer-menu a, .legal-menu a { color: rgba(255,255,255,.7); }
.footer-menu a:hover, .legal-menu a:hover { color: var(--white); }
.site-footer__contact { display: grid; gap: 14px; }
.footer-contact-line { display: flex; gap: 12px; align-items: flex-start; color: rgba(255,255,255,.72); }
.footer-contact-symbol { color: var(--signal); }
.footer-socials { display: flex; gap: 10px; margin-top: 20px; }
.footer-socials a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line-light); font-size: .7rem; font-weight: 850; }
.footer-socials a:hover { background: var(--signal); border-color: var(--signal); }
.site-footer__bottom { border-top: 1px solid var(--line-light); }
.site-footer__bottom-inner { min-height: 64px; display: flex; justify-content: space-between; align-items: center; gap: 20px; color: rgba(255,255,255,.46); font-size: .7rem; }
.site-credit { color: rgba(255,255,255,.7); }


/* Editorial utility details */
.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 30px; }
.brand-tile__mark { display: grid; place-items: center; min-width: 48px; min-height: 48px; margin-bottom: 10px; border: 1px solid var(--line); border-radius: 50%; color: var(--signal); font-family: var(--font-display); font-size: 1rem !important; }
.brand-tile > strong { display: block; max-width: 20ch; font-family: var(--font-display); font-size: 1.05rem; line-height: 1.05; }
.brand-tile .icon { width: 18px; margin-top: 12px; color: var(--signal); }
.category-editorial-card__content { position: relative; z-index: 2; display: flex; height: 100%; flex-direction: column; justify-content: end; padding: 26px; color: var(--white); }
.category-editorial-card__content > strong { display: block; max-width: 16ch; font-family: var(--font-display); font-size: clamp(1.55rem, 2.4vw, 2.55rem); line-height: .95; }
.site-footer__column > h3 { margin: 0 0 19px; color: var(--signal); font-family: var(--font-body); font-size: .68rem; letter-spacing: .11em; }
@media (max-width: 1220px) {
	html:not(.js) .site-header__main-inner { grid-template-columns: auto 1fr; }
	html:not(.js) .primary-navigation { grid-column: 1 / -1; width: 100%; overflow-x: auto; padding-bottom: 10px; }
	html:not(.js) .primary-menu { flex-wrap: nowrap; white-space: nowrap; }
}

/* Error and empty */
.error-hero { min-height: 650px; display: grid; align-items: center; background: var(--paper); }
.error-hero__inner { display: grid; grid-template-columns: .65fr 1.35fr; gap: 60px; align-items: center; }
.error-hero__code { font-family: var(--font-display); font-size: clamp(8rem, 20vw, 20rem); font-weight: 900; line-height: .75; color: var(--signal); }
.content-none { padding: 50px; background: var(--paper); text-align: center; }

/* Reveal: content remains visible unless JS successfully opts in. */
.reveal, [data-reveal] { opacity: 1; transform: none; }
.reveal-ready .reveal, .reveal-ready [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.reveal-ready .reveal.is-visible, .reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1220px) {
	.js .primary-navigation { display: none; }
	.site-header__main-inner { grid-template-columns: auto auto 1fr; }
	.header-actions { justify-self: end; }
	.js .mobile-menu-toggle { display: inline-flex; }
	.catalog-mega__inner { grid-template-columns: .8fr 1.2fr; }
	.catalog-mega__utility { grid-column: 1 / -1; flex-direction: row; }
	.catalog-mega__utility a { flex: 1; }
	.task-grid { grid-template-columns: repeat(3,1fr); }
	.contact-cards { grid-template-columns: repeat(2,1fr); }
	.brand-grid { grid-template-columns: repeat(3,1fr); }
	.woocommerce ul.products, ul.products, ul.products.columns-4 { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 980px) {
	:root { --header-height: 76px; }
	.site-header__top-links .dealer-claim { display: none; }
	.header-action__label { display: none; }
	.catalog-toggle { display: none; }
	.site-header__main-inner { grid-template-columns: auto 1fr; }
	.home-hero { min-height: 760px; }
	.home-hero__inner { grid-template-columns: 1fr; }
	.home-hero__side { display: none; }
	.home-hero__rail-inner { overflow-x: auto; justify-content: flex-start; white-space: nowrap; }
	.section-heading--split { grid-template-columns: 1fr; align-items: start; }
	.task-grid { grid-template-columns: repeat(2,1fr); }
	.category-editorial-grid { grid-auto-rows: 190px; }
	.category-editorial-card:nth-child(n) { grid-column: span 6; grid-row: span 2; }
	.power-section { grid-template-columns: 1fr; }
	.power-card { min-height: 620px; }
	.selector-section__inner, .professional-section__inner, .about-method__grid, .service-preparation__grid, .b2b-process, .content-layout { grid-template-columns: 1fr; }
	.service-home-section, .location-section { grid-template-columns: 1fr; }
	.service-home-section__visual, .location-section__map { min-height: 520px; }
	.professional-section__metrics { left: 20px; }
	.page-hero__inner, .archive-hero__grid, .article-hero__inner { grid-template-columns: 1fr; }
	.page-hero__copy, .archive-hero__grid > div:first-child, .article-hero__copy { padding-right: 0; }
	.page-hero__visual, .archive-hero__visual, .article-hero__media { min-height: 410px; }
	.form-layout, .faq-page__grid, .article-layout { grid-template-columns: 1fr; }
	.form-layout__aside, .faq-page__aside, .article-aside { position: static; }
	.about-intro__grid, .service-overview__grid, .professional-needs__grid, .professional-solutions__grid, .values-grid { grid-template-columns: repeat(2,1fr); }
	.process-line--three { grid-template-columns: 1fr; }
	.shop-layout { grid-template-columns: 1fr; }
	.shop-filters { position: static; width: 100%; }
	.js .shop-filters { position: fixed; z-index: 1300; top: 0; left: 0; bottom: 0; width: min(92vw, 390px); overflow-y: auto; transform: translateX(-100%); transition: transform .25s ease; }
	.js .shop-filters.is-open { transform: none; }
	.js .shop-filters__header .icon-button { display: inline-flex; }
	.js .filter-backdrop { position: fixed; z-index: 1290; inset: 0; background: rgba(4,10,7,.7); }
	.js .filter-backdrop:not([hidden]) { display: block; }
	.js .shop-mobile-controls { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 20px; }
	.shop-mobile-ordering { display: block; }
	.shop-desktop-ordering { display: none; }
	.single-product div.product { grid-template-columns: 1fr; }
	.single-product div.product .woocommerce-product-gallery { position: static; }
	.article-aside { max-width: 650px; }
	.site-footer__grid { grid-template-columns: repeat(2,1fr); }
	.site-footer__cta-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 45px; }
}

@media (max-width: 760px) {
	:root { --gutter: 18px; }
	h1 { font-size: clamp(2.75rem, 13vw, 5.1rem); }
	h2 { font-size: clamp(2.05rem, 10vw, 3.8rem); }
	.site-header__top { display: none; }
	.site-header__main-inner { min-height: 72px; }
	.header-action:not(.header-cart):not([data-search-open]) { display: none; }
	.home-hero { min-height: 700px; }
	.home-hero__inner { padding-top: 105px; padding-bottom: 120px; }
	.home-hero h1 { max-width: 11ch; }
	.home-hero__rail-inner { min-height: 54px; font-size: .61rem; }
	.button-row { align-items: stretch; }
	.button-row .button { width: 100%; }
	.task-grid, .contact-cards, .dual-entry__grid, .about-intro__grid, .service-overview__grid, .professional-needs__grid, .professional-solutions__grid, .values-grid, .post-grid, .article-grid, .search-results-grid, .advice-placeholder-grid, .product-editorial-grid { grid-template-columns: 1fr; }
	.task-card { min-height: 245px; }
	.category-editorial-grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; }
	.category-editorial-card:nth-child(n) { grid-column: auto; grid-row: auto; min-height: 420px; }
	.power-card { min-height: 560px; }
	.service-home-section__content, .location-section__content { padding: 58px var(--gutter); }
	.service-home-section__visual, .location-section__map, .professional-section__visual, .about-method__media, .service-preparation__media { min-height: 420px; }
	.professional-section__metrics { position: static; width: 100%; }
	.brand-grid { grid-template-columns: repeat(2,1fr); }
	.page-hero__inner { min-height: auto; }
	.page-hero__copy { padding-block: 68px; }
	.page-hero__visual { min-height: 340px; }
	.form-grid--2 { grid-template-columns: 1fr; }
	.form-card { padding: 24px; }
	.location-details > div { grid-template-columns: 1fr; gap: 4px; }
	.archive-toolbar, .article-next__inner { align-items: stretch; flex-direction: column; }
	.shop-hero { grid-template-columns: 1fr; padding: 34px 24px; }
	.woocommerce ul.products, ul.products, ul.products.columns-4 { grid-template-columns: repeat(2,1fr); gap: 12px; }
	.product-card__content { padding: 16px; }
	.product-card__specs { display: none; }
	.product-card__meta { font-size: .58rem; }
	.product-card__title-link h2 { font-size: 1.25rem; }
	.product-card__price-row .price, .product-card .price { font-size: 1.25rem !important; }
	.product-fallback-grid { grid-template-columns: repeat(2,1fr); }
	.single-product .summary { padding: 22px; }
	.single-product .woocommerce-tabs ul.tabs { overflow-x: auto; }
	.single-product .woocommerce-Tabs-panel { padding: 24px; }
	.product-service-banner { align-items: stretch; flex-direction: column; }
	.mobile-product-bar { position: fixed; z-index: 850; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -12px 30px rgba(8,18,13,.12); }
	.mobile-product-bar__price { font-family: var(--font-display); font-weight: 850; }
	.mobile-product-bar .button { min-height: 44px; padding: 10px 15px; }
	.single-product { padding-bottom: 75px; }
	.woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { width: 100% !important; float: none !important; }
	.site-footer__grid { grid-template-columns: 1fr; }
	.site-footer__bottom-inner { padding-block: 18px; align-items: flex-start; flex-direction: column; }
	.error-hero__inner { grid-template-columns: 1fr; }
	.error-hero__code { font-size: 10rem; }
}

@media (max-width: 480px) {
	.brand-logo__tag { display: none; }
	.site-brand { min-width: 120px; }
	.header-actions { gap: 0; }
	.header-noscript-search { min-width: 138px; }
	.header-noscript-search input { width: 96px; }
	.home-hero__copy > p:not(.eyebrow) { font-size: .94rem; }
	.category-editorial-card:nth-child(n) { min-height: 360px; }
	.brand-grid { grid-template-columns: 1fr 1fr; }
	.brand-tile { min-height: 120px; }
	.woocommerce ul.products, ul.products, ul.products.columns-4 { grid-template-columns: 1fr; }
	.product-fallback-grid { grid-template-columns: 1fr; }
	.js .shop-mobile-controls { align-items: stretch; }
	.js .shop-mobile-controls .button, .shop-mobile-ordering, .shop-mobile-ordering select { width: 100%; }
}

@media (pointer: coarse) {
	.task-card:hover, .brand-tile:hover, .product-card__inner:hover, .button:hover { transform: none; }
	.category-editorial-card:hover img, .power-card:hover img, .post-card:hover img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.reveal-ready .reveal, .reveal-ready [data-reveal] { opacity: 1 !important; transform: none !important; }
}


/* ==========================================================
   V2 FULL-SITE VISUAL AUDIT
   Contrast, symmetry, real photography and resilient layouts.
   ========================================================== */
html { overflow-x: clip; }
body, .site, .site-main, main, section, article, aside, div { min-width: 0; }
h1, h2, h3, h4, h5, h6 { overflow-wrap: anywhere; hyphens: auto; }
p, li, a, button, input, select, textarea { overflow-wrap: anywhere; }

/* Every unmodified button remains visible on light and dark pages. */
.button:not(.button--primary):not(.button--dark):not(.button--light):not(.button--ghost):not(.button--outline-light),
.site-form button.button:not([class*="button--"]),
.inquiry-form button.button:not([class*="button--"]) {
	background: var(--signal);
	color: var(--white);
	border-color: var(--signal);
}
.button:not(.button--primary):not(.button--dark):not(.button--light):not(.button--ghost):not(.button--outline-light):hover {
	background: var(--signal-dark);
	color: var(--white);
	border-color: var(--signal-dark);
}

/* Header and menu contrast is explicit, never inherited from page sections. */
.site-header__main, .site-header__main a, .site-header__main button { color: var(--ink); }
.primary-menu .sub-menu { background: var(--white); color: var(--ink); }
.primary-menu .sub-menu a { color: var(--ink) !important; }
.primary-menu .sub-menu a:hover, .primary-menu .sub-menu .current-menu-item > a { color: var(--signal) !important; background: var(--paper); }
.catalog-mega, .catalog-mega a { color: var(--white); }
.catalog-mega__categories small { color: rgba(255,255,255,.62); }

.mobile-drawer__panel {
	background: var(--cream) !important;
	color: var(--ink) !important;
	color-scheme: light;
}
.mobile-drawer__panel .brand-logo__name,
.mobile-drawer__panel .mobile-navigation__label,
.mobile-drawer__panel .mobile-primary-menu a,
.mobile-drawer__panel .mobile-drawer__categories > strong,
.mobile-drawer__panel .mobile-drawer__categories a,
.mobile-drawer__panel .mobile-phone,
.mobile-drawer__panel .icon-button {
	color: var(--ink) !important;
}
.mobile-drawer__panel .brand-logo__tag { color: var(--signal) !important; }
.mobile-drawer__panel .button--primary { color: var(--white) !important; }
.mobile-drawer__panel input { background: var(--white); color: var(--ink); border-color: rgba(14,23,19,.22); }
.mobile-navigation__label {
	display: block;
	margin: 28px 0 5px;
	font-size: .67rem;
	font-weight: 900;
	letter-spacing: .15em;
}
.mobile-primary-menu a { padding-inline: 4px; }
.mobile-primary-menu a:hover, .mobile-primary-menu .current-menu-item > a { color: var(--signal-dark) !important; background: rgba(236,91,42,.07); }
.mobile-drawer__categories a:hover { color: var(--signal-dark) !important; }
.site-search-dialog__panel, .site-search-dialog__panel a, .site-search-dialog__panel button,
.cart-drawer__panel, .cart-drawer__panel a, .cart-drawer__panel button { color: var(--ink); }
.search-suggestions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 18px; }
.search-suggestions > span { width: 100%; color: var(--muted); font-size: .67rem; font-weight: 850; letter-spacing: .1em; }
.search-suggestions a { padding: 8px 11px; border: 1px solid var(--line); background: var(--white); font-size: .76rem; font-weight: 750; }
.search-suggestions a:hover { border-color: var(--signal); color: var(--signal-dark); }

/* Homepage photo mosaic. */
.home-hero__visual { left: 43%; padding: 24px 24px 88px 0; }
.home-hero__mosaic { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(180px,.65fr); grid-template-rows: 1fr 1fr; gap: 12px; width: 100%; height: 100%; }
.home-hero__photo { margin: 0; overflow: hidden; background: var(--forest); border: 1px solid rgba(255,255,255,.14); }
.home-hero__photo--main { grid-row: 1 / 3; }
.home-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.home-hero__photo--main img { object-position: center; }
.home-hero__photo--action img { object-position: center 38%; }
.home-hero__overlay { background: linear-gradient(90deg, rgba(5,14,9,.98) 0%, rgba(5,14,9,.92) 33%, rgba(5,14,9,.64) 55%, rgba(5,14,9,.16) 84%, rgba(5,14,9,.28) 100%), linear-gradient(0deg, rgba(5,14,9,.8), transparent 60%); }
.home-hero__side { padding: 16px; background: rgba(7,17,11,.55); backdrop-filter: blur(9px); }

/* Balanced fixed-card systems. */
.task-grid { grid-template-columns: repeat(12, minmax(0,1fr)); }
.task-card { grid-column: span 3; min-height: 300px; }
.task-card:nth-child(n+5) { grid-column: span 4; }
.category-editorial-grid { grid-template-columns: repeat(3, minmax(0,1fr)); grid-auto-rows: auto; }
.category-editorial-card:nth-child(n) { grid-column: auto; grid-row: auto; min-height: 430px; aspect-ratio: 4 / 3; }
.category-editorial-card__content h3 { font-size: clamp(1.6rem, 2.4vw, 3rem); }
.brand-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.brand-tile { height: 100%; }

/* Real store gallery: exact 2 x 2 rhythm on desktop. */
.stock-gallery-section { background: var(--cream); }
.stock-gallery { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.stock-gallery__item { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper-2); }
.stock-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.stock-gallery__item:hover img { transform: scale(1.035); }
.stock-gallery__item::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgba(5,14,9,.88), transparent); pointer-events: none; }
.stock-gallery__item figcaption { position: absolute; z-index: 1; left: 24px; right: 24px; bottom: 20px; color: var(--white); font-size: .7rem; font-weight: 900; letter-spacing: .1em; }
.location-photo-label { position: absolute; z-index: 2; left: 24px; bottom: 24px; padding: 15px 18px; background: rgba(14,23,19,.9); color: var(--white); }
.location-photo-label span, .location-photo-label small { display: block; }
.location-photo-label span { font-family: var(--font-display); font-size: 1.25rem; font-weight: 850; }
.location-photo-label small { color: var(--signal); font-size: .65rem; font-weight: 850; letter-spacing: .1em; }

/* Internal pages: all direct layouts use the number of columns their markup needs. */
.about-intro__grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: start; }
.about-intro__grid > * { height: 100%; }
.lead-copy { font-size: clamp(1.1rem, 1.45vw, 1.28rem); line-height: 1.65; color: var(--ink); }
.values-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.values-grid > article { display: flex; min-height: 310px; flex-direction: column; }
.values-grid > article > span, .professional-needs__grid > article > span { display: block; margin-bottom: 42px; color: var(--signal); font-family: var(--font-display); font-size: 2.1rem; font-weight: 900; }
.values-grid > article p { margin-top: auto; }
.about-method__media, .service-preparation__media { position: relative; overflow: hidden; }
.about-method__media img, .service-preparation__media img { position: absolute; inset: 0; }
.about-method__label { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 22px; padding: 16px 18px; background: rgba(14,23,19,.9); color: var(--white); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-align: center; }
.numbered-list { display: grid; border-top: 1px solid var(--line); }
.numbered-list > div { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.numbered-list > div > span { color: var(--signal); font-family: var(--font-display); font-size: 2rem; font-weight: 900; }
.numbered-list section h3 { margin-bottom: 7px; }
.numbered-list section p { margin: 0; color: var(--muted); }

.service-overview__grid { grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); align-items: start; }
.service-overview__grid > * { height: 100%; }
.service-types { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.service-types > article { display: flex; min-height: 280px; flex-direction: column; padding: clamp(26px,3vw,38px); background: var(--white); border: 1px solid var(--line); }
.service-types > article p { margin-top: auto; }

.process-line { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border: 1px solid var(--line); border-right: 0; border-bottom: 0; }
.process-line > article { min-height: 310px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-line > article > span { display: block; margin-bottom: 42px; color: var(--signal); font-family: var(--font-display); font-size: 2rem; font-weight: 900; }
.process-line > article p { color: var(--muted); }
.process-line--three { grid-template-columns: repeat(3, minmax(0,1fr)); border-left: 1px solid var(--line); }
.process-line--three > article { min-height: 290px; }

.professional-needs__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.professional-needs__grid > article { display: flex; min-height: 310px; flex-direction: column; }
.professional-needs__grid > article p { margin-top: auto; }
.professional-solutions__grid { grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); align-items: stretch; }
.professional-solutions__grid > * { height: 100%; }
.solution-list { display: grid; gap: 14px; }
.solution-list > div { display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: 18px; align-content: center; min-height: 170px; padding: 26px; background: var(--white); border: 1px solid var(--line); }
.solution-list .icon-box { grid-row: 1 / 3; margin: 0; }
.solution-list h3 { margin: 0 0 7px; }
.solution-list p { margin: 0; color: var(--muted); }
.b2b-process { display: block; }

.faq-band__grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: clamp(45px,7vw,100px); align-items: start; }
.faq-page__aside nav { display: grid; margin-bottom: 28px; border-top: 1px solid var(--line); }
.faq-page__aside nav a { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: .76rem; font-weight: 850; letter-spacing: .07em; }
.faq-page__aside nav a:hover { color: var(--signal-dark); }
.accordion__item > summary { color: inherit; }
.accordion__item > summary::after { content: "+"; flex: 0 0 auto; color: var(--signal); font-family: var(--font-body); font-size: 1.5rem; font-weight: 500; transition: transform .2s ease; }
.accordion__item[open] > summary::after { transform: rotate(45deg); }
.accordion__panel { padding: 0 44px 20px 0; color: var(--muted); }
.section-shell--dark .accordion__panel { color: rgba(255,255,255,.7); }

/* Default/generic pages must not render in an unexplained half-column. */
.page-main--default .content-layout { display: block; padding-block: clamp(60px,8vw,110px); }
.page-main--default .page-content { width: min(100%, 920px); margin-inline: auto; }
.page-hero__image { object-fit: cover; }
.page-hero__visual { isolation: isolate; }
.page-hero__visual::after { z-index: 0; background: linear-gradient(90deg, rgba(14,23,19,.5), rgba(14,23,19,.04) 62%); }
.page-hero__visual-label { z-index: 2; }

/* Equal-height cards and predictable archive rhythm. */
.contact-cards > article, .post-grid > article, .article-grid > article, .search-results-grid > article, .advice-placeholder-grid > a { height: 100%; }
.post-card, .article-card, .search-result-card, .advice-placeholder-card { display: flex; flex-direction: column; }
.post-card__content, .article-card__body, .search-result-card { display: flex; flex: 1; flex-direction: column; }
.post-card__content .text-link, .article-card__body .text-link, .search-result-card .text-link { margin-top: auto; align-self: flex-start; }
.product-card__inner { height: 100%; }
.product-card__content { display: flex; flex: 1; flex-direction: column; }
.product-card__cta { margin-top: auto; }

/* Forms and tables never disappear or overflow. */
.site-form label, .inquiry-form label { color: var(--ink); }
.site-form input, .site-form select, .site-form textarea, .inquiry-form input, .inquiry-form select, .inquiry-form textarea { color: var(--ink); opacity: 1; }
.prose, .woocommerce, .woocommerce-page { max-width: 100%; }
.prose table, .woocommerce table { display: table; max-width: 100%; }

@media (max-width: 1220px) {
	.task-card { grid-column: span 6; }
	.task-card:nth-child(n+5) { grid-column: span 6; }
	.task-card:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 250px; }
	.category-editorial-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.values-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.values-grid > article { min-height: 260px; }
	.woocommerce ul.products, ul.products, ul.products.columns-4, .product-fallback-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 980px) {
	.home-hero__visual { left: 0; padding: 0; }
	.home-hero__mosaic { display: block; }
	.home-hero__photo--main { width: 100%; height: 100%; }
	.home-hero__photo--action, .home-hero__photo--stock { display: none; }
	.home-hero__photo--main img { object-position: center; }
	.home-hero__overlay { background: linear-gradient(90deg, rgba(5,14,9,.95), rgba(5,14,9,.72)), linear-gradient(0deg, rgba(5,14,9,.85), transparent 65%); }
	.about-intro__grid, .service-overview__grid, .professional-solutions__grid, .faq-band__grid { grid-template-columns: 1fr; }
	.service-types, .values-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.process-line { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.process-line--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.stock-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.page-hero__visual::after { background: linear-gradient(0deg, rgba(14,23,19,.2), transparent 50%); }
}

@media (max-width: 760px) {
	h1, .page-hero__copy h1 { line-height: 1.02; letter-spacing: -.025em; }
	.mobile-drawer__panel { width: min(94vw, 430px); padding: 22px; }
	.task-grid { grid-template-columns: 1fr; border-left: 1px solid var(--line); }
	.task-card, .task-card:nth-child(n+5), .task-card:last-child:nth-child(odd) { grid-column: auto; min-height: 235px; }
	.category-editorial-grid, .stock-gallery, .service-types, .values-grid, .professional-needs__grid, .process-line, .process-line--three { grid-template-columns: 1fr; }
	.category-editorial-card:nth-child(n) { min-height: 370px; aspect-ratio: auto; }
	.stock-gallery__item { aspect-ratio: 1 / 1; }
	.values-grid > article, .professional-needs__grid > article, .service-types > article, .process-line > article, .process-line--three > article { min-height: auto; }
	.values-grid > article > span, .professional-needs__grid > article > span, .process-line > article > span { margin-bottom: 24px; }
	.solution-list > div { grid-template-columns: 1fr; }
	.solution-list .icon-box { grid-row: auto; margin-bottom: 18px; }
	.about-method__media, .service-preparation__media { min-height: 390px; }
	.faq-page__aside { position: static; }
	.accordion__item > summary { font-size: 1.16rem; }
	.accordion__panel { padding-right: 0; }
	.page-hero__visual-label, .location-photo-label { left: 16px; right: 16px; bottom: 16px; }
	.woocommerce ul.products, ul.products, ul.products.columns-4, .product-fallback-grid { grid-template-columns: 1fr; }
	.prose table, .woocommerce table.shop_table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

@media (pointer: coarse) {
	.stock-gallery__item:hover img { transform: none; }
}


/* Additional contrast and component coverage found in the full template audit. */
.service-overview__grid > .service-types,
.professional-solutions__grid > .solution-list {
	padding: 0;
	background: transparent;
	border: 0;
}
.section-shell--dark .about-intro__grid > * {
	background: rgba(255,255,255,.055);
	color: var(--white);
	border-color: var(--line-light);
}
.section-shell--dark .about-intro__grid .lead-copy,
.section-shell--dark .about-intro__grid p { color: rgba(255,255,255,.74); }
.section-shell--dark .accordion { border-top-color: var(--line-light); }
.section-shell--dark .accordion__item { border-bottom-color: var(--line-light); }
.page-main .article-aside .footer-menu,
.page-main .article-aside .legal-menu { color: var(--ink); }
.page-main .article-aside .footer-menu a,
.page-main .article-aside .legal-menu a { color: var(--ink); }
.page-main .article-aside .footer-menu a:hover,
.page-main .article-aside .legal-menu a:hover { color: var(--signal-dark); }
.editor-note--public { background: #fff0ca; color: var(--ink); border-color: var(--warning); }
.search-result-card__type { margin-bottom: 16px; color: var(--signal-dark); font-size: .66rem; font-weight: 900; letter-spacing: .1em; }
.search-again { max-width: 760px; margin: 0 auto 38px; }
.search-field { color: var(--ink); }
.comments-area { padding-block: clamp(55px,7vw,95px); }
.comments-title { font-size: clamp(2rem,4vw,3.8rem); }
.comment-list { list-style: none; display: grid; gap: 18px; }
.comment-list .comment-body { padding: 24px; background: var(--white); border: 1px solid var(--line); }
.comment-list .children { list-style: none; margin: 16px 0 0 clamp(12px,4vw,46px); }
.comment-form { display: grid; gap: 16px; padding: clamp(24px,4vw,38px); background: var(--paper); }
.comment-form input, .comment-form textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--line); background: var(--white); color: var(--ink); }
.comment-form textarea { min-height: 140px; }
.comment-form .submit { min-height: 50px; padding: 12px 20px; border: 1px solid var(--signal); background: var(--signal); color: var(--white); font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.article-aside__card .button { text-decoration: none; }
.content-none .button { text-decoration: none; }

/* ==========================================================
   V3 HOMEPAGE REFINEMENT
   Service feature, systems section and editorial image grid.
   ========================================================== */

/* Bulgarian display headings must never split a word at an arbitrary letter. */
h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}
p, li, a, button { overflow-wrap: break-word; }

/* Product categories: an intentional editorial mosaic instead of six flat images. */
.category-section {
	position: relative;
	isolation: isolate;
	padding-block: clamp(84px, 9vw, 138px);
	overflow: hidden;
}
.category-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(90deg, transparent 0 49.92%, rgba(255,255,255,.035) 50%, transparent 50.08%),
		linear-gradient(0deg, transparent 0 49.92%, rgba(255,255,255,.025) 50%, transparent 50.08%);
	background-size: 160px 160px;
	pointer-events: none;
}
.category-section .section-heading { margin-bottom: clamp(34px, 5vw, 62px); }
.category-editorial-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: clamp(210px, 15vw, 270px);
	gap: clamp(12px, 1.15vw, 18px);
}
.category-editorial-card:nth-child(n) {
	position: relative;
	grid-column: auto;
	grid-row: auto;
	min-height: 0;
	aspect-ratio: auto;
	isolation: isolate;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.16);
	background: var(--forest);
	box-shadow: 0 18px 50px rgba(0,0,0,.16);
}
.category-editorial-card:nth-child(1) { grid-column: span 7; grid-row: span 2; }
.category-editorial-card:nth-child(2),
.category-editorial-card:nth-child(3) { grid-column: span 5; grid-row: span 1; }
.category-editorial-card:nth-child(4),
.category-editorial-card:nth-child(5),
.category-editorial-card:nth-child(6) { grid-column: span 4; grid-row: span 1; }
.category-editorial-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.88) contrast(1.05);
	transform: scale(1.001);
	transition: transform .75s cubic-bezier(.2,.78,.2,1), filter .55s ease;
}
.category-editorial-card:nth-child(1) img { object-position: center 40%; }
.category-editorial-card:nth-child(2) img { object-position: center 56%; }
.category-editorial-card:nth-child(3) img { object-position: center 44%; }
.category-editorial-card:nth-child(4) img { object-position: center 55%; }
.category-editorial-card:nth-child(5) img { object-position: center 52%; }
.category-editorial-card:nth-child(6) img { object-position: center 48%; }
.category-editorial-card__overlay {
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(5,14,9,.36) 0%, rgba(5,14,9,.04) 38%, rgba(5,14,9,.78) 78%, rgba(5,14,9,.96) 100%),
		linear-gradient(90deg, rgba(5,14,9,.28), transparent 62%);
	transition: background .45s ease;
}
.category-editorial-card::before {
	content: "";
	position: absolute;
	z-index: 3;
	left: 0;
	top: 0;
	width: 0;
	height: 4px;
	background: var(--signal);
	transition: width .45s cubic-bezier(.2,.78,.2,1);
}
.category-editorial-card::after {
	content: "";
	position: absolute;
	z-index: 3;
	inset: 12px;
	border: 1px solid rgba(255,255,255,.13);
	pointer-events: none;
	transition: inset .35s ease, border-color .35s ease;
}
.category-editorial-card__content {
	position: absolute;
	z-index: 4;
	inset: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 1fr auto;
	align-items: end;
	gap: 18px;
	height: auto;
	padding: clamp(22px, 2.4vw, 38px);
	color: var(--white);
	transform: translateY(0);
	transition: transform .4s ease;
}
.category-editorial-card__index {
	grid-column: 1;
	grid-row: 1;
	align-self: start;
	justify-self: start;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 30px;
	padding-inline: 12px;
	border: 1px solid rgba(255,255,255,.4);
	background: rgba(7,17,11,.45);
	backdrop-filter: blur(8px);
	color: var(--white) !important;
	font-family: var(--font-body) !important;
	font-size: .67rem !important;
	font-weight: 900 !important;
	letter-spacing: .13em;
}
.category-editorial-card__copy {
	grid-column: 1;
	grid-row: 3;
	align-self: end;
	min-width: 0;
}
.category-editorial-card__copy small {
	display: block;
	margin-bottom: 9px;
	color: rgba(255,255,255,.72);
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .11em;
	text-transform: uppercase;
}
.category-editorial-card__copy h3,
.category-editorial-card__content h3 {
	max-width: 15ch;
	margin: 0;
	color: var(--white);
	font-size: clamp(1.6rem, 2.35vw, 3.15rem);
	line-height: .96;
}
.category-editorial-card:nth-child(1) .category-editorial-card__copy h3 {
	font-size: clamp(2.6rem, 4.2vw, 5.3rem);
}
.category-editorial-card__arrow {
	grid-column: 2;
	grid-row: 3;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(255,255,255,.5);
	background: rgba(7,17,11,.36);
	backdrop-filter: blur(8px);
	transition: transform .35s ease, background .35s ease, border-color .35s ease;
}
.category-editorial-card__arrow .icon { width: 21px; height: 21px; }
.category-editorial-card:hover img { transform: scale(1.065); filter: saturate(1.04) contrast(1.07); }
.category-editorial-card:hover::before { width: 100%; }
.category-editorial-card:hover::after { inset: 8px; border-color: rgba(255,255,255,.26); }
.category-editorial-card:hover .category-editorial-card__content { transform: translateY(-4px); }
.category-editorial-card:hover .category-editorial-card__arrow {
	transform: translateX(4px);
	background: var(--signal);
	border-color: var(--signal);
}

/* Service: contained premium feature with readable copy and a deliberate hierarchy. */
.service-home-section {
	display: block;
	padding-block: clamp(84px, 9vw, 138px);
	background: var(--ink);
	color: var(--ink);
}
.service-home-section__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr);
	align-items: stretch;
	min-height: 720px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.12);
	background: var(--paper);
	box-shadow: 0 32px 90px rgba(0,0,0,.25);
}
.service-home-section__visual {
	position: relative;
	min-height: 720px;
	overflow: hidden;
	background: var(--forest);
}
.service-home-section__visual img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 48%;
	filter: saturate(.88) contrast(1.04);
	transform: scale(1.015);
	transition: transform .8s cubic-bezier(.2,.78,.2,1), filter .5s ease;
}
.service-home-section__visual:hover img { transform: scale(1.055); filter: saturate(1) contrast(1.06); }
.service-home-section__shade {
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(5,14,9,.42), transparent 38%, rgba(5,14,9,.72) 100%),
		linear-gradient(90deg, rgba(5,14,9,.18), transparent 60%);
}
.service-home-section__badge {
	position: absolute;
	z-index: 2;
	left: clamp(22px, 3vw, 42px);
	top: clamp(22px, 3vw, 42px);
	bottom: auto;
	max-width: none;
	padding: 16px 18px;
	background: rgba(7,17,11,.8);
	border: 1px solid rgba(255,255,255,.22);
	backdrop-filter: blur(10px);
	color: var(--white);
}
.service-home-section__badge span,
.service-home-section__badge strong { display: block; }
.service-home-section__badge span {
	margin-bottom: 6px;
	font-size: .63rem;
	font-weight: 900;
	letter-spacing: .14em;
	color: rgba(255,255,255,.68);
}
.service-home-section__badge strong {
	font-family: var(--font-display);
	font-size: clamp(1.55rem, 2.2vw, 2.45rem);
	line-height: .95;
}
.service-home-section__capabilities {
	position: absolute;
	z-index: 2;
	left: clamp(22px, 3vw, 42px);
	right: clamp(22px, 3vw, 42px);
	bottom: clamp(22px, 3vw, 42px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: rgba(7,17,11,.82);
	border: 1px solid rgba(255,255,255,.2);
	backdrop-filter: blur(10px);
	color: var(--white);
}
.service-home-section__capabilities span {
	padding: 16px 14px;
	border-right: 1px solid rgba(255,255,255,.18);
	text-align: center;
	font-size: .62rem;
	font-weight: 900;
	letter-spacing: .1em;
}
.service-home-section__capabilities span:last-child { border-right: 0; }
.service-home-section__content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
	padding: clamp(48px, 5.4vw, 84px);
	background: var(--paper);
}
.service-home-section__content::before {
	content: "";
	position: absolute;
	left: 0;
	top: clamp(48px, 5.4vw, 84px);
	width: 4px;
	height: 78px;
	background: var(--signal);
}
.service-home-section__content h2 {
	max-width: 13ch;
	margin-bottom: .35em;
	font-size: clamp(3rem, 4.45vw, 5.55rem);
	line-height: .94;
	text-wrap: balance;
}
.service-home-section__lead {
	max-width: 56ch;
	margin-bottom: 0;
	color: var(--muted);
	font-size: clamp(1rem, 1.15vw, 1.12rem);
}
.service-steps-mini {
	margin: clamp(28px, 3vw, 42px) 0 0;
	border-top: 1px solid var(--line);
}
.service-steps-mini li {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	padding: 18px 0;
	border-bottom: 1px solid var(--line);
}
.service-steps-mini > li > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(236,91,42,.35);
	background: rgba(236,91,42,.07);
	color: var(--signal-dark);
	font-family: var(--font-body);
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .08em;
}
.service-steps-mini strong {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(1.05rem, 1.3vw, 1.3rem);
	line-height: 1.05;
	letter-spacing: -.015em;
}
.service-steps-mini p { margin: 6px 0 0; color: var(--muted); font-size: .91rem; line-height: 1.55; }
.service-home-section__content .button-row { margin-top: clamp(26px, 3vw, 38px); }

/* Brands and systems: one centered axis and public-facing content when no brands exist yet. */
.brand-section {
	position: relative;
	isolation: isolate;
	padding-block: clamp(82px, 9vw, 132px);
	overflow: hidden;
}
.brand-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 1px;
	background: rgba(14,23,19,.055);
}
.brand-section__header {
	width: min(100%, 1080px);
	margin: 0 auto clamp(42px, 5vw, 66px);
	text-align: center;
}
.brand-section__header .eyebrow { justify-content: center; }
.brand-section__header h2 {
	max-width: 18ch;
	margin: 0 auto .34em;
	font-size: clamp(2.9rem, 5vw, 6rem);
	line-height: .95;
	text-wrap: balance;
}
.brand-section__header > p:not(.eyebrow) {
	max-width: 64ch;
	margin: 0 auto;
	color: var(--muted);
	font-size: clamp(1rem, 1.3vw, 1.18rem);
	line-height: 1.65;
	text-align: center;
}
.brand-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(12px, 1.4vw, 20px);
}
.brand-principle {
	position: relative;
	display: flex;
	min-height: 310px;
	flex-direction: column;
	padding: clamp(26px, 3vw, 42px);
	background: rgba(255,255,255,.62);
	border: 1px solid var(--line);
	box-shadow: 0 14px 36px rgba(8,18,13,.045);
	transition: transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.brand-principle::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 54px;
	height: 3px;
	background: var(--signal);
	transition: width .35s ease;
}
.brand-principle__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: auto;
	color: var(--signal-dark);
}
.brand-principle__top > span {
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .12em;
}
.brand-principle__top .icon {
	width: 38px;
	height: 38px;
	padding: 9px;
	border: 1px solid rgba(236,91,42,.34);
	background: rgba(236,91,42,.06);
}
.brand-principle h3 {
	max-width: 14ch;
	margin: 48px 0 14px;
	font-size: clamp(1.55rem, 2.25vw, 2.45rem);
	line-height: .98;
}
.brand-principle p { margin: 0; color: var(--muted); }
.brand-principle:hover {
	transform: translateY(-6px);
	background: var(--white);
	border-color: rgba(236,91,42,.38);
	box-shadow: var(--shadow-soft);
}
.brand-principle:hover::before { width: 100%; }
.brand-grid--catalog {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	border: 0;
}
.brand-grid--catalog .brand-tile {
	position: relative;
	align-items: flex-start;
	justify-content: flex-end;
	min-height: 190px;
	padding: 28px;
	border: 1px solid var(--line);
	background: rgba(255,255,255,.68);
	text-align: left;
}
.brand-grid--catalog .brand-tile__name {
	font-family: var(--font-display);
	font-size: clamp(1.7rem, 2.2vw, 2.45rem);
	line-height: 1;
}
.brand-grid--catalog .brand-tile small { margin-top: 8px; }
.brand-tile__arrow {
	position: absolute;
	right: 22px;
	top: 22px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--line);
	color: var(--signal-dark);
	transition: transform .25s ease, background .25s ease, color .25s ease;
}
.brand-tile__arrow .icon { width: 18px; height: 18px; margin: 0; }
.brand-grid--catalog .brand-tile:hover .brand-tile__arrow {
	transform: translateX(3px);
	background: var(--signal);
	color: var(--white);
}
.brand-section .section-action { margin-top: clamp(34px, 4vw, 52px); }

@media (max-width: 1120px) {
	.category-editorial-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 330px;
	}
	.category-editorial-card:nth-child(n) { grid-column: span 1; grid-row: span 1; }
	.category-editorial-card:nth-child(1) { grid-column: 1 / -1; min-height: 470px; }
	.category-editorial-card:nth-child(1) .category-editorial-card__copy h3 { font-size: clamp(2.7rem, 6vw, 4.7rem); }
	.service-home-section__inner { grid-template-columns: 1fr; min-height: 0; }
	.service-home-section__visual { min-height: 560px; }
	.service-home-section__content { padding: clamp(48px, 7vw, 76px); }
	.service-home-section__content::before { top: clamp(48px, 7vw, 76px); }
	.service-home-section__content h2 { max-width: 16ch; }
}

@media (max-width: 900px) {
	.brand-principles { grid-template-columns: 1fr; }
	.brand-principle { min-height: 250px; }
	.brand-principle h3 { margin-top: 36px; }
}

@media (max-width: 720px) {
	.category-section, .service-home-section, .brand-section { padding-block: 68px; }
	.category-editorial-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
	.category-editorial-card:nth-child(n),
	.category-editorial-card:nth-child(1) {
		grid-column: auto;
		grid-row: auto;
		min-height: 390px;
	}
	.category-editorial-card:nth-child(1) .category-editorial-card__copy h3,
	.category-editorial-card__copy h3 { font-size: clamp(2rem, 10vw, 3.25rem); }
	.category-editorial-card__content { padding: 22px; }
	.category-editorial-card__arrow { width: 46px; height: 46px; }
	.service-home-section__visual { min-height: 450px; }
	.service-home-section__capabilities {
		left: 16px;
		right: 16px;
		bottom: 16px;
	}
	.service-home-section__capabilities span { padding: 13px 8px; font-size: .56rem; letter-spacing: .06em; }
	.service-home-section__badge { left: 16px; top: 16px; }
	.service-home-section__content { padding: 44px 22px; }
	.service-home-section__content::before { top: 44px; height: 60px; }
	.service-home-section__content h2 { max-width: none; font-size: clamp(2.65rem, 13vw, 4.2rem); }
	.service-steps-mini li { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; }
	.service-steps-mini > li > span { width: 38px; height: 38px; }
	.brand-section__header h2 { max-width: none; font-size: clamp(2.55rem, 12vw, 4.1rem); }
	.brand-principle { min-height: 235px; padding: 26px 24px; }
}

@media (pointer: coarse) {
	.category-editorial-card:hover img,
	.service-home-section__visual:hover img { transform: scale(1.001); }
	.category-editorial-card:hover .category-editorial-card__content,
	.brand-principle:hover { transform: none; }
}
