:root {
	--refresh-orange: #f65300;
	--refresh-orange-dark: #cf4300;
	--refresh-orange-soft: #fff0e8;
	--refresh-ink: #1f2428;
	--refresh-muted: #626a70;
	--refresh-line: #e4e5e6;
	--refresh-surface: #ffffff;
	--refresh-surface-soft: #f7f7f5;
	--refresh-radius: 8px;
}

html {
	scroll-behavior: smooth;
	scrollbar-gutter: stable;
}

body {
	min-width: 0;
	color: var(--refresh-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

.slide,
.menu {
	min-width: 0;
}

.container {
	width: min(960px, calc(100% - 40px));
	max-width: 960px;
}

/* Navigation */
.menu {
	height: 58px;
	background: rgba(255, 255, 255, .97);
	border-top: 3px solid var(--refresh-orange);
	border-bottom: 1px solid var(--refresh-line);
	box-shadow: 0 4px 18px rgba(31, 36, 40, .05);
}

.refresh-navigation {
	display: flex;
	align-items: center;
	gap: 22px;
	height: 55px;
}

.refresh-navigation #company {
	flex: 0 0 auto;
	margin: 0;
	white-space: nowrap;
}

.refresh-navigation #company a {
	font-size: 12px;
	letter-spacing: .04em;
}

.refresh-navigation #nav {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}

.refresh-navigation ul.navigation {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	float: none;
	margin: 0;
}

.refresh-navigation .navigation li {
	float: none;
	margin: 0;
	padding: 0;
	font-size: 11px;
	line-height: 1.2;
	white-space: nowrap;
}

.refresh-navigation-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 34px;
	padding: 0 15px;
	border-radius: 4px;
	background: var(--refresh-orange);
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.refresh-navigation-cta:hover {
	background: var(--refresh-orange-dark);
}

/* Header and hero */
.padding_slide1 {
	padding: 58px 0 0;
}

.refresh-contact-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 112px;
}

.refresh-contact-bar #logo,
.refresh-contact-bar #time,
.refresh-contact-bar #phone,
.refresh-contact-bar #callme {
	float: none;
	margin: 0;
}

.refresh-contact-bar #logo {
	display: flex;
	align-items: center;
	width: 190px;
	height: auto;
}

.refresh-contact-bar #time {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 220px;
	background: none;
}

.refresh-contact-bar #time span {
	margin: 0;
}

.refresh-contact-icon {
	display: flex;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	height: 34px;
	border-radius: 10px;
	background: var(--refresh-orange-soft);
	color: var(--refresh-orange);
}

.refresh-contact-icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.refresh-contact-copy {
	font-size: 12px;
	line-height: 1.45;
}

.refresh-contact-copy > span {
	display: block;
	font-weight: 700;
}

.refresh-contact-bar #phone {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 210px;
	height: auto;
	text-align: right;
}

.refresh-contact-bar #callme {
	width: 184px;
	flex: 0 0 184px;
	background: none;
}

.refresh-contact-bar #callme:hover {
	background: var(--refresh-orange);
}

.refresh-contact-bar #callme a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	box-sizing: border-box;
	padding: 0;
	text-align: left;
}

.refresh-contact-bar #callme a svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.refresh-contact-bar #callme a span {
	margin: 0;
}

.refresh-hero {
	position: relative;
	overflow: hidden;
	padding: 86px 0 92px;
	background:
		radial-gradient(circle at 86% 20%, rgba(246, 83, 0, .18), transparent 28%),
		linear-gradient(135deg, #24292d 0%, #16191c 100%);
	color: #fff;
	text-align: left;
}

.refresh-hero:after {
	position: absolute;
	top: -90px;
	right: calc(50% - 600px);
	width: 430px;
	height: 430px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50%;
	box-shadow: 0 0 0 80px rgba(255, 255, 255, .025), 0 0 0 160px rgba(255, 255, 255, .02);
	content: "";
}

.refresh-hero .container {
	position: relative;
	z-index: 1;
}

.refresh-hero h1 {
	max-width: 790px;
	margin: 8px 0 24px;
	color: #fff;
	font-size: clamp(40px, 5.2vw, 66px);
	font-weight: 300;
	line-height: 1.08;
	text-align: left;
	text-transform: none;
}

.refresh-eyebrow {
	margin: 0 0 12px;
	color: var(--refresh-orange);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.refresh-hero .refresh-eyebrow {
	color: #ff915a;
}

.refresh-hero-lead {
	max-width: 700px;
	margin: 0;
	color: rgba(255, 255, 255, .78);
	font-size: 20px;
	font-weight: 300;
	line-height: 1.55;
}

/* Visual heroes for service pages */
.refresh-product-hero {
	position: relative;
	overflow: hidden;
	padding: 78px 0 86px;
}

.refresh-product-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
	align-items: center;
	gap: 60px;
}

.refresh-product-hero-copy {
	position: relative;
	z-index: 2;
}

.refresh-product-hero h1 {
	margin: 0 0 24px;
	color: var(--refresh-ink);
	font-size: clamp(42px, 4vw, 54px);
	font-weight: 300;
	line-height: 1.08;
	text-align: left;
	text-transform: none;
}

.refresh-product-hero-copy > p:not(.refresh-eyebrow) {
	margin: 0;
	color: var(--refresh-muted);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.65;
}

.refresh-software-hero {
	background:
		linear-gradient(115deg, rgba(255, 255, 255, .96), rgba(255, 247, 242, .82)),
		radial-gradient(circle at 82% 30%, rgba(246, 83, 0, .22), transparent 36%);
}

.refresh-hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.refresh-hero-tags li {
	padding: 7px 11px;
	border: 1px solid var(--refresh-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, .74);
	color: var(--refresh-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
}

.refresh-system-map {
	position: relative;
	height: 430px;
	border: 1px solid #dfe1e2;
	border-radius: 18px;
	background:
		linear-gradient(rgba(31, 36, 40, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(31, 36, 40, .035) 1px, transparent 1px),
		#fff;
	background-size: 24px 24px;
	box-shadow: 0 30px 70px rgba(53, 39, 32, .14);
}

.refresh-system-map > svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.refresh-system-map > svg path {
	fill: none;
	stroke: #f6a37a;
	stroke-dasharray: 5 6;
	stroke-width: 2;
}

.refresh-system-core,
.refresh-system-node {
	position: absolute;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 0 10px 28px rgba(31, 36, 40, .12);
}

.refresh-system-core {
	top: 50%;
	left: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 170px;
	height: 112px;
	padding: 22px;
	border: 2px solid var(--refresh-orange);
	border-radius: 12px;
	transform: translate(-50%, -50%);
}

.refresh-system-core span,
.refresh-system-node span {
	color: var(--refresh-muted);
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.refresh-system-core strong {
	margin-top: 6px;
	font-size: 18px;
}

.refresh-system-core i {
	position: absolute;
	right: 15px;
	top: 15px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--refresh-orange);
	box-shadow: 0 0 0 6px var(--refresh-orange-soft);
}

.refresh-system-node {
	width: 126px;
	padding: 15px 16px;
	border: 1px solid var(--refresh-line);
	border-radius: 8px;
}

.refresh-system-node i {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border-radius: 50%;
	background: var(--refresh-orange);
}

.refresh-system-node strong {
	display: inline;
	font-size: 13px;
}

.refresh-system-node span {
	display: block;
	margin: 6px 0 0 14px;
}

.refresh-system-node-a { top: 42px; left: 25px; }
.refresh-system-node-b { top: 38px; right: 24px; }
.refresh-system-node-c { bottom: 40px; left: 24px; }
.refresh-system-node-d { right: 24px; bottom: 40px; }

/* Mobile development */
.refresh-mobile-hero {
	background:
		radial-gradient(circle at 82% 35%, rgba(246, 83, 0, .19), transparent 34%),
		linear-gradient(120deg, #fff 0%, #fff8f4 58%, #f0f2f1 100%);
}

.refresh-mobile-scene {
	position: relative;
	height: 430px;
	overflow: hidden;
	border: 1px solid #dfe1e2;
	border-radius: 22px;
	background:
		linear-gradient(rgba(31, 36, 40, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(31, 36, 40, .035) 1px, transparent 1px),
		#fff;
	background-size: 24px 24px;
	box-shadow: 0 30px 70px rgba(53, 39, 32, .14);
}

.refresh-mobile-device {
	position: absolute;
	top: 34px;
	left: 50%;
	width: 212px;
	height: 362px;
	box-sizing: border-box;
	padding: 8px;
	border: 2px solid #2b3034;
	border-radius: 31px;
	background: #202529;
	box-shadow: 0 24px 46px rgba(31, 36, 40, .2);
	transform: translateX(-50%) rotate(3deg);
}

.refresh-mobile-device-bar {
	position: absolute;
	z-index: 2;
	top: 13px;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 78px;
	height: 18px;
	border-radius: 9px;
	background: #202529;
	transform: translateX(-50%);
}

.refresh-mobile-device-bar i {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #555d62;
}

.refresh-mobile-device-bar span {
	width: 28px;
	height: 3px;
	border-radius: 2px;
	background: #555d62;
}

.refresh-mobile-device-screen {
	height: 100%;
	box-sizing: border-box;
	padding: 54px 20px 20px;
	border-radius: 23px;
	background: linear-gradient(165deg, #fff, #f3f4f2);
}

.refresh-mobile-device-screen small,
.refresh-mobile-device-screen strong {
	display: block;
}

.refresh-mobile-device-screen small {
	color: var(--refresh-muted);
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-mobile-device-screen strong {
	margin-top: 7px;
	font-size: 25px;
	font-weight: 500;
}

.refresh-mobile-chart {
	display: flex;
	align-items: end;
	gap: 8px;
	height: 92px;
	margin: 24px 0;
	padding: 0 12px;
	border-radius: 12px;
	background: #202529;
}

.refresh-mobile-chart i {
	flex: 1;
	height: 38%;
	border-radius: 3px 3px 0 0;
	background: #ff8a50;
}

.refresh-mobile-chart i:nth-child(2) { height: 68%; }
.refresh-mobile-chart i:nth-child(3) { height: 48%; }
.refresh-mobile-chart i:nth-child(4) { height: 82%; }
.refresh-mobile-chart i:nth-child(5) { height: 61%; }

.refresh-mobile-row {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: 11px;
}

.refresh-mobile-row span {
	width: 27px;
	height: 27px;
	border-radius: 8px;
	background: var(--refresh-orange-soft);
}

.refresh-mobile-row b {
	flex: 1;
	height: 7px;
	border-radius: 4px;
	background: #d7dadb;
}

.refresh-mobile-float {
	position: absolute;
	min-width: 142px;
	box-sizing: border-box;
	padding: 13px 15px;
	border: 1px solid var(--refresh-line);
	border-radius: 10px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 12px 26px rgba(31, 36, 40, .12);
}

.refresh-mobile-float span,
.refresh-mobile-float strong {
	display: block;
}

.refresh-mobile-float span {
	margin-bottom: 4px;
	color: var(--refresh-orange);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-mobile-float strong {
	font-size: 11px;
	font-weight: 600;
}

.refresh-mobile-float-a { top: 72px; right: 18px; }
.refresh-mobile-float-b { bottom: 54px; left: 18px; }

/* 1C development */
.refresh-onec-hero {
	background:
		radial-gradient(circle at 80% 35%, rgba(246, 83, 0, .17), transparent 34%),
		linear-gradient(120deg, #fff 0%, #fff9f5 56%, #f2f3f1 100%);
}

.refresh-onec-scene {
	position: relative;
	height: 430px;
	overflow: hidden;
	border: 1px solid #dfe1e2;
	border-radius: 22px;
	background:
		linear-gradient(rgba(31, 36, 40, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(31, 36, 40, .035) 1px, transparent 1px),
		#fff;
	background-size: 24px 24px;
	box-shadow: 0 30px 70px rgba(53, 39, 32, .14);
}

.refresh-onec-core,
.refresh-onec-node {
	position: absolute;
	z-index: 2;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 0 12px 30px rgba(31, 36, 40, .12);
}

.refresh-onec-core {
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	width: 168px;
	height: 132px;
	border: 2px solid var(--refresh-orange);
	border-radius: 22px;
	transform: translate(-50%, -50%);
}

.refresh-onec-core span,
.refresh-onec-core small,
.refresh-onec-node span {
	color: var(--refresh-muted);
	font-size: 9px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.refresh-onec-core strong {
	margin: 4px 0 3px;
	color: var(--refresh-orange);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -.08em;
	line-height: 1;
}

.refresh-onec-node {
	width: 146px;
	padding: 15px 16px;
	border: 1px solid var(--refresh-line);
	border-radius: 10px;
}

.refresh-onec-node i {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border-radius: 50%;
	background: var(--refresh-orange);
}

.refresh-onec-node strong {
	font-size: 12px;
}

.refresh-onec-node span {
	display: block;
	margin: 6px 0 0 16px;
}

.refresh-onec-node-a { top: 42px; left: 26px; }
.refresh-onec-node-b { top: 50px; right: 23px; }
.refresh-onec-node-c { right: 50%; bottom: 34px; transform: translateX(50%); }

.refresh-onec-line {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 190px;
	border-top: 2px dashed #f6a37a;
	transform-origin: left center;
}

.refresh-onec-line-a { transform: rotate(-142deg); }
.refresh-onec-line-b { transform: rotate(-39deg); }
.refresh-onec-line-c { transform: rotate(90deg); }

.refresh-onec-tags li {
	background: #fff;
}

/* AI agents */
.refresh-agent-hero {
	background:
		radial-gradient(circle at 78% 46%, rgba(246, 83, 0, .16), transparent 30%),
		linear-gradient(115deg, #fff 0%, #fff9f6 54%, #f3f4f2 100%);
}

.refresh-agent-map {
	position: relative;
	height: 430px;
	overflow: hidden;
	border: 1px solid #dfe1e2;
	border-radius: 22px;
	background:
		radial-gradient(circle at 50% 50%, rgba(246, 83, 0, .12), transparent 30%),
		linear-gradient(rgba(31, 36, 40, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(31, 36, 40, .035) 1px, transparent 1px),
		#fff;
	background-size: auto, 24px 24px, 24px 24px, auto;
	box-shadow: 0 30px 70px rgba(53, 39, 32, .14);
}

.refresh-agent-orbit {
	position: absolute;
	top: 50%;
	left: 50%;
	border: 1px dashed rgba(246, 83, 0, .36);
	border-radius: 50%;
	transform: translate(-50%, -50%) rotate(-12deg);
}

.refresh-agent-orbit-a { width: 295px; height: 210px; }
.refresh-agent-orbit-b { width: 425px; height: 330px; transform: translate(-50%, -50%) rotate(19deg); }

.refresh-agent-core,
.refresh-agent-node {
	position: absolute;
	z-index: 2;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 0 12px 30px rgba(31, 36, 40, .12);
}

.refresh-agent-core {
	top: 50%;
	left: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 190px;
	height: 132px;
	padding: 26px;
	border: 2px solid var(--refresh-orange);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.refresh-agent-core i {
	position: absolute;
	top: 18px;
	right: 25px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--refresh-orange);
	box-shadow: 0 0 0 7px var(--refresh-orange-soft);
}

.refresh-agent-core span {
	color: var(--refresh-orange);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-agent-core strong {
	margin-top: 6px;
	font-size: 15px;
	line-height: 1.3;
}

.refresh-agent-node {
	width: 142px;
	padding: 14px 16px;
	border: 1px solid var(--refresh-line);
	border-radius: 10px;
}

.refresh-agent-node span {
	display: block;
	margin-bottom: 5px;
	color: var(--refresh-orange);
	font-size: 10px;
	font-weight: 700;
}

.refresh-agent-node strong,
.refresh-agent-node small {
	display: block;
}

.refresh-agent-node strong { font-size: 13px; }
.refresh-agent-node small { margin-top: 3px; color: var(--refresh-muted); font-size: 10px; }
.refresh-agent-node-a { top: 34px; left: 30px; }
.refresh-agent-node-b { top: 52px; right: 26px; }
.refresh-agent-node-c { right: 28px; bottom: 42px; }
.refresh-agent-node-d { bottom: 33px; left: 27px; }

.refresh-agent-role-grid .refresh-info-card {
	min-height: 330px;
}

.refresh-agent-pipeline-section {
	overflow: hidden;
}

.refresh-agent-pipeline {
	display: grid;
	grid-template-columns: repeat(7, auto);
	align-items: stretch;
	justify-content: center;
	gap: 14px;
}

.refresh-agent-pipeline > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 190px;
	min-height: 120px;
	box-sizing: border-box;
	padding: 22px;
	border: 1px solid var(--refresh-line);
	border-radius: 12px;
	background: var(--refresh-surface);
	box-shadow: 0 10px 28px rgba(31, 36, 40, .06);
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.refresh-agent-pipeline > div:hover,
.refresh-agent-pipeline > div:focus-within {
	border-color: var(--refresh-orange);
	background: linear-gradient(145deg, #fff 0%, var(--refresh-orange-soft) 100%);
	box-shadow: 0 14px 34px rgba(31, 36, 40, .1);
	transform: translateY(-4px);
}

.refresh-agent-pipeline span {
	margin-bottom: 8px;
	color: var(--refresh-orange);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-agent-pipeline strong {
	font-size: 13px;
	line-height: 1.45;
}

.refresh-agent-pipeline > i {
	align-self: center;
	color: var(--refresh-orange);
	font-size: 22px;
	font-style: normal;
}

.refresh-agent-steps {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, .18);
	list-style: none;
}

.refresh-agent-steps li {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.refresh-agent-steps span {
	color: #ff915a;
	font-size: 11px;
	font-weight: 700;
}

.refresh-agent-steps strong {
	color: #fff;
	font-size: 15px;
}

.refresh-agent-steps p {
	margin: 4px 0 0;
}

/* Pricing */
.refresh-pricing-intro {
	background:
		radial-gradient(circle at 50% 0, rgba(246, 83, 0, .1), transparent 42%),
		#fff;
}

.refresh-pricing-anchors {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 9px;
	margin-top: 30px;
}

.refresh-pricing-anchors a {
	padding: 9px 14px;
	border: 1px solid var(--refresh-line);
	border-radius: 20px;
	background: #fff;
	color: var(--refresh-ink);
	font-size: 12px;
	font-weight: 700;
}

.refresh-pricing-anchors a:hover {
	border-color: var(--refresh-orange);
	color: var(--refresh-orange);
}

.refresh-pricing-rates {
	background: #f4f5f3;
}

.refresh-pricing-layout {
	display: grid;
	grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
	gap: 55px 52px;
	align-items: start;
}

.refresh-pricing-layout > * {
	min-width: 0;
}

.refresh-pricing-layout .refresh-section-heading {
	max-width: 100%;
	margin-bottom: 0;
}

.refresh-pricing-layout .refresh-section-heading h2 {
	font-size: clamp(30px, 3.2vw, 40px);
	overflow-wrap: break-word;
}

.refresh-price-table {
	overflow: hidden;
	border: 1px solid var(--refresh-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(31, 36, 40, .08);
}

.refresh-price-table > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px;
	align-items: center;
	gap: 24px;
	min-height: 72px;
	box-sizing: border-box;
	padding: 15px 22px;
	border-bottom: 1px solid var(--refresh-line);
}

.refresh-price-table > div:not(.refresh-price-table-head) {
	transition: background .2s ease;
}

.refresh-price-table > div:not(.refresh-price-table-head):hover {
	background: var(--refresh-orange-soft);
}

.refresh-price-table > div:last-child {
	border-bottom: 0;
}

.refresh-price-table .refresh-price-table-head {
	min-height: 48px;
	background: var(--refresh-ink);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-price-table .refresh-price-table-head span:last-child,
.refresh-price-table b {
	text-align: right;
}

.refresh-price-table strong,
.refresh-price-table small {
	display: block;
}

.refresh-price-table strong {
	font-size: 14px;
}

.refresh-price-table small {
	margin-top: 4px;
	color: var(--refresh-muted);
	font-size: 11px;
	line-height: 1.4;
}

.refresh-price-table b {
	color: var(--refresh-ink);
	font-size: 17px;
	white-space: nowrap;
}

.refresh-price-table > div:not(.refresh-price-table-head):hover b {
	color: var(--refresh-orange);
}

.refresh-volume-grid {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid var(--refresh-line);
	border-radius: 14px;
	background: #fff;
}

.refresh-volume-grid article {
	min-height: 155px;
	box-sizing: border-box;
	padding: 22px;
	border-right: 1px solid var(--refresh-line);
	transition: background .2s ease;
}

.refresh-volume-grid article:last-child {
	border-right: 0;
}

.refresh-volume-grid article:hover {
	background: var(--refresh-orange-soft);
}

.refresh-volume-grid span,
.refresh-volume-grid strong {
	display: block;
}

.refresh-volume-grid span {
	color: var(--refresh-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.refresh-volume-grid strong {
	margin: 10px 0;
	color: var(--refresh-orange);
	font-size: 25px;
}

.refresh-volume-grid p {
	margin: 0;
	font-size: 12px;
	line-height: 1.55;
}

.refresh-project-price-grid {
	align-items: stretch;
}

.refresh-price-card {
	display: flex;
	flex-direction: column;
	min-height: 275px;
	box-sizing: border-box;
	padding: 25px;
	border: 1px solid var(--refresh-line);
	border-radius: var(--refresh-radius);
	background: #fff;
	box-shadow: 0 8px 26px rgba(31, 36, 40, .04);
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.refresh-price-card > span {
	color: var(--refresh-orange);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-price-card h3 {
	margin-top: 22px;
}

.refresh-price-card p {
	margin: 0 0 24px;
	font-size: 13px;
	line-height: 1.65;
}

.refresh-price-card > strong {
	margin-top: auto;
	color: var(--refresh-ink);
	font-size: 20px;
}

.refresh-price-card:hover {
	border-color: #ffb995;
	background: linear-gradient(145deg, #fff8f4, #ffe5d8);
	box-shadow: 0 14px 30px rgba(31, 36, 40, .09);
	transform: translateY(-3px);
}

.refresh-price-card:hover > strong {
	color: var(--refresh-orange);
}

.refresh-ai-pricing .refresh-section-heading {
	max-width: 780px;
}

.refresh-ai-pricing .refresh-section-heading > p:last-child,
.refresh-ai-pricing .refresh-eyebrow {
	color: rgba(255, 255, 255, .7);
}

.refresh-ai-price-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.refresh-ai-price-grid article {
	display: flex;
	flex-direction: column;
	min-height: 280px;
	box-sizing: border-box;
	padding: 25px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 14px;
	background: rgba(255, 255, 255, .055);
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.refresh-ai-price-grid article:hover {
	border-color: var(--refresh-orange);
	background: rgba(246, 83, 0, .15);
	transform: translateY(-3px);
}

.refresh-ai-price-grid span {
	color: #ff915a;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-ai-price-grid h3 {
	margin: 20px 0 14px;
	font-size: 19px;
}

.refresh-ai-price-grid strong {
	color: #fff;
	font-size: 22px;
}

.refresh-ai-price-grid p {
	margin: auto 0 0;
	padding-top: 22px;
	font-size: 12px;
	line-height: 1.65;
}

.refresh-ai-cost-note {
	display: grid;
	grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
	gap: 30px;
	margin-top: 18px;
	padding: 23px 25px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 12px;
	background: rgba(255, 255, 255, .04);
}

.refresh-ai-cost-note strong {
	color: #fff;
}

.refresh-ai-cost-note span {
	color: rgba(255, 255, 255, .64);
	font-size: 12px;
	line-height: 1.6;
}

.refresh-pricing-rules > div {
	padding-top: 17px;
	padding-bottom: 17px;
}

.refresh-price-preview {
	background: var(--refresh-ink);
}

.refresh-price-preview-grid {
	display: grid;
	grid-template-columns: minmax(280px, .82fr) minmax(480px, 1.18fr);
	align-items: center;
	gap: 75px;
}

.refresh-price-preview h2,
.refresh-price-preview strong {
	color: #fff;
}

.refresh-price-preview p {
	color: rgba(255, 255, 255, .66);
}

.refresh-price-preview .refresh-text-link {
	display: inline-block;
	margin-top: 18px;
}

.refresh-price-preview-items {
	display: grid;
	gap: 10px;
}

.refresh-price-preview-items a,
.refresh-service-price-items > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: 19px 21px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 10px;
	background: rgba(255, 255, 255, .05);
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.refresh-price-preview-items a:hover,
.refresh-price-preview-items a:focus-visible {
	border-color: var(--refresh-orange);
	background: rgba(246, 83, 0, .14);
	transform: translateX(3px);
	outline: 0;
}

.refresh-price-preview-items span {
	color: rgba(255, 255, 255, .7);
	font-size: 12px;
}

.refresh-price-preview-items strong {
	font-size: 18px;
	white-space: nowrap;
}

.refresh-service-price-band {
	background: #f4f5f3;
}

.refresh-service-price-band .container {
	display: grid;
	grid-template-columns: minmax(280px, .7fr) minmax(520px, 1.3fr);
	align-items: center;
	gap: 38px 70px;
}

.refresh-service-price-copy h2 {
	margin-bottom: 16px;
}

.refresh-service-price-copy > p:last-child {
	margin-bottom: 0;
}

.refresh-service-price-items {
	display: grid;
	gap: 9px;
}

.refresh-service-price-items > div {
	border-color: var(--refresh-line);
	background: #fff;
}

.refresh-service-price-items > div:hover {
	border-color: #ffb995;
	background: var(--refresh-orange-soft);
}

.refresh-service-price-items span {
	color: var(--refresh-muted);
	font-size: 12px;
}

.refresh-service-price-items strong {
	color: var(--refresh-ink);
	font-size: 17px;
	white-space: nowrap;
}

.refresh-service-price-band .refresh-text-link {
	grid-column: 2;
	justify-self: start;
}

/* Services modal */
#myModal2 .refresh-services-dialog {
	width: min(1160px, calc(100% - 40px));
	margin: 28px auto;
}

#myModal2 .modal-content {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 20px;
	background: #f4f5f3;
	box-shadow: 0 30px 90px rgba(20, 24, 27, .28);
	text-align: left;
}

#myModal2 .modal-header {
	position: relative;
	padding: 25px 32px;
	background:
		radial-gradient(circle at 80% 50%, rgba(246, 83, 0, .24), transparent 26%),
		#202529;
}

#myModal2 .modal-header h2 {
	margin: 0;
	color: #fff;
	font-size: 30px;
	font-weight: 300;
	line-height: 1.2;
	text-align: left;
	text-transform: none;
}

#myModal2 .modal-header .close {
	position: absolute;
	top: 16px;
	right: 18px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 50%;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	font-size: 0 !important;
	font-weight: 300;
	line-height: 0;
	text-shadow: none;
	opacity: 1;
}

#myModal2 .modal-header .close::before,
#myModal2 .modal-header .close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	content: "";
}

#myModal2 .modal-header .close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

#myModal2 .modal-header .close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

#myModal2 .modal-header .close:hover {
	border-color: var(--refresh-orange);
	background: var(--refresh-orange);
}

#myModal2 .modal-body {
	padding: 30px 32px 34px;
	text-align: left;
}

.refresh-services-modal-intro {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

.refresh-services-modal-intro p {
	order: 2;
	max-width: 430px;
	margin: 0;
	color: var(--refresh-muted);
	font-size: 12px;
	text-align: right;
}

.refresh-services-modal-intro h2 {
	margin: 0;
	color: var(--refresh-ink);
	font-size: 30px;
	font-weight: 300;
	line-height: 1.2;
	text-transform: none;
}

.refresh-services-modal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.refresh-services-modal-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 255px;
	box-sizing: border-box;
	padding: 22px;
	border: 1px solid var(--refresh-line);
	border-radius: 13px;
	background: #fff;
	color: var(--refresh-ink) !important;
	box-shadow: 0 8px 24px rgba(31, 36, 40, .035);
	transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.refresh-services-modal-card:hover,
.refresh-services-modal-card:focus-visible {
	border-color: rgba(246, 83, 0, .55);
	background: linear-gradient(145deg, #fff, #fff2eb);
	box-shadow: 0 14px 30px rgba(31, 36, 40, .1);
	transform: translateY(-3px);
	outline: 0;
}

.refresh-services-modal-card:last-child {
	grid-column: 2;
}

.refresh-services-modal-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 18px;
	border-radius: 13px;
	background: var(--refresh-orange-soft);
	color: var(--refresh-orange);
	transition: background .2s ease, color .2s ease;
}

.refresh-services-modal-card:hover .refresh-services-modal-icon,
.refresh-services-modal-card:focus-visible .refresh-services-modal-icon {
	background: var(--refresh-orange);
	color: #fff;
}

.refresh-services-modal-icon svg {
	width: 27px;
	height: 27px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

.refresh-services-modal-type {
	position: absolute;
	top: 25px;
	right: 20px;
	color: #9ca1a4;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-services-modal-card h3 {
	margin: 0 0 10px;
	color: var(--refresh-ink);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
}

.refresh-services-modal-card p {
	margin: 0 0 18px;
	color: var(--refresh-muted);
	font-size: 12px;
	line-height: 1.6;
}

.refresh-services-modal-card > strong {
	margin-top: auto;
	color: var(--refresh-orange);
	font-size: 11px;
	letter-spacing: .02em;
}

.refresh-services-modal-card > strong i {
	font-style: normal;
	transition: margin-left .2s ease;
}

.refresh-services-modal-card:hover > strong i,
.refresh-services-modal-card:focus-visible > strong i {
	margin-left: 5px;
}

/* Contact and service order modals */
#myModal .refresh-form-dialog {
	width: min(700px, calc(100% - 40px));
	margin: 28px auto;
}

#orderform .refresh-order-dialog {
	width: min(1080px, calc(100% - 40px));
	margin: 28px auto;
}

#myModal .modal-content,
#orderform .modal-content {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 20px;
	background: #f4f5f3;
	box-shadow: 0 30px 90px rgba(20, 24, 27, .28);
	text-align: left;
}

#myModal .modal-header,
#orderform .modal-header {
	position: relative;
	padding: 25px 32px;
	background:
		radial-gradient(circle at 80% 50%, rgba(246, 83, 0, .24), transparent 26%),
		#202529;
}

#myModal .modal-header h2,
#orderform .modal-header h2 {
	margin: 0;
	color: #fff;
	font-size: 30px;
	font-weight: 300;
	line-height: 1.2;
	text-align: left;
	text-transform: none;
}

#myModal .modal-header .close,
#orderform .modal-header .close {
	position: absolute;
	top: 16px;
	right: 18px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 50%;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	font-size: 0 !important;
	font-weight: 300;
	line-height: 0;
	text-shadow: none;
	opacity: 1;
}

#myModal .modal-header .close::before,
#myModal .modal-header .close::after,
#orderform .modal-header .close::before,
#orderform .modal-header .close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	content: "";
}

#myModal .modal-header .close::before,
#orderform .modal-header .close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

#myModal .modal-header .close::after,
#orderform .modal-header .close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

#myModal .modal-header .close:hover,
#orderform .modal-header .close:hover {
	border-color: var(--refresh-orange);
	background: var(--refresh-orange);
}

#myModal .modal-body,
#orderform .modal-body {
	box-sizing: border-box;
	padding: 30px 32px 26px;
	background: #f4f5f3;
	text-align: left;
}

.refresh-form-modal-intro {
	margin-bottom: 24px;
}

.refresh-form-modal-intro .refresh-eyebrow {
	margin-bottom: 7px;
}

.refresh-form-modal-intro h2 {
	margin: 0 0 8px;
	color: var(--refresh-ink);
	font-size: 30px;
	font-weight: 300;
	line-height: 1.2;
	text-transform: none;
}

.refresh-form-modal-intro > p:last-child {
	margin: 0;
	color: var(--refresh-muted);
	font-size: 13px;
	line-height: 1.55;
}

.refresh-form-row {
	display: grid;
	gap: 14px;
}

.refresh-form-row-two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.refresh-form-row label,
.refresh-form-field {
	display: block;
	margin: 0 0 14px;
	line-height: 1.4;
}

.refresh-form-row label > span,
.refresh-form-field > span {
	display: block;
	margin-bottom: 7px;
	color: var(--refresh-ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.refresh-form-row label > span i,
.refresh-form-field > span i {
	color: var(--refresh-orange);
	font-style: normal;
}

#myModal input:not([type="checkbox"]),
#myModal textarea,
#orderform .refresh-order-contact input:not([type="checkbox"]),
#orderform .refresh-order-contact textarea {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin: 0 !important;
	border: 1px solid #d8dbdc;
	border-radius: 8px;
	background: #fff;
	color: var(--refresh-ink);
	font: inherit;
	font-size: 14px;
	outline: 0;
	transition: border-color .2s ease, box-shadow .2s ease;
}

#myModal input:not([type="checkbox"]),
#orderform .refresh-order-contact input:not([type="checkbox"]) {
	height: 52px;
	padding: 0 15px;
}

#myModal textarea,
#orderform .refresh-order-contact textarea {
	min-height: 118px;
	padding: 14px 15px;
	resize: vertical;
}

#myModal input:not([type="checkbox"]):focus,
#myModal textarea:focus,
#orderform .refresh-order-contact input:not([type="checkbox"]):focus,
#orderform .refresh-order-contact textarea:focus {
	border-color: var(--refresh-orange);
	box-shadow: 0 0 0 3px rgba(246, 83, 0, .1);
}

.refresh-consent-list {
	display: grid;
	gap: 10px;
	margin-top: 4px;
}

.refresh-consent-option {
	display: grid !important;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	margin: 0 !important;
	color: var(--refresh-muted);
	font-size: 11px;
	line-height: 1.5 !important;
	text-transform: none;
}

.refresh-consent-option input[type="checkbox"] {
	width: 18px !important;
	min-width: 18px;
	height: 18px !important;
	min-height: 18px;
	margin: 1px 0 0 !important;
	padding: 0;
	visibility: visible;
	accent-color: var(--refresh-orange);
}

.refresh-consent-option a {
	color: var(--refresh-orange);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.refresh-consent-option i {
	color: var(--refresh-orange);
	font-style: normal;
}

#myModal .modal-error,
#orderform .modal-error {
	margin: 0 0 14px;
	font-size: 13px;
}

#myModal .modal-footer,
#orderform .modal-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 12px;
	padding: 6px 32px 26px;
	border: 0;
	background: #f4f5f3;
	text-align: center;
}

#myModal .modal-footer p,
#orderform .modal-footer p {
	max-width: 560px;
	margin: 0;
	color: var(--refresh-muted);
	font-size: 11px;
	line-height: 1.5;
	text-align: center;
}

#myModal .modal-footer .refresh-button,
#orderform .modal-footer .refresh-button {
	width: auto;
	min-width: 168px;
	min-height: 44px;
	margin: 0;
	padding: 0 20px !important;
	border: 0;
	font-size: 13px !important;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	white-space: nowrap;
}

#myModal .modal-footer .refresh-button.is-loading,
#orderform .modal-footer .refresh-button.is-loading {
	display: inline-flex;
	gap: 9px;
	cursor: wait;
	opacity: .82;
	transform: none;
}

.refresh-button-spinner {
	display: block;
	width: 14px;
	height: 14px;
	box-sizing: border-box;
	border: 2px solid rgba(255, 255, 255, .42);
	border-top-color: #fff;
	border-radius: 50%;
	animation: refresh-button-spin .7s linear infinite;
}

@keyframes refresh-button-spin {
	to { transform: rotate(360deg); }
}

.refresh-order-options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 28px;
}

.refresh-order-option:last-child {
	grid-column: 2;
}

.refresh-order-option {
	position: relative;
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 13px;
	min-height: 92px;
	box-sizing: border-box;
	margin: 0;
	padding: 15px;
	border: 1px solid var(--refresh-line);
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.refresh-order-option:hover,
.refresh-order-option:has(input:checked) {
	border-color: rgba(246, 83, 0, .6);
	box-shadow: 0 10px 24px rgba(31, 36, 40, .08);
	transform: translateY(-2px);
}

.refresh-order-option:has(input:checked) {
	background: linear-gradient(145deg, #fff, #fff0e8);
}

.refresh-order-option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.refresh-order-option-icon {
	display: flex;
	grid-row: 1 / 3;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: var(--refresh-orange-soft);
	color: var(--refresh-orange);
}

.refresh-order-option:has(input:checked) .refresh-order-option-icon {
	background: var(--refresh-orange);
	color: #fff;
}

.refresh-order-option-icon svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.refresh-onec-mark svg text,
.refresh-services-modal-icon.refresh-onec-mark svg text,
.refresh-page-banner-icon.refresh-onec-mark svg text {
	fill: currentColor;
	stroke: none;
	font-family: Arial, sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: -.4px;
}

.refresh-services-modal-icon.refresh-onec-mark svg text,
.refresh-page-banner-icon.refresh-onec-mark svg text {
	font-size: 12px;
}

.refresh-order-option strong {
	align-self: end;
	color: var(--refresh-ink);
	font-size: 13px;
	line-height: 1.3;
}

.refresh-order-option small {
	align-self: start;
	margin-top: 3px;
	color: var(--refresh-muted);
	font-size: 10px;
	line-height: 1.35;
}

.refresh-order-contact {
	padding-top: 25px;
	border-top: 1px solid var(--refresh-line);
}

.refresh-order-contact h3 {
	margin: 0 0 18px;
	color: var(--refresh-ink);
	font-size: 20px;
	font-weight: 500;
	text-transform: none;
}

.refresh-services-visual {
	background: #f4f5f3;
}

.refresh-icon-card {
	overflow: hidden;
	min-height: 300px;
	padding-top: 24px;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.refresh-icon-card:hover,
.refresh-icon-card:focus-within {
	border-color: rgba(246, 83, 0, .45);
	background: linear-gradient(145deg, #fff, #fff2eb);
	box-shadow: 0 16px 38px rgba(31, 36, 40, .1);
	transform: translateY(-4px);
}

.refresh-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 27px;
	border-radius: 14px;
	background: var(--refresh-orange-soft);
	color: var(--refresh-orange);
	transition: background .2s ease, color .2s ease;
}

.refresh-card-icon svg {
	width: 27px;
	height: 27px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.refresh-icon-card .refresh-card-number {
	position: absolute;
	top: 29px;
	right: 26px;
	margin: 0;
	color: #a7abae;
}

.refresh-icon-card:hover .refresh-card-icon,
.refresh-icon-card:focus-within .refresh-card-icon {
	background: var(--refresh-orange);
	color: #fff;
}

/* Design page visual language */
.refresh-design-hero {
	background:
		linear-gradient(180deg, rgba(32, 37, 41, 0) 66%, #202529 100%),
		radial-gradient(circle at 8% 5%, rgba(246, 83, 0, .24), transparent 29%),
		linear-gradient(135deg, #25292d 0%, #171a1d 100%);
}

.refresh-design-hero h1 {
	color: #fff;
}

.refresh-design-hero .refresh-product-hero-copy > p:not(.refresh-eyebrow) {
	color: rgba(255, 255, 255, .7);
}

.refresh-design-hero .refresh-button-secondary,
.refresh-design-hero a.refresh-button-secondary:link,
.refresh-design-hero a.refresh-button-secondary:visited {
	border-color: rgba(255, 255, 255, .42);
	color: #fff !important;
}

.refresh-design-board {
	position: relative;
	height: 430px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 14px;
	background: #ecedeb;
	box-shadow: 0 32px 75px rgba(0, 0, 0, .36);
	transform: rotate(1.5deg);
}

.refresh-design-board-toolbar {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 38px;
	box-sizing: border-box;
	padding: 0 13px;
	background: #2a2e31;
}

.refresh-design-board-toolbar i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #707477;
}

.refresh-design-board-toolbar i:first-child { background: #f65300; }

.refresh-design-board-toolbar span {
	margin-left: 8px;
	color: rgba(255, 255, 255, .62);
	font-size: 9px;
}

.refresh-design-board-sidebar {
	position: absolute;
	top: 38px;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	width: 38px;
	padding-top: 20px;
	background: #353a3e;
}

.refresh-design-board-sidebar b {
	width: 13px;
	height: 13px;
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 2px;
}

.refresh-design-artboard {
	position: absolute;
	top: 68px;
	right: 27px;
	bottom: 34px;
	left: 68px;
	overflow: hidden;
	background: #fbf7f1;
	box-shadow: 0 14px 35px rgba(31, 36, 40, .18);
}

.refresh-design-artboard-nav {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
}

.refresh-design-artboard-nav span {
	margin-right: auto;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .1em;
}

.refresh-design-artboard-nav i {
	width: 28px;
	height: 3px;
	background: #c5c0b9;
}

.refresh-design-artboard-nav strong {
	width: 45px;
	height: 15px;
	border-radius: 8px;
	background: var(--refresh-orange);
}

.refresh-design-artboard-copy {
	position: absolute;
	top: 90px;
	left: 28px;
	z-index: 2;
	width: 58%;
}

.refresh-design-artboard-copy small,
.refresh-design-artboard-copy b,
.refresh-design-artboard-copy i {
	display: block;
}

.refresh-design-artboard-copy small {
	margin-bottom: 14px;
	color: var(--refresh-orange);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .14em;
}

.refresh-design-artboard-copy b {
	font-size: 27px;
	font-weight: 600;
	line-height: 1.05;
}

.refresh-design-artboard-copy i {
	width: 92%;
	height: 6px;
	margin-top: 18px;
	background: #d5d0c9;
}

.refresh-design-artboard-copy i:last-child {
	width: 66%;
	margin-top: 7px;
}

.refresh-design-artboard-object {
	position: absolute;
	right: -40px;
	bottom: -50px;
	width: 210px;
	height: 250px;
	border-radius: 46% 46% 20% 60%;
	background: linear-gradient(145deg, #ff7b38, #f2c0a7);
	transform: rotate(-12deg);
}

.refresh-design-artboard-object i {
	position: absolute;
	top: 42px;
	left: 24px;
	width: 105px;
	height: 105px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 50%;
	box-shadow: 0 0 0 22px rgba(255, 255, 255, .12);
}

.refresh-design-palette {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: flex;
	gap: 5px;
	padding: 7px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(31, 36, 40, .18);
}

.refresh-design-palette i {
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #1f2428;
}

.refresh-design-palette i:nth-child(2) { background: #f65300; }
.refresh-design-palette i:nth-child(3) { background: #efb294; }
.refresh-design-palette i:nth-child(4) { background: #fbf7f1; border: 1px solid #ddd; }

.refresh-design-cursor {
	position: absolute;
	top: 178px;
	right: 80px;
	z-index: 4;
	color: #222;
	font-size: 24px;
	transform: rotate(-10deg);
}

.refresh-design-cursor span {
	display: block;
	margin: -2px 0 0 12px;
	padding: 5px 8px;
	border-radius: 3px;
	background: #292d30;
	color: #fff;
	font-size: 8px;
	white-space: nowrap;
}

.refresh-design-showcase {
	background: #fff7f2;
}

.refresh-concept-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.refresh-concept-card {
	margin: 0;
}

.refresh-concept-card > div {
	position: relative;
	height: 275px;
	overflow: hidden;
	box-sizing: border-box;
	padding: 24px;
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(31, 36, 40, .1);
}

.refresh-concept-card span,
.refresh-concept-card strong,
.refresh-concept-card i,
.refresh-concept-card b {
	position: relative;
	z-index: 2;
	display: block;
}

.refresh-concept-card span {
	margin-bottom: 50px;
	font-size: 11px;
	font-weight: 800;
}

.refresh-concept-card strong {
	max-width: 180px;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.12;
}

.refresh-concept-card i {
	width: 68%;
	height: 6px;
	margin-top: 20px;
	background: currentColor;
	opacity: .22;
}

.refresh-concept-card i + i {
	width: 45%;
	margin-top: 7px;
}

.refresh-concept-card b {
	position: absolute;
	z-index: 1;
	right: -35px;
	bottom: -48px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
}

.refresh-concept-card > p {
	margin: 15px 4px 0;
	color: var(--refresh-ink);
	font-size: 13px;
	font-weight: 600;
}

.refresh-concept-a > div { background: #f8f8f5; color: #222; }
.refresh-concept-a b { border: 28px solid #f65300; }
.refresh-concept-b > div { background: #202529; color: #fff; }
.refresh-concept-b b { background: linear-gradient(135deg, #f65300, #7735ff); box-shadow: 0 0 0 25px rgba(255,255,255,.08); }
.refresh-concept-c > div { background: #f2b79a; color: #412314; }
.refresh-concept-c b { width: 210px; height: 210px; border-radius: 45% 45% 20% 60%; background: #fff2ea; transform: rotate(25deg); }

.refresh-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.refresh-actions-center {
	justify-content: center;
}

.refresh-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	box-sizing: border-box;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.refresh-button:hover {
	transform: translateY(-1px);
}

.refresh-button-primary,
a.refresh-button-primary:link,
a.refresh-button-primary:visited {
	background: var(--refresh-orange);
	color: #fff !important;
}

.refresh-button-primary:hover {
	background: var(--refresh-orange-dark);
	color: #fff;
}

.refresh-button-secondary,
a.refresh-button-secondary:link,
a.refresh-button-secondary:visited {
	border-color: #c9ccce;
	background: transparent;
	color: var(--refresh-ink);
}

.refresh-hero .refresh-button-secondary,
.refresh-hero a.refresh-button-secondary:link,
.refresh-hero a.refresh-button-secondary:visited {
	border-color: rgba(255, 255, 255, .42);
	color: #fff !important;
}

.refresh-button-secondary:hover {
	border-color: var(--refresh-orange);
	color: var(--refresh-orange);
}

.refresh-button-light,
a.refresh-button-light:link,
a.refresh-button-light:visited {
	background: #fff;
	color: var(--refresh-ink);
}

.refresh-button-light:hover {
	color: var(--refresh-orange);
}

/* Shared content */
.refresh-main {
	background: #fff;
}

.refresh-section {
	padding: 82px 0;
}

.refresh-section + .refresh-section {
	border-top: 1px solid var(--refresh-line);
}

.refresh-section-heading {
	max-width: 720px;
	margin: 0 auto 42px;
	text-align: center;
}

.refresh-section-heading-left {
	margin-left: 0;
	text-align: left;
}

.refresh-main h2 {
	margin: 0 0 18px;
	padding: 0;
	color: var(--refresh-ink);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 300;
	line-height: 1.18;
	text-align: inherit;
}

.refresh-main h3 {
	margin: 0 0 12px;
	color: var(--refresh-ink);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
}

.refresh-legacy-page-title {
	font-size: 30px !important;
	font-weight: 400;
	line-height: 1.3;
}

.refresh-main p {
	color: var(--refresh-muted);
	font-size: 15px;
	line-height: 1.7;
}

.refresh-section-heading > p:last-child {
	margin: 0;
	font-size: 17px;
}

.refresh-large-copy {
	margin: 0;
	font-size: 18px !important;
	font-weight: 300;
	line-height: 1.7 !important;
}

.refresh-intro {
	max-width: 790px;
	text-align: center;
}

.refresh-card-grid {
	display: grid;
	gap: 20px;
}

.refresh-card-grid-four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.refresh-card-grid-balanced {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.refresh-card-grid-balanced > * {
	flex: 0 1 calc((100% - 60px) / 4);
}

.refresh-card-grid-three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.refresh-service-card,
.refresh-info-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 255px;
	box-sizing: border-box;
	padding: 26px;
	border: 1px solid var(--refresh-line);
	border-radius: var(--refresh-radius);
	background: var(--refresh-surface);
	box-shadow: 0 8px 26px rgba(31, 36, 40, .04);
}

.refresh-service-card {
	color: var(--refresh-ink) !important;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.refresh-service-card:hover,
.refresh-service-card:focus-visible {
	border-color: rgba(246, 83, 0, .55);
	background: linear-gradient(145deg, #fff 0%, var(--refresh-orange-soft) 100%);
	box-shadow: 0 14px 34px rgba(31, 36, 40, .1);
	transform: translateY(-4px);
}

.refresh-service-card .refresh-card-icon {
	margin-bottom: 24px;
}

.refresh-service-card .refresh-card-number {
	position: absolute;
	top: 31px;
	right: 25px;
	margin: 0;
}

.refresh-service-card:hover .refresh-card-icon,
.refresh-service-card:focus-visible .refresh-card-icon {
	background: var(--refresh-orange);
	color: #fff;
}

.refresh-card-number {
	display: block;
	margin-bottom: 34px;
	color: var(--refresh-orange);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
}

.refresh-service-card p,
.refresh-info-card p {
	margin: 0 0 22px;
}

.refresh-card-link {
	margin-top: auto;
	color: var(--refresh-orange);
	font-size: 13px;
	font-weight: 700;
}

.refresh-info-card strong {
	display: block;
	margin-top: auto;
	color: var(--refresh-ink);
	font-size: 13px;
	line-height: 1.55;
}

.refresh-muted-section,
.refresh-process {
	background: var(--refresh-surface-soft);
}

.refresh-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 76px;
}

.refresh-split-reverse > :first-child {
	order: 2;
}

.refresh-ai {
	border: 0 !important;
	background:
		radial-gradient(circle at 10% 80%, rgba(246, 83, 0, .22), transparent 28%),
		#202529;
}

.refresh-ai h2,
.refresh-ai h3 {
	color: #fff;
}

.refresh-ai p {
	color: rgba(255, 255, 255, .7);
}

.refresh-feature-list {
	border-top: 1px solid rgba(255, 255, 255, .18);
}

.refresh-feature-list > div {
	padding: 22px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.refresh-feature-list h3,
.refresh-feature-list p {
	margin: 0;
}

.refresh-feature-list p {
	margin-top: 5px;
}

.refresh-feature-list-light {
	border-color: var(--refresh-line);
}

.refresh-feature-list-light > div {
	border-color: var(--refresh-line);
}

.refresh-feature-list-light h3 {
	color: var(--refresh-ink);
}

.refresh-feature-list-light p {
	color: var(--refresh-muted);
}

.refresh-design-preview {
	background: #fff;
}

.refresh-design-visual {
	position: relative;
	min-height: 360px;
	border-radius: var(--refresh-radius);
	background: linear-gradient(145deg, #ffd8c5, #ef9066);
}

.refresh-design-chip {
	position: absolute;
	top: 28px;
	left: 28px;
	padding: 8px 13px;
	border-radius: 20px;
	background: #fff;
	color: var(--refresh-ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-design-window {
	position: absolute;
	right: -28px;
	bottom: -22px;
	width: 82%;
	padding-bottom: 28px;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 28px 50px rgba(31, 36, 40, .2);
}

.refresh-design-window-bar {
	display: flex;
	gap: 6px;
	padding: 14px;
	border-bottom: 1px solid var(--refresh-line);
}

.refresh-design-window-bar i {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #d5d7d8;
}

.refresh-design-window-content {
	display: flex;
	flex-direction: column;
	gap: 13px;
	padding: 30px;
}

.refresh-design-window-content strong {
	margin-bottom: 12px;
	font-size: 21px;
	font-weight: 600;
}

.refresh-design-window-content span {
	display: block;
	width: 100%;
	height: 10px;
	border-radius: 5px;
	background: #eceeed;
}

.refresh-design-window-content span:nth-of-type(2) {
	width: 76%;
}

.refresh-design-window-content span:nth-of-type(3) {
	width: 54%;
	background: #f77838;
}

.refresh-check-list {
	margin: 25px 0;
	padding: 0;
	list-style: none;
}

.refresh-check-list li {
	position: relative;
	margin: 11px 0;
	padding-left: 26px;
	color: var(--refresh-ink);
	font-size: 14px;
}

.refresh-check-list li:before {
	position: absolute;
	left: 0;
	color: var(--refresh-orange);
	font-weight: 700;
	content: "✓";
}

.refresh-text-link {
	color: var(--refresh-orange) !important;
	font-size: 14px;
	font-weight: 700;
}

.refresh-experience {
	background: var(--refresh-surface-soft);
}

.refresh-case-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.refresh-case-card {
	display: flex;
	flex-direction: column;
	min-height: 250px;
	box-sizing: border-box;
	padding: 28px;
	border-top: 3px solid var(--refresh-orange);
	background: #fff;
	box-shadow: 0 8px 28px rgba(31, 36, 40, .06);
}

.refresh-case-card .refresh-case-type {
	margin: 0 0 26px;
	color: var(--refresh-orange);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.refresh-case-card strong {
	margin-top: auto;
	color: var(--refresh-ink);
	font-size: 13px;
	line-height: 1.5;
}

.refresh-client-case {
	display: grid;
	grid-template-rows: 72px auto;
	min-height: 310px;
}

.refresh-client-case-logo {
	display: flex;
	align-items: center;
	margin-bottom: 22px;
}

.refresh-client-case-logo img {
	max-width: 150px;
	max-height: 62px;
	width: auto;
}

.refresh-center-action {
	margin-top: 34px;
	text-align: center;
}

.refresh-process-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.refresh-process-list-five {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.refresh-process-list-three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.refresh-process-list li {
	min-height: 175px;
	box-sizing: border-box;
	padding: 23px;
	border-left: 1px solid var(--refresh-line);
}

.refresh-process-list li:last-child {
	border-right: 1px solid var(--refresh-line);
}

.refresh-process-list span,
.refresh-process-list strong {
	display: block;
}

.refresh-process-list span {
	margin-bottom: 28px;
	color: var(--refresh-orange);
	font-size: 12px;
	font-weight: 700;
}

.refresh-process-list strong {
	margin-bottom: 8px;
	font-size: 16px;
}

.refresh-process-list p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
}

.refresh-news-preview {
	background: #fff;
}

.refresh-final-card {
	box-sizing: border-box;
	padding: 40px;
	border-radius: var(--refresh-radius);
	background: var(--refresh-orange-soft);
}

.refresh-final-card h2 {
	font-size: 30px;
}

.refresh-final-card-wide {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);
	align-items: center;
	gap: 70px;
}

.refresh-final-section {
	padding-top: 58px;
	padding-bottom: 58px;
}

.refresh-stack-section {
	background: #fff;
}

.refresh-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.refresh-tag-list li {
	padding: 10px 14px;
	border: 1px solid var(--refresh-line);
	border-radius: 4px;
	background: var(--refresh-surface-soft);
	font-size: 13px;
	font-weight: 600;
}

/* Inner page banners */
.refresh-page-banner {
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba(255, 255, 255, .05);
	background:
		radial-gradient(circle at 78% 45%, rgba(246, 83, 0, .24), transparent 26%),
		linear-gradient(120deg, #1d2226 0%, #282e32 100%);
}

.refresh-page-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
	background-size: 28px 28px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 42%, #000);
	mask-image: linear-gradient(90deg, transparent, #000 42%, #000);
}

.refresh-page-banner::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 9%;
	width: 150px;
	height: 150px;
	border: 1px solid rgba(246, 83, 0, .22);
	border-radius: 50%;
	box-shadow:
		0 0 0 34px rgba(246, 83, 0, .055),
		0 0 0 68px rgba(246, 83, 0, .028);
	transform: translateY(-50%);
}

.refresh-page-banner-inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	min-height: 176px;
	gap: 27px;
}

.refresh-page-banner-icon {
	display: flex;
	flex: 0 0 74px;
	align-items: center;
	justify-content: center;
	height: 74px;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 18px;
	background: rgba(255, 255, 255, .055);
	color: #ff7a38;
	box-shadow: inset 0 0 24px rgba(246, 83, 0, .06);
}

.refresh-page-banner-icon svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
	vector-effect: non-scaling-stroke;
}

.refresh-page-banner-copy p {
	margin: 0 0 8px;
	color: rgba(255, 255, 255, .48);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.refresh-page-banner h1 {
	max-width: 760px;
	margin: 0;
	color: #fff;
	font-size: clamp(32px, 4vw, 46px);
	font-weight: 300;
	line-height: 1.08;
	text-align: left;
	text-transform: none;
}

.refresh-inner-page .refresh-section:first-child {
	padding-top: 68px;
}

/* Modernized headings on legacy service pages */
.codeanal-heading,
.codeanal-heading.ca1,
.codeanal-heading.ca2,
.codeanal-heading.ca3 {
	display: flex;
	align-items: center;
	gap: 18px;
	box-sizing: border-box;
	padding: 20px 24px;
	border-radius: 14px 14px 0 0;
	background:
		radial-gradient(circle at 88% 50%, rgba(246, 83, 0, .2), transparent 28%),
		#202529 !important;
}

.codeanal-heading h2,
#slide2.codeanal .codeanal-heading h2 {
	margin: 0 !important;
	color: #fff;
	font-size: 18px !important;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
	text-transform: none;
}

.refresh-legacy-heading-icon {
	display: flex;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 12px;
	background: rgba(255, 255, 255, .06);
	color: #ff7a38;
}

.refresh-legacy-heading-icon svg {
	width: 27px;
	height: 27px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

.codeanal-body {
	border-color: var(--refresh-line);
	border-radius: 0 0 14px 14px;
	box-shadow: 0 12px 30px rgba(31, 36, 40, .05);
}

#slide2.news .calend {
	width: 70px;
	height: auto;
	min-height: 78px;
	box-sizing: border-box;
	margin-right: 22px;
	padding: 10px 7px 8px !important;
	border-top: 3px solid var(--refresh-orange);
	border-radius: 8px;
	background: #fff !important;
	box-shadow: 0 8px 22px rgba(31, 36, 40, .08);
}

#slide2.news .calend p {
	margin: 0;
	color: var(--refresh-muted);
	font-size: 9px !important;
	font-weight: 600;
	line-height: 1.35 !important;
}

#slide2.news .calend span {
	color: var(--refresh-ink);
	font-size: 23px;
	font-weight: 700;
	line-height: 1;
}

.web-project .wp-about ul.wp-parts li.design,
.web-project .wp-about ul.wp-parts li.logo,
.web-project .wp-about ul.wp-parts li.cms {
	position: relative;
	min-height: 26px;
	box-sizing: border-box;
	padding-left: 38px;
	background: none !important;
}

.web-project .wp-about ul.wp-parts li.design::before,
.web-project .wp-about ul.wp-parts li.logo::before,
.web-project .wp-about ul.wp-parts li.cms::before {
	position: absolute;
	top: 2px;
	left: 4px;
	width: 23px;
	height: 23px;
	background: var(--refresh-orange);
	content: "";
	-webkit-mask: var(--refresh-part-icon) center / contain no-repeat;
	mask: var(--refresh-part-icon) center / contain no-repeat;
}

.web-project .wp-about ul.wp-parts li.design {
	--refresh-part-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18h2a2 2 0 0 0 0-4h-1a2 2 0 0 1 0-4h4a4 4 0 0 0 0-8h-5Z'/%3E%3Ccircle cx='7.5' cy='10' r='.7'/%3E%3Ccircle cx='10' cy='6.5' r='.7'/%3E%3C/svg%3E");
}

.web-project .wp-about ul.wp-parts li.logo {
	--refresh-part-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 5-8 5-8-5 8-5Z'/%3E%3Cpath d='m5 13 7 4 7-4M5 17l7 4 7-4'/%3E%3C/svg%3E");
}

.web-project .wp-about ul.wp-parts li.cms {
	--refresh-part-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M7 7h.01M10 7h.01M9 13l-2 2 2 2M15 13l2 2-2 2'/%3E%3C/svg%3E");
}

.refresh-design-detail {
	margin-top: -1px;
	border-top: 0 !important;
	background:
		linear-gradient(180deg, #202529 0%, rgba(32, 37, 41, 0) 31%),
		radial-gradient(circle at 92% 100%, rgba(246, 83, 0, .12), transparent 34%),
		linear-gradient(45deg, #202529 0%, #1d2225 64%, #30241f 100%);
}

/* Contacts */
.refresh-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
	align-items: center;
	gap: 80px;
}

.refresh-contact-layout h2 {
	text-align: left;
}

.refresh-contact-card {
	padding: 34px;
	border-top: 3px solid var(--refresh-orange);
	background: var(--refresh-surface-soft);
}

.refresh-contact-card .refresh-contact-label {
	margin: 0 0 3px;
	color: var(--refresh-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.refresh-contact-card > a {
	display: inline-block;
	margin-bottom: 6px;
	font-size: 20px;
	font-weight: 600;
}

.refresh-contact-card > p {
	margin-top: 0;
}

.refresh-contact-card hr {
	margin: 24px 0;
	border: 0;
	border-top: 1px solid var(--refresh-line);
}

.refresh-opensource-support {
	max-width: 720px;
	box-sizing: border-box;
	margin: 0 auto 45px;
	padding: 26px 28px;
	border: 1px solid var(--refresh-line);
	border-radius: var(--refresh-radius);
	background: var(--refresh-surface-soft);
	text-align: center;
}

.refresh-opensource-support strong {
	display: block;
	font-size: 19px;
}

.refresh-opensource-support p {
	margin: 8px auto 18px;
	color: var(--refresh-muted);
	font-size: 13px;
}

.refresh-opensource-support .refresh-button {
	margin: 0;
}

/* Footer */
#footer.refresh-footer {
	padding: 58px 0 24px;
	background: #1d2124;
	color: #fff;
}

#footer.refresh-footer .container div,
#footer.refresh-footer .container nav {
	float: none;
	margin: 0;
}

.refresh-footer-grid {
	display: grid;
	grid-template-columns: 1.25fr .82fr .82fr .72fr 1fr;
	gap: 28px;
}

.refresh-footer-brand img {
	filter: brightness(0) invert(1);
}

.refresh-footer-brand p,
.refresh-footer-contact,
.refresh-footer nav a {
	color: rgba(255, 255, 255, .64);
}

.refresh-footer-brand p {
	max-width: 280px;
	font-size: 13px;
	line-height: 1.65;
}

.refresh-footer nav,
.refresh-footer-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.refresh-footer strong {
	margin-bottom: 5px;
	font-size: 13px;
	text-transform: uppercase;
}

.refresh-footer nav a,
.refresh-footer-contact > a:not(.refresh-button) {
	font-size: 13px;
}

.refresh-footer nav a:hover {
	color: #fff;
}

.refresh-footer-contact .refresh-button {
	min-height: 40px;
	margin-top: 10px;
	padding: 0 16px;
}

.refresh-footer-link-button {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: rgba(255, 255, 255, .64);
	font: inherit;
	font-size: 13px;
	line-height: inherit;
	text-align: left;
	cursor: pointer;
}

.refresh-footer-link-button:hover,
.refresh-footer-link-button:focus-visible {
	color: #fff;
}

.refresh-footer-disclaimer {
	margin-top: 34px;
	color: rgba(255, 255, 255, .48);
	font-size: 11px;
	line-height: 1.6;
}

.refresh-footer-bottom {
	display: flex;
	justify-content: space-between;
	margin-top: 42px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .42);
	font-size: 11px;
}

.refresh-footer-bottom a {
	color: rgba(255, 255, 255, .64);
}

/* Legal documents and cookie consent */
.refresh-legal-hero {
	padding: 72px 0 66px;
	background:
		radial-gradient(circle at 78% 44%, rgba(246, 83, 0, .2), transparent 27%),
		linear-gradient(115deg, #1d2226 0%, #34251f 100%);
	color: #fff;
}

.refresh-legal-hero .refresh-eyebrow {
	color: #ff8042;
}

.refresh-legal-hero h1 {
	max-width: 800px;
	margin: 14px 0 18px;
	color: #fff;
	font-size: clamp(34px, 5vw, 54px);
	font-weight: 300;
	line-height: 1.08;
	text-align: left;
}

.refresh-legal-hero p:last-child {
	margin: 0;
	color: rgba(255, 255, 255, .58);
	font-size: 13px;
}

.refresh-legal-document {
	max-width: 780px;
}

.refresh-legal-document h2 {
	margin: 48px 0 14px;
	color: var(--refresh-ink);
	font-size: 25px;
	font-weight: 600;
	line-height: 1.25;
	text-align: left;
}

.refresh-legal-document h2:first-of-type {
	margin-top: 0;
}

.refresh-legal-document p,
.refresh-legal-document li {
	color: var(--refresh-muted);
	font-size: 15px;
	line-height: 1.75;
}

.refresh-legal-document p {
	margin: 0 0 18px;
}

.refresh-legal-document ul {
	margin: 0 0 22px;
	padding-left: 0;
	list-style: none;
}

.refresh-legal-document li {
	position: relative;
	margin: 7px 0;
	padding-left: 24px;
}

.refresh-legal-document li::before {
	position: absolute;
	top: .72em;
	left: 2px;
	width: 7px;
	height: 7px;
	background: var(--refresh-orange);
	content: "";
}

.refresh-legal-document a {
	color: var(--refresh-orange);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.refresh-legal-document code {
	padding: 2px 5px;
	border-radius: 3px;
	background: var(--refresh-surface-soft);
	color: var(--refresh-ink);
}

.refresh-legal-document .refresh-legal-date {
	margin-top: 50px;
	padding-top: 18px;
	border-top: 1px solid var(--refresh-line);
	font-weight: 600;
}

.refresh-cookie-banner {
	position: fixed;
	z-index: 1030;
	right: 18px;
	bottom: 18px;
	left: 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	max-width: 1160px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 18px 20px;
	border: 1px solid var(--refresh-line);
	border-radius: 14px;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 18px 60px rgba(20, 24, 27, .2);
}

.refresh-cookie-banner[hidden] {
	display: none;
}

.refresh-cookie-copy {
	min-width: 0;
}

.refresh-cookie-copy strong {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
}

.refresh-cookie-copy p {
	margin: 0;
	color: var(--refresh-muted);
	font-size: 12px;
	line-height: 1.55;
}

.refresh-cookie-actions {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 10px;
}

.refresh-cookie-actions .refresh-button {
	min-height: 40px;
	margin: 0;
	padding: 0 15px;
	font-size: 11px;
}

.refresh-cookie-actions > a {
	color: var(--refresh-orange);
	font-size: 11px;
	font-weight: 700;
}

/* Compatibility for legacy pages */
@media (max-width: 1020px) {
	.refresh-navigation {
		gap: 14px;
	}

	.refresh-navigation ul.navigation {
		gap: 13px;
	}

	.refresh-navigation .navigation li {
		font-size: 10px;
	}

	.refresh-navigation-cta {
		padding: 0 10px;
		font-size: 10px;
	}

	.refresh-contact-bar {
		gap: 16px;
	}

	.refresh-contact-bar #time {
		margin: 0;
	}

	.refresh-card-grid-four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.refresh-card-grid-balanced > * {
		flex-basis: calc((100% - 20px) / 2);
	}

	.refresh-product-hero-grid {
		grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr);
		gap: 38px;
	}

	.refresh-system-map,
	.refresh-design-board,
	.refresh-agent-map,
	.refresh-mobile-scene,
	.refresh-onec-scene {
		height: 390px;
	}

	.refresh-agent-pipeline {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.refresh-agent-pipeline > div { width: auto; }
	.refresh-agent-pipeline > i { display: none; }

	.refresh-pricing-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
		gap: 45px;
	}

	.refresh-ai-price-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.refresh-price-preview-grid,
	.refresh-service-price-band .container {
		gap: 45px;
	}

	.refresh-footer-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.refresh-pricing-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 780px) {
	.container {
		width: min(100% - 32px, 720px);
	}

	.menu {
		position: relative;
		height: auto;
	}

	.refresh-navigation {
		align-items: flex-start;
		flex-wrap: wrap;
		height: auto;
		padding: 13px 0;
	}

	.refresh-navigation #company {
		flex: 1 1 auto;
	}

	.refresh-navigation #nav {
		order: 3;
		flex-basis: 100%;
		overflow-x: auto;
		padding: 5px 0 2px;
		overscroll-behavior-inline: contain;
		scroll-padding-inline: 14px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.refresh-navigation #nav::-webkit-scrollbar {
		display: none;
	}

	.refresh-navigation ul.navigation {
		justify-content: flex-start;
		width: max-content;
		min-width: 100%;
		box-sizing: border-box;
		padding-right: 14px;
		padding-left: 14px;
	}

	.refresh-cookie-banner {
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
		padding: 16px;
	}

	.refresh-cookie-actions {
		align-items: stretch;
		flex-wrap: wrap;
	}

	.refresh-cookie-actions .refresh-button {
		flex: 1 1 180px;
	}

	.refresh-cookie-actions > a {
		display: inline-flex;
		align-items: center;
		padding: 0 5px;
	}

	.refresh-navigation-cta {
		min-height: 32px;
	}

	.padding_slide1 {
		padding-top: 0;
	}

	.refresh-contact-bar {
		min-height: 92px;
	}

	.refresh-contact-bar #time {
		display: none;
	}

	.refresh-contact-bar #phone {
		margin-left: auto;
	}

	.refresh-hero {
		padding: 65px 0 70px;
	}

	.refresh-section {
		padding: 64px 0;
	}

	.refresh-split,
	.refresh-contact-layout,
	.refresh-final-card-wide,
	.refresh-product-hero-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.refresh-product-hero {
		padding: 64px 0 74px;
	}

	.refresh-product-hero-copy {
		max-width: 690px;
	}

	.refresh-system-map,
	.refresh-design-board,
	.refresh-agent-map,
	.refresh-mobile-scene,
	.refresh-onec-scene {
		width: min(100%, 560px);
		margin: 0 auto;
	}

	.refresh-agent-pipeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.refresh-pricing-layout,
	.refresh-price-preview-grid,
	.refresh-service-price-band .container {
		grid-template-columns: 1fr;
	}

	.refresh-volume-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.refresh-volume-grid article:nth-child(2) {
		border-right: 0;
	}

	.refresh-volume-grid article:nth-child(-n+2) {
		border-bottom: 1px solid var(--refresh-line);
	}

	.refresh-ai-cost-note {
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.refresh-service-price-band .refresh-text-link {
		grid-column: 1;
	}

	#myModal2 .refresh-services-dialog {
		width: calc(100% - 28px);
		margin: 18px auto;
	}

	#myModal .refresh-form-dialog,
	#orderform .refresh-order-dialog {
		width: calc(100% - 28px);
		margin: 18px auto;
	}

	.refresh-services-modal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.refresh-order-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.refresh-split-reverse > :first-child {
		order: 0;
	}

	.refresh-card-grid-three,
	.refresh-case-grid,
	.refresh-concept-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.refresh-process-list,
	.refresh-process-list-five {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.refresh-process-list li:nth-child(2n) {
		border-right: 1px solid var(--refresh-line);
	}

	.refresh-design-visual {
		min-height: 300px;
	}

	.refresh-design-window {
		right: 20px;
		bottom: -18px;
	}

	.refresh-page-banner-inner {
		min-height: 154px;
	}

	.refresh-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	[class^="grid_"],
	[class*=" grid_"] {
		box-sizing: border-box;
	}
}

@media (max-width: 560px) {
	.container {
		width: calc(100% - 28px);
	}

	.refresh-navigation-cta {
		display: none;
	}

	.refresh-navigation {
		gap: 0;
		padding: 13px 0 0;
	}

	.refresh-navigation #company {
		flex-basis: 100%;
		margin-bottom: 10px;
		text-align: center;
	}

	.refresh-navigation #nav {
		padding: 0;
	}

	.refresh-navigation ul.navigation {
		gap: 20px;
		padding-top: 14px;
		padding-bottom: 15px;
	}

	.refresh-contact-bar {
		flex-wrap: wrap;
		justify-content: center;
		gap: 8px 18px;
		padding: 18px 0;
	}

	.refresh-contact-bar #logo {
		justify-content: center;
		width: 100%;
	}

	.refresh-contact-bar #phone {
		width: auto;
		margin: 0;
		text-align: left;
	}

	.refresh-contact-bar #phone a.email:last-child {
		display: none;
	}

	.refresh-contact-bar #callme {
		width: 170px;
		flex-basis: 170px;
	}

	.refresh-hero {
		padding: 52px 0 58px;
	}

	.refresh-hero h1 {
		font-size: 38px;
	}

	.refresh-product-hero h1 {
		font-size: 38px;
	}

	.refresh-hero-lead {
		font-size: 17px;
	}

	.refresh-actions,
	.refresh-actions-center {
		align-items: stretch;
		flex-direction: column;
	}

	.refresh-button {
		width: 100%;
	}

	.refresh-section {
		padding: 50px 0;
	}

	.refresh-main h2 {
		font-size: 31px;
	}

	.refresh-card-grid-four,
	.refresh-card-grid-three,
	.refresh-case-grid,
	.refresh-concept-grid,
	.refresh-process-list,
	.refresh-process-list-five,
	.refresh-process-list-three {
		grid-template-columns: 1fr;
	}

	.refresh-card-grid-balanced > * {
		flex-basis: 100%;
	}

	.refresh-service-card,
	.refresh-info-card,
	.refresh-case-card {
		min-height: 0;
	}

	.refresh-card-number {
		margin-bottom: 24px;
	}

	.refresh-process-list li,
	.refresh-process-list li:nth-child(2n),
	.refresh-process-list li:last-child {
		min-height: 0;
		border-right: 1px solid var(--refresh-line);
		border-bottom: 1px solid var(--refresh-line);
	}

	.refresh-design-visual {
		min-height: 250px;
	}

	.refresh-system-map,
	.refresh-design-board,
	.refresh-agent-map,
	.refresh-mobile-scene,
	.refresh-onec-scene {
		height: 330px;
	}

	.refresh-mobile-device {
		top: 18px;
		width: 182px;
		height: 298px;
	}

	.refresh-mobile-device-screen {
		padding: 46px 16px 16px;
	}

	.refresh-mobile-chart {
		height: 72px;
		margin: 18px 0;
	}

	.refresh-mobile-float {
		min-width: 120px;
		padding: 10px 11px;
	}

	.refresh-mobile-float-a { top: 45px; right: 7px; }
	.refresh-mobile-float-b { bottom: 34px; left: 7px; }

	.refresh-agent-orbit-a { width: 235px; height: 165px; }
	.refresh-agent-orbit-b { width: 325px; height: 255px; }
	.refresh-agent-core { width: 158px; height: 108px; padding: 22px; }
	.refresh-agent-node { width: 112px; padding: 10px 12px; }
	.refresh-agent-node small { display: none; }
	.refresh-agent-node-a { top: 20px; left: 12px; }
	.refresh-agent-node-b { top: 26px; right: 12px; }
	.refresh-agent-node-c { right: 12px; bottom: 22px; }
	.refresh-agent-node-d { bottom: 18px; left: 12px; }

	.refresh-agent-pipeline {
		grid-template-columns: 1fr;
	}

	.refresh-pricing-anchors {
		align-items: stretch;
		flex-direction: column;
	}

	.refresh-pricing-anchors a {
		text-align: center;
	}

	.refresh-price-table > div {
		grid-template-columns: 1fr auto;
		gap: 12px;
		padding: 14px 15px;
	}

	.refresh-price-table small {
		display: none;
	}

	.refresh-price-table b {
		font-size: 14px;
	}

	.refresh-volume-grid,
	.refresh-ai-price-grid {
		grid-template-columns: 1fr;
	}

	.refresh-volume-grid article,
	.refresh-volume-grid article:nth-child(2) {
		border-right: 0;
		border-bottom: 1px solid var(--refresh-line);
	}

	.refresh-volume-grid article:last-child {
		border-bottom: 0;
	}

	.refresh-ai-price-grid article,
	.refresh-price-card {
		min-height: 0;
	}

	.refresh-price-preview-items a,
	.refresh-service-price-items > div {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.refresh-price-preview-items strong,
	.refresh-service-price-items strong {
		white-space: normal;
	}

	#myModal2 .modal-header {
		padding: 20px 22px;
	}

	#myModal .modal-header,
	#orderform .modal-header {
		padding: 20px 22px;
	}

	#myModal2 .modal-header h2 {
		font-size: 25px;
	}

	#myModal .modal-header h2,
	#orderform .modal-header h2 {
		font-size: 25px;
	}

	#myModal2 .modal-body {
		padding: 22px 18px 24px;
	}

	#myModal .modal-body,
	#orderform .modal-body {
		padding: 22px 18px 18px;
	}

	#myModal .modal-footer,
	#orderform .modal-footer {
		align-items: center;
		flex-direction: column;
		padding: 12px 18px 22px;
	}

	#myModal .modal-footer .refresh-button,
	#orderform .modal-footer .refresh-button {
		width: auto;
	}

	.refresh-services-modal-intro {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.refresh-services-modal-intro p {
		order: 0;
		text-align: left;
	}

	.refresh-services-modal-grid {
		grid-template-columns: 1fr;
	}

	.refresh-services-modal-card:last-child {
		grid-column: 1;
	}

	.refresh-order-options,
	.refresh-form-row-two {
		grid-template-columns: 1fr;
	}

	.refresh-order-option:last-child {
		grid-column: 1;
	}

	.refresh-services-modal-card {
		min-height: 0;
	}

	.refresh-system-node {
		width: 105px;
		padding: 12px;
	}

	.refresh-system-node-a { top: 28px; left: 12px; }
	.refresh-system-node-b { top: 28px; right: 12px; }
	.refresh-system-node-c { bottom: 28px; left: 12px; }
	.refresh-system-node-d { right: 12px; bottom: 28px; }

	.refresh-system-core {
		width: 145px;
		height: 96px;
		padding: 16px;
	}

	.refresh-design-artboard {
		top: 58px;
		right: 16px;
		bottom: 25px;
		left: 48px;
	}

	.refresh-design-artboard-copy {
		top: 75px;
		left: 20px;
	}

	.refresh-design-artboard-copy b {
		font-size: 22px;
	}

	.refresh-design-artboard-object {
		width: 175px;
		height: 210px;
	}

	.refresh-concept-card > div {
		height: 250px;
	}

	.refresh-design-window-content {
		padding: 22px;
	}

	.refresh-final-card {
		padding: 28px;
	}

	.refresh-footer-grid {
		grid-template-columns: 1fr;
	}

	.refresh-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.refresh-page-banner::after {
		right: -45px;
		width: 120px;
		height: 120px;
	}

	.refresh-page-banner-inner {
		min-height: 132px;
		gap: 16px;
	}

	.refresh-page-banner-icon {
		flex-basis: 54px;
		height: 54px;
		border-radius: 14px;
	}

	.refresh-page-banner-icon svg {
		width: 29px;
		height: 29px;
	}

	.refresh-page-banner-copy p {
		margin-bottom: 6px;
		font-size: 8px;
	}

	.refresh-page-banner h1 {
		font-size: 29px;
	}

	.modal-dialog {
		width: auto;
		margin: 12px;
	}

	.modal .grid_3,
	.modal .grid_9,
	.modal .grid_12 {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	.modal input,
	.modal textarea {
		max-width: 100%;
		box-sizing: border-box;
	}

	#slide2.news .container .news-item > .grid_1,
	#slide2.news .container .news-item > .grid_11 {
		float: none;
		width: 100%;
		margin-right: 0;
	}
}
