:root {
	--zf-navy: #123f71;
	--zf-navy-deep: #082f52;
	--zf-blue: #0d6ca8;
	--zf-gold: #c49331;
	--zf-gold-soft: #e9ca8c;
	--zf-cream: #f8f6f1;
	--zf-mist: #e9f1f5;
	--zf-ink: #24384b;
	--zf-muted: #687786;
	--zf-line: #d9c08e;
	--zf-green: #4fc63f;
	--zf-white: #fff;
	--zf-serif: "Noto Serif TC", "Songti TC", "PMingLiU", serif;
	--zf-sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
	--zf-shadow: 0 22px 60px rgb(7 45 78 / 14%);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.zf-loan-review-page {
	margin: 0;
	background: var(--zf-cream);
	color: var(--zf-ink);
	font-family: var(--zf-sans);
	font-size: 18px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

.zf-loan-review-page .site-content > .ast-container {
	display: block;
	width: 100%;
	max-width: none;
	padding: 0;
}

.zf-loan-review-page footer.elementor-location-footer { display: none !important; }
.zf-loan-review-page header.elementor-location-header a { font-size: 16px; }

.zf-loan-review-page main a,
.zf-loan-review-page .zf-footer a { color: inherit; }
.zf-loan-review-page img { max-width: 100%; }

.zf-shell {
	width: min(1420px, calc(100% - 48px));
	margin-inline: auto;
}

.zf-hero {
	position: relative;
	isolation: isolate;
	min-height: 760px;
	display: grid;
	align-items: center;
	padding: 96px 0 54px;
	background:
		linear-gradient(90deg, rgb(251 249 244 / 97%) 0%, rgb(251 249 244 / 90%) 42%, rgb(251 249 244 / 42%) 74%, rgb(251 249 244 / 14%) 100%),
		url("bg-img-01.jpg") center right / cover no-repeat;
}

.zf-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 170px;
	z-index: -1;
	background: linear-gradient(to bottom, transparent, var(--zf-cream));
}

.zf-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(510px, .96fr);
	gap: clamp(48px, 6vw, 110px);
	align-items: center;
}

.zf-kicker {
	display: inline-flex;
	margin: 0 0 28px;
	padding: 5px 14px;
	border-radius: 4px;
	background: var(--zf-navy);
	color: #fff;
	font: 700 18px/1.5 var(--zf-serif);
	letter-spacing: .06em;
}

.zf-kicker-light { background: #fff; color: var(--zf-navy); }

.zf-hero h1,
.zf-section h2,
.zf-consult h2,
.zf-password h1 {
	margin: 0;
	font-family: var(--zf-serif);
	font-weight: 800;
	letter-spacing: -.045em;
	color: var(--zf-navy);
}

.zf-hero h1 {
	font-size: clamp(54px, 5.2vw, 88px);
	line-height: 1.22;
}

.zf-hero h1 em {
	color: var(--zf-gold);
	font-style: normal;
}

.zf-hero-lead {
	max-width: 760px;
	margin: 32px 0 28px;
	font-family: var(--zf-serif);
	font-size: clamp(18px, 1.5vw, 23px);
	line-height: 1.75;
}

.zf-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.zf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 54px;
	padding: 0 20px;
	border: 1px solid transparent;
	border-radius: 7px;
	box-shadow: 0 8px 18px rgb(8 47 82 / 14%);
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}

.zf-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgb(8 47 82 / 20%); }
.zf-btn-phone { background: #fff; color: var(--zf-navy); border-color: #dfe6eb; }
.zf-btn-line { background: var(--zf-green); color: #fff; }
.zf-btn-ghost { background: #fff; color: var(--zf-navy); border-color: #dfe6eb; }

.zf-ui-icon { flex: 0 0 21px; width: 21px; height: 21px; }
.zf-line-icon { flex: 0 0 30px; width: 30px; height: 29px; object-fit: contain; filter: brightness(0) invert(1); }

.zf-fineprint,
.zf-hero-note,
.zf-disclaimer {
	font-size: 16px;
	color: var(--zf-muted);
}

.zf-fineprint { margin: 20px 0 0; }
.zf-hero-note { margin: 8px 0 0; }

.zf-route-card {
	padding: clamp(28px, 4vw, 52px);
	border: 1px solid rgb(255 255 255 / 72%);
	border-radius: 32px;
	background: rgb(255 255 255 / 88%);
	box-shadow: var(--zf-shadow);
	backdrop-filter: blur(12px);
}

.zf-route-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	color: var(--zf-navy-deep);
}

.zf-route-head > span { font-family: var(--zf-serif); font-size: 18px; font-weight: 800; }
.zf-route-head strong { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 6px; font-family: var(--zf-serif); }
.zf-route-head b { font-size: 60px; line-height: .9; }
.zf-route-head small { grid-column: 1 / -1; text-align: right; font-family: var(--zf-sans); font-size: 16px; }

.zf-route {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 0);
	justify-content: space-between;
	width: 100%;
	list-style: none;
	margin: 52px 0 0;
	padding: 0;
}

.zf-route::before {
	content: "";
	position: absolute;
	top: 34px;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--zf-gold);
}

.zf-route li {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 7px;
	padding-top: 58px;
	color: var(--zf-navy-deep);
	text-align: center;
}

.zf-route li::before {
	display: none;
}

.zf-route li::after {
	content: "";
	position: absolute;
	top: 27px;
	left: 50%;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--zf-gold);
	box-shadow: 0 0 0 5px #fff;
	transform: translateX(-50%);
}

.zf-route li:last-child::after { background: var(--zf-navy-deep); }
.zf-route span {
	position: absolute;
	top: 0;
	left: 50%;
	font-size: 16px;
	font-weight: 800;
	transform: translateX(-50%);
}
.zf-route strong {
	width: max-content;
	white-space: nowrap;
	font: 800 18px/1.2 var(--zf-serif);
	justify-self: start;
	transform: translateX(-50%);
}
.zf-route small {
	width: max-content;
	white-space: nowrap;
	color: var(--zf-gold);
	font-size: 16px;
	font-weight: 500;
	justify-self: start;
	transform: translateX(-50%);
}

.zf-trust-strip { background: var(--zf-cream); }
.zf-trust-strip ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px 34px;
	margin: 0;
	padding: 40px 0;
	list-style: none;
	color: var(--zf-navy-deep);
	font: 800 28px/1.4 var(--zf-serif);
}

.zf-trust-strip li { display: flex; align-items: center; }
.zf-trust-strip li::before {
	content: "";
	flex: 0 0 12px;
	width: 12px;
	height: 12px;
	margin-right: 16px;
	border-radius: 50%;
	background: var(--zf-gold);
}

.zf-section { padding: clamp(88px, 10vw, 156px) 0; }
.zf-section h2,
.zf-consult h2 { max-width: 1100px; font-size: clamp(42px, 4.4vw, 72px); line-height: 1.25; }
.zf-section-lead { max-width: 1000px; margin: 22px 0 58px; font-family: var(--zf-serif); color: #5f6871; font-size: 20px; }

.zf-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.zf-benefit {
	position: relative;
	isolation: isolate;
	min-height: 390px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 30px;
	overflow: hidden;
	border-radius: 30px;
	background-position: center;
	background-size: cover;
	color: var(--zf-navy);
}

.zf-benefit::before { content: ""; position: absolute; z-index: -1; inset: 0; background: var(--zf-benefit-overlay); }
.zf-benefit > div {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
}
.zf-benefit h3 { margin: 0 0 8px; font: 800 28px/1.25 var(--zf-serif); }
.zf-benefit p {
	min-height: 5.25em;
	margin: 0;
	line-height: 1.75;
}
.zf-benefit-photo {
	--zf-benefit-overlay: linear-gradient(to top, rgb(4 22 38 / 94%), rgb(4 22 38 / 8%) 78%);
	background-image: url("benefit-speed-v2.jpg");
	color: #fff;
}
.zf-benefit-photo h3 { color: #fff; }
.zf-benefit-sky {
	--zf-benefit-overlay: linear-gradient(to top, rgb(211 235 246 / 97%) 4%, rgb(230 244 250 / 62%) 72%, rgb(255 255 255 / 16%));
	background-image: url("benefit-value-v2.jpg");
}
.zf-benefit-gold {
	--zf-benefit-overlay: linear-gradient(to top, rgb(247 214 157 / 97%) 4%, rgb(255 237 204 / 60%) 72%, rgb(255 255 255 / 10%));
	background-image: url("benefit-simple-v2.jpg");
}
.zf-benefit-mist {
	--zf-benefit-overlay: linear-gradient(to top, rgb(207 226 236 / 97%) 4%, rgb(232 242 247 / 66%) 72%, rgb(255 255 255 / 16%));
	background-image: url("benefit-private-v2.jpg");
}

.zf-compare { background: #fff; }
.zf-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--zf-gold-soft);
	border-radius: 26px;
	box-shadow: 0 14px 42px rgb(8 47 82 / 8%);
}

.zf-table-wrap:focus-visible { outline: 3px solid var(--zf-gold); outline-offset: 4px; }

.zf-compare #zf-compare-title { max-width: none; white-space: nowrap; font-size: clamp(36px, 3.6vw, 60px); }
.zf-compare table {
	width: 100%;
	min-width: 1240px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 15px;
	line-height: 1.2;
}
.zf-compare th,
.zf-compare td { padding: 20px 24px; border-right: 1px solid var(--zf-gold-soft); border-bottom: 1px solid var(--zf-gold-soft); text-align: left; }
.zf-compare thead th { background: var(--zf-navy-deep); color: #fff; text-align: center; font: 800 16px/1.2 var(--zf-serif); }
.zf-compare tbody td { text-align: center; font-size: 15px; line-height: 1.2; }
.zf-compare tbody td > span { float: left; min-width: 42%; color: var(--zf-navy); text-align: left; font-weight: 700; line-height: 1.2; }
.zf-compare tbody td > span small { display: block; color: var(--zf-navy); font-size: 15px; font-weight: 500; line-height: 1.2; }
.zf-compare tr > *:last-child { border-right: 0; }
.zf-compare tbody tr:last-child > * { border-bottom: 0; }
.zf-compare td:nth-child(3) { background: #f4f5f6; }
.zf-disclaimer { margin: 22px 0 0; }

.zf-scenarios {
	position: relative;
	overflow: hidden;
	background: url("bg-img-02.jpg") center / cover no-repeat;
	color: #fff;
}

.zf-scenarios::before { display: none; }

.zf-scenarios .zf-shell { position: relative; }
.zf-scenarios h2,
.zf-scenarios .zf-section-lead { color: #fff; }
.zf-scenario-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 28px; }
.zf-scenario-grid article {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 18px;
	align-items: center;
	min-height: 116px;
	padding: 24px 38px;
	border: 1px solid rgb(255 255 255 / 24%);
	border-radius: 8px;
	background: rgb(10 112 178 / 82%);
}
.zf-scenario-grid span { color: #fff; font: 800 24px/1 var(--zf-serif); }
.zf-scenario-grid h3 { margin: 0; font: 800 24px/1.45 var(--zf-serif); color: #fff; }

@media (min-width: 781px) {
	.zf-scenario-grid article:nth-child(1) { grid-column: 1; grid-row: 1; }
	.zf-scenario-grid article:nth-child(2) { grid-column: 1; grid-row: 2; }
	.zf-scenario-grid article:nth-child(3) { grid-column: 1; grid-row: 3; }
	.zf-scenario-grid article:nth-child(4) { grid-column: 2; grid-row: 1; }
	.zf-scenario-grid article:nth-child(5) { grid-column: 2; grid-row: 2; }
	.zf-scenario-grid article:nth-child(6) { grid-column: 2; grid-row: 3; }
}

.zf-process { background: linear-gradient(to bottom, #fff, #e8eff7); }
.zf-process-list {
	--zf-process-gap: clamp(56px, 4vw, 76px);
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--zf-process-gap);
	margin: 78px 0 0;
	padding: 0;
	list-style: none;
}
.zf-process-list::before { display: none; }
.zf-process-list li { position: relative; padding: 120px clamp(18px, 2vw, 36px) 0 0; }
.zf-process-list li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 48px;
	left: 112px;
	right: calc(14px - var(--zf-process-gap));
	height: 2px;
	background: var(--zf-gold);
}
.zf-step {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 98px;
	height: 98px;
	border: 3px solid var(--zf-gold);
	border-radius: 50%;
	background: #fff;
	color: var(--zf-gold);
	font: 800 32px/1 var(--zf-serif);
}
.zf-process-list small { display: inline-block; padding: 2px 11px; border-radius: 999px; background: #fff; color: var(--zf-navy); font-size: 16px; font-weight: 800; }
.zf-process-list h3 { margin: 14px 0 8px; color: var(--zf-navy); font: 800 28px/1.3 var(--zf-serif); }
.zf-process-list p { max-width: 280px; margin: 0; color: #5f6871; }

.zf-reviews { background: #fff; }
.zf-reviews h2 [lang="en"] { letter-spacing: -.02em; }
.zf-stars {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 34px;
	padding: 18px 26px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 10px 30px rgb(8 47 82 / 15%);
	color: var(--zf-gold);
	font-size: 25px;
	letter-spacing: .1em;
}
.zf-stars strong { color: var(--zf-navy-deep); font: 900 24px/1 var(--zf-sans); letter-spacing: -.03em; }
.zf-stars strong small { color: var(--zf-muted); font-size: 16px; letter-spacing: 0; }
.zf-stars > span { color: var(--zf-muted); font-size: 16px; letter-spacing: 0; }
.zf-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.zf-review-grid blockquote {
	position: relative;
	margin: 0;
	padding: 50px 32px 30px;
	border: 1px solid #edf0f2;
	border-radius: 22px;
	box-shadow: 0 18px 45px rgb(8 47 82 / 12%);
}
.zf-review-grid blockquote::before { content: "“"; position: absolute; top: 8px; left: 28px; color: var(--zf-gold); font: 800 50px/1 var(--zf-serif); }
.zf-review-grid p { margin: 0; font-family: var(--zf-serif); font-size: 18px; }
.zf-review-grid footer { margin-top: 24px; color: var(--zf-muted); font-size: 16px; }
.zf-review-stars { margin-right: 8px; color: var(--zf-gold); font-weight: 800; letter-spacing: .08em; }

.zf-faq { background: var(--zf-cream); }
.zf-accordion { margin-top: 64px; border-top: 1px solid var(--zf-line); }
.zf-accordion article { border-bottom: 1px solid var(--zf-line); }
.zf-accordion h3 { margin: 0; }
.zf-accordion button {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 28px 10px;
	border: 0;
	background: transparent;
	color: var(--zf-navy);
	font: 700 24px/1.5 var(--zf-sans);
	text-align: left;
	cursor: pointer;
}
.zf-accordion button span { position: relative; flex: 0 0 24px; width: 24px; height: 24px; }
.zf-accordion button span::before,
.zf-accordion button span::after { content: ""; position: absolute; top: 11px; left: 2px; width: 20px; height: 2px; background: var(--zf-gold); transition: transform .2s ease; }
.zf-accordion button span::after { transform: rotate(90deg); }
.zf-accordion button[aria-expanded="true"] span::after { transform: rotate(0); }
.zf-loan-review-page .zf-accordion article,
.zf-loan-review-page .zf-accordion h3,
.zf-loan-review-page .zf-accordion button,
.zf-loan-review-page .zf-accordion button:hover,
.zf-loan-review-page .zf-accordion button:focus,
.zf-loan-review-page .zf-accordion button:focus-visible,
.zf-loan-review-page .zf-accordion button:active,
.zf-loan-review-page .zf-accordion button[aria-expanded="true"] {
	border-radius: 0 !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--zf-navy) !important;
}
.zf-loan-review-page .zf-accordion button:hover { color: var(--zf-gold) !important; }
.zf-answer { max-width: 900px; padding: 0 10px 28px; color: #556574; }
.zf-answer p { margin: 0; }

.zf-consult {
	padding: clamp(80px, 9vw, 130px) 0;
	background:
		linear-gradient(100deg, rgb(0 50 86 / 98%), rgb(3 66 107 / 91%)),
		url("bg-img-03.jpg") center / cover;
	color: #fff;
}
.zf-consult h2 { color: #fff; }
.zf-consult-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px, 7vw, 110px); align-items: center; }
.zf-consult-copy > p:not(.zf-kicker) { max-width: 520px; font-family: var(--zf-serif); font-size: 20px; }
.zf-contact-stack { display: grid; gap: 14px; margin-top: 48px; }
.zf-contact-stack a {
	display: grid;
	grid-template-columns: 54px 1fr;
	grid-template-rows: auto auto;
	align-items: center;
	padding: 14px 20px;
	border: 1px solid rgb(255 255 255 / 25%);
	border-radius: 8px;
	background: var(--zf-blue);
	text-decoration: none;
}
.zf-contact-icon { grid-row: 1 / span 2; width: 38px; height: 38px; object-fit: contain; }
.zf-contact-stack img.zf-contact-icon { filter: brightness(0) invert(1); }
.zf-contact-stack a.is-line { background: var(--zf-green); }
.zf-contact-stack small { font-size: 16px; }
.zf-contact-stack strong { font: 800 26px/1.2 var(--zf-serif); letter-spacing: .05em; }

.zf-form-card {
	padding: clamp(26px, 4vw, 50px);
	border-radius: 28px;
	background: rgb(255 255 255 / 96%);
	box-shadow: 0 30px 70px rgb(0 18 35 / 30%);
	color: var(--zf-ink);
}
.zf-form-card .gform_wrapper.gravity-theme { margin: 0; font-size: 16px; }
.zf-form-card .gform_wrapper.gravity-theme .gform_fields { grid-column-gap: 20px; grid-row-gap: 20px; }
.zf-form-card .gform_wrapper.gravity-theme .gfield_label { margin-bottom: 8px; color: var(--zf-navy); font: 800 16px/1.5 var(--zf-sans); }
.zf-form-card .gform_wrapper.gravity-theme .gfield_required { color: var(--zf-gold); font-size: 16px; }
.zf-form-card .gform_wrapper.gravity-theme .gform_required_legend { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.zf-form-card .gform_wrapper.gravity-theme input[type="text"],
.zf-form-card .gform_wrapper.gravity-theme input[type="tel"],
.zf-form-card .gform_wrapper.gravity-theme select {
	width: 100%;
	min-height: 56px;
	padding: 0 16px;
	border: 1px solid #d9e0e6;
	border-radius: 7px;
	background: #fff;
	color: var(--zf-ink);
	font: 400 16px/1.4 var(--zf-sans);
}
.zf-form-card .gform_wrapper.gravity-theme .gfield_radio { display: flex; flex-wrap: wrap; gap: 12px 26px; }
.zf-form-card .gform_wrapper.gravity-theme .gfield-choice-input { font-size: 16px; }
.zf-form-card .gform_wrapper.gravity-theme .gfield_radio label { font-size: 16px; }
.zf-form-card .gform_wrapper.gravity-theme .gfield_description,
.zf-form-card .gform_wrapper.gravity-theme .validation_message { font-size: 16px; line-height: 1.6; }
.zf-form-card .gform_wrapper.gravity-theme .gform_footer { margin: 28px 0 0; padding: 0; }
.zf-form-card .gform_wrapper.gravity-theme .gform_button {
	width: 100%;
	min-height: 58px;
	margin: 0;
	border: 0;
	border-radius: 7px;
	background: linear-gradient(90deg, var(--zf-navy-deep), var(--zf-blue));
	color: #fff;
	font: 800 17px/1 var(--zf-sans);
	cursor: pointer;
}
.zf-form-card .gform_wrapper.gravity-theme .gform_button:hover { filter: brightness(1.08); }
.zf-form-card .gform_ajax_spinner { display: block; margin: 12px auto 0; }
.zf-form-unavailable { margin: 0; color: var(--zf-navy); font-size: 16px; }

.zf-password {
	min-height: calc(100vh - 84px);
	display: grid;
	place-items: center;
	padding: 60px 24px;
	background:
		linear-gradient(100deg, rgb(248 246 241 / 96%), rgb(248 246 241 / 73%)),
		url("https://zhaofengad.com/wp-content/uploads/20260105-house-loan-01.jpg") center / cover;
}
.zf-password-card { width: min(620px, 100%); padding: 50px; border-radius: 26px; background: #fff; box-shadow: var(--zf-shadow); }
.zf-password h1 { font-size: clamp(42px, 7vw, 64px); }
.zf-password input[type="password"] { width: 100%; height: 52px; margin: 8px 0 14px; padding: 0 14px; border: 1px solid #cfd9e0; border-radius: 6px; }
.zf-password input[type="submit"] { min-height: 52px; padding: 0 24px; border: 0; border-radius: 6px; background: var(--zf-navy); color: #fff; font-weight: 800; cursor: pointer; }

.zf-footer { padding: 100px 0; background: #061f36; color: rgb(255 255 255 / 78%); font-size: 16px; }
.zf-footer-top { display: flex; justify-content: space-between; gap: 40px; }
.zf-footer strong { color: #fff; font: 800 24px/1.4 var(--zf-serif); }
.zf-footer p { margin: 5px 0 0; }
.zf-footer nav { display: flex; gap: 34px; align-items: start; }
.zf-footer nav a { color: #fff; text-decoration: none; }
.zf-footer nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.zf-footer-legal { margin-top: 30px; padding-top: 28px; border-top: 1px solid rgb(255 255 255 / 25%); }
.zf-footer-legal p:first-child { max-width: 1340px; line-height: 1.9; }
.zf-footer-legal p:last-child { margin-top: 22px; }
.zf-mobile-actions { display: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible { outline: 3px solid var(--zf-gold); outline-offset: 4px; }

@media (max-width: 1180px) {
	.zf-loan-review-page header.elementor-location-header a { font-size: 16px; }
	.zf-hero { min-height: auto; }
	.zf-hero-grid { grid-template-columns: 1fr; }
	.zf-hero-copy { max-width: 820px; }
	.zf-route-card { max-width: 820px; }
	.zf-benefit-grid { grid-template-columns: repeat(2, 1fr); }
	.zf-benefit { min-height: 320px; }
	.zf-process-list { grid-template-columns: repeat(2, 1fr); }
	.zf-process-list li::after { display: none; }
	.zf-consult-grid { grid-template-columns: 1fr; }
	.zf-trust-strip ul { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 780px) {
	body.zf-loan-review-page { font-size: 15px; padding-bottom: 64px; }
	.zf-loan-review-page header.elementor-location-header a { font-size: 15px; }
	.zf-shell { width: min(100% - 32px, 640px); }
	.zf-hero {
		padding: 62px 0 38px;
		background:
			linear-gradient(to bottom, rgb(251 249 244 / 93%), rgb(251 249 244 / 78%) 60%, rgb(251 249 244 / 94%)),
			url("bg-img-01.jpg") 62% top / cover no-repeat;
	}
	.zf-hero-grid { gap: 38px; }
	.zf-kicker { margin-bottom: 18px; font-size: 15px; }
	.zf-hero h1 { font-size: clamp(44px, 13vw, 62px); }
	.zf-hero h1 em { display: inline-block; white-space: nowrap; font-size: .86em; }
	.zf-hero-lead { margin-top: 22px; font-size: 17px; }
	.zf-actions { display: grid; }
	.zf-btn { width: 100%; }
	.zf-route-card { padding: 24px 20px; border-radius: 22px; }
	.zf-route { grid-template-columns: repeat(4, minmax(0, 1fr)); justify-content: stretch; gap: 0; margin-top: 34px; }
	.zf-route strong,
	.zf-route small { justify-self: center; transform: none; }
	.zf-route::before { display: block; left: 12.5%; right: 12.5%; }
	.zf-route li:nth-child(odd)::before { display: none; }
	.zf-trust-strip ul { grid-template-columns: 1fr 1fr; font-size: 20px; }
	.zf-trust-strip li::before { flex-basis: 9px; width: 9px; height: 9px; margin-right: 10px; }
	.zf-section { padding: 76px 0; }
	.zf-section h2,
	.zf-consult h2 { font-size: clamp(38px, 10vw, 52px); }
	.zf-compare #zf-compare-title { white-space: normal; font-size: clamp(34px, 9vw, 46px); }
	.zf-section-lead { margin-bottom: 38px; font-size: 17px; }
	.zf-benefit-grid,
	.zf-scenario-grid,
	.zf-process-list,
	.zf-review-grid { grid-template-columns: 1fr; }
	.zf-benefit { min-height: 280px; border-radius: 22px; }
	.zf-scenario-grid article { padding: 20px; }
	.zf-process-list { gap: 46px; margin-top: 48px; }
	.zf-process-list li { min-height: 0; padding: 8px 0 0 86px; }
	.zf-step { width: 64px; height: 64px; font-size: 24px; }
	.zf-process-list h3 { font-size: 23px; }
	.zf-accordion { margin-top: 40px; }
	.zf-accordion button { padding: 22px 4px; font-size: 18px; }
	.zf-contact-stack { margin-top: 34px; }
	.zf-form-card { padding: 24px 18px; border-radius: 20px; }
	.zf-form-card .gform_wrapper.gravity-theme,
	.zf-form-card .gform_wrapper.gravity-theme .gfield_label,
	.zf-form-card .gform_wrapper.gravity-theme input[type="text"],
	.zf-form-card .gform_wrapper.gravity-theme input[type="tel"],
	.zf-form-card .gform_wrapper.gravity-theme select,
	.zf-form-card .gform_wrapper.gravity-theme .gfield_radio label,
	.zf-form-card .gform_wrapper.gravity-theme .gfield-choice-input,
	.zf-form-card .gform_wrapper.gravity-theme .gfield_description,
	.zf-form-card .gform_wrapper.gravity-theme .validation_message { font-size: 15px; }
	.zf-password-card { padding: 32px 22px; }
	.zf-footer-top { flex-direction: column; }
	.zf-footer { padding: 100px 0; }
	.zf-footer nav { gap: 24px; }
	.zf-mobile-actions {
		position: fixed;
		z-index: 999;
		left: 0;
		right: 0;
		bottom: 0;
		display: grid;
		grid-template-columns: 1fr 1fr;
		box-shadow: 0 -8px 24px rgb(4 28 49 / 18%);
	}
	.zf-loan-review-page .zf-mobile-actions a,
	.zf-loan-review-page .zf-mobile-actions a:visited,
	.zf-loan-review-page .zf-mobile-actions a:hover,
	.zf-loan-review-page .zf-mobile-actions a:focus {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 9px;
		min-height: 58px;
		background: var(--zf-blue);
		color: #fff;
		font-weight: 800;
		text-decoration: none;
	}
	.zf-loan-review-page .zf-mobile-actions a:last-child { background: var(--zf-green); }
	.zf-mobile-action-icon { flex: 0 0 23px; width: 23px; height: 23px; object-fit: contain; color: #fff; }
	.zf-mobile-actions img.zf-mobile-action-icon { filter: brightness(0) invert(1); }
}

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