/*!
 * ITPL Revamp
 * Design tokens, new header/footer/homepage, and a reskin of BeTheme inner pages.
 *
 * Rules of the system
 *  - One accent: ITPL red #E31E24 (sampled from the logo). White on red = 4.69:1.
 *    Red TEXT on light grounds uses --itplr-red-700 (5.4:1 on --itplr-surface).
 *  - Radius: controls 8px, cards 14px, chips/tags full pill. Nothing else.
 *  - Light theme only: product photography is shot on white and BeBuilder
 *    content hard-codes light colours, so a dark mode would break inner pages.
 *  - Our components are namespaced .itplr-*; resets use .itplr-ui :where(...)
 *    so they beat BeTheme's element rules but never our own classes.
 */

/* ------------------------------------------------------------------ Fonts */
@font-face { font-family: "ITPL Plex"; src: url("../fonts/plex-sans-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "ITPL Plex"; src: url("../fonts/plex-sans-400i.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "ITPL Plex"; src: url("../fonts/plex-sans-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "ITPL Plex"; src: url("../fonts/plex-sans-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "ITPL Plex"; src: url("../fonts/plex-sans-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "ITPL Plex Mono"; src: url("../fonts/plex-mono-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "ITPL Plex Mono"; src: url("../fonts/plex-mono-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }

/* ----------------------------------------------------------------- Tokens */
body.itplr {
	--itplr-red: #E31E24;
	--itplr-red-700: #C8161D;
	--itplr-red-800: #A5121A;
	--itplr-red-50: #FDEDED;
	--itplr-ink: #16171B;
	--itplr-ink-2: #2B2D33;
	--itplr-text: #3D414A;
	--itplr-muted: #5B616C;
	--itplr-line: #E2E4E8;
	--itplr-line-2: #CDD1D8;
	--itplr-surface: #F4F5F7;
	--itplr-surface-2: #ECEEF1;
	--itplr-paper: #FFFFFF;
	--itplr-on-dark: #D4D7DD;
	--itplr-on-dark-muted: #9CA2AD;

	--itplr-font: "ITPL Plex", "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
	--itplr-mono: "ITPL Plex Mono", "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

	--itplr-wrap: 1240px;
	--itplr-gutter: clamp(16px, 4vw, 32px);
	--itplr-section: clamp(64px, 8vw, 112px);
	--itplr-r-control: 8px;
	--itplr-r-card: 14px;
	--itplr-header-h: 76px;
	--itplr-admin: 0px;

	--itplr-shadow-sm: 0 1px 2px rgba(22, 23, 27, .06);
	--itplr-shadow-md: 0 14px 34px -14px rgba(22, 23, 27, .22);
	--itplr-shadow-lg: 0 28px 60px -24px rgba(22, 23, 27, .30);

	--itplr-ease-out: cubic-bezier(.23, 1, .32, 1);
	--itplr-ease-drawer: cubic-bezier(.32, .72, 0, 1);

	/* z-index scale */
	--itplr-z-header: 1000;
	--itplr-z-drawer: 1100;
	--itplr-z-skip: 1200;
}
body.itplr.admin-bar { --itplr-admin: 32px; }
@media (max-width: 782px) { body.itplr.admin-bar { --itplr-admin: 46px; } }
@media (max-width: 600px) { body.itplr.admin-bar { --itplr-admin: 0px; } }

/* ------------------------------------------------- BeTheme global overrides */
body.itplr,
body.itplr button,
body.itplr input,
body.itplr select,
body.itplr textarea {
	font-family: var(--itplr-font);
}
body.itplr {
	background: var(--itplr-paper);
	color: var(--itplr-text);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body.itplr #Wrapper { background: var(--itplr-paper); }
body.itplr #Header_wrapper { background: none !important; }
/* Old header, footer and their floating extras are replaced. */
body.itplr #Header,
body.itplr #Footer,
body.itplr .mfn-header-tmpl,
body.itplr .mfn-footer-tmpl,
body.itplr #back_to_top,
body.itplr #Side_slide,
body.itplr #body_overlay,
body.itplr .header_placeholder { display: none !important; }

body.itplr h1, body.itplr h2, body.itplr h3, body.itplr h4, body.itplr h5, body.itplr h6 {
	font-family: var(--itplr-font);
	color: var(--itplr-ink);
	font-style: normal;
}

/* ------------------------------------------------------------ Local reset */
.itplr-ui :where(h1, h2, h3, h4, p, ul, ol, li, dl, dt, dd, figure, blockquote) { margin: 0; padding: 0; }
.itplr-ui :where(ul, ol) { list-style: none; }
.itplr-ui :where(a) { color: inherit; text-decoration: none; }
.itplr-ui :where(img) { max-width: 100%; height: auto; display: block; }
.itplr-ui :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; line-height: inherit; text-transform: none; letter-spacing: inherit; box-shadow: none; }
.itplr-ui :where(h1, h2, h3, h4) { font-family: var(--itplr-font); color: var(--itplr-ink); font-weight: 600; letter-spacing: normal; text-transform: none; }
.itplr-ui :where(svg.itplr-i) { flex: none; display: inline-block; vertical-align: middle; }

.itplr-ui :where(a, button, input, [tabindex]):focus-visible,
body.itplr #Content :where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--itplr-red-700);
	outline-offset: 2px;
	border-radius: 4px;
}

/* ------------------------------------------------------------ Primitives */
.itplr-ui .itplr-wrap,
.itplr-wrap {
	width: 100%;
	max-width: calc(var(--itplr-wrap) + 2 * var(--itplr-gutter));
	margin-inline: auto;
	padding-inline: var(--itplr-gutter);
	box-sizing: border-box;
}
.itplr-sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.itplr-skip {
	position: fixed; left: 16px; top: 12px; z-index: var(--itplr-z-skip);
	padding: 12px 18px; border-radius: var(--itplr-r-control);
	background: var(--itplr-ink); color: #fff !important; font: 600 15px/1 var(--itplr-font);
	transform: translateY(-160%); transition: transform .2s var(--itplr-ease-out);
}
.itplr-skip:focus { transform: none; outline: 2px solid var(--itplr-red); outline-offset: 2px; }

.itplr-ui .itplr-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 10px 18px; box-sizing: border-box;
	border-radius: var(--itplr-r-control); border: 1px solid transparent;
	font: 600 15px/1.2 var(--itplr-font); white-space: nowrap; text-decoration: none;
	cursor: pointer;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s var(--itplr-ease-out);
}
.itplr-ui .itplr-btn:active { transform: scale(.97); }
.itplr-ui .itplr-btn--lg { min-height: 52px; padding: 14px 24px; font-size: 16px; }
.itplr-ui .itplr-btn--block { display: flex; width: 100%; }
.itplr-ui .itplr-btn--primary { background: var(--itplr-red); color: #fff; }
.itplr-ui .itplr-btn--primary:hover { background: var(--itplr-red-700); color: #fff; }
.itplr-ui .itplr-btn--dark { background: var(--itplr-ink); color: #fff; }
.itplr-ui .itplr-btn--dark:hover { background: var(--itplr-ink-2); color: #fff; }
.itplr-ui .itplr-btn--ghost { background: transparent; color: var(--itplr-ink); border-color: var(--itplr-line-2); }
.itplr-ui .itplr-btn--ghost:hover { background: var(--itplr-paper); border-color: var(--itplr-ink); color: var(--itplr-ink); }
.itplr-ui .itplr-btn .itplr-i { transition: transform .2s var(--itplr-ease-out); }
.itplr-ui .itplr-btn:hover .itplr-i { transform: translateX(3px); }

.itplr-ui .itplr-iconbtn {
	display: inline-grid; place-items: center; width: 44px; height: 44px;
	border-radius: var(--itplr-r-control); color: var(--itplr-ink); background: transparent;
	transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s var(--itplr-ease-out);
}
.itplr-ui .itplr-iconbtn:hover { background: var(--itplr-surface); color: var(--itplr-ink); }
.itplr-ui .itplr-iconbtn:active { transform: scale(.94); }
.itplr-ui .itplr-iconbtn--outline { border: 1px solid var(--itplr-line-2); background: var(--itplr-paper); }
.itplr-ui .itplr-iconbtn--outline:hover { border-color: var(--itplr-ink); background: var(--itplr-paper); }
.itplr-ui .itplr-iconbtn[disabled] { opacity: .4; cursor: default; transform: none; }

.itplr-ui .itplr-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font: 500 13px/1.3 var(--itplr-mono); letter-spacing: .02em; color: var(--itplr-red-700);
	margin-bottom: 18px;
}
.itplr-ui .itplr-eyebrow::before { content: ""; width: 20px; height: 2px; background: var(--itplr-red); }
.itplr-ui .itplr-h2 {
	font-size: clamp(28px, 3.1vw, 40px); line-height: 1.14; letter-spacing: -.018em; font-weight: 600;
	color: var(--itplr-ink); text-wrap: balance; max-width: 22ch;
}
.itplr-ui .itplr-lede { margin-top: 14px; font-size: 17.5px; line-height: 1.6; color: var(--itplr-muted); max-width: 58ch; }
.itplr-ui .itplr-head { margin-bottom: clamp(32px, 4vw, 48px); }
.itplr-ui .itplr-head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.itplr-ui .itplr-textlink {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
	font: 600 15.5px/1.2 var(--itplr-font); color: var(--itplr-red-700);
}
.itplr-ui .itplr-textlink:hover { color: var(--itplr-red-800); }
.itplr-ui .itplr-textlink .itplr-i { transition: transform .2s var(--itplr-ease-out); }
.itplr-ui .itplr-textlink:hover .itplr-i { transform: translateX(3px); }
.itplr-ui .itplr-section { padding-block: var(--itplr-section); }

/* The graduated scale: a metrology ruler used as the one decorative motif. */
.itplr-scale,
body.itplr #Subheader::after {
	height: 14px;
	background:
		linear-gradient(var(--itplr-red), var(--itplr-red)) 33% 0 / 2px 14px no-repeat,
		repeating-linear-gradient(90deg, var(--itplr-line-2) 0 1px, transparent 1px 80px) 0 0 / 100% 14px,
		repeating-linear-gradient(90deg, var(--itplr-line-2) 0 1px, transparent 1px 8px) 0 100% / 100% 6px no-repeat;
}

/* ================================================================= HEADER */
.itplr-ui.itplr-topbar { background: var(--itplr-ink); color: var(--itplr-on-dark); font-size: 13.5px; line-height: 1; }
.itplr-ui .itplr-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; }
.itplr-ui .itplr-topbar__tag { font-family: var(--itplr-mono); letter-spacing: .01em; color: var(--itplr-on-dark-muted); }
.itplr-ui .itplr-topbar__contact { display: flex; gap: 22px; }
.itplr-ui .itplr-topbar__contact a { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; color: var(--itplr-on-dark); }
.itplr-ui .itplr-topbar__contact a:hover { color: #fff; }

.itplr-sentinel { height: 0; }
.itplr-ui.itplr-header {
	position: sticky; top: var(--itplr-admin); z-index: var(--itplr-z-header);
	background: rgba(255, 255, 255, .97);
	border-bottom: 1px solid var(--itplr-line);
	transition: box-shadow .2s ease;
}
@supports (backdrop-filter: blur(1px)) {
	.itplr-ui.itplr-header { background: rgba(255, 255, 255, .9); backdrop-filter: saturate(160%) blur(12px); -webkit-backdrop-filter: saturate(160%) blur(12px); }
}
.itplr-ui.itplr-header.is-stuck { box-shadow: 0 8px 24px -16px rgba(22, 23, 27, .35); }
.itplr-ui .itplr-header__in { display: flex; align-items: center; gap: 28px; height: var(--itplr-header-h); }
.itplr-ui .itplr-logo { display: block; flex: none; }
.itplr-ui .itplr-logo img { height: 54px; width: auto; }

.itplr-ui .itplr-nav { flex: 1; min-width: 0; height: 100%; }
.itplr-ui .itplr-nav__list { display: flex; align-items: stretch; height: 100%; gap: 2px; }
.itplr-ui .itplr-nav__item { display: flex; align-items: center; position: static; }
.itplr-ui .itplr-nav__link {
	position: relative; display: flex; align-items: center; height: 100%;
	padding: 0 12px; font: 500 15px/1 var(--itplr-font); color: var(--itplr-ink-2);
	transition: color .16s ease;
}
.itplr-ui .itplr-nav__item.has-panel .itplr-nav__link { padding-right: 2px; }
.itplr-ui .itplr-nav__link:hover,
.itplr-ui .itplr-nav__item.is-open .itplr-nav__link { color: var(--itplr-red-700); }
.itplr-ui .itplr-nav__item.is-current > .itplr-nav__link { color: var(--itplr-ink); font-weight: 600; }
.itplr-ui .itplr-nav__item.is-current > .itplr-nav__link::after {
	content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 2px; background: var(--itplr-red);
}
.itplr-ui .itplr-nav__item.has-panel.is-current > .itplr-nav__link::after { right: 2px; }
.itplr-ui .itplr-nav__toggle {
	display: grid; place-items: center; width: 28px; height: 36px; border-radius: 6px; color: var(--itplr-muted);
	transition: color .16s ease, background-color .16s ease;
}
.itplr-ui .itplr-nav__toggle:hover { color: var(--itplr-ink); background: var(--itplr-surface); }
.itplr-ui .itplr-nav__toggle .itplr-i { transition: transform .2s var(--itplr-ease-out); }
.itplr-ui .itplr-nav__item.is-open .itplr-nav__toggle .itplr-i { transform: rotate(180deg); }
.itplr-ui .itplr-nav__item.has-panel:not(.is-mega) { position: relative; }

.itplr-ui .itplr-header__actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.itplr-ui .itplr-burger { display: none; }

/* Panels (shared open/close motion) */
.itplr-ui .itplr-mega,
.itplr-ui .itplr-drop {
	position: absolute; top: 100%;
	background: var(--itplr-paper);
	opacity: 0; transform: translateY(-6px);
	transition: opacity .12s ease, transform .12s ease;
}
.itplr-ui .is-open > .itplr-mega,
.itplr-ui .is-open > .itplr-drop { opacity: 1; transform: none; transition: opacity .18s var(--itplr-ease-out), transform .18s var(--itplr-ease-out); }

.itplr-ui .itplr-drop {
	left: 0; min-width: 240px; padding: 8px; border: 1px solid var(--itplr-line);
	border-radius: 0 0 var(--itplr-r-card) var(--itplr-r-card); box-shadow: var(--itplr-shadow-lg);
}
.itplr-ui .itplr-drop a { display: block; padding: 10px 12px; border-radius: var(--itplr-r-control); font-size: 15px; color: var(--itplr-ink-2); }
.itplr-ui .itplr-drop a:hover { background: var(--itplr-surface); color: var(--itplr-red-700); }

/* Mega menu */
.itplr-ui .itplr-mega {
	left: 0; right: 0; border-top: 1px solid var(--itplr-line);
	box-shadow: 0 30px 60px -30px rgba(22, 23, 27, .35);
}
.itplr-ui .itplr-mega__inner {
	display: grid; grid-template-columns: 310px 1fr; gap: 0;
	max-width: calc(var(--itplr-wrap) + 2 * var(--itplr-gutter)); margin: 0 auto; padding: 0 var(--itplr-gutter);
	max-height: calc(100vh - var(--itplr-header-h) - var(--itplr-admin) - 90px); max-height: calc(100dvh - var(--itplr-header-h) - var(--itplr-admin) - 90px);
	box-sizing: border-box;
}
.itplr-ui .itplr-mega__rail { padding: 20px 20px 20px 0; border-right: 1px solid var(--itplr-line); overflow-y: auto; }
.itplr-ui .itplr-mega__fam {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 9px 12px; border-radius: var(--itplr-r-control);
	font: 500 14.5px/1.35 var(--itplr-font); color: var(--itplr-ink-2);
	transition: background-color .12s ease, color .12s ease;
}
.itplr-ui .itplr-mega__fam .itplr-i { color: var(--itplr-line-2); transition: color .12s ease, transform .16s var(--itplr-ease-out); }
.itplr-ui .itplr-mega__fam.is-active { background: var(--itplr-surface); color: var(--itplr-red-700); }
.itplr-ui .itplr-mega__fam.is-active .itplr-i { color: var(--itplr-red-700); transform: translateX(2px); }
.itplr-ui .itplr-mega__panes { padding: 24px 0 28px 36px; overflow-y: auto; }
.itplr-ui .itplr-mega__pane { display: none; }
.itplr-ui .itplr-mega__pane.is-active { display: block; animation: itplr-fade .18s var(--itplr-ease-out); }
.itplr-ui .itplr-mega__head { display: inline-flex; align-items: center; gap: 10px; font: 600 20px/1.25 var(--itplr-font); color: var(--itplr-ink); margin-bottom: 22px; }
.itplr-ui .itplr-mega__head:hover { color: var(--itplr-red-700); }
.itplr-ui .itplr-mega__head .itplr-i { color: var(--itplr-red); }
.itplr-ui .itplr-mega__groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 26px 32px; }
.itplr-ui .itplr-mega__gtitle { display: block; font: 600 14.5px/1.35 var(--itplr-font); color: var(--itplr-ink); padding-bottom: 8px; margin-bottom: 6px; border-bottom: 1px solid var(--itplr-line); }
.itplr-ui .itplr-mega__gtitle:hover { color: var(--itplr-red-700); }
.itplr-ui .itplr-mega__group li a,
.itplr-ui .itplr-mega__list li a { display: block; padding: 5px 0; font-size: 14px; line-height: 1.4; color: var(--itplr-muted); }
.itplr-ui .itplr-mega__group li a:hover,
.itplr-ui .itplr-mega__list li a:hover { color: var(--itplr-red-700); }
.itplr-ui .itplr-mega__list { columns: 2 240px; column-gap: 32px; }
.itplr-ui .itplr-mega__list li { break-inside: avoid; }
.itplr-ui .itplr-mega__empty { color: var(--itplr-muted); font-size: 15px; max-width: 46ch; }
.itplr-ui .itplr-mega__foot {
	display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	padding: 14px max(var(--itplr-gutter), calc((100% - var(--itplr-wrap)) / 2));
	background: var(--itplr-surface); border-top: 1px solid var(--itplr-line);
	font: 600 14.5px/1.3 var(--itplr-font);
}
.itplr-ui .itplr-mega__foot a { display: inline-flex; align-items: center; gap: 8px; color: var(--itplr-ink); min-height: 32px; }
.itplr-ui .itplr-mega__foot a:hover { color: var(--itplr-red-700); }
.itplr-ui .itplr-mega__foot a + a { color: var(--itplr-muted); font-weight: 500; }

@keyframes itplr-fade { from { opacity: 0; } to { opacity: 1; } }

/* Search row */
.itplr-ui .itplr-search { border-top: 1px solid var(--itplr-line); background: var(--itplr-paper); }
.itplr-ui .itplr-search__form { display: flex; align-items: center; gap: 12px; min-height: 76px; }
.itplr-ui .itplr-search__form > .itplr-i { color: var(--itplr-muted); }
.itplr-ui .itplr-search__form input[type="search"] {
	flex: 1; min-width: 0; height: 52px; margin: 0; padding: 0 4px;
	border: 0; border-bottom: 2px solid var(--itplr-line); border-radius: 0; background: transparent; box-shadow: none;
	font: 400 19px/1.2 var(--itplr-font); color: var(--itplr-ink);
}
.itplr-ui .itplr-search__form input[type="search"]::placeholder { color: var(--itplr-muted); opacity: 1; }
.itplr-ui .itplr-search__form input[type="search"]:focus { outline: none; border-bottom-color: var(--itplr-red); }

/* Drawer */
.itplr-ui.itplr-drawer { position: fixed; inset: 0; z-index: var(--itplr-z-drawer); }
.itplr-ui .itplr-drawer__scrim { position: absolute; inset: 0; background: rgba(22, 23, 27, .52); opacity: 0; transition: opacity .22s ease; }
.itplr-ui .itplr-drawer__panel {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(420px, 92vw);
	display: flex; flex-direction: column; background: var(--itplr-paper);
	box-shadow: var(--itplr-shadow-lg);
	transform: translateX(100%); transition: transform .22s var(--itplr-ease-drawer);
}
.itplr-ui.itplr-drawer.is-open .itplr-drawer__scrim { opacity: 1; }
.itplr-ui.itplr-drawer.is-open .itplr-drawer__panel { transform: none; transition-duration: .34s; }
.itplr-ui .itplr-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--itplr-line); }
.itplr-ui .itplr-drawer__head .itplr-logo img { height: 44px; }
.itplr-ui .itplr-drawer__nav { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 8px 20px 20px; }
.itplr-ui .itplr-dl__row { display: flex; align-items: center; gap: 8px; }
.itplr-ui .itplr-dl__row > a { flex: 1; display: block; padding: 12px 0; font-size: 16px; font-weight: 500; line-height: 1.35; color: var(--itplr-ink); }
.itplr-ui .itplr-dl--0 > li { border-bottom: 1px solid var(--itplr-line); }
.itplr-ui .itplr-dl--0 > li > .itplr-dl__row > a { font-size: 17px; }
.itplr-ui .itplr-dl li.is-current > .itplr-dl__row > a { color: var(--itplr-red-700); }
.itplr-ui .itplr-dl__toggle { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--itplr-r-control); color: var(--itplr-muted); }
.itplr-ui .itplr-dl__toggle:hover { background: var(--itplr-surface); color: var(--itplr-ink); }
.itplr-ui .itplr-dl__toggle .itplr-i { transition: transform .2s var(--itplr-ease-out); }
.itplr-ui .itplr-dl__toggle[aria-expanded="true"] .itplr-i { transform: rotate(180deg); }
.itplr-ui .itplr-dl__sub { padding: 0 0 10px 14px; margin-left: 2px; border-left: 2px solid var(--itplr-line); }
.itplr-ui .itplr-dl--1 .itplr-dl__row > a,
.itplr-ui .itplr-dl--2 .itplr-dl__row > a,
.itplr-ui .itplr-dl--3 .itplr-dl__row > a { padding: 9px 0; font-size: 15px; font-weight: 400; color: var(--itplr-text); }
.itplr-ui .itplr-drawer__foot { display: grid; gap: 4px; padding: 16px 20px 20px; border-top: 1px solid var(--itplr-line); background: var(--itplr-surface); }
.itplr-ui .itplr-drawer__foot .itplr-btn { margin-bottom: 8px; }
.itplr-ui .itplr-drawer__contact { display: flex; align-items: center; gap: 10px; min-height: 40px; color: var(--itplr-ink-2); font-size: 15px; }
html.itplr-lock, html.itplr-lock body { overflow: hidden; }

/* ================================================================== HOME */
.itplr-ui.itplr-home-main { display: block; background: var(--itplr-paper); color: var(--itplr-text); }
.itplr-ui.itplr-home-main:focus { outline: none; }

/* Hero */
.itplr-ui .itplr-hero { background: var(--itplr-surface); padding-top: clamp(40px, 5vw, 72px); overflow: hidden; }
.itplr-ui .itplr-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-bottom: clamp(40px, 5vw, 64px); }
.itplr-ui .itplr-hero__title {
	font-size: clamp(34px, 4.1vw, 54px); line-height: 1.08; letter-spacing: -.025em; font-weight: 600;
	color: var(--itplr-ink); text-wrap: balance; max-width: 22ch;
}
.itplr-ui .itplr-hero__text { margin-top: 22px; font-size: clamp(17px, 1.4vw, 19px); line-height: 1.6; color: var(--itplr-muted); max-width: 46ch; }
.itplr-ui .itplr-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.itplr-ui .itplr-hero__media {
	display: grid; grid-template-columns: 1.1fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px;
	height: clamp(360px, 38vw, 500px);
}
.itplr-ui .itplr-hero__shot {
	position: relative; display: grid; place-items: center; overflow: hidden;
	background: var(--itplr-paper); border: 1px solid var(--itplr-line); border-radius: var(--itplr-r-card);
	box-shadow: var(--itplr-shadow-md); padding: 18px; min-height: 0;
}
.itplr-ui .itplr-hero__shot img { width: 100%; height: 100%; object-fit: contain; }
.itplr-ui .itplr-hero__shot--1 { grid-row: 1 / span 2; padding: 28px 22px; }
.itplr-ui .itplr-hero__shot--2 { transform: translateY(-14px); }
.itplr-ui .itplr-hero__shot--3 { transform: translateY(14px); }
.itplr-ui .itplr-hero .itplr-scale { max-width: calc(var(--itplr-wrap) + 2 * var(--itplr-gutter)); margin: 0 auto; }

/* Load-in for the hero: one short sequence, then nothing moves. */
@media (prefers-reduced-motion: no-preference) {
	.itplr-js .itplr-ui .itplr-hero__copy > * { animation: itplr-rise .7s var(--itplr-ease-out) both; }
	.itplr-js .itplr-ui .itplr-hero__copy > :nth-child(2) { animation-delay: .06s; }
	.itplr-js .itplr-ui .itplr-hero__copy > :nth-child(3) { animation-delay: .12s; }
	.itplr-js .itplr-ui .itplr-hero__copy > :nth-child(4) { animation-delay: .18s; }
	.itplr-js .itplr-ui .itplr-hero__shot { animation: itplr-rise-fade .8s var(--itplr-ease-out) both; }
	.itplr-js .itplr-ui .itplr-hero__shot--2 { animation-delay: .1s; }
	.itplr-js .itplr-ui .itplr-hero__shot--3 { animation-delay: .2s; }
}
@keyframes itplr-rise { from { opacity: 0; transform: translateY(12px); } }
@keyframes itplr-rise-fade { from { opacity: 0; } }

/* Customers */
.itplr-ui .itplr-customers { padding-block: clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--itplr-line); }
.itplr-ui .itplr-customers__title { font: 500 15px/1.4 var(--itplr-font); color: var(--itplr-muted); text-align: center; margin-bottom: 28px; letter-spacing: normal; }
.itplr-ui .itplr-logos { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 12px 20px; align-items: center; }
.itplr-ui .itplr-logos li { display: grid; place-items: center; }
.itplr-ui .itplr-logos img {
	width: 100%; max-width: 92px; aspect-ratio: 1; object-fit: contain;
	filter: grayscale(1) contrast(1.05); opacity: .72; mix-blend-mode: multiply;
	transition: filter .25s ease, opacity .25s ease;
}
@media (hover: hover) and (pointer: fine) {
	.itplr-ui .itplr-logos img:hover { filter: none; opacity: 1; }
}

/* Families bento */
.itplr-ui .itplr-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(250px, auto); gap: 16px; }
.itplr-ui .itplr-tile {
	position: relative; display: flex; flex-direction: column; overflow: hidden;
	background: var(--itplr-paper); border: 1px solid var(--itplr-line); border-radius: var(--itplr-r-card);
	transition: border-color .2s ease, box-shadow .25s ease, transform .25s var(--itplr-ease-out);
}
.itplr-ui .itplr-tile:focus-within { outline: 2px solid var(--itplr-red-700); outline-offset: 2px; }
.itplr-ui .itplr-tile__img { flex: 1; min-height: 120px; display: grid; place-items: center; padding: 20px 20px 0; }
.itplr-ui .itplr-tile__img img { width: 100%; height: 100%; max-height: 150px; object-fit: contain; transition: transform .4s var(--itplr-ease-out); }
.itplr-ui .itplr-tile__body { position: relative; padding: 16px 52px 20px 20px; }
.itplr-ui .itplr-tile__icon { display: inline-grid; place-items: center; width: 36px; height: 36px; margin-bottom: 12px; border-radius: var(--itplr-r-control); background: var(--itplr-red-50); color: var(--itplr-red-700); }
.itplr-ui .itplr-tile__name { font-size: 16.5px; line-height: 1.3; font-weight: 600; letter-spacing: -.005em; }
.itplr-ui .itplr-tile__name a { color: var(--itplr-ink); }
.itplr-ui .itplr-tile__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.itplr-ui .itplr-tile__name a:focus-visible { outline: none; }
.itplr-ui .itplr-tile__go {
	position: absolute; right: 16px; bottom: 18px; display: grid; place-items: center; width: 32px; height: 32px;
	border-radius: 50%; border: 1px solid var(--itplr-line); color: var(--itplr-ink);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .25s var(--itplr-ease-out);
}
.itplr-ui .itplr-tile__lines { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.itplr-ui .itplr-tile__lines li { padding: 5px 11px; border-radius: 999px; background: var(--itplr-surface); font-size: 13.5px; line-height: 1.3; color: var(--itplr-ink-2); }

.itplr-ui .itplr-tile--lead { grid-column: span 2; grid-row: span 2; }
.itplr-ui .itplr-tile--lead .itplr-tile__img { padding: 32px 32px 0; }
.itplr-ui .itplr-tile--lead .itplr-tile__img img { max-height: 290px; }
.itplr-ui .itplr-tile--lead .itplr-tile__body { padding: 24px 64px 28px 28px; }
.itplr-ui .itplr-tile--lead .itplr-tile__name { font-size: 24px; letter-spacing: -.015em; }
.itplr-ui .itplr-tile--lead .itplr-tile__go { right: 24px; bottom: 26px; width: 40px; height: 40px; }
.itplr-ui .itplr-tile--wide { grid-column: span 2; flex-direction: row-reverse; }
.itplr-ui .itplr-tile--wide .itplr-tile__img { flex: 0 0 44%; padding: 20px 20px 20px 0; }
.itplr-ui .itplr-tile--wide .itplr-tile__body { flex: 1; padding-top: 22px; }
@media (hover: hover) and (pointer: fine) {
	.itplr-ui .itplr-tile:hover { border-color: var(--itplr-line-2); box-shadow: var(--itplr-shadow-md); transform: translateY(-2px); }
	.itplr-ui .itplr-tile:hover .itplr-tile__img img { transform: scale(1.04); }
	.itplr-ui .itplr-tile:hover .itplr-tile__go { background: var(--itplr-red); border-color: var(--itplr-red); color: #fff; transform: rotate(45deg); }
}

/* Featured carousel */
.itplr-ui .itplr-featured { background: var(--itplr-surface); }
.itplr-ui .itplr-featured .itplr-head { margin-bottom: 28px; }
.itplr-ui .itplr-carousel__nav { display: flex; gap: 8px; }
.itplr-ui .itplr-carousel { position: relative; }
.itplr-ui .itplr-track {
	--itplr-edge: max(var(--itplr-gutter), calc((100% - var(--itplr-wrap)) / 2));
	display: grid; grid-auto-flow: column; grid-auto-columns: clamp(250px, 23vw, 292px); gap: 18px;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
	padding: 4px var(--itplr-edge) 22px; scroll-padding-inline: var(--itplr-edge);
	scrollbar-width: thin; scrollbar-color: var(--itplr-line-2) transparent;
}
.itplr-ui .itplr-track:focus-visible { outline: 2px solid var(--itplr-red-700); outline-offset: -2px; }
.itplr-ui .itplr-card { scroll-snap-align: start; }
.itplr-ui .itplr-card__link {
	display: flex; flex-direction: column; height: 100%; box-sizing: border-box;
	background: var(--itplr-paper); border: 1px solid var(--itplr-line); border-radius: var(--itplr-r-card);
	padding: 0 20px 20px; transition: border-color .2s ease, box-shadow .25s ease;
}
.itplr-ui .itplr-card__img { position: relative; display: block; aspect-ratio: 1; margin: 0 -20px 16px; border-bottom: 1px solid var(--itplr-line); overflow: hidden; }
.itplr-ui .itplr-card__img img { position: absolute; inset: 24px; width: calc(100% - 48px); height: calc(100% - 48px); object-fit: contain; transition: transform .4s var(--itplr-ease-out); }
.itplr-ui .itplr-card__family { font: 500 12.5px/1.3 var(--itplr-mono); color: var(--itplr-muted); }
.itplr-ui .itplr-card__name { margin-top: 6px; font-size: 17px; line-height: 1.3; font-weight: 600; color: var(--itplr-ink); flex: 1; }
.itplr-ui .itplr-card__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-size: 14.5px; font-weight: 600; color: var(--itplr-red-700); }
.itplr-ui .itplr-card__more .itplr-i { transition: transform .2s var(--itplr-ease-out); }
@media (hover: hover) and (pointer: fine) {
	.itplr-ui .itplr-card__link:hover { border-color: var(--itplr-line-2); box-shadow: var(--itplr-shadow-md); }
	.itplr-ui .itplr-card__link:hover .itplr-card__img img { transform: scale(1.04); }
	.itplr-ui .itplr-card__link:hover .itplr-card__more .itplr-i { transform: translateX(3px); }
}
.itplr-ui .itplr-featured .itplr-textlink { margin-top: 12px; }

/* Turnkey */
.itplr-ui .itplr-turnkey__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.itplr-ui .itplr-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 32px; margin-top: 40px; }
.itplr-ui .itplr-step { display: flex; gap: 14px; align-items: flex-start; }
.itplr-ui .itplr-step__icon { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: var(--itplr-r-control); background: var(--itplr-ink); color: #fff; }
.itplr-ui .itplr-step__title { font-size: 16.5px; line-height: 1.3; margin-bottom: 6px; }
.itplr-ui .itplr-step p { font-size: 15px; line-height: 1.55; color: var(--itplr-muted); }
.itplr-ui .itplr-turnkey__ctas { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 40px; }

.itplr-ui .itplr-labs { background: var(--itplr-surface); border-radius: var(--itplr-r-card); padding: clamp(22px, 3vw, 32px); border: 1px solid var(--itplr-line); }
.itplr-ui .itplr-labs__title { font: 500 13px/1.3 var(--itplr-mono); color: var(--itplr-muted); margin-bottom: 14px; }
.itplr-ui .itplr-tabs { display: inline-flex; padding: 4px; gap: 4px; background: var(--itplr-surface-2); border-radius: 10px; margin-bottom: 22px; flex-wrap: wrap; }
.itplr-ui .itplr-tab {
	min-height: 40px; padding: 8px 16px; border-radius: var(--itplr-r-control);
	font: 600 14.5px/1.2 var(--itplr-font); color: var(--itplr-muted);
	transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.itplr-ui .itplr-tab:hover { color: var(--itplr-ink); background: transparent; }
.itplr-ui .itplr-tab[aria-selected="true"] { background: var(--itplr-paper); color: var(--itplr-ink); box-shadow: var(--itplr-shadow-sm), 0 0 0 1px var(--itplr-line); }
.itplr-ui .itplr-tabpanel:focus-visible { outline: 2px solid var(--itplr-red-700); outline-offset: 4px; border-radius: 6px; }
.itplr-ui .itplr-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.itplr-ui .itplr-chips li { padding: 7px 13px; border-radius: 999px; background: var(--itplr-paper); border: 1px solid var(--itplr-line); font-size: 14px; line-height: 1.3; color: var(--itplr-ink-2); }
.itplr-ui .itplr-chips .itplr-chips__more { padding: 0; border-style: dashed; border-color: var(--itplr-line-2); }
.itplr-ui .itplr-chips .itplr-chips__more a { display: block; padding: 7px 13px; color: var(--itplr-red-700); font-weight: 600; }

/* About */
.itplr-ui .itplr-about { background: var(--itplr-surface); }
.itplr-ui .itplr-about__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.itplr-ui .itplr-quote blockquote { border-left: 3px solid var(--itplr-red); padding-left: clamp(18px, 2vw, 28px); }
.itplr-ui .itplr-quote blockquote p { font-size: clamp(26px, 3vw, 40px); line-height: 1.18; letter-spacing: -.02em; font-weight: 600; color: var(--itplr-ink); text-wrap: balance; }
.itplr-ui .itplr-quote figcaption { margin-top: 16px; padding-left: clamp(21px, 2vw, 31px); font: 500 13px/1.3 var(--itplr-mono); color: var(--itplr-muted); }
.itplr-ui .itplr-about__text { margin-top: 32px; font-size: 17px; line-height: 1.65; color: var(--itplr-text); max-width: 56ch; }
.itplr-ui .itplr-about__brands { margin-top: 14px; font-size: 15px; color: var(--itplr-muted); max-width: 56ch; }
.itplr-ui .itplr-about .itplr-textlink { margin-top: 20px; }
.itplr-ui .itplr-sectors { background: var(--itplr-paper); border: 1px solid var(--itplr-line); border-radius: var(--itplr-r-card); padding: clamp(22px, 3vw, 32px); }
.itplr-ui .itplr-sectors__title { font-size: 18px; margin-bottom: 20px; }
.itplr-ui .itplr-sectors ul { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; }
.itplr-ui .itplr-sectors li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.45; color: var(--itplr-ink-2); }
.itplr-ui .itplr-sectors li .itplr-i { color: var(--itplr-red-700); margin-top: 1px; }

/* Insights */
.itplr-ui .itplr-posts { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 20px; }
.itplr-ui .itplr-post { position: relative; display: flex; gap: 18px; background: var(--itplr-paper); border: 1px solid var(--itplr-line); border-radius: var(--itplr-r-card); overflow: hidden; transition: border-color .2s ease, box-shadow .25s ease; }
.itplr-ui .itplr-post__img { flex: 0 0 38%; overflow: hidden; background: var(--itplr-surface); }
.itplr-ui .itplr-post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--itplr-ease-out); }
.itplr-ui .itplr-post__body { padding: 20px 20px 22px 0; }
.itplr-ui .itplr-post__date { display: block; font: 500 12.5px/1.3 var(--itplr-mono); color: var(--itplr-muted); margin-bottom: 8px; }
.itplr-ui .itplr-post__title { font-size: 17px; line-height: 1.35; }
.itplr-ui .itplr-post__title a { color: var(--itplr-ink); }
.itplr-ui .itplr-post__title a::after { content: ""; position: absolute; inset: 0; }
.itplr-ui .itplr-post:focus-within { outline: 2px solid var(--itplr-red-700); outline-offset: 2px; }
.itplr-ui .itplr-post__title a:focus-visible { outline: none; }
.itplr-ui .itplr-post--lead { grid-row: span 2; flex-direction: column; gap: 0; }
.itplr-ui .itplr-post--lead .itplr-post__img { flex: none; aspect-ratio: 16 / 9; }
.itplr-ui .itplr-post--lead .itplr-post__body { padding: 24px 26px 28px; }
.itplr-ui .itplr-post--lead .itplr-post__title { font-size: clamp(20px, 2vw, 24px); line-height: 1.25; letter-spacing: -.01em; }
.itplr-ui .itplr-post--lead p { margin-top: 12px; color: var(--itplr-muted); font-size: 15.5px; }
@media (hover: hover) and (pointer: fine) {
	.itplr-ui .itplr-post:hover { border-color: var(--itplr-line-2); box-shadow: var(--itplr-shadow-md); }
	.itplr-ui .itplr-post:hover .itplr-post__img img { transform: scale(1.03); }
	.itplr-ui .itplr-post:hover .itplr-post__title a { color: var(--itplr-red-700); }
}

/* Contact */
.itplr-ui .itplr-contact { border-top: 1px solid var(--itplr-line); }
.itplr-ui .itplr-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.itplr-ui .itplr-offices { display: grid; gap: 24px; margin-top: 36px; }
.itplr-ui .itplr-offices dt { font: 500 13px/1.3 var(--itplr-mono); color: var(--itplr-muted); margin-bottom: 6px; }
.itplr-ui .itplr-offices dd { font-size: 16px; line-height: 1.6; color: var(--itplr-ink-2); max-width: 44ch; }
.itplr-ui .itplr-offices a { white-space: nowrap; color: var(--itplr-ink); text-decoration: underline; text-decoration-color: var(--itplr-line-2); text-underline-offset: 3px; }
.itplr-ui .itplr-offices a:hover { color: var(--itplr-red-700); text-decoration-color: currentColor; }
.itplr-ui .itplr-contact__form { background: var(--itplr-surface); border: 1px solid var(--itplr-line); border-radius: var(--itplr-r-card); padding: clamp(22px, 3vw, 36px); }
.itplr-ui .itplr-contact__formtitle { font-size: 22px; margin-bottom: 18px; }
.itplr-ui .itplr-contact__fallback p { color: var(--itplr-muted); margin-bottom: 22px; }

/* Contact Form 7 inside our card */
.itplr-ui .itplr-contact__form .wpcf7 form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.itplr-ui .itplr-contact__form .wpcf7 form > * { grid-column: 1 / -1; }
.itplr-ui .itplr-contact__form .wpcf7 form > .column.one-half { grid-column: auto; }
.itplr-ui .itplr-contact__form .wpcf7 form > .column,
.itplr-ui .itplr-contact__form .wpcf7 form .mcb-column-inner { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.itplr-ui .itplr-contact__form .wpcf7 form > .hidden-fields-container { display: none; }
.itplr-ui .itplr-contact__form .wpcf7 p { margin: 0 0 14px; font: 500 14.5px/1.4 var(--itplr-font); color: var(--itplr-ink-2); }
.itplr-ui .itplr-contact__form .wpcf7 label { font: inherit; color: inherit; margin: 0; }
.itplr-ui .itplr-contact__form .wpcf7 sup { color: var(--itplr-red-700); top: -.2em; }
@media (max-width: 560px) { .itplr-ui .itplr-contact__form .wpcf7 form > .column.one-half { grid-column: 1 / -1; } }
.itplr-ui .itplr-contact__form .wpcf7 br { display: none; }
.itplr-ui .itplr-contact__form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }

/* ================================================================ FOOTER */
/* font-weight/style are pinned: product pages leave <strong> tags unclosed, and the
   browser nests everything after them (this footer included) inside those tags. */
.itplr-ui.itplr-footer { background: var(--itplr-ink); color: var(--itplr-on-dark); padding-top: clamp(56px, 7vw, 88px); font-size: 15px; line-height: 1.6; font-weight: 400; font-style: normal; }
.itplr-ui.itplr-footer :where(strong, b, em, i) { font-weight: inherit; font-style: inherit; }
.itplr-ui .itplr-footer__grid { display: grid; grid-template-columns: 1.35fr 1fr .8fr 1.25fr; gap: clamp(32px, 4vw, 56px); padding-bottom: 48px; }
.itplr-ui .itplr-footer__logo { display: inline-block; padding: 8px 12px; background: #fff; border-radius: 10px; margin-bottom: 20px; }
.itplr-ui .itplr-footer__logo img { height: 52px; width: auto; }
.itplr-ui .itplr-footer__brand p { color: var(--itplr-on-dark-muted); max-width: 40ch; margin-bottom: 24px; }
.itplr-ui .itplr-footer__h { font: 500 13px/1.3 var(--itplr-mono); color: #fff; letter-spacing: .02em; margin-bottom: 18px; }
.itplr-ui .itplr-footer__col li a { display: inline-block; padding: 5px 0; color: var(--itplr-on-dark); transition: color .16s ease; }
.itplr-ui .itplr-footer__col li a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.itplr-ui .itplr-footer__more { font-weight: 600; }
.itplr-ui .itplr-footer__office { color: var(--itplr-on-dark-muted); margin-bottom: 14px; }
.itplr-ui .itplr-footer__label { display: block; color: var(--itplr-on-dark); font-weight: 600; }
.itplr-ui .itplr-footer__lines { margin-bottom: 16px; }
.itplr-ui .itplr-footer__lines a { display: inline-flex !important; align-items: center; gap: 8px; }
.itplr-ui .itplr-footer__lines .itplr-i { color: var(--itplr-on-dark-muted); }
.itplr-ui .itplr-footer__base { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 20px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 14px; color: var(--itplr-on-dark-muted); }
.itplr-ui .itplr-footer__top { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--itplr-on-dark); }
.itplr-ui .itplr-footer__top:hover { color: #fff; }
.itplr-ui.itplr-footer :where(a, button):focus-visible { outline-color: #fff; }

/* ======================================================= INNER PAGES SKIN */
/* BeTheme's theme colour is blue #0095eb; point its variables and utility classes at the brand red. */
body.itplr {
	--mfn-button-theme-bg: var(--itplr-red);
	--mfn-button-shop-bg: var(--itplr-red);
	--mfn-clients-tiles-hover: var(--itplr-red);
	--mfn-icon-box-icon: var(--itplr-red-700);
	--mfn-section-tabber-nav-active-color: var(--itplr-red-700);
	--mfn-sliding-box-bg: var(--itplr-ink);
	--mfn-woo-themecolor: var(--itplr-red-700);
	--mfn-woo-bg-themecolor: var(--itplr-red);
	--mfn-woo-border-themecolor: var(--itplr-red);
}
body.itplr .themecolor { color: var(--itplr-red-700); }
body.itplr .themebg,
body.itplr .dropcap,
body.itplr .highlight:not(.highlight_image) { background-color: var(--itplr-red); }
body.itplr ::selection { background-color: var(--itplr-red); color: #fff; }
body.itplr #Content .icon_box .icon_wrapper,
body.itplr #Content .icon_box .icon_wrapper i { color: var(--itplr-red-700); border-color: var(--itplr-line-2); }

/* Contact page: BeBuilder paints mid-grey panels (#a5a5a5 fails contrast with body text); use the surface tone. */
body.itplr #Content [style*="background-color:#a5a5a5"],
body.itplr #Content [style*="background-color:#d6d6d6"] { background-color: var(--itplr-surface) !important; }
body.itplr #Content .column_attr[style*="background-color:#a5a5a5"] { border-radius: var(--itplr-r-card); border: 1px solid var(--itplr-line); padding: 24px 28px !important; }

/* Page title band (BeTheme #Subheader) */
body.itplr #Subheader {
	position: relative; background: var(--itplr-surface) !important; background-image: none !important;
	padding: clamp(36px, 5vw, 60px) 0 clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--itplr-line);
}
body.itplr #Subheader::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; }
body.itplr #Subheader .container { max-width: calc(var(--itplr-wrap) + 2 * var(--itplr-gutter)); padding-inline: var(--itplr-gutter); box-sizing: border-box; }
body.itplr #Subheader .column { display: flex; flex-direction: column-reverse; align-items: flex-start; width: 100%; margin: 0; float: none; }
body.itplr #Subheader .title {
	margin: 0; width: 100%; text-align: left !important; float: none;
	font: 600 clamp(28px, 3.4vw, 46px)/1.1 var(--itplr-font) !important; font-style: normal !important;
	letter-spacing: -.022em !important; color: var(--itplr-ink) !important; text-wrap: balance;
}
body.itplr #Subheader ul.breadcrumbs {
	display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; float: none; width: 100%; margin: 0 0 14px !important;
	text-align: left !important; font: 500 13px/1.5 var(--itplr-mono) !important;
}
body.itplr #Subheader ul.breadcrumbs li { display: inline-flex; align-items: center; margin: 0; color: var(--itplr-ink-2) !important; font: inherit; }
body.itplr #Subheader ul.breadcrumbs li a { color: var(--itplr-muted) !important; text-decoration: none; }
body.itplr #Subheader ul.breadcrumbs li a:hover { color: var(--itplr-red-700) !important; }
body.itplr #Subheader ul.breadcrumbs span { margin: 0 10px; color: var(--itplr-line-2) !important; opacity: 1; font-size: 0 !important; }
body.itplr #Subheader ul.breadcrumbs span i { display: none; }
body.itplr #Subheader ul.breadcrumbs span::before { content: "/"; font: 400 13px/1 var(--itplr-mono); color: var(--itplr-line-2); }

/* Content typography. BeBuilder widgets set their own font-family, so reassert it on text elements (never on <i> icon glyphs). */
body.itplr #Content :where(p, span, div, li, a, label, strong, b, em, td, th, h1, h2, h3, h4, h5, h6, blockquote, dt, dd) { font-family: var(--itplr-font); }
body.itplr #Content { padding-top: clamp(36px, 5vw, 64px); background: var(--itplr-paper); }
body.itplr #Content,
body.itplr #Content p,
body.itplr #Content li { color: var(--itplr-text); font-size: 16px; line-height: 1.7; }
body.itplr #Content h1 { font-size: clamp(28px, 3vw, 38px); line-height: 1.15; font-weight: 600; letter-spacing: -.02em; margin-bottom: 18px; }
body.itplr #Content h2 { font-size: clamp(24px, 2.4vw, 30px); line-height: 1.2; font-weight: 600; letter-spacing: -.015em; margin-bottom: 14px; }
body.itplr #Content h3 { font-size: 21px; line-height: 1.3; font-weight: 600; margin-bottom: 12px; }
body.itplr #Content h4, body.itplr #Content h5, body.itplr #Content h6 { font-size: 17px; line-height: 1.35; font-weight: 600; margin-bottom: 10px; }
body.itplr #Content .column_attr a:not(.button),
body.itplr #Content .the_content_wrapper a:not(.button),
body.itplr #Content .ui-tabs-panel a:not(.button),
body.itplr #Content .post-wrapper-content a:not(.button) {
	color: var(--itplr-red-700); text-decoration: underline; text-decoration-color: rgba(200, 22, 29, .35); text-underline-offset: 3px;
}
body.itplr #Content .column_attr a:not(.button):hover,
body.itplr #Content .the_content_wrapper a:not(.button):hover { text-decoration-color: currentColor; }
body.itplr #Content ul:not([class]) li::marker { color: var(--itplr-red); }
body.itplr #Content img[src=""] { display: none; }
body.itplr #Content hr, body.itplr #Content .hr_color { background-color: var(--itplr-line); color: var(--itplr-line); border-color: var(--itplr-line); }

/* Product grids (BeTheme portfolio element). Isotope's absolute layout is
   replaced with CSS grid so every card lines up; filtering still works because
   Isotope hides filtered items with display:none. */
body.itplr .portfolio_group.isotope,
body.itplr .portfolio_group.grid,
body.itplr .portfolio_group {
	display: grid !important; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 20px;
	height: auto !important; margin: 0 !important;
}
body.itplr .portfolio_group::before, body.itplr .portfolio_group::after { display: none !important; }
body.itplr .portfolio_group .portfolio-item {
	position: relative !important; left: auto !important; top: auto !important; transform: none !important;
	width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important;
	display: flex; flex-direction: column;
	background: var(--itplr-paper) !important; border: 1px solid var(--itplr-line); border-radius: var(--itplr-r-card); overflow: hidden;
	transition: border-color .2s ease, box-shadow .25s ease, transform .25s var(--itplr-ease-out) !important;
}
body.itplr .portfolio_group .portfolio-item .portfolio-item-fw-bg,
body.itplr .portfolio_group .portfolio-item .portfolio-item-fill { background: none !important; }
body.itplr .portfolio_group .portfolio-item .image_frame {
	margin: 0 !important; border: 0 !important; background: var(--itplr-paper) !important; border-bottom: 1px solid var(--itplr-line) !important; box-shadow: none !important;
}
body.itplr .portfolio_group .portfolio-item .image_frame .image_wrapper {
	position: relative; display: block; aspect-ratio: 1; box-sizing: border-box; background: var(--itplr-paper); overflow: hidden;
}
body.itplr .portfolio_group .portfolio-item .image_frame .image_wrapper > a { position: absolute; inset: 0; display: block; }
body.itplr .portfolio_group .portfolio-item .image_frame img {
	position: absolute; inset: 22px; width: calc(100% - 44px) !important; height: calc(100% - 44px) !important; max-width: none;
	object-fit: contain; transition: transform .4s var(--itplr-ease-out);
}
body.itplr .portfolio_group .portfolio-item .image_links,
body.itplr .portfolio_group .portfolio-item .mask,
body.itplr .portfolio_group .portfolio-item .button-love,
body.itplr .post-related .image_links,
body.itplr .post-related .mask { display: none !important; }
body.itplr .portfolio_group .portfolio-item .desc { padding: 16px 18px 20px !important; background: transparent !important; flex: 1; }
body.itplr .portfolio_group .portfolio-item .desc .title_wrapper { padding: 0 !important; margin: 0 !important; }
body.itplr .portfolio_group .portfolio-item .entry-title { margin: 0 !important; font: 600 16px/1.35 var(--itplr-font) !important; letter-spacing: -.005em; }
body.itplr .portfolio_group .portfolio-item .entry-title a { color: var(--itplr-ink) !important; text-decoration: none !important; }
body.itplr .portfolio_group .portfolio-item .entry-title a::after { content: ""; position: absolute; inset: 0; }
body.itplr .portfolio_group .portfolio-item .desc-wrapper,
body.itplr .portfolio_group .portfolio-item .details-wrapper { font-size: 14px; color: var(--itplr-muted); }
@media (hover: hover) and (pointer: fine) {
	body.itplr .portfolio_group .portfolio-item:hover { border-color: var(--itplr-line-2); box-shadow: var(--itplr-shadow-md); transform: translateY(-2px) !important; }
	body.itplr .portfolio_group .portfolio-item:hover .image_frame img { transform: scale(1.04); }
	body.itplr .portfolio_group .portfolio-item:hover .entry-title a { color: var(--itplr-red-700) !important; }
}
body.itplr .portfolio_group .portfolio-item:focus-within { outline: 2px solid var(--itplr-red-700); outline-offset: 2px; }

/* Portfolio filters on /portfolio/ */
body.itplr #Filters .filters_buttons,
body.itplr .isotope-filters .filters_buttons { background: var(--itplr-surface); border: 1px solid var(--itplr-line); border-radius: var(--itplr-r-card); }
body.itplr .isotope-filters .filters_wrapper ul li a { border-radius: 999px; border: 1px solid var(--itplr-line); background: var(--itplr-paper); color: var(--itplr-ink-2); }
body.itplr .isotope-filters .filters_wrapper ul li.current-cat a,
body.itplr .isotope-filters .filters_wrapper ul li a:hover { background: var(--itplr-ink); border-color: var(--itplr-ink); color: #fff; }

/* Buttons inside content (Datasheet, Request a quote, etc.) */
body.itplr #Content a.button,
body.itplr #Content .button,
body.itplr #Content input[type="submit"],
body.itplr #Content button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 46px; padding: 11px 20px !important; margin: 0 8px 10px 0;
	border-radius: var(--itplr-r-control) !important; border: 1px solid var(--itplr-line-2) !important;
	background: var(--itplr-paper) !important; background-image: none !important; box-shadow: none !important;
	color: var(--itplr-ink) !important; font: 600 15px/1.2 var(--itplr-font) !important; text-decoration: none !important; letter-spacing: normal;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s var(--itplr-ease-out);
}
body.itplr #Content a.button:hover,
body.itplr #Content .button:hover { border-color: var(--itplr-ink) !important; background: var(--itplr-paper) !important; }
body.itplr #Content a.button:active,
body.itplr #Content input[type="submit"]:active { transform: scale(.97); }
body.itplr #Content a.button .button_icon { float: none; display: inline-flex; padding: 0 !important; margin: 0; width: auto; height: auto; line-height: 1; background: none !important; border: 0 !important; color: var(--itplr-red-700); font-size: 16px; }
body.itplr #Content a.button .button_icon i { color: inherit; }
body.itplr #Content a.button .button_label { float: none; padding: 0 !important; margin: 0; line-height: 1.2; }
body.itplr #Content .button::after, body.itplr #Content .button::before { display: none !important; }
/* The quote button is the primary action on product pages. */
body.itplr #Content a.button[href*="page_id=15"],
body.itplr #Content a.button[href*="/contact"],
body.itplr #Content a.button[href*="quote"],
body.itplr #Content input[type="submit"],
body.itplr #Content button[type="submit"],
body.itplr .itplr-contact__form input[type="submit"] {
	background: var(--itplr-red) !important; border-color: var(--itplr-red) !important; color: #fff !important;
}
body.itplr #Content a.button[href*="page_id=15"] .button_icon,
body.itplr #Content a.button[href*="/contact"] .button_icon,
body.itplr #Content a.button[href*="quote"] .button_icon { color: #fff; }
body.itplr #Content a.button[href*="page_id=15"]:hover,
body.itplr #Content a.button[href*="/contact"]:hover,
body.itplr #Content a.button[href*="quote"]:hover,
body.itplr #Content input[type="submit"]:hover,
body.itplr #Content button[type="submit"]:hover,
body.itplr .itplr-contact__form input[type="submit"]:hover { background: var(--itplr-red-700) !important; border-color: var(--itplr-red-700) !important; }
body.itplr #Content .column_button { width: auto !important; margin-right: 4px; }
body.itplr #Content .column_placeholder { display: none; }

/* Tabs (BeTheme jQuery UI tabs) */
body.itplr #Content .jq-tabs.ui-tabs,
body.itplr #Content .jq-tabs { background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
body.itplr #Content .jq-tabs .ui-tabs-nav,
body.itplr #Content .jq-tabs > ul {
	display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 4px !important; padding: 0 !important;
	background: none !important; border: 0 !important; border-bottom: 1px solid var(--itplr-line) !important; border-radius: 0 !important;
}
body.itplr #Content .jq-tabs .ui-tabs-nav li,
body.itplr #Content .jq-tabs > ul li { float: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; list-style: none; }
body.itplr #Content .jq-tabs .ui-tabs-nav li a,
body.itplr #Content .jq-tabs > ul li a {
	display: block; padding: 14px 18px !important; font: 600 15px/1.2 var(--itplr-font) !important;
	color: var(--itplr-muted) !important; text-decoration: none !important; background: none !important; border: 0 !important;
	box-shadow: inset 0 -2px 0 transparent; transition: color .16s ease, box-shadow .16s ease;
}
body.itplr #Content .jq-tabs .ui-tabs-nav li a:hover { color: var(--itplr-ink) !important; }
body.itplr #Content .jq-tabs .ui-tabs-nav li.ui-state-active a,
body.itplr #Content .jq-tabs .ui-tabs-nav li.ui-tabs-active a { color: var(--itplr-ink) !important; box-shadow: inset 0 -2px 0 var(--itplr-red); }
body.itplr #Content .jq-tabs .ui-tabs-panel { padding: 24px 0 8px !important; background: none !important; border: 0 !important; }

/* Specification tables */
body.itplr #Content table { width: 100%; border-collapse: collapse; border-spacing: 0; margin: 8px 0 24px; border: 1px solid var(--itplr-line); font-size: 14.5px; }
body.itplr #Content table th,
body.itplr #Content table td {
	padding: 10px 14px; border: 1px solid var(--itplr-line); border-color: var(--itplr-line);
	font-family: var(--itplr-font); font-size: 14.5px; line-height: 1.5; color: var(--itplr-text); text-align: left; vertical-align: top; background: var(--itplr-paper);
}
body.itplr #Content table th,
body.itplr #Content table tr:first-child th { background: var(--itplr-surface); color: var(--itplr-ink); font-weight: 600; }
body.itplr #Content table tr:nth-child(even) td { background: #FAFAFB; }

/* Related products on product pages */
body.itplr .section-post-related { padding-block: 32px 16px; border-top: 1px solid var(--itplr-line); }
body.itplr #Content .section-post-related h4 { font: 600 22px/1.25 var(--itplr-font); color: var(--itplr-ink); letter-spacing: -.01em; margin-bottom: 20px; }
body.itplr .post-related .image_frame { border: 1px solid var(--itplr-line) !important; border-radius: var(--itplr-r-card); overflow: hidden; background: var(--itplr-paper); }
body.itplr .post-related .image_frame .image_wrapper { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; }
body.itplr .post-related .image_frame .image_wrapper > a { position: absolute; inset: 0; display: block; }
body.itplr .post-related .image_frame img { position: absolute; inset: 18px; width: calc(100% - 36px) !important; height: calc(100% - 36px) !important; max-width: none; object-fit: contain; }
body.itplr .post-related .date_label { display: none; }

/* Blog lists and posts */
body.itplr .posts_group .post-item,
body.itplr .posts_group .post { border-radius: var(--itplr-r-card); }
body.itplr .posts_group .post-photo-wrapper img,
body.itplr .single-photo-wrapper img { border-radius: var(--itplr-r-card); }
body.itplr .post-title h2, body.itplr .post-title h2 a,
body.itplr .posts_group .entry-title a { color: var(--itplr-ink) !important; font-family: var(--itplr-font) !important; font-weight: 600 !important; letter-spacing: -.01em; }
body.itplr .posts_group .entry-title a:hover { color: var(--itplr-red-700) !important; }
body.itplr .post-meta, body.itplr .post-meta a, body.itplr .date_label { font-family: var(--itplr-mono) !important; font-size: 13px !important; color: var(--itplr-muted) !important; }
body.itplr.single-post .the_content_wrapper { max-width: 760px; margin-inline: auto; }
body.itplr.single-post .the_content_wrapper p { font-size: 17px; line-height: 1.75; }

/* Filters bar on blog archives */
body.itplr #Filters .filters_buttons li a,
body.itplr #Filters .filters_wrapper ul li a { font-family: var(--itplr-font); }

/* Sidebar widgets */
body.itplr .widget { padding-bottom: 24px; }
body.itplr .widget h3 { font: 600 16px/1.3 var(--itplr-font); color: var(--itplr-ink); margin-bottom: 12px; }
body.itplr .widget ul li a { color: var(--itplr-text); }
body.itplr .widget ul li a:hover { color: var(--itplr-red-700); }

/* Forms site-wide (Contact page, CF7) */
body.itplr #Content input[type="text"],
body.itplr #Content input[type="email"],
body.itplr #Content input[type="tel"],
body.itplr #Content input[type="number"],
body.itplr #Content input[type="url"],
body.itplr #Content input[type="search"],
body.itplr #Content select,
body.itplr #Content textarea,
body.itplr .itplr-contact__form input[type="text"],
body.itplr .itplr-contact__form input[type="email"],
body.itplr .itplr-contact__form input[type="tel"],
body.itplr .itplr-contact__form select,
body.itplr .itplr-contact__form textarea {
	width: 100%; min-height: 48px; box-sizing: border-box; margin: 0;
	padding: 11px 14px; border-radius: var(--itplr-r-control) !important;
	border: 1px solid var(--itplr-line-2) !important; background: var(--itplr-paper) !important; box-shadow: none !important;
	font: 400 16px/1.4 var(--itplr-font) !important; color: var(--itplr-ink) !important;
	transition: border-color .16s ease, box-shadow .16s ease;
}
body.itplr #Content textarea, body.itplr .itplr-contact__form textarea { min-height: 130px; resize: vertical; }
body.itplr #Content :is(input, select, textarea)::placeholder,
body.itplr .itplr-contact__form :is(input, select, textarea)::placeholder { color: var(--itplr-muted); opacity: 1; }
body.itplr #Content :is(input, select, textarea):focus,
body.itplr .itplr-contact__form :is(input, select, textarea):focus {
	outline: none; border-color: var(--itplr-red-700) !important; box-shadow: 0 0 0 3px rgba(227, 30, 36, .16) !important;
}
body.itplr .itplr-contact__form input[type="submit"],
body.itplr .itplr-contact__form button[type="submit"] {
	min-height: 50px; padding: 12px 26px; border: 0; border-radius: var(--itplr-r-control);
	font: 600 16px/1.2 var(--itplr-font); cursor: pointer; width: auto;
}
body.itplr .wpcf7-not-valid-tip { color: var(--itplr-red-800); font-size: 13.5px; margin-top: 6px; }
body.itplr .wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 14px; border-radius: var(--itplr-r-control); font-size: 14.5px; }

/* Pagination */
body.itplr .pager .pages a,
body.itplr .pager a.prev_page,
body.itplr .pager a.next_page { min-width: 40px; height: 40px; line-height: 40px; border-radius: var(--itplr-r-control); color: var(--itplr-ink-2); }
body.itplr .pager .pages a.active,
body.itplr .pager .pages a:hover { background: var(--itplr-ink) !important; color: #fff !important; }

/* ================================================== REVEAL ON SCROLL */
@media (prefers-reduced-motion: no-preference) {
	.itplr-js .itplr-ui [data-reveal] { opacity: 0; transform: translateY(14px); }
	.itplr-js .itplr-ui [data-reveal].is-in {
		opacity: 1; transform: none;
		transition: opacity .6s var(--itplr-ease-out), transform .6s var(--itplr-ease-out), border-color .2s ease, box-shadow .25s ease;
		transition-delay: calc(min(var(--i, 0), 8) * 45ms), calc(min(var(--i, 0), 8) * 45ms), 0s, 0s;
	}
}
@media (prefers-reduced-motion: reduce) {
	body.itplr *, body.itplr *::before, body.itplr *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.itplr-ui .itplr-hero__shot--2, .itplr-ui .itplr-hero__shot--3 { transform: none; }
}

/* ============================================================ RESPONSIVE */
@media (max-width: 1180px) {
	.itplr-ui .itplr-nav__link { padding: 0 9px; font-size: 14.5px; }
	.itplr-ui .itplr-header__in { gap: 18px; }
	.itplr-ui .itplr-mega__inner { grid-template-columns: 270px 1fr; }
	.itplr-ui .itplr-logos { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.itplr-ui .itplr-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1023px) {
	body.itplr { --itplr-header-h: 68px; }
	.itplr-ui .itplr-nav { display: none; }
	.itplr-ui .itplr-burger { display: inline-grid; }
	.itplr-ui .itplr-logo img { height: 48px; }

	.itplr-ui .itplr-hero__grid { grid-template-columns: 1fr; }
	.itplr-ui .itplr-hero__title { max-width: 20ch; }
	.itplr-ui .itplr-hero__media { height: clamp(300px, 56vw, 440px); }

	.itplr-ui .itplr-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.itplr-ui .itplr-tile--lead { grid-column: span 2; grid-row: auto; }
	.itplr-ui .itplr-tile--wide { grid-column: span 2; }

	.itplr-ui .itplr-turnkey__grid,
	.itplr-ui .itplr-about__grid,
	.itplr-ui .itplr-contact__grid { grid-template-columns: 1fr; }
	.itplr-ui .itplr-posts { grid-template-columns: 1fr 1fr; }
	.itplr-ui .itplr-post--lead { grid-row: auto; grid-column: span 2; }
}

@media (max-width: 767px) {
	.itplr-ui .itplr-topbar__tag { display: none; }
	.itplr-ui .itplr-topbar__in { justify-content: center; }
	.itplr-ui .itplr-topbar__contact { gap: 16px; font-size: 13px; }
	.itplr-ui .itplr-header__cta { display: none; }

	.itplr-ui .itplr-hero__media { grid-template-columns: 1fr 1fr; height: 300px; gap: 10px; }
	.itplr-ui .itplr-hero__shot { padding: 12px; }
	.itplr-ui .itplr-hero__shot--1 { padding: 16px 14px; }
	.itplr-ui .itplr-hero__ctas .itplr-btn { flex: 1 1 200px; }

	.itplr-ui .itplr-logos {
		grid-template-columns: none; grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-auto-columns: 84px;
		overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 8px; margin-inline: calc(var(--itplr-gutter) * -1); padding-inline: var(--itplr-gutter);
		scrollbar-width: none;
	}
	.itplr-ui .itplr-logos::-webkit-scrollbar { display: none; }
	.itplr-ui .itplr-logos li { scroll-snap-align: start; }

	.itplr-ui .itplr-bento { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; gap: 12px; }
	.itplr-ui .itplr-tile__img { min-height: 110px; padding: 14px 14px 0; }
	.itplr-ui .itplr-tile__img img { max-height: 110px; }
	.itplr-ui .itplr-tile__body { padding: 12px 14px 16px; }
	.itplr-ui .itplr-tile__icon { display: none; }
	.itplr-ui .itplr-tile__name { font-size: 15px; }
	.itplr-ui .itplr-tile__go { display: none; }
	.itplr-ui .itplr-tile--lead .itplr-tile__img img { max-height: 200px; }
	.itplr-ui .itplr-tile--lead .itplr-tile__body { padding: 16px 18px 20px; }
	.itplr-ui .itplr-tile--lead .itplr-tile__name { font-size: 20px; }
	.itplr-ui .itplr-tile--wide { flex-direction: column; }
	.itplr-ui .itplr-tile--wide .itplr-tile__img { flex: 1; padding: 14px 14px 0; }
	.itplr-ui .itplr-tile--wide .itplr-tile__lines { display: none; }

	.itplr-ui .itplr-track { grid-auto-columns: 74%; gap: 12px; }
	.itplr-ui .itplr-carousel__nav { display: none; }

	.itplr-ui .itplr-steps { grid-template-columns: 1fr; gap: 22px; }
	.itplr-ui .itplr-sectors ul { grid-template-columns: 1fr; gap: 14px; }

	.itplr-ui .itplr-posts { grid-template-columns: 1fr; }
	.itplr-ui .itplr-post--lead { grid-column: auto; }
	.itplr-ui .itplr-post { flex-direction: column; gap: 0; }
	.itplr-ui .itplr-post__img { flex: none; aspect-ratio: 16 / 9; }
	.itplr-ui .itplr-post__body { padding: 16px 18px 20px; }

	.itplr-ui .itplr-footer__grid { grid-template-columns: 1fr; gap: 36px; }

	body.itplr .portfolio_group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	body.itplr .portfolio_group .portfolio-item .image_frame img { inset: 12px; width: calc(100% - 24px) !important; height: calc(100% - 24px) !important; }
	body.itplr .portfolio_group .portfolio-item .desc { padding: 12px 12px 14px !important; }
	body.itplr .portfolio_group .portfolio-item .entry-title { font-size: 14.5px !important; }
	body.itplr #Content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	body.itplr #Content .column_button { display: inline-block; }
}

@media (max-width: 380px) {
	.itplr-ui .itplr-topbar__contact li + li { display: none; }
	.itplr-ui .itplr-bento { grid-template-columns: 1fr; }
	.itplr-ui .itplr-tile--lead, .itplr-ui .itplr-tile--wide { grid-column: auto; }
}

/* Print: drop chrome */
@media print {
	.itplr-topbar, .itplr-header, .itplr-drawer, .itplr-footer, .itplr-skip { display: none !important; }
}
