* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: Arial,sans-serif;
	color: #3e4358;
	line-height: 1.65;
}

p {
    margin: 8px 0;
}

.ohw-page {
	--p: #6757f5;
	--pd: #4938dc;
	--s: #13b8a6;
	--d: #15182b;
	--m: #70758a;
	--soft: #f7f8fc;
	--border: #e6e8f2;
	overflow: hidden;
}

.container {
	width: min(1180px,calc(100% - 40px));
	margin: auto;
}

h1,h2,h3 {
	color: var(--d);
	line-height: 1.12;
	margin: 0 0 18px;
}

h1 {
	font-size: clamp(44px,5.1vw,72px);
	letter-spacing: -2.6px;
}

h2 {
	font-size: clamp(34px,4vw,52px);
	letter-spacing: -1.5px;
}

h3 {
	font-size: 23px;
}

p {
	font-size: 16px;
}

.section {
	padding: 100px 0;
}

.soft {
	background: var(--soft);
}

.kicker,.eyebrow {
	display: block;
	color: #21759b; /*var(--p);*/
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1.5px;
	margin-bottom: 16px;
}

.heading {
	text-align: center;
	max-width: 790px;
	margin: 0 auto 52px;
}

.heading p {
	color: var(--m);
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 25px;
	border-radius: 12px;
	text-decoration: none;
	font-weight: 750;
	transition: .25s;
}

.primary {
	color: #fff;
	background: linear-gradient(135deg,var(--p),var(--pd));
	box-shadow: 0 12px 28px rgba(103,87,245,.28);
}

.secondary {
	color: var(--d);
	border: 1px solid var(--border);
	background: #fff;
}

.ohwwhite {
	color: #fff;
}

.ohwwhite:hover {
	color: #fff!important;
}

.white {
	background: #fff;
	color: var(--pd);
}

.btn:hover {
	transform: translateY(-3px);
	background: black!important;
	color: white;
}

/* TRUE TWO-DIV HERO */
.ohw-hero {
	padding: clamp(68px,7vw,110px) 0;
	background: linear-gradient(to left, transparent 0%, #ffffff 60%),url("https://openhousewiz.com/wp-content/uploads/demo/modern-house.png") left center/cover no-repeat;
}

.hero-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(30px,5vw,78px);
	width: 100%;
	padding: 0 40px;
}

.ohw-copy {
	flex: 0 1 55%;
	min-width: 0;
}

.ohw-copy h1 span {
	display: block;
	background: linear-gradient(90deg,var(--p),var(--s));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.hero-lead {
	font-size: 20px;
	color: var(--m);
	max-width: 670px;
	margin-bottom: 30px;
}

.actions,.checks {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.checks {
	margin-top: 26px;
	font-size: 13px;
	font-weight: 650;
}

.ohw-hero-phone {
	flex: 1 1 45%;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ohw-hero-phone img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 650px;
	max-height: 680px;
	object-fit: contain;
}

/* BODY */
.steps {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 20px;
}

.card,.feature {
	position: relative;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 22px;
	padding: 30px;
}

.card>b {
	position: absolute;
	right: 18px;
	top: 14px;
	color: #b9bdcd;
	font-size: 12px;
}

.card i,.feature i,.campaign-row i {
	font-style: normal;
	font-size: 26px;
}

.card p,.feature p {
	font-size: 14px;
	color: var(--m);
}

.split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.dark {
	background: var(--d);
	color: #b8bbcb;
}

.dark h2,.dark h3 {
	color: #fff;
}

.dark .heading p {
	color: #aeb2c4;
}

.timeline {
	background: #20243b;
	border-radius: 24px;
	padding: 34px;
}

.timeline>div {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 13px 0;
}

.timeline b {
	display: flex;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--p);
	color: #fff;
	align-items: center;
	justify-content: center;
}

.timeline strong,.timeline small {
	display: block;
}

.timeline strong {
	color: #fff;
}

.timeline small {
	color: lightgreen; /*#979caf*/
}

.features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.feature {
	padding: 36px;
	transition: .25s;
}

.feature:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 60px rgba(35,39,70,.1);
}

.feature ul {
	list-style: none;
	padding: 0;
}

.feature li {
	padding: 8px 0;
	border-bottom: 1px solid #f0f1f5;
	font-size: 14px;
}

.feature li:before {
	content: "✓";
	color: var(--s);
	font-weight: 900;
	margin-right: 9px;
}

.extra {
	display: none;
}

.more {
	border: 0;
	background: none;
	color: #21759b; /*var(--p); */
	font-weight: 800;
	padding: 15px 0 0;
	cursor: pointer;
}

.more:hover, .more:focus {
	padding: 4px;
	background: #21759b;
}

.text-phone {
	width: 300px;
	min-height: 520px;
	padding: 35px 15px;
	background: #f7f7fa;
	border: 10px solid #171927;
	border-radius: 45px;
	box-shadow: 0 30px 70px rgba(25,28,55,.18);
	margin: auto;
}

.phone-title {
	text-align: center;
	font-weight: 800;
	color: var(--d);
	margin-bottom: 32px;
}

.bubble {
	max-width: 84%;
	padding: 10px 12px;
	margin-bottom: 12px;
	border-radius: 16px;
	font-size: 12px;
}

.bubble.in {
	background: #e6e7ec;
}

.bubble.out {
	background: var(--p);
	color: #fff;
	margin-left: auto;
}

.success {
	margin-top: 30px;
	padding: 12px;
	text-align: center;
	border-radius: 10px;
	background: #e6f8f4;
	color: #168575;
	font-size: 11px;
	font-weight: 800;
}

.check-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	font-size: 14px;
	font-weight: 650;
}

.campaign {
	max-width: 900px;
	margin: auto;
}

.campaign-row {
	display: grid;
	grid-template-columns: 100px 60px 1fr;
	gap: 20px;
	align-items: center;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 17px;
	padding: 22px 26px;
	margin: 12px 0;
}

.campaign-row>b {
	color: #21759b; /*var(--p);*/
	font-size: 11px;
}

.campaign-row strong,.campaign-row small {
	display: block;
}

.campaign-row strong {
	color: var(--d);
	font-size: 17px;
}

.campaign-row small {
	color: var(--m);
}

.price-card {
	max-width: 940px;
	margin: auto;
	background: #fff;
	border-radius: 26px;
	padding: 48px;
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 50px;
	color: #3e4358;
}

.price-label {
	font-weight: 800;
	color: var(--d);
}

.price {
	font-size: 58px;
	font-weight: 800;
	color: var(--d);
	line-height: 1.1;
	margin-top: 10px;
}

.price sup {
	font-size: 22px;
}

.price small {
	font-size: 14px;
	color: var(--m);
	font-weight: 500;
}

.price-features {
	display: grid;
	gap: 10px;
	align-content: center;
}

.note {
	grid-column: 1/-1;
	border-top: 1px solid var(--border);
	padding-top: 18px;
	font-size: 12px;
	color: var(--m);
}

.faq {
	max-width: 900px;
}

.faq-item {
	border-bottom: 1px solid var(--border);
}

.faq-item button {
	width: 100%;
	padding: 23px 5px;
	border: 0;
	background: none;
	display: flex;
	justify-content: space-between;
	text-align: left;
	color: var(--d);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.faq-item button b {
	font-size: 22px;
	color: var(--p);
}

.faq-item>div {
	display: none;
	padding: 0 40px 20px 5px;
	color: var(--m);
}

.final {
	padding: 95px 0;
	text-align: center;
	color: #e6e3ff;
	background: linear-gradient(135deg,var(--pd),var(--p));
}

.final .container {
	max-width: 820px;
}

.final h2 {
	color: #fff;
}

.final .kicker {
	color: #dcd8ff;
}

.reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: .65s;
}

.reveal.visible {
	opacity: 1;
	transform: none;
}

@media(max-width:1100px) {
	.hero-inner {
		gap: 26px;
	}

	.ohw-copy {
		flex-basis: 57%;
	}

	.ohw-hero-phone {
		flex-basis: 43%;
	}

	.ohw-copy h1 {
		font-size: clamp(40px,5vw,58px);
	}
}

@media(max-width:820px) {
	.ohw-hero {
		background: linear-gradient(to top, transparent 0%, #ffffff 60%),url("https://openhousewiz.com/wp-content/uploads/demo/modern-house.png") center center/cover no-repeat;
	}
	
	.hero-inner {
		flex-direction: column;
		text-align: center;
	}

	.ohw-copy,.ohw-hero-phone {
		flex: 1 1 100%;
		width: 100%;
	}

	.hero-lead {
		margin-left: auto;
		margin-right: auto;
	}

	.actions,.checks {
		justify-content: center;
	}

	.ohw-hero-phone {
		margin-top: 18px;
	}

	.ohw-hero-phone img {
		width: min(100%,590px);
		max-height: none;
	}

	.split {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.steps {
		grid-template-columns: 1fr 1fr;
	}

	.features {
		grid-template-columns: 1fr;
	}

	.price-card {
		grid-template-columns: 1fr;
	}
}

@media(max-width:560px) {
	.container {
		width: calc(100% - 28px);
	}

	.section {
		padding: 72px 0;
	}

	.ohw-hero {
		padding: 58px 0 66px;
	}

	.ohw-copy h1 {
		font-size: clamp(38px,11vw,48px);
		letter-spacing: -1.7px;
	}

	.hero-lead {
		font-size: 17px;
	}

	.actions .btn {
		width: 100%;
	}

	.ohw-hero-phone img {
		width: 450px;
	}

	.steps {
		grid-template-columns: 1fr;
	}

	.check-grid {
		grid-template-columns: 1fr;
	}

	.campaign-row {
		grid-template-columns: 70px 45px 1fr;
		padding: 17px 13px;
	}

	.price-card {
		padding: 34px 22px;
	}

	.price {
		font-size: 48px;
	}
}

@media(max-width:499px) {

	.ohw-hero-phone img {
		width: 400px;
	}
}

@media(max-width:399px) {
	.ohw-hero-phone img {
		width: 385px;
		flex: unset;
	}
	
	ul {
		margin-left: 0;
	}
	
	.text-phone {
		width: unset;
	}
}

@media(max-width:375px) {
	.ohw-hero-phone img {
		width: 365px;
	}
}

@media(max-width:350px) {
	.ohw-hero-phone img {
		width: 340px;
	}
}