/* End custom CSS */

.elementor-27277 .elementor-element.elementor-element-922a4e9 {
	--display: flex;
	--justify-content: center;
	--margin-top: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}

.elementor-27277 .elementor-element.elementor-element-95b9f54 {
	--display: flex;
	--min-height: 625px;
	--flex-direction: row;
	--container-widget-width: calc(( 1 - var(--container-widget-flex-grow) ) * 100%);
	--container-widget-height: 100%;
	--container-widget-flex-grow: 1;
	--container-widget-align-self: stretch;
	--flex-wrap-mobile: wrap;
	--align-items: center;
	--gap: 30px 30px;
	--row-gap: 30px;
	--column-gap: 30px;
	--margin-top: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}

.elementor-27277 .elementor-element.elementor-element-95b9f54:not(.elementor-motion-effects-element-type-background), .elementor-27277 .elementor-element.elementor-element-95b9f54 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: transparent;
	background-image: linear-gradient(270deg, #fdede7 50%, rgba(204, 120, 141, 0) 50%);
}

.elementor-27277 .elementor-element.elementor-element-38a69f7 {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-27277 .elementor-element.elementor-element-0338290 {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-27277 .elementor-element.elementor-element-0338290:not(.elementor-motion-effects-element-type-background), .elementor-27277 .elementor-element.elementor-element-0338290 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: var(--e-global-color-8844d8d);
}

.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label {
	color: var(--e-global-color-text);
}

.elementor-widget-form .elementor-field-group > label {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
}

.elementor-widget-form .elementor-field-type-html {
	color: var(--e-global-color-text);
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
}

.elementor-widget-form .elementor-field-group .elementor-field {
	color: var(--e-global-color-text);
}

.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
}

.elementor-widget-form .elementor-button {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor-widget-form .e-form__buttons__wrapper__button-next {
	background-color: var(--e-global-color-accent);
}

.elementor-widget-form .elementor-button[type="submit"] {
	background-color: var(--e-global-color-accent);
}

.elementor-widget-form .e-form__buttons__wrapper__button-previous {
	background-color: var(--e-global-color-accent);
}

.elementor-widget-form .elementor-message {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
}

.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor-widget-form {
	--e-form-steps-indicator-inactive-primary-color: var(--e-global-color-text);
	--e-form-steps-indicator-active-primary-color: var(--e-global-color-accent);
	--e-form-steps-indicator-completed-primary-color: var(--e-global-color-accent);
	--e-form-steps-indicator-progress-color: var(--e-global-color-accent);
	--e-form-steps-indicator-progress-background-color: var(--e-global-color-text);
	--e-form-steps-indicator-progress-meter-color: var(--e-global-color-text);
}

.elementor-widget-form .e-form__indicators__indicator__progress__meter {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-field-group {
	padding-right: calc(10px / 2);
	padding-left: calc(10px / 2);
	margin-bottom: 10px;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-form-fields-wrapper {
	margin-left: calc(-10px / 2);
	margin-right: calc(-10px / 2);
	margin-bottom: -10px;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-27277 .elementor-element.elementor-element-4299375 .elementor-field-group.recaptcha_v3-bottomright {
	margin-bottom: 0;
}

body.rtl .elementor-27277 .elementor-element.elementor-element-4299375 .elementor-labels-inline .elementor-field-group > label {
	padding-left: 0px;
}

body:not(.rtl) .elementor-27277 .elementor-element.elementor-element-4299375 .elementor-labels-inline .elementor-field-group > label {
	padding-right: 0px;
}

body .elementor-27277 .elementor-element.elementor-element-4299375 .elementor-labels-above .elementor-field-group > label {
	padding-bottom: 0px;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-field-type-html {
	padding-bottom: 0px;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
	background-color: #fff;
	border-radius: 5px 5px 5px 5px;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-field-group .elementor-select-wrapper select {
	background-color: #fff;
	border-radius: 5px 5px 5px 5px;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .e-form__buttons__wrapper__button-next {
	background-color: var(--e-global-color-bc49d26);
	color: #fff;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-button[type="submit"] {
	background-color: var(--e-global-color-bc49d26);
	color: #fff;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-button[type="submit"] svg * {
	fill: #fff;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .e-form__buttons__wrapper__button-previous {
	color: #fff;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .e-form__buttons__wrapper__button-next:hover {
	color: #fff;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-button[type="submit"]:hover {
	color: #fff;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-button[type="submit"]:hover svg * {
	fill: #fff;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .e-form__buttons__wrapper__button-previous:hover {
	color: #fff;
}

.elementor-27277 .elementor-element.elementor-element-4299375 .elementor-button {
	padding: 0px 0px 0px 0px;
}

.elementor-27277 .elementor-element.elementor-element-4299375 {
	--e-form-steps-indicators-spacing: 15px;
	--e-form-steps-indicator-padding: 12px;
	--e-form-steps-indicator-inactive-secondary-color: #fff;
	--e-form-steps-indicator-active-secondary-color: #fff;
	--e-form-steps-indicator-completed-secondary-color: #fff;
	--e-form-steps-divider-width: 1px;
	--e-form-steps-divider-gap: 10px;
}

.elementor-27277 .elementor-element.elementor-element-ad4ec8d {
	--display: flex;
	--margin-top: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}

@media (min-width:768px) {
	.elementor-27277 .elementor-element.elementor-element-38a69f7 {
		--width: 50%;
	}
	
	.elementor-27277 .elementor-element.elementor-element-0338290 {
		--width: 50%;
	}
}

/* Start custom CSS for container, class: .elementor-element-95b9f54 */
.hero-grid::after {
	content: "";
	position: absolute;
	right: -140px;
	top: 50%;
	transform: translateY(-55%);
	width: min(560px, 90vw);
	aspect-ratio: 1;
	max-width: 100vw;
	border-radius: 50%;
	background: var(--peach);
	z-index: -1;
	pointer-events: none;
}

/* End custom CSS */

/* Start custom CSS for container, class: .elementor-element-922a4e9 */

/* Layout: an "audit file" — white pages, light-orange working bands, orange marks where action or emphasis lives, navy used sparingly for weight. Single deliberate light look. */
:root {
	--white: #fff;
	--peach: #fdede7;
	--orange: #f15c22;
	--navy: #0e2d49;
	--ink: #111;
	/* text: black */
	--muted: #444;
	/* text: black at reading strength */
	--line: #f3d3c6;
	/* peach-orange hairline */
	--line-navy: rgba(14, 45, 73, .14);
	--display: "Inter", "Helvetica Neue", Arial, sans-serif;
	--body: "Inter", "Helvetica Neue", Arial, sans-serif;
	--mono: "Inter", "Helvetica Neue", Arial, sans-serif;
	--wrap: 1180px;
	--r: 14px;
	color-scheme: light;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto;
	}
	
	* {
		animation: none !important;
		transition: none !important;
	}
}

body {
	background: var(--white);
	color: var(--ink);
	font-family: var(--body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
	font-family: var(--display);
	color: var(--ink);
	line-height: 1.08;
	margin: 0;
	text-wrap: balance;
	letter-spacing: -.015em;
}

h2 {
	font-size: clamp(30px, 4.2vw, 48px);
	font-weight: 800;
}

h3 {
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -.005em;
}

p {
	margin: 0;
}

a {
	color: var(--ink);
	text-decoration-color: var(--orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

a:hover {
	color: var(--orange);
}

:focus-visible {
	outline: 3px solid var(--orange);
	outline-offset: 3px;
	border-radius: 6px;
}

.hl {
	color: var(--orange);
}

/* Matches staging site: 1180px content width, 20–40px side gutters, 80px section padding (50px on phones) */
.wrap {
	box-sizing: content-box;
	max-width: var(--wrap);
	margin: 0 auto;
	padding-left: max(clamp(20px, 4vw, 40px), env(safe-area-inset-left, 0px));
	padding-right: max(clamp(20px, 4vw, 40px), env(safe-area-inset-right, 0px));
}

.band {
	padding-block: clamp(50px, 6vw, 80px);
}

.band.peach {
	background: var(--peach);
}

.eyebrow {
	font-family: var(--mono);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--orange);
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	background: var(--orange);
}

.lede {
	font-size: 19px;
	color: var(--muted);
	max-width: 62ch;
}

.sec-head {
	display: grid;
	gap: 18px;
	max-width: 780px;
	margin-bottom: 48px;
}

/* buttons */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	font: 700 16.5px/1 var(--body);
	text-decoration: none;
	cursor: pointer;
	border: 2px solid transparent;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn-primary {
	background: var(--orange);
	color: var(--white);
}

.btn-primary:hover {
	color: var(--white);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px -10px rgba(241, 92, 34, .75);
}

.btn-ghost {
	background: transparent;
	color: var(--ink);
	border-color: var(--ink);
}

.btn-ghost:hover {
	color: var(--orange);
	border-color: var(--orange);
}

.btn svg {
	width: 18px;
	height: 18px;
}

.link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: var(--orange);
	text-decoration: none;
}

.link-arrow:hover {
	color: var(--ink);
}

.link-arrow svg {
	width: 16px;
	height: 16px;
	transition: transform .18s;
}

.link-arrow:hover svg {
	transform: translateX(4px);
}

/* top bar */
.topbar {
	background: var(--peach);
	font-size: 13.5px;
	color: var(--ink);
}

.topbar .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 6px 22px;
	min-height: 50px;
	padding-block: 6px;
}

.topbar .grp {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
}

.topbar span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.topbar svg {
	width: 15px;
	height: 15px;
	color: var(--orange);
}

@media (max-width:640px) {
	.topbar .hide-sm {
		display: none;
	}
}

/* header */
.top {
	position: sticky;
	top: env(safe-area-inset-top, 0px);
	z-index: 20;
	background: rgba(255, 255, 255, .94);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--line);
}

.top .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 69px;
}

@media (max-width:767px) {
	.top .wrap {
		min-height: 64px;
	}
}

.brand {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.brand img {
	height: 50px;
	width: auto;
	display: block;
}

.nav {
	display: flex;
	gap: 26px;
	align-items: center;
}

.nav a {
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	color: var(--ink);
}

.nav a:hover {
	color: var(--orange);
}

.top .btn {
	min-height: 44px;
	padding: 0 20px;
	font-size: 15px;
}

@media (max-width:980px) {
	.nav {
		display: none;
	}
}

.nav .has-sub {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.nav .has-sub svg {
	width: 14px;
	height: 14px;
}

@media (max-width:520px) {
	.brand img {
		height: 44px;
	}
	
	.top .btn {
		padding: 0 14px;
	}
}

/* hero */
.hero {
	padding-block: clamp(50px, 6vw, 80px);
	position: relative;
	overflow: hidden;
}

/* circle anchored to the 1180px container so it always sits behind the form */
.hero {
	isolation: isolate;
}

.hero-grid::after {
	content: "";
	position: absolute;
	right: -140px;
	top: 50%;
	transform: translateY(-55%);
	width: min(560px, 90vw);
	aspect-ratio: 1;
	max-width: 100vw;
	border-radius: 50%;
	background: var(--peach);
	z-index: -1;
	pointer-events: none;
}

.hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

@media (min-width:921px) {
	.hero-grid {
		align-items: stretch;
	}
	
	.hero .lead {
		margin-top: 36px;
		display: flex;
		flex-direction: column;
	}
	
	.hero .lead form {
		flex: 1;
		align-content: space-between;
		row-gap: 22px;
	}
}

@media (max-width:920px) {
	.hero-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.hero h1 {
	font-size: clamp(40px, 5.6vw, 70px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.02;
}

.hero h1 .hl {
	display: block;
}

.hero .tag {
	font: 600 clamp(19px, 2vw, 23px)/1.35 var(--display);
	color: var(--ink);
	margin-top: 22px;
	max-width: 30ch;
}

.hero .lede {
	margin-top: 18px;
}

.hero-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.btn-wa {
	background: var(--white);
	color: var(--ink);
	border-color: var(--ink);
}

.btn-wa:hover {
	color: var(--orange);
	border-color: var(--orange);
}

.btn-wa svg {
	color: var(--orange);
}

/* hero form */
.lead {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 22px;
	box-shadow: 0 30px 60px -32px rgba(17, 17, 17, .35);
	overflow: hidden;
	animation: rise .7s ease both .1s;
}

.lead-head {
	background: var(--orange);
	color: var(--white);
	padding: 26px 32px;
	display: grid;
	gap: 6px;
}

.lead-head h2 {
	font-size: clamp(23px, 2.2vw, 28px);
	font-weight: 800;
	color: var(--white);
	letter-spacing: -.015em;
}

.lead-head p {
	font-size: 15.5px;
	color: var(--white);
}

.lead form {
	padding: 32px 32px 36px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.lead .fld input, .lead .fld select {
	min-height: 56px;
	font-size: 16.5px;
}

.lead .btn {
	min-height: 58px;
}

@media (max-width:520px) {
	.lead-head {
		padding: 22px 20px;
	}
	
	.lead form {
		padding: 22px 20px 24px;
	}
}

@media (max-width:520px) {
	.lead form {
		grid-template-columns: minmax(0, 1fr);
	}
}

.lead .btn {
	width: 100%;
}

.req {
	color: var(--orange);
}

.disclaimer {
	grid-column: 1/-1;
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--muted);
	border-top: 1px solid var(--line);
	padding-top: 16px;
}

.disclaimer svg {
	flex: none;
	width: 18px;
	height: 18px;
	color: var(--orange);
	margin-top: 1px;
}

.fld input.invalid {
	border-color: var(--orange);
	box-shadow: 0 0 0 3px rgba(241, 92, 34, .18);
}

.sent {
	grid-column: 1/-1;
	display: grid;
	gap: 10px;
	justify-items: start;
	background: var(--peach);
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ink);
}

.sent .copy {
	min-height: 40px;
	font-size: 13.5px;
}

.since {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 30px;
	font-size: 15px;
	color: var(--muted);
}

.since span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.since svg {
	width: 18px;
	height: 18px;
	color: var(--orange);
}

/* verification record card */
.record {
	background: var(--white);
	border: 1px solid var(--line-navy);
	border-radius: 20px;
	box-shadow: 0 30px 60px -30px rgba(14, 45, 73, .35);
	overflow: hidden;
	animation: rise .7s ease both .1s;
}

@keyframes rise {
	from {
		transform: translateY(14px);
	}
	
	to {
		transform: none;
	}
}

.record-head {
	background: var(--ink);
	color: var(--white);
	padding: 16px 22px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font: 700 12px/1 var(--mono);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.record-head .dot {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.record-head .dot::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--orange);
}

.record-body {
	padding: 24px 22px;
	display: grid;
	gap: 18px;
}

.field {
	display: grid;
	gap: 6px;
	padding-bottom: 16px;
	border-bottom: 1px dashed var(--line);
}

.field:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

.field label, .field .k {
	font: 700 11.5px/1 var(--mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
}

.field .v {
	font: 700 19px/1.3 var(--display);
	color: var(--ink);
}

.acct {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.acct .num {
	font: 700 clamp(38px, 5vw, 50px)/1 var(--mono);
	color: var(--orange);
	letter-spacing: .04em;
	font-variant-numeric: tabular-nums;
}

.copy {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1.5px solid var(--ink);
	background: var(--white);
	color: var(--ink);
	font: 700 14px/1 var(--body);
	cursor: pointer;
}

.copy:hover {
	border-color: var(--orange);
	color: var(--orange);
}

.copy svg {
	width: 16px;
	height: 16px;
}

.record-foot {
	background: var(--peach);
	padding: 16px 22px;
	font-size: 14.5px;
	color: var(--muted);
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.record-foot svg {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--orange);
	margin-top: 2px;
}

/* proof strip */
.strip {
	border-block: 1px solid var(--line);
	background: var(--white);
}

.strip .wrap {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
}

.strip .item {
	padding: 26px 20px;
	border-left: 1px solid var(--line);
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	column-gap: 14px;
	row-gap: 4px;
	align-items: center;
}

.strip .sico {
	grid-row: 1/3;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--peach);
	color: var(--orange);
	display: grid;
	place-items: center;
}

.strip .sico svg {
	width: 24px;
	height: 24px;
}

.strip .item:first-child {
	border-left: 0;
	padding-left: 0;
}

.strip .big {
	font: 800 30px/1 var(--display);
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}

.strip .big.hl {
	color: var(--orange);
}

.strip .small {
	font-size: 14px;
	color: var(--muted);
}

@media (max-width:820px) {
	.strip .wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	.strip .item:nth-child(3) {
		border-left: 0;
		padding-left: 0;
	}
	
	.strip .item {
		border-top: 1px solid var(--line);
	}
	
	.strip .item:nth-child(-n+2) {
		border-top: 0;
	}
}

/* what auditors do */
.split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 80px);
	align-items: start;
}

@media (max-width:860px) {
	.split {
		grid-template-columns: minmax(0, 1fr);
	}
}

.prose {
	display: grid;
	gap: 18px;
	color: var(--muted);
	max-width: 62ch;
}

.assure {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 28px;
	display: grid;
	gap: 20px;
}

.assure-row {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.ico {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--peach);
	display: grid;
	place-items: center;
	color: var(--orange);
}

.ico svg {
	width: 22px;
	height: 22px;
}

.assure-row p {
	color: var(--muted);
	font-size: 16px;
}

.assure-row strong {
	display: block;
	color: var(--ink);
	font-family: var(--display);
	font-size: 18px;
	margin-bottom: 2px;
}

.assure-row.no .ico {
	background: var(--white);
	border: 1.5px dashed var(--line-navy);
	color: var(--ink);
}

/* why */
.why {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

@media (max-width:760px) {
	.why {
		grid-template-columns: minmax(0, 1fr);
	}
}

.why-card {
	background: var(--white);
	border-radius: 18px;
	padding: 32px;
	display: grid;
	gap: 14px;
	align-content: start;
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease;
}

.why-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 40px -26px rgba(14, 45, 73, .45);
}

.why-card .n {
	font: 700 13px/1 var(--mono);
	color: var(--orange);
	letter-spacing: .1em;
}

.why-card p {
	color: var(--muted);
	font-size: 16px;
}

.why-foot {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

/* requirements */
.req {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: start;
}

@media (max-width:860px) {
	.req {
		grid-template-columns: minmax(0, 1fr);
	}
}

.confirm {
	border: 2px solid var(--ink);
	border-radius: 18px;
	padding: 28px;
	display: grid;
	gap: 6px;
}

.confirm h3 {
	margin-bottom: 10px;
}

.confirm label {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 14px 0;
	border-top: 1px solid var(--line);
	cursor: pointer;
	font-weight: 500;
}

.confirm input {
	appearance: none;
	width: 24px;
	height: 24px;
	border: 2px solid var(--ink);
	border-radius: 7px;
	margin: 1px 0 0;
	display: grid;
	place-items: center;
	cursor: pointer;
	background: var(--white);
}

.confirm input:checked {
	background: var(--orange);
	border-color: var(--orange);
}

.confirm input:checked::after {
	content: "";
	width: 6px;
	height: 11px;
	border: solid var(--white);
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg) translate(-1px, -1px);
}

.note {
	font-size: 15px;
	color: var(--muted);
	background: var(--peach);
	border-radius: 12px;
	padding: 16px 18px;
}

/* deadline */
.timeline {
	background: var(--white);
	border-radius: 22px;
	padding: clamp(24px, 4vw, 44px);
	display: grid;
	gap: 34px;
}

.track {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	padding-top: 12px;
}

.track::before {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	top: 24px;
	height: 4px;
	background: linear-gradient(90deg, var(--navy), var(--orange));
	border-radius: 4px;
}

.node {
	position: relative;
	display: grid;
	gap: 8px;
	justify-items: start;
}

.node:nth-child(2) {
	justify-items: end;
	text-align: right;
}

.node:nth-child(3) {
	justify-items: end;
	text-align: right;
}

.node .pin {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--white);
	border: 4px solid var(--navy);
	position: relative;
	z-index: 1;
}

.node.go .pin {
	border-color: var(--orange);
	background: var(--orange);
}

.node .t {
	font: 700 12px/1.2 var(--mono);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--orange);
}

.node .d {
	font: 700 18px/1.25 var(--display);
	color: var(--ink);
}

.node .s {
	font-size: 14px;
	color: var(--muted);
	max-width: 24ch;
}

@media (max-width:700px) {
	.track {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
		padding-left: 44px;
	}
	
	.track::before {
		left: 13px;
		right: auto;
		top: 12px;
		bottom: 12px;
		width: 4px;
		height: auto;
		background: linear-gradient(180deg, var(--navy), var(--orange));
	}
	
	.node, .node:nth-child(2), .node:nth-child(3) {
		justify-items: start;
		text-align: left;
	}
	
	.node .pin {
		position: absolute;
		left: -44px;
		top: 0;
	}
}

.calc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 24px;
	border-top: 1px dashed var(--line);
	padding-top: 30px;
}

@media (max-width:760px) {
	.calc {
		grid-template-columns: minmax(0, 1fr);
	}
}

.calc-in {
	display: grid;
	gap: 14px;
	align-content: start;
}

.calc-in label {
	font: 700 12px/1 var(--mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
}

.calc-in input {
	min-height: 52px;
	border: 2px solid var(--ink);
	border-radius: 12px;
	padding: 0 14px;
	font: 600 17px var(--body);
	color: var(--ink);
	background: var(--white);
	width: 100%;
	max-width: 340px;
}

.calc-in input:focus {
	outline: none;
	border-color: var(--orange);
}

.calc-out {
	background: var(--peach);
	border-radius: 16px;
	padding: 24px;
	display: grid;
	gap: 14px;
}

.calc-out .row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	align-items: baseline;
	border-bottom: 1px solid var(--line);
	padding-bottom: 12px;
}

.calc-out .row:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

.calc-out .k {
	font-size: 15px;
	color: var(--muted);
}

.calc-out .v {
	font: 800 22px/1.2 var(--display);
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}

.calc-out .v.hl {
	color: var(--orange);
}

.calc-out small {
	font-size: 13.5px;
	color: var(--muted);
}

.overdue {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	margin-top: 28px;
	background: var(--white);
	border: 2px solid var(--orange);
	border-radius: 18px;
	padding: 26px 28px;
}

@media (max-width:760px) {
	.overdue {
		grid-template-columns: minmax(0, 1fr);
	}
}

.overdue p {
	color: var(--muted);
}

.overdue strong {
	color: var(--ink);
	font-family: var(--display);
	font-size: 20px;
	display: block;
	margin-bottom: 6px;
}

/* services */
.svc {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 20px;
}

.svc-card {
	grid-column: span 2;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 30px;
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	gap: 14px;
	background: var(--white);
	transition: border-color .2s, transform .2s;
}

.svc-card:nth-child(4), .svc-card:nth-child(5) {
	grid-column: span 3;
}

.svc-card:hover {
	border-color: var(--orange);
	transform: translateY(-3px);
}

.svc-card p {
	color: var(--muted);
	font-size: 16px;
}

.outcome {
	background: var(--peach);
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 15px;
	color: var(--ink);
}

.outcome b {
	display: block;
	font: 700 11.5px/1 var(--mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--orange);
	margin-bottom: 6px;
}

@media (max-width:980px) {
	.svc {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	.svc-card, .svc-card:nth-child(4), .svc-card:nth-child(5) {
		grid-column: span 1;
	}
}

@media (max-width:640px) {
	.svc {
		grid-template-columns: minmax(0, 1fr);
	}
}

.center-cta {
	display: flex;
	justify-content: center;
	margin-top: 44px;
}

/* related */
.rel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	background: var(--white);
	border-radius: 22px;
	overflow: hidden;
}

.rel-item {
	padding: 34px;
	display: grid;
	gap: 12px;
	align-content: start;
	border-bottom: 1px solid var(--line);
}

.rel-item:nth-child(odd) {
	border-right: 1px solid var(--line);
}

.rel-item:nth-last-child(-n+2) {
	border-bottom: 0;
}

.rel-item p {
	color: var(--muted);
	font-size: 16px;
}

.rel-item .callout {
	font-size: 14.5px;
	border-left: 3px solid var(--orange);
	padding-left: 14px;
	color: var(--ink);
}

@media (max-width:760px) {
	.rel {
		grid-template-columns: minmax(0, 1fr);
	}
	
	.rel-item:nth-child(odd) {
		border-right: 0;
	}
	
	.rel-item:nth-last-child(2) {
		border-bottom: 1px solid var(--line);
	}
}

/* checklist */
.ck-wrap {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: start;
}

@media (max-width:900px) {
	.ck-wrap {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ck-side {
	display: grid;
	gap: 22px;
	position: sticky;
	top: calc(env(safe-area-inset-top, 0px) + 93px);
}

@media (max-width:900px) {
	.ck-side {
		position: static;
	}
}

.meter {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 22px;
	display: grid;
	gap: 12px;
}

.meter .row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.meter .count {
	font: 800 34px/1 var(--display);
	color: var(--orange);
	font-variant-numeric: tabular-nums;
}

.meter .lbl {
	font-size: 14.5px;
	color: var(--muted);
}

.bar {
	height: 10px;
	border-radius: 10px;
	background: var(--peach);
	overflow: hidden;
}

.bar i {
	display: block;
	height: 100%;
	width: 0;
	background: var(--orange);
	border-radius: 10px;
	transition: width .35s ease;
}

.reset {
	justify-self: start;
	background: none;
	border: 0;
	padding: 6px 0;
	font: 600 14px var(--body);
	color: var(--ink);
	text-decoration: underline;
	text-decoration-color: var(--orange);
	text-underline-offset: 4px;
	cursor: pointer;
}

.ck-list {
	display: grid;
	gap: 12px;
}

.ck {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	background: var(--white);
	border: 1.5px solid var(--line);
	border-radius: 16px;
	padding: 20px 22px;
	cursor: pointer;
	transition: border-color .2s, background .2s;
}

.ck:hover {
	border-color: var(--orange);
}

.ck input {
	appearance: none;
	width: 26px;
	height: 26px;
	border: 2px solid var(--ink);
	border-radius: 8px;
	margin: 2px 0 0;
	display: grid;
	place-items: center;
	cursor: pointer;
	background: var(--white);
}

.ck input:checked {
	background: var(--orange);
	border-color: var(--orange);
}

.ck input:checked::after {
	content: "";
	width: 7px;
	height: 12px;
	border: solid var(--white);
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg) translate(-1px, -1px);
}

.ck .cat {
	font: 700 17px/1.3 var(--display);
	color: var(--ink);
}

.ck .docs {
	font-size: 15px;
	color: var(--muted);
	margin-top: 4px;
}

.ck:has(input:checked) {
	background: var(--peach);
	border-color: var(--peach);
}

.ck:has(input:checked) .cat {
	text-decoration: line-through;
	text-decoration-color: var(--orange);
	text-decoration-thickness: 2px;
}

.incomplete {
	background: var(--white);
	border: 2px solid var(--orange);
	border-radius: 18px;
	padding: 26px;
	display: grid;
	gap: 12px;
}

.incomplete p {
	color: var(--muted);
	font-size: 16px;
}

/* process */
.steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
	counter-reset: s;
}

.step {
	position: relative;
	padding-top: 74px;
	display: grid;
	gap: 10px;
	align-content: start;
}

.step .num {
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--peach);
	color: var(--orange);
	font: 800 24px/56px var(--display);
	text-align: center;
}

.step:last-child .num {
	background: var(--orange);
	color: var(--white);
}

.step::before {
	content: "";
	position: absolute;
	top: 27px;
	left: 64px;
	right: -8px;
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--orange) 0 6px, transparent 6px 12px);
}

.step:last-child::before {
	display: none;
}

.step p {
	color: var(--muted);
	font-size: 15.5px;
}

@media (max-width:1000px) {
	.steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	
	.step {
		padding: 0 0 0 76px;
		min-height: 56px;
	}
	
	.step::before {
		top: 62px;
		left: 27px;
		right: auto;
		bottom: -24px;
		width: 2px;
		height: auto;
		background: repeating-linear-gradient(180deg, var(--orange) 0 6px, transparent 6px 12px);
	}
}

/* verify */
.verify {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
}

@media (max-width:860px) {
	.verify {
		grid-template-columns: minmax(0, 1fr);
	}
}

.search-mock {
	background: var(--white);
	border-radius: 20px;
	padding: 26px;
	display: grid;
	gap: 16px;
	box-shadow: 0 24px 50px -32px rgba(14, 45, 73, .5);
}

.sbox {
	display: flex;
	align-items: center;
	gap: 12px;
	border: 2px solid var(--ink);
	border-radius: 12px;
	padding: 0 16px;
	min-height: 54px;
	font-weight: 600;
	color: var(--ink);
}

.sbox svg {
	width: 20px;
	height: 20px;
	color: var(--orange);
	flex: none;
}

.caret {
	display: inline-block;
	width: 2px;
	height: 20px;
	background: var(--orange);
	margin-left: 2px;
	vertical-align: -4px;
	animation: blink 1s steps(1) infinite;
}

@keyframes blink {
	50% {
		opacity: 0;
	}
}

.result {
	border: 1.5px solid var(--orange);
	border-radius: 14px;
	padding: 18px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px 14px;
	align-items: center;
	background: var(--peach);
}

.result .nm {
	font: 700 17px/1.3 var(--display);
	color: var(--ink);
}

.result .ac {
	font: 700 15px var(--mono);
	color: var(--orange);
	font-variant-numeric: tabular-nums;
}

.result .st {
	grid-column: 1/-1;
	font-size: 13.5px;
	color: var(--muted);
}

.warn {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 15.5px;
	color: var(--ink);
}

.warn svg {
	flex: none;
	width: 22px;
	height: 22px;
	color: var(--orange);
	margin-top: 2px;
}

.vsteps {
	display: grid;
	gap: 18px;
	margin: 26px 0;
}

.vsteps li {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 14px;
	color: var(--muted);
}

.vsteps li b {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 2px solid var(--orange);
	color: var(--orange);
	display: grid;
	place-items: center;
	font: 800 15px var(--display);
}

.vsteps {
	list-style: none;
	padding: 0;
}

/* fees */
.fees {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

@media (max-width:860px) {
	.fees {
		grid-template-columns: minmax(0, 1fr);
	}
}

.fee-card {
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 30px;
	display: grid;
	gap: 18px;
	align-content: start;
}

.fee-card p {
	color: var(--muted);
	font-size: 16px;
}

.chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.chip {
	font-size: 14px;
	font-weight: 600;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--peach);
	color: var(--ink);
}

/* brief builder */
.brief {
	margin-top: 24px;
	background: var(--peach);
	border-radius: 22px;
	padding: clamp(24px, 4vw, 40px);
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(24px, 4vw, 48px);
}

@media (max-width:900px) {
	.brief {
		grid-template-columns: minmax(0, 1fr);
	}
}

.brief form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

@media (max-width:560px) {
	.brief form {
		grid-template-columns: minmax(0, 1fr);
	}
}

.fld {
	display: grid;
	gap: 7px;
}

.fld.full {
	grid-column: 1/-1;
}

.fld label {
	font: 700 11.5px/1.2 var(--mono);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink);
}

.fld input, .fld select {
	min-height: 50px;
	border: 1.5px solid var(--line-navy);
	border-radius: 12px;
	padding: 0 14px;
	font: 500 16px var(--body);
	color: var(--ink);
	background: var(--white);
	width: 100%;
}

.fld input:focus, .fld select:focus {
	outline: none;
	border-color: var(--orange);
	box-shadow: 0 0 0 3px rgba(241, 92, 34, .18);
}

.brief .actions {
	grid-column: 1/-1;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.status {
	font-size: 14.5px;
	color: var(--ink);
	font-weight: 600;
}

/* faq */
.faq {
	display: grid;
	gap: 12px;
	max-width: 900px;
}

.faq details {
	border: 1.5px solid var(--line);
	border-radius: 16px;
	background: var(--white);
	transition: border-color .2s;
}

.faq details[open] {
	border-color: var(--orange);
}

.faq summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 24px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	font: 700 18px/1.35 var(--display);
	color: var(--ink);
	min-height: 44px;
}

.faq summary::-webkit-details-marker {
	display: none;
}

.faq summary .pm {
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--peach);
	position: relative;
	transition: background .2s;
}

.faq summary .pm::before, .faq summary .pm::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 2.5px;
	background: var(--orange);
	transform: translate(-50%, -50%);
	border-radius: 2px;
	transition: transform .2s;
}

.faq summary .pm::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq details[open] .pm {
	background: var(--orange);
}

.faq details[open] .pm::before, .faq details[open] .pm::after {
	background: var(--white);
}

.faq details[open] .pm::after {
	transform: translate(-50%, -50%) rotate(0);
}

.faq .ans {
	padding: 0 24px 24px;
	color: var(--muted);
	max-width: 70ch;
}

/* final */
.final {
	padding-block: clamp(60px, 8vw, 110px);
	position: relative;
	overflow: hidden;
	background-color: var(--peach);
}

/* looping DMCC video behind an orange multiply overlay */
.final-media {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.final-media video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

.final-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, .72) 0%, rgba(255, 255, 255, .3) 45%, rgba(255, 255, 255, 0) 70%), linear-gradient(rgba(241, 92, 34, .14), rgba(241, 92, 34, .14));
}

.final {
	isolation: isolate;
}

.final .wrap {
	position: relative;
	display: grid;
	gap: 22px;
	justify-items: start;
}

/* anchor jumps land below the 69px sticky header */
section[id], #proposal, #quote {
	scroll-margin-top: 85px;
}

.final h2 {
	font-size: clamp(36px, 5.6vw, 66px);
	max-width: 16ch;
}

.final .tag {
	font: 700 clamp(19px, 2.2vw, 25px)/1.3 var(--display);
	color: var(--orange);
}

.final p {
	color: var(--ink);
	max-width: 60ch;
}

.contact {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin-top: 8px;
}

.contact .c {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 700 18px var(--body);
	color: var(--ink);
	user-select: all;
}

.contact .c svg {
	width: 22px;
	height: 22px;
	color: var(--orange);
}

.contact .copy {
	min-height: 36px;
	padding: 0 12px;
	font-size: 13px;
}

footer {
	background: var(--white);
	border-top: 1px solid var(--line);
	padding-block: 26px;
	font-size: 14px;
	color: var(--muted);
}

footer .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}

.sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.qfzp {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-top: 20px;
	background: var(--white);
	border: 1.5px solid var(--orange);
	border-radius: 14px;
	padding: 16px 20px;
	font-size: 14.5px;
	color: var(--ink);
}

.qfzp svg {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--orange);
	margin-top: 2px;
}

.rel, .timeline {
	border: 1px solid var(--line);
}

#related .qfzp {
	background: var(--peach);
	border-color: var(--peach);
}

#why {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

#why .final-media::after {
	background: linear-gradient(90deg, rgba(255, 255, 255, .78) 0%, rgba(255, 255, 255, .35) 50%, rgba(255, 255, 255, .1) 100%), linear-gradient(rgba(241, 92, 34, .12), rgba(241, 92, 34, .12));
}

#why .why-card {
	box-shadow: 0 14px 34px -24px rgba(17, 17, 17, .35);
}

/* WhatsApp CTAs + quotation bar */
.btn .wa-ic {
	width: 17px;
	height: 17px;
}

.quote-bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px 36px;
	align-items: center;
	margin-top: 24px;
	background: var(--white);
	border: 2px solid var(--orange);
	border-radius: 14px;
	padding: clamp(20px, 3vw, 30px);
}

.quote-bar h3 {
	font-size: clamp(19px, 1.8vw, 23px);
	font-weight: 800;
	margin-bottom: 8px;
}

.quote-bar p {
	color: var(--muted);
	font-size: 15px;
	max-width: 62ch;
}

.quote-bar .qb-cta {
	display: grid;
	gap: 8px;
	justify-items: center;
}

.quote-bar small {
	font-size: 12.5px;
	color: var(--muted);
}

@media (max-width:760px) {
	.quote-bar {
		grid-template-columns: minmax(0, 1fr);
	}
	
	.quote-bar .qb-cta {
		justify-items: start;
	}
}

.ck-send-note {
	font-size: 12.5px;
	color: var(--muted);
}

/* Compact scale: closer to the staging site's type sizes */
[hidden] {
	display: none !important;
}

body {
	font-size: 15.5px;
	line-height: 1.65;
}

h2 {
	font-size: clamp(24px, 2.4vw, 32px);
}

h3 {
	font-size: 17.5px;
}

.lede {
	font-size: 16.5px;
}

.eyebrow {
	font-size: 11.5px;
}

.band {
	padding-block: clamp(48px, 5.5vw, 80px);
}

.sec-head {
	margin-bottom: 36px;
	gap: 14px;
}

.btn {
	min-height: 44px;
	padding: 0 22px;
	font-size: 15px;
}

.top .btn {
	min-height: 40px;
	font-size: 14px;
}

.copy {
	min-height: 40px;
}

.hero {
	padding-block: clamp(40px, 5vw, 72px);
}

.hero h1 {
	font-size: clamp(32px, 3.4vw, 46px);
	line-height: 1.1;
	letter-spacing: -.025em;
}

.hero .tag {
	font-size: clamp(16.5px, 1.5vw, 19px);
	margin-top: 16px;
}

.hero .lede {
	margin-top: 14px;
}

.hero-ctas {
	margin-top: 24px;
	gap: 12px;
}

.since {
	font-size: 14px;
	margin-top: 22px;
}

@media (min-width:921px) {
	.hero .lead {
		margin-top: 30px;
	}
	
	.hero .lead form {
		row-gap: 16px;
	}
}

.lead-head {
	padding: 20px 24px;
}

.lead-head h2 {
	font-size: 20px;
}

.lead-head p {
	font-size: 14px;
}

.lead form {
	padding: 22px 24px 24px;
	gap: 16px;
}

.fld label {
	font-size: 10.5px;
	display: flex;
	gap: 3px;
	align-items: baseline;
}

.fld input, .fld select, .lead .fld input, .lead .fld select {
	min-height: 46px;
	font-size: 15px;
}

.lead .btn {
	min-height: 48px;
}

.disclaimer {
	font-size: 12.5px;
	padding-top: 14px;
}

.strip .item {
	padding: 20px 18px;
	grid-template-columns: 42px minmax(0, 1fr);
}

.strip .sico {
	width: 42px;
	height: 42px;
}

.strip .sico svg {
	width: 21px;
	height: 21px;
}

.strip .big {
	font-size: 24px;
}

.strip .small {
	font-size: 13px;
}

.assure {
	padding: 24px;
}

.why-card, .svc-card, .fee-card {
	padding: 24px;
}

.rel-item {
	padding: 28px;
}

.why-card p, .svc-card p, .rel-item p, .fee-card p, .assure-row p, .incomplete p {
	font-size: 15px;
}

.outcome {
	font-size: 14px;
}

.node .d {
	font-size: 16.5px;
}

.calc-in input {
	min-height: 46px;
	font-size: 15.5px;
}

.calc-out .v {
	font-size: 19px;
}

.overdue strong {
	font-size: 18px;
}

.meter .count {
	font-size: 28px;
}

.ck {
	padding: 16px 18px;
}

.ck .cat {
	font-size: 16px;
}

.ck .docs {
	font-size: 14px;
}

.step p {
	font-size: 14.5px;
}

.faq summary {
	font-size: 16.5px;
	padding: 18px 22px;
}

.faq .ans {
	font-size: 15px;
}

.final h2 {
	font-size: clamp(28px, 3.2vw, 42px);
}

.final .tag {
	font-size: clamp(17px, 1.6vw, 20px);
}

.contact .c {
	font-size: 16px;
}

/* End custom CSS */

/* Start custom CSS for container, class: .elementor-element-ad4ec8d */

/* Layout: an "audit file" — white pages, light-orange working bands, orange marks where action or emphasis lives, navy used sparingly for weight. Single deliberate light look. */
:root {
	--white: #fff;
	--peach: #fdede7;
	--orange: #f15c22;
	--navy: #0e2d49;
	--ink: #111;
	/* text: black */
	--muted: #444;
	/* text: black at reading strength */
	--line: #f3d3c6;
	/* peach-orange hairline */
	--line-navy: rgba(14, 45, 73, .14);
	--display: "Inter", "Helvetica Neue", Arial, sans-serif;
	--body: "Inter", "Helvetica Neue", Arial, sans-serif;
	--mono: "Inter", "Helvetica Neue", Arial, sans-serif;
	--wrap: 1180px;
	--r: 14px;
	color-scheme: light;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto;
	}
	
	* {
		animation: none !important;
		transition: none !important;
	}
}

body {
	background: var(--white);
	color: var(--ink);
	font-family: var(--body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
	font-family: var(--display);
	color: var(--ink);
	line-height: 1.08;
	margin: 0;
	text-wrap: balance;
	letter-spacing: -.015em;
}

h2 {
	font-size: clamp(30px, 4.2vw, 48px);
	font-weight: 800;
}

h3 {
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -.005em;
}

p {
	margin: 0;
}

a {
	color: var(--ink);
	text-decoration-color: var(--orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

a:hover {
	color: var(--orange);
}

:focus-visible {
	outline: 3px solid var(--orange);
	outline-offset: 3px;
	border-radius: 6px;
}

.hl {
	color: var(--orange);
}

/* Matches staging site: 1180px content width, 20–40px side gutters, 80px section padding (50px on phones) */
.wrap {
	box-sizing: content-box;
	max-width: var(--wrap);
	margin: 0 auto;
	padding-left: max(clamp(20px, 4vw, 40px), env(safe-area-inset-left, 0px));
	padding-right: max(clamp(20px, 4vw, 40px), env(safe-area-inset-right, 0px));
}

.band {
	padding-block: clamp(50px, 6vw, 80px);
}

.band.peach {
	background: var(--peach);
}

.eyebrow {
	font-family: var(--mono);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--orange);
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	background: var(--orange);
}

.lede {
	font-size: 19px;
	color: var(--muted);
	max-width: 62ch;
}

.sec-head {
	display: grid;
	gap: 18px;
	max-width: 780px;
	margin-bottom: 48px;
}

/* buttons */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	font: 700 16.5px/1 var(--body);
	text-decoration: none;
	cursor: pointer;
	border: 2px solid transparent;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn-primary {
	background: var(--orange);
	color: var(--white);
}

.btn-primary:hover {
	color: var(--white);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px -10px rgba(241, 92, 34, .75);
}

.btn-ghost {
	background: transparent;
	color: var(--ink);
	border-color: var(--ink);
}

.btn-ghost:hover {
	color: var(--orange);
	border-color: var(--orange);
}

.btn svg {
	width: 18px;
	height: 18px;
}

.link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: var(--orange);
	text-decoration: none;
}

.link-arrow:hover {
	color: var(--ink);
}

.link-arrow svg {
	width: 16px;
	height: 16px;
	transition: transform .18s;
}

.link-arrow:hover svg {
	transform: translateX(4px);
}

/* top bar */
.topbar {
	background: var(--peach);
	font-size: 13.5px;
	color: var(--ink);
}

.topbar .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 6px 22px;
	min-height: 50px;
	padding-block: 6px;
}

.topbar .grp {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
}

.topbar span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.topbar svg {
	width: 15px;
	height: 15px;
	color: var(--orange);
}

@media (max-width:640px) {
	.topbar .hide-sm {
		display: none;
	}
}

/* header */
.top {
	position: sticky;
	top: env(safe-area-inset-top, 0px);
	z-index: 20;
	background: rgba(255, 255, 255, .94);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--line);
}

.top .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 69px;
}

@media (max-width:767px) {
	.top .wrap {
		min-height: 64px;
	}
}

.brand {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.brand img {
	height: 50px;
	width: auto;
	display: block;
}

.nav {
	display: flex;
	gap: 26px;
	align-items: center;
}

.nav a {
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	color: var(--ink);
}

.nav a:hover {
	color: var(--orange);
}

.top .btn {
	min-height: 44px;
	padding: 0 20px;
	font-size: 15px;
}

@media (max-width:980px) {
	.nav {
		display: none;
	}
}

.nav .has-sub {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.nav .has-sub svg {
	width: 14px;
	height: 14px;
}

@media (max-width:520px) {
	.brand img {
		height: 44px;
	}
	
	.top .btn {
		padding: 0 14px;
	}
}

/* hero */
.hero {
	padding-block: clamp(50px, 6vw, 80px);
	position: relative;
	overflow: hidden;
}

/* circle anchored to the 1180px container so it always sits behind the form */
.hero {
	isolation: isolate;
}

.hero-grid::after {
	content: "";
	position: absolute;
	right: -140px;
	top: 50%;
	transform: translateY(-55%);
	width: min(560px, 90vw);
	aspect-ratio: 1;
	max-width: 100vw;
	border-radius: 50%;
	background: var(--peach);
	z-index: -1;
	pointer-events: none;
}

.hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

@media (min-width:921px) {
	.hero-grid {
		align-items: stretch;
	}
	
	.hero .lead {
		margin-top: 36px;
		display: flex;
		flex-direction: column;
	}
	
	.hero .lead form {
		flex: 1;
		align-content: space-between;
		row-gap: 22px;
	}
}

@media (max-width:920px) {
	.hero-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.hero h1 {
	font-size: clamp(40px, 5.6vw, 70px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.02;
}

.hero h1 .hl {
	display: block;
}

.hero .tag {
	font: 600 clamp(19px, 2vw, 23px)/1.35 var(--display);
	color: var(--ink);
	margin-top: 22px;
	max-width: 30ch;
}

.hero .lede {
	margin-top: 18px;
}

.hero-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.btn-wa {
	background: var(--white);
	color: var(--ink);
	border-color: var(--ink);
}

.btn-wa:hover {
	color: var(--orange);
	border-color: var(--orange);
}

.btn-wa svg {
	color: var(--orange);
}

/* hero form */
.lead {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 22px;
	box-shadow: 0 30px 60px -32px rgba(17, 17, 17, .35);
	overflow: hidden;
	animation: rise .7s ease both .1s;
}

.lead-head {
	background: var(--orange);
	color: var(--white);
	padding: 26px 32px;
	display: grid;
	gap: 6px;
}

.lead-head h2 {
	font-size: clamp(23px, 2.2vw, 28px);
	font-weight: 800;
	color: var(--white);
	letter-spacing: -.015em;
}

.lead-head p {
	font-size: 15.5px;
	color: var(--white);
}

.lead form {
	padding: 32px 32px 36px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.lead .fld input, .lead .fld select {
	min-height: 56px;
	font-size: 16.5px;
}

.lead .btn {
	min-height: 58px;
}

@media (max-width:520px) {
	.lead-head {
		padding: 22px 20px;
	}
	
	.lead form {
		padding: 22px 20px 24px;
	}
}

@media (max-width:520px) {
	.lead form {
		grid-template-columns: minmax(0, 1fr);
	}
}

.lead .btn {
	width: 100%;
}

.req {
	color: var(--orange);
}

.disclaimer {
	grid-column: 1/-1;
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--muted);
	border-top: 1px solid var(--line);
	padding-top: 16px;
}

.disclaimer svg {
	flex: none;
	width: 18px;
	height: 18px;
	color: var(--orange);
	margin-top: 1px;
}

.fld input.invalid {
	border-color: var(--orange);
	box-shadow: 0 0 0 3px rgba(241, 92, 34, .18);
}

.sent {
	grid-column: 1/-1;
	display: grid;
	gap: 10px;
	justify-items: start;
	background: var(--peach);
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ink);
}

.sent .copy {
	min-height: 40px;
	font-size: 13.5px;
}

.since {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 30px;
	font-size: 15px;
	color: var(--muted);
}

.since span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.since svg {
	width: 18px;
	height: 18px;
	color: var(--orange);
}

/* verification record card */
.record {
	background: var(--white);
	border: 1px solid var(--line-navy);
	border-radius: 20px;
	box-shadow: 0 30px 60px -30px rgba(14, 45, 73, .35);
	overflow: hidden;
	animation: rise .7s ease both .1s;
}

@keyframes rise {
	from {
		transform: translateY(14px);
	}
	
	to {
		transform: none;
	}
}

.record-head {
	background: var(--ink);
	color: var(--white);
	padding: 16px 22px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font: 700 12px/1 var(--mono);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.record-head .dot {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.record-head .dot::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--orange);
}

.record-body {
	padding: 24px 22px;
	display: grid;
	gap: 18px;
}

.field {
	display: grid;
	gap: 6px;
	padding-bottom: 16px;
	border-bottom: 1px dashed var(--line);
}

.field:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

.field label, .field .k {
	font: 700 11.5px/1 var(--mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
}

.field .v {
	font: 700 19px/1.3 var(--display);
	color: var(--ink);
}

.acct {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.acct .num {
	font: 700 clamp(38px, 5vw, 50px)/1 var(--mono);
	color: var(--orange);
	letter-spacing: .04em;
	font-variant-numeric: tabular-nums;
}

.copy {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1.5px solid var(--ink);
	background: var(--white);
	color: var(--ink);
	font: 700 14px/1 var(--body);
	cursor: pointer;
}

.copy:hover {
	border-color: var(--orange);
	color: var(--orange);
}

.copy svg {
	width: 16px;
	height: 16px;
}

.record-foot {
	background: var(--peach);
	padding: 16px 22px;
	font-size: 14.5px;
	color: var(--muted);
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.record-foot svg {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--orange);
	margin-top: 2px;
}

/* proof strip */
.strip {
	border-block: 1px solid var(--line);
	background: var(--white);
}

.strip .wrap {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
}

.strip .item {
	padding: 26px 20px;
	border-left: 1px solid var(--line);
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	column-gap: 14px;
	row-gap: 4px;
	align-items: center;
}

.strip .sico {
	grid-row: 1/3;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--peach);
	color: var(--orange);
	display: grid;
	place-items: center;
}

.strip .sico svg {
	width: 24px;
	height: 24px;
}

.strip .item:first-child {
	border-left: 0;
	padding-left: 0;
}

.strip .big {
	font: 800 30px/1 var(--display);
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}

.strip .big.hl {
	color: var(--orange);
}

.strip .small {
	font-size: 14px;
	color: var(--muted);
}

@media (max-width:820px) {
	.strip .wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	.strip .item:nth-child(3) {
		border-left: 0;
		padding-left: 0;
	}
	
	.strip .item {
		border-top: 1px solid var(--line);
	}
	
	.strip .item:nth-child(-n+2) {
		border-top: 0;
	}
}

/* what auditors do */
.split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 80px);
	align-items: start;
}

@media (max-width:860px) {
	.split {
		grid-template-columns: minmax(0, 1fr);
	}
}

.prose {
	display: grid;
	gap: 18px;
	color: var(--muted);
	max-width: 62ch;
}

.assure {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 28px;
	display: grid;
	gap: 20px;
}

.assure-row {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.ico {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--peach);
	display: grid;
	place-items: center;
	color: var(--orange);
}

.ico svg {
	width: 22px;
	height: 22px;
}

.assure-row p {
	color: var(--muted);
	font-size: 16px;
}

.assure-row strong {
	display: block;
	color: var(--ink);
	font-family: var(--display);
	font-size: 18px;
	margin-bottom: 2px;
}

.assure-row.no .ico {
	background: var(--white);
	border: 1.5px dashed var(--line-navy);
	color: var(--ink);
}

/* why */
.why {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

@media (max-width:760px) {
	.why {
		grid-template-columns: minmax(0, 1fr);
	}
}

.why-card {
	background: var(--white);
	border-radius: 18px;
	padding: 32px;
	display: grid;
	gap: 14px;
	align-content: start;
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease;
}

.why-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 40px -26px rgba(14, 45, 73, .45);
}

.why-card .n {
	font: 700 13px/1 var(--mono);
	color: var(--orange);
	letter-spacing: .1em;
}

.why-card p {
	color: var(--muted);
	font-size: 16px;
}

.why-foot {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

/* requirements */
.req {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: start;
}

@media (max-width:860px) {
	.req {
		grid-template-columns: minmax(0, 1fr);
	}
}

.confirm {
	border: 2px solid var(--ink);
	border-radius: 18px;
	padding: 28px;
	display: grid;
	gap: 6px;
}

.confirm h3 {
	margin-bottom: 10px;
}

.confirm label {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 14px 0;
	border-top: 1px solid var(--line);
	cursor: pointer;
	font-weight: 500;
}

.confirm input {
	appearance: none;
	width: 24px;
	height: 24px;
	border: 2px solid var(--ink);
	border-radius: 7px;
	margin: 1px 0 0;
	display: grid;
	place-items: center;
	cursor: pointer;
	background: var(--white);
}

.confirm input:checked {
	background: var(--orange);
	border-color: var(--orange);
}

.confirm input:checked::after {
	content: "";
	width: 6px;
	height: 11px;
	border: solid var(--white);
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg) translate(-1px, -1px);
}

.note {
	font-size: 15px;
	color: var(--muted);
	background: var(--peach);
	border-radius: 12px;
	padding: 16px 18px;
}

/* deadline */
.timeline {
	background: var(--white);
	border-radius: 22px;
	padding: clamp(24px, 4vw, 44px);
	display: grid;
	gap: 34px;
}

.track {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	padding-top: 12px;
}

.track::before {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	top: 24px;
	height: 4px;
	background: linear-gradient(90deg, var(--navy), var(--orange));
	border-radius: 4px;
}

.node {
	position: relative;
	display: grid;
	gap: 8px;
	justify-items: start;
}

.node:nth-child(2) {
	justify-items: end;
	text-align: right;
}

.node:nth-child(3) {
	justify-items: end;
	text-align: right;
}

.node .pin {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--white);
	border: 4px solid var(--navy);
	position: relative;
	z-index: 1;
}

.node.go .pin {
	border-color: var(--orange);
	background: var(--orange);
}

.node .t {
	font: 700 12px/1.2 var(--mono);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--orange);
}

.node .d {
	font: 700 18px/1.25 var(--display);
	color: var(--ink);
}

.node .s {
	font-size: 14px;
	color: var(--muted);
	max-width: 24ch;
}

@media (max-width:700px) {
	.track {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
		padding-left: 44px;
	}
	
	.track::before {
		left: 13px;
		right: auto;
		top: 12px;
		bottom: 12px;
		width: 4px;
		height: auto;
		background: linear-gradient(180deg, var(--navy), var(--orange));
	}
	
	.node, .node:nth-child(2), .node:nth-child(3) {
		justify-items: start;
		text-align: left;
	}
	
	.node .pin {
		position: absolute;
		left: -44px;
		top: 0;
	}
}

.calc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 24px;
	border-top: 1px dashed var(--line);
	padding-top: 30px;
}

@media (max-width:760px) {
	.calc {
		grid-template-columns: minmax(0, 1fr);
	}
}

.calc-in {
	display: grid;
	gap: 14px;
	align-content: start;
}

.calc-in label {
	font: 700 12px/1 var(--mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
}

.calc-in input {
	min-height: 52px;
	border: 2px solid var(--ink);
	border-radius: 12px;
	padding: 0 14px;
	font: 600 17px var(--body);
	color: var(--ink);
	background: var(--white);
	width: 100%;
	max-width: 340px;
}

.calc-in input:focus {
	outline: none;
	border-color: var(--orange);
}

.calc-out {
	background: var(--peach);
	border-radius: 16px;
	padding: 24px;
	display: grid;
	gap: 14px;
}

.calc-out .row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	align-items: baseline;
	border-bottom: 1px solid var(--line);
	padding-bottom: 12px;
}

.calc-out .row:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

.calc-out .k {
	font-size: 15px;
	color: var(--muted);
}

.calc-out .v {
	font: 800 22px/1.2 var(--display);
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}

.calc-out .v.hl {
	color: var(--orange);
}

.calc-out small {
	font-size: 13.5px;
	color: var(--muted);
}

.overdue {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	margin-top: 28px;
	background: var(--white);
	border: 2px solid var(--orange);
	border-radius: 18px;
	padding: 26px 28px;
}

@media (max-width:760px) {
	.overdue {
		grid-template-columns: minmax(0, 1fr);
	}
}

.overdue p {
	color: var(--muted);
}

.overdue strong {
	color: var(--ink);
	font-family: var(--display);
	font-size: 20px;
	display: block;
	margin-bottom: 6px;
}

/* services */
.svc {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 20px;
}

.svc-card {
	grid-column: span 2;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 30px;
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	gap: 14px;
	background: var(--white);
	transition: border-color .2s, transform .2s;
}

.svc-card:nth-child(4), .svc-card:nth-child(5) {
	grid-column: span 3;
}

.svc-card:hover {
	border-color: var(--orange);
	transform: translateY(-3px);
}

.svc-card p {
	color: var(--muted);
	font-size: 16px;
}

.outcome {
	background: var(--peach);
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 15px;
	color: var(--ink);
}

.outcome b {
	display: block;
	font: 700 11.5px/1 var(--mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--orange);
	margin-bottom: 6px;
}

@media (max-width:980px) {
	.svc {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	.svc-card, .svc-card:nth-child(4), .svc-card:nth-child(5) {
		grid-column: span 1;
	}
}

@media (max-width:640px) {
	.svc {
		grid-template-columns: minmax(0, 1fr);
	}
}

.center-cta {
	display: flex;
	justify-content: center;
	margin-top: 44px;
}

/* related */
.rel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	background: var(--white);
	border-radius: 22px;
	overflow: hidden;
}

.rel-item {
	padding: 34px;
	display: grid;
	gap: 12px;
	align-content: start;
	border-bottom: 1px solid var(--line);
}

.rel-item:nth-child(odd) {
	border-right: 1px solid var(--line);
}

.rel-item:nth-last-child(-n+2) {
	border-bottom: 0;
}

.rel-item p {
	color: var(--muted);
	font-size: 16px;
}

.rel-item .callout {
	font-size: 14.5px;
	border-left: 3px solid var(--orange);
	padding-left: 14px;
	color: var(--ink);
}

@media (max-width:760px) {
	.rel {
		grid-template-columns: minmax(0, 1fr);
	}
	
	.rel-item:nth-child(odd) {
		border-right: 0;
	}
	
	.rel-item:nth-last-child(2) {
		border-bottom: 1px solid var(--line);
	}
}

/* checklist */
.ck-wrap {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: start;
}

@media (max-width:900px) {
	.ck-wrap {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ck-side {
	display: grid;
	gap: 22px;
	position: sticky;
	top: calc(env(safe-area-inset-top, 0px) + 93px);
}

@media (max-width:900px) {
	.ck-side {
		position: static;
	}
}

.meter {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 22px;
	display: grid;
	gap: 12px;
}

.meter .row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.meter .count {
	font: 800 34px/1 var(--display);
	color: var(--orange);
	font-variant-numeric: tabular-nums;
}

.meter .lbl {
	font-size: 14.5px;
	color: var(--muted);
}

.bar {
	height: 10px;
	border-radius: 10px;
	background: var(--peach);
	overflow: hidden;
}

.bar i {
	display: block;
	height: 100%;
	width: 0;
	background: var(--orange);
	border-radius: 10px;
	transition: width .35s ease;
}

.reset {
	justify-self: start;
	background: none;
	border: 0;
	padding: 6px 0;
	font: 600 14px var(--body);
	color: var(--ink);
	text-decoration: underline;
	text-decoration-color: var(--orange);
	text-underline-offset: 4px;
	cursor: pointer;
}

.ck-list {
	display: grid;
	gap: 12px;
}

.ck {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	background: var(--white);
	border: 1.5px solid var(--line);
	border-radius: 16px;
	padding: 20px 22px;
	cursor: pointer;
	transition: border-color .2s, background .2s;
}

.ck:hover {
	border-color: var(--orange);
}

.ck input {
	appearance: none;
	width: 26px;
	height: 26px;
	border: 2px solid var(--ink);
	border-radius: 8px;
	margin: 2px 0 0;
	display: grid;
	place-items: center;
	cursor: pointer;
	background: var(--white);
}

.ck input:checked {
	background: var(--orange);
	border-color: var(--orange);
}

.ck input:checked::after {
	content: "";
	width: 7px;
	height: 12px;
	border: solid var(--white);
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg) translate(-1px, -1px);
}

.ck .cat {
	font: 700 17px/1.3 var(--display);
	color: var(--ink);
}

.ck .docs {
	font-size: 15px;
	color: var(--muted);
	margin-top: 4px;
}

.ck:has(input:checked) {
	background: var(--peach);
	border-color: var(--peach);
}

.ck:has(input:checked) .cat {
	text-decoration: line-through;
	text-decoration-color: var(--orange);
	text-decoration-thickness: 2px;
}

.incomplete {
	background: var(--white);
	border: 2px solid var(--orange);
	border-radius: 18px;
	padding: 26px;
	display: grid;
	gap: 12px;
}

.incomplete p {
	color: var(--muted);
	font-size: 16px;
}

/* process */
.steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
	counter-reset: s;
}

.step {
	position: relative;
	padding-top: 74px;
	display: grid;
	gap: 10px;
	align-content: start;
}

.step .num {
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--peach);
	color: var(--orange);
	font: 800 24px/56px var(--display);
	text-align: center;
}

.step:last-child .num {
	background: var(--orange);
	color: var(--white);
}

.step::before {
	content: "";
	position: absolute;
	top: 27px;
	left: 64px;
	right: -8px;
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--orange) 0 6px, transparent 6px 12px);
}

.step:last-child::before {
	display: none;
}

.step p {
	color: var(--muted);
	font-size: 15.5px;
}

@media (max-width:1000px) {
	.steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	
	.step {
		padding: 0 0 0 76px;
		min-height: 56px;
	}
	
	.step::before {
		top: 62px;
		left: 27px;
		right: auto;
		bottom: -24px;
		width: 2px;
		height: auto;
		background: repeating-linear-gradient(180deg, var(--orange) 0 6px, transparent 6px 12px);
	}
}

/* verify */
.verify {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
}

@media (max-width:860px) {
	.verify {
		grid-template-columns: minmax(0, 1fr);
	}
}

.search-mock {
	background: var(--white);
	border-radius: 20px;
	padding: 26px;
	display: grid;
	gap: 16px;
	box-shadow: 0 24px 50px -32px rgba(14, 45, 73, .5);
}

.sbox {
	display: flex;
	align-items: center;
	gap: 12px;
	border: 2px solid var(--ink);
	border-radius: 12px;
	padding: 0 16px;
	min-height: 54px;
	font-weight: 600;
	color: var(--ink);
}

.sbox svg {
	width: 20px;
	height: 20px;
	color: var(--orange);
	flex: none;
}

.caret {
	display: inline-block;
	width: 2px;
	height: 20px;
	background: var(--orange);
	margin-left: 2px;
	vertical-align: -4px;
	animation: blink 1s steps(1) infinite;
}

@keyframes blink {
	50% {
		opacity: 0;
	}
}

.result {
	border: 1.5px solid var(--orange);
	border-radius: 14px;
	padding: 18px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px 14px;
	align-items: center;
	background: var(--peach);
}

.result .nm {
	font: 700 17px/1.3 var(--display);
	color: var(--ink);
}

.result .ac {
	font: 700 15px var(--mono);
	color: var(--orange);
	font-variant-numeric: tabular-nums;
}

.result .st {
	grid-column: 1/-1;
	font-size: 13.5px;
	color: var(--muted);
}

.warn {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 15.5px;
	color: var(--ink);
}

.warn svg {
	flex: none;
	width: 22px;
	height: 22px;
	color: var(--orange);
	margin-top: 2px;
}

.vsteps {
	display: grid;
	gap: 18px;
	margin: 26px 0;
}

.vsteps li {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 14px;
	color: var(--muted);
}

.vsteps li b {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 2px solid var(--orange);
	color: var(--orange);
	display: grid;
	place-items: center;
	font: 800 15px var(--display);
}

.vsteps {
	list-style: none;
	padding: 0;
}

/* fees */
.fees {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

@media (max-width:860px) {
	.fees {
		grid-template-columns: minmax(0, 1fr);
	}
}

.fee-card {
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 30px;
	display: grid;
	gap: 18px;
	align-content: start;
}

.fee-card p {
	color: var(--muted);
	font-size: 16px;
}

.chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.chip {
	font-size: 14px;
	font-weight: 600;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--peach);
	color: var(--ink);
}

/* brief builder */
.brief {
	margin-top: 24px;
	background: var(--peach);
	border-radius: 22px;
	padding: clamp(24px, 4vw, 40px);
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(24px, 4vw, 48px);
}

@media (max-width:900px) {
	.brief {
		grid-template-columns: minmax(0, 1fr);
	}
}

.brief form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

@media (max-width:560px) {
	.brief form {
		grid-template-columns: minmax(0, 1fr);
	}
}

.fld {
	display: grid;
	gap: 7px;
}

.fld.full {
	grid-column: 1/-1;
}

.fld label {
	font: 700 11.5px/1.2 var(--mono);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink);
}

.fld input, .fld select {
	min-height: 50px;
	border: 1.5px solid var(--line-navy);
	border-radius: 12px;
	padding: 0 14px;
	font: 500 16px var(--body);
	color: var(--ink);
	background: var(--white);
	width: 100%;
}

.fld input:focus, .fld select:focus {
	outline: none;
	border-color: var(--orange);
	box-shadow: 0 0 0 3px rgba(241, 92, 34, .18);
}

.brief .actions {
	grid-column: 1/-1;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.status {
	font-size: 14.5px;
	color: var(--ink);
	font-weight: 600;
}

/* faq */
.faq {
	display: grid;
	gap: 12px;
	max-width: 900px;
}

.faq details {
	border: 1.5px solid var(--line);
	border-radius: 16px;
	background: var(--white);
	transition: border-color .2s;
}

.faq details[open] {
	border-color: var(--orange);
}

.faq summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 24px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	font: 700 18px/1.35 var(--display);
	color: var(--ink);
	min-height: 44px;
}

.faq summary::-webkit-details-marker {
	display: none;
}

.faq summary .pm {
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--peach);
	position: relative;
	transition: background .2s;
}

.faq summary .pm::before, .faq summary .pm::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 2.5px;
	background: var(--orange);
	transform: translate(-50%, -50%);
	border-radius: 2px;
	transition: transform .2s;
}

.faq summary .pm::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq details[open] .pm {
	background: var(--orange);
}

.faq details[open] .pm::before, .faq details[open] .pm::after {
	background: var(--white);
}

.faq details[open] .pm::after {
	transform: translate(-50%, -50%) rotate(0);
}

.faq .ans {
	padding: 0 24px 24px;
	color: var(--muted);
	max-width: 70ch;
}

/* final */
.final {
	padding-block: clamp(60px, 8vw, 110px);
	position: relative;
	overflow: hidden;
	background-color: var(--peach);
}

/* looping DMCC video behind an orange multiply overlay */
.final-media {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.final-media video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

.final-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, .72) 0%, rgba(255, 255, 255, .3) 45%, rgba(255, 255, 255, 0) 70%), linear-gradient(rgba(241, 92, 34, .14), rgba(241, 92, 34, .14));
}

.final {
	isolation: isolate;
}

.final .wrap {
	position: relative;
	display: grid;
	gap: 22px;
	justify-items: start;
}

/* anchor jumps land below the 69px sticky header */
section[id], #proposal, #quote {
	scroll-margin-top: 85px;
}

.final h2 {
	font-size: clamp(36px, 5.6vw, 66px);
	max-width: 16ch;
}

.final .tag {
	font: 700 clamp(19px, 2.2vw, 25px)/1.3 var(--display);
	color: var(--orange);
}

.final p {
	color: var(--ink);
	max-width: 60ch;
}

.contact {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin-top: 8px;
}

.contact .c {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 700 18px var(--body);
	color: var(--ink);
	user-select: all;
}

.contact .c svg {
	width: 22px;
	height: 22px;
	color: var(--orange);
}

.contact .copy {
	min-height: 36px;
	padding: 0 12px;
	font-size: 13px;
}

footer {
	background: var(--white);
	border-top: 1px solid var(--line);
	padding-block: 26px;
	font-size: 14px;
	color: var(--muted);
}

footer .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}

.sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.qfzp {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-top: 20px;
	background: var(--white);
	border: 1.5px solid var(--orange);
	border-radius: 14px;
	padding: 16px 20px;
	font-size: 14.5px;
	color: var(--ink);
}

.qfzp svg {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--orange);
	margin-top: 2px;
}

.rel, .timeline {
	border: 1px solid var(--line);
}

#related .qfzp {
	background: var(--peach);
	border-color: var(--peach);
}

#why {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

#why .final-media::after {
	background: linear-gradient(90deg, rgba(255, 255, 255, .78) 0%, rgba(255, 255, 255, .35) 50%, rgba(255, 255, 255, .1) 100%), linear-gradient(rgba(241, 92, 34, .12), rgba(241, 92, 34, .12));
}

#why .why-card {
	box-shadow: 0 14px 34px -24px rgba(17, 17, 17, .35);
}

/* WhatsApp CTAs + quotation bar */
.btn .wa-ic {
	width: 17px;
	height: 17px;
}

.quote-bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px 36px;
	align-items: center;
	margin-top: 24px;
	background: var(--white);
	border: 2px solid var(--orange);
	border-radius: 14px;
	padding: clamp(20px, 3vw, 30px);
}

.quote-bar h3 {
	font-size: clamp(19px, 1.8vw, 23px);
	font-weight: 800;
	margin-bottom: 8px;
}

.quote-bar p {
	color: var(--muted);
	font-size: 15px;
	max-width: 62ch;
}

.quote-bar .qb-cta {
	display: grid;
	gap: 8px;
	justify-items: center;
}

.quote-bar small {
	font-size: 12.5px;
	color: var(--muted);
}

@media (max-width:760px) {
	.quote-bar {
		grid-template-columns: minmax(0, 1fr);
	}
	
	.quote-bar .qb-cta {
		justify-items: start;
	}
}

.ck-send-note {
	font-size: 12.5px;
	color: var(--muted);
}

/* Compact scale: closer to the staging site's type sizes */
[hidden] {
	display: none !important;
}

body {
	font-size: 15.5px;
	line-height: 1.65;
}

h2 {
	font-size: clamp(24px, 2.4vw, 32px);
}

h3 {
	font-size: 17.5px;
}

.lede {
	font-size: 16.5px;
}

.eyebrow {
	font-size: 11.5px;
}

.band {
	padding-block: clamp(48px, 5.5vw, 80px);
}

.sec-head {
	margin-bottom: 36px;
	gap: 14px;
}

.btn {
	min-height: 44px;
	padding: 0 22px;
	font-size: 15px;
}

.top .btn {
	min-height: 40px;
	font-size: 14px;
}

.copy {
	min-height: 40px;
}

.hero {
	padding-block: clamp(40px, 5vw, 72px);
}

.hero h1 {
	font-size: clamp(32px, 3.4vw, 46px);
	line-height: 1.1;
	letter-spacing: -.025em;
}

.hero .tag {
	font-size: clamp(16.5px, 1.5vw, 19px);
	margin-top: 16px;
}

.hero .lede {
	margin-top: 14px;
}

.hero-ctas {
	margin-top: 24px;
	gap: 12px;
}

.since {
	font-size: 14px;
	margin-top: 22px;
}

@media (min-width:921px) {
	.hero .lead {
		margin-top: 30px;
	}
	
	.hero .lead form {
		row-gap: 16px;
	}
}

.lead-head {
	padding: 20px 24px;
}

.lead-head h2 {
	font-size: 20px;
}

.lead-head p {
	font-size: 14px;
}

.lead form {
	padding: 22px 24px 24px;
	gap: 16px;
}

.fld label {
	font-size: 10.5px;
	display: flex;
	gap: 3px;
	align-items: baseline;
}

.fld input, .fld select, .lead .fld input, .lead .fld select {
	min-height: 46px;
	font-size: 15px;
}

.lead .btn {
	min-height: 48px;
}

.disclaimer {
	font-size: 12.5px;
	padding-top: 14px;
}

.strip .item {
	padding: 20px 18px;
	grid-template-columns: 42px minmax(0, 1fr);
}

.strip .sico {
	width: 42px;
	height: 42px;
}

.strip .sico svg {
	width: 21px;
	height: 21px;
}

.strip .big {
	font-size: 24px;
}

.strip .small {
	font-size: 13px;
}

.assure {
	padding: 24px;
}

.why-card, .svc-card, .fee-card {
	padding: 24px;
}

.rel-item {
	padding: 28px;
}

.why-card p, .svc-card p, .rel-item p, .fee-card p, .assure-row p, .incomplete p {
	font-size: 15px;
}

.outcome {
	font-size: 14px;
}

.node .d {
	font-size: 16.5px;
}

.calc-in input {
	min-height: 46px;
	font-size: 15.5px;
}

.calc-out .v {
	font-size: 19px;
}

.overdue strong {
	font-size: 18px;
}

.meter .count {
	font-size: 28px;
}

.ck {
	padding: 16px 18px;
}

.ck .cat {
	font-size: 16px;
}

.ck .docs {
	font-size: 14px;
}

.step p {
	font-size: 14.5px;
}

.faq summary {
	font-size: 16.5px;
	padding: 18px 22px;
}

.faq .ans {
	font-size: 15px;
}

.final h2 {
	font-size: clamp(28px, 3.2vw, 42px);
}

.final .tag {
	font-size: clamp(17px, 1.6vw, 20px);
}

.contact .c {
	font-size: 16px;
}
