/* Ezy Finance Deals theme. Mobile-first; breakpoints at 640, 900 and 1100px. */

@font-face { font-family: "Manrope"; src: url("../fonts/manrope.woff2") format("woff2"); font-weight: 500 800; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url("../fonts/dm-sans.woff2") format("woff2"); font-weight: 400 700; font-display: swap; }

:root {
  --navy: #062653;
  --navy-2: #031a3c;
  --navy-3: #0b3a73;
  --green: #0e7417;
  --green-2: #0b5e13;
  --lime: #5fe05a;
  --ink: #0d2342;
  --muted: #4d5d75;
  --line: #dbe5ef;
  --soft: #f1f7fc;
  --white: #fff;
  --radius: 14px;
  --radius-sm: 9px;
  --shadow: 0 10px 30px rgba(6, 38, 83, .08);
  --shadow-lg: 0 24px 60px rgba(3, 26, 60, .18);
  --head: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --body: "DM Sans", "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; font: 400 17px/1.65 var(--body); color: var(--ink); background: var(--white); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--green); }
h1, h2, h3 { font-family: var(--head); color: var(--navy); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 .5em; }
h1 { font-weight: 800; font-size: clamp(2.15rem, 5.4vw, 3.7rem); }
h2 { font-weight: 800; font-size: clamp(1.65rem, 3.4vw, 2.5rem); }
h3 { font-weight: 700; font-size: 1.14rem; line-height: 1.3; letter-spacing: -.015em; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--lime); outline-offset: 2px; border-radius: 4px; }

.ez-wrap { width: min(1200px, 100% - 40px); margin-inline: auto; }
.ez-wrap--narrow { width: min(820px, 100% - 40px); }
.ez-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ez-hp { position: absolute; left: -9999px; }
.ez-skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--navy); color: #fff; padding: 10px 16px; border-radius: 8px; }
.ez-skip:focus { top: 12px; }

.ez-ico { display: inline-flex; flex: none; width: 1em; height: 1em; }
.ez-ico svg { width: 100%; height: 100%; display: block; }

.ez-eyebrow { display: block; margin: 0 0 12px; font: 800 .8rem/1.3 var(--head); letter-spacing: .09em; text-transform: uppercase; color: var(--green); }

/* Buttons */
.ez-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 24px; border: 2px solid transparent; border-radius: 999px; font: 700 .96rem/1.2 var(--head); text-decoration: none; cursor: pointer; transition: transform .18s, background .18s, box-shadow .18s, color .18s, border-color .18s; }
.ez-btn:hover { transform: translateY(-2px); }
.ez-btn--primary { background: var(--green); color: #fff; box-shadow: 0 8px 20px rgba(18, 135, 28, .28); }
.ez-btn--primary:hover { background: var(--green-2); }
.ez-btn--outline { background: #fff; border-color: var(--navy); color: var(--navy); }
.ez-btn--outline:hover { background: var(--navy); color: #fff; }
.ez-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .65); color: #fff; }
.ez-btn--ghost:hover { background: #fff; color: var(--navy); }
.ez-btn--block { display: flex; width: 100%; }
.ez-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; }
.ez-more { display: inline-flex; align-items: center; gap: 8px; color: var(--green); font: 700 .93rem var(--head); }

/* Top bar and header */
.ez-topbar { background: var(--navy-2); color: #d7e3f2; font-size: .86rem; }
.ez-topbar__in { display: flex; justify-content: space-between; align-items: center; min-height: 38px; }
.ez-topbar a { display: inline-flex; align-items: center; gap: 7px; color: inherit; text-decoration: none; }
.ez-topbar a:hover { color: var(--lime); }
.ez-topbar__contact, .ez-topbar__social { display: flex; gap: 18px; }
.ez-topbar__contact a:first-child { display: none; }

.ez-header { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: 0 2px 16px rgba(6, 38, 83, .08); }
.ez-header__in { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 20px; }
.ez-logo img { width: auto; height: 58px; }
.ez-burger { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: none; border: 1px solid var(--line); border-radius: 10px; font-size: 1.7rem; color: var(--navy); cursor: pointer; }
.ez-burger__close, .ez-burger[aria-expanded="true"] .ez-burger__open { display: none; }
.ez-burger[aria-expanded="true"] .ez-burger__close { display: inline-flex; font-size: 1.3rem; }
.ez-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; background: #fff; padding: 12px 20px 24px; box-shadow: 0 24px 40px rgba(3, 26, 60, .16); }
.ez-nav.is-open { display: block; }
.ez-nav ul { list-style: none; margin: 0; padding: 0; }
.ez-nav > ul > li { border-bottom: 1px solid var(--line); }
.ez-nav a, .ez-nav button[data-sub] { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 13px 2px; background: none; border: 0; color: var(--navy); font: 700 1rem var(--head); text-decoration: none; cursor: pointer; text-align: left; }
.ez-nav a[aria-current="page"] { color: var(--green); }
.ez-sub { display: none; padding: 0 0 10px 12px !important; }
.has-sub.is-open .ez-sub { display: block; }
.has-sub.is-open button .ez-ico { transform: rotate(180deg); }
.ez-sub a { padding: 9px 2px; font-weight: 600; font-size: .96rem; }
.ez-nav .ez-nav__cta { margin-top: 16px; color: #fff; background: var(--green); border-radius: 999px; justify-content: center; }
.ez-nav .ez-nav__cta:hover { color: #fff; background: var(--green-2); }
.ez-menu-open { overflow: hidden; }

/* Hero */
.ez-hero { position: relative; isolation: isolate; color: #fff; background: var(--navy); overflow: hidden; }
.ez-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.ez-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(3, 26, 60, .94) 0%, rgba(6, 38, 83, .78) 42%, rgba(6, 38, 83, .18) 78%, rgba(6, 38, 83, .08) 100%); }
.ez-hero::after { content: ""; position: absolute; right: -130px; bottom: -220px; width: 420px; height: 420px; z-index: -1; transform: rotate(45deg); background: rgba(95, 224, 90, .16); pointer-events: none; }
.ez-hero__in { display: grid; gap: 34px; padding-block: clamp(44px, 7vw, 92px); }
.ez-page-home .ez-hero__in { min-height: min(68vh, 640px); align-content: center; }
.ez-hero h1 { color: #fff; margin-bottom: 18px; max-width: 18ch; }
.ez-hero--form h1 { max-width: none; font-size: clamp(2.05rem, 4vw, 3.05rem); }
.ez-hero h1 .ez-eyebrow, .ez-title h1 .ez-eyebrow { color: var(--lime); letter-spacing: .09em; }
.ez-hero__lead { max-width: 58ch; font-size: 1.14rem; color: #e4edf8; }
.ez-hero__ticks { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 26px 0 0; padding: 0; font-weight: 500; color: #f1f6fc; }
.ez-hero__ticks li { display: flex; align-items: center; gap: 8px; }
.ez-hero__ticks .ez-ico { color: var(--lime); }

.ez-hero__stats { display: flex; flex-wrap: wrap; gap: 18px 34px; margin: 28px 0 0; }
.ez-hero__stats div { display: flex; flex-direction: column-reverse; }
.ez-hero__stats dd { margin: 0; font: 800 1.7rem/1.15 var(--head); color: #fff; }
.ez-hero__stats dt { font-size: .88rem; color: #cfdcec; }
.ez-hero__card { padding: clamp(22px, 3vw, 32px); background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); color: var(--ink); }
.ez-hero__card h2 { font-size: 1.5rem; color: var(--navy); }
.ez-hero__card p:not(.ez-eyebrow) { color: var(--muted); }
.ez-crumbs { font-size: .86rem; margin-bottom: 18px; }
.ez-crumbs ol { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; gap: 4px 0; }
.ez-crumbs li + li::before { content: "/"; margin: 0 8px; opacity: .55; }
.ez-crumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ez-hero .ez-crumbs, .ez-title .ez-crumbs { color: #cfdcec; }

/* Compact title band */
.ez-title { color: #e4edf8; padding-block: clamp(36px, 5vw, 64px); background: linear-gradient(110deg, var(--navy-2), var(--navy) 60%, var(--navy-3)); }
.ez-title h1 { color: #fff; font-size: clamp(2rem, 4.4vw, 3rem); margin-bottom: 12px; }
.ez-title p { max-width: 62ch; margin: 0; font-size: 1.08rem; }
.ez-title--post h1 { font-size: clamp(1.8rem, 3.8vw, 2.7rem); }
.ez-post-meta { font-size: .95rem !important; color: #cfdcec; }

/* Sections */
.ez-sec { padding-block: clamp(52px, 7vw, 92px); }
.ez-sec--soft { background: var(--soft); }
.ez-sec--navy { color: #e4edf8; background: linear-gradient(115deg, var(--navy-2), var(--navy) 62%, var(--navy-3)); }
.ez-sec--navy h2, .ez-sec--navy h3 { color: #fff; }
.ez-sec--navy .ez-eyebrow { color: var(--lime); }
.ez-sec--navy .ez-card { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); box-shadow: none; }
.ez-sec--navy .ez-card p, .ez-sec--navy .ez-minis span, .ez-sec--navy .ez-head p, .ez-sec--navy .ez-steps p { color: #d7e3f2; }
.ez-sec--navy .ez-minis li { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); }
.ez-sec--navy .ez-minis strong { color: #fff; }
.ez-sec--navy .ez-card > .ez-ico, .ez-sec--navy .ez-minis .ez-ico { color: var(--lime); background: rgba(95, 224, 90, .13); }
.ez-sec--navy .ez-note { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); color: #e4edf8; }

.ez-head { max-width: 760px; margin: 0 auto clamp(30px, 4vw, 48px); text-align: center; }
.ez-head p:last-child { margin-bottom: 0; }
.ez-head > p:not(.ez-eyebrow) { color: var(--muted); font-size: 1.07rem; }
.ez-sec--navy .ez-head > p:not(.ez-eyebrow) { color: #d7e3f2; }
.ez-head--left { text-align: left; margin-inline: 0; }
.ez-prose-block { max-width: 840px; margin-bottom: 0; }

.ez-split { display: grid; gap: 34px; align-items: center; }
.ez-split .ez-head { margin-bottom: 0; }
.ez-split__copy .ez-head { margin-bottom: 26px; }
.ez-figure { margin: 0; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.ez-figure img { width: 100%; }
.ez-role { margin: 16px 0 0; font: 700 .86rem var(--head); color: var(--muted); }

/* Cards */
.ez-cards { display: grid; gap: 18px; }
.ez-card { display: block; position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.ez-sec--soft .ez-card { border-color: transparent; }
a.ez-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.ez-card h3:last-child, .ez-card p:last-child { margin-bottom: 0; }
.ez-card p { color: var(--muted); font-size: .98rem; }
.ez-card h2 { font-size: 1.28rem; }
.ez-card > .ez-ico { width: 46px; height: 46px; padding: 11px; margin-bottom: 16px; border-radius: 12px; color: var(--green); background: #e8f6ea; }
.ez-card--feature { border-top: 4px solid var(--green); }
.ez-card--feature .ez-checks { margin-top: 14px; }
.ez-card--feature .ez-checks li { margin-bottom: 7px; color: var(--navy); }
.ez-card--band { display: grid; gap: 18px; align-items: center; margin-top: 28px; background: var(--soft); border: 0; box-shadow: none; }
.ez-card--band h2 { margin-bottom: 6px; }
.ez-card--band p { margin: 0; }
.ez-card__n { display: block; margin-bottom: 10px; font: 800 1.5rem/1 var(--head); color: #3f9e47; }
.ez-sec--navy .ez-card__n { color: var(--lime); }
.ez-card__link { display: inline-block; margin-top: 12px; font: 700 .93rem var(--head); }
.ez-card__link::after { content: ""; position: absolute; inset: 0; }

.ez-minis, .ez-checks { list-style: none; margin: 0; padding: 0; }
.ez-minis { display: grid; gap: 12px; }
.ez-minis li { display: flex; gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.ez-minis .ez-ico { width: 38px; height: 38px; padding: 9px; border-radius: 10px; color: var(--green); background: #e8f6ea; }
.ez-minis strong { display: block; font: 700 1.02rem/1.3 var(--head); color: var(--navy); }
.ez-minis span:not(.ez-ico) { display: block; color: var(--muted); font-size: .94rem; line-height: 1.5; margin-top: 2px; }
.ez-checks li { position: relative; padding-left: 28px; margin-bottom: 9px; }
.ez-checks li::before { content: ""; position: absolute; left: 0; top: .28em; width: 18px; height: 18px; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M12.7 5.3a1 1 0 0 1 0 1.4l-5 5a1 1 0 0 1-1.4 0l-2-2a1 1 0 1 1 1.4-1.4L7 9.6l4.3-4.3a1 1 0 0 1 1.4 0'/%3E%3C/svg%3E") center / 14px no-repeat; }

.ez-steps { list-style: none; display: grid; gap: 22px; margin: 0; padding: 0; counter-reset: none; }
.ez-steps li { position: relative; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.ez-steps h3 { margin-bottom: .4em; }
.ez-steps h3:last-child { margin-bottom: 0; }
.ez-steps p { margin: 0; color: var(--muted); font-size: .97rem; }
.ez-steps__n { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 50%; background: var(--navy); color: #fff; font: 800 .98rem var(--head); }
.ez-steps li:nth-child(even) .ez-steps__n { background: var(--green); }
.ez-sec--navy .ez-steps li { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); box-shadow: none; }

.ez-note { display: flex; gap: 10px; margin: 24px 0 0; padding: 14px 16px; background: #f4f9f4; border: 1px solid #cfe9d1; border-radius: var(--radius-sm); font-size: .93rem; line-height: 1.5; color: var(--muted); }
.ez-note .ez-ico { margin-top: 3px; color: var(--green); }

.ez-cards > *, .ez-steps > *, .ez-minis > *, .ez-split > * { min-width: 0; overflow-wrap: break-word; }
.ez-split__side .ez-cards:not(.ez-cards--1), .ez-split__side .ez-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Intro copy beside one highlight card: the card becomes a full-height feature panel. */
.ez-split:has(> .ez-split__side > .ez-cards--1) { align-items: stretch; }
.ez-split:has(> .ez-split__side > .ez-cards--1) > .ez-head { align-self: center; max-width: none; }
.ez-split:has(> .ez-split__side > .ez-cards--1) > .ez-head .ez-eyebrow { display: flex; align-items: center; gap: 12px; }
.ez-split:has(> .ez-split__side > .ez-cards--1) > .ez-head .ez-eyebrow::before { content: ""; width: 32px; height: 2px; border-radius: 2px; background: currentColor; }
.ez-split:has(> .ez-split__side > .ez-cards--1) > .ez-head h2 { margin-bottom: .65em; }
.ez-split:has(> .ez-split__side > .ez-cards--1) > .ez-head h2 + p { font-size: 1.16rem; color: var(--ink); }
.ez-sec--navy .ez-split:has(> .ez-split__side > .ez-cards--1) > .ez-head h2 + p { color: #eef4fb; }
.ez-split__side:has(> .ez-cards--1) { display: flex; }
.ez-split__side > .ez-cards--1 { display: flex; flex: 1; }
.ez-split__side > .ez-cards--1 > .ez-card { flex: 1; display: flex; flex-direction: column; justify-content: center; isolation: isolate; overflow: hidden; padding: clamp(30px, 4vw, 52px); border: 0; border-radius: 20px; color: #d7e3f2; background: radial-gradient(120% 90% at 100% 0%, rgba(95, 224, 90, .16), transparent 55%), linear-gradient(150deg, var(--navy-2), var(--navy) 55%, var(--navy-3)); box-shadow: var(--shadow-lg); }
.ez-split__side > .ez-cards--1 > .ez-card::after { content: ""; position: absolute; right: -86px; bottom: -86px; z-index: -1; width: 210px; height: 210px; transform: rotate(45deg); background: rgba(95, 224, 90, .13); }
.ez-split__side > .ez-cards--1 > .ez-card > .ez-ico { width: 58px; height: 58px; padding: 15px; margin-bottom: 22px; border-radius: 16px; color: var(--lime); background: rgba(95, 224, 90, .14); }
.ez-split__side > .ez-cards--1 > .ez-card h3 { max-width: 22ch; margin-bottom: .55em; font-size: clamp(1.35rem, 2.3vw, 1.8rem); line-height: 1.25; letter-spacing: -.025em; color: #fff; }
.ez-split__side > .ez-cards--1 > .ez-card p { max-width: 46ch; font-size: 1.04rem; line-height: 1.65; color: #d7e3f2; }
.ez-split__side > .ez-cards--1 > .ez-card .ez-checks li { color: #eef4fb; }
.ez-split__side > .ez-cards--1 > .ez-card .ez-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 4px 18px; margin-top: 8px; }
.ez-sec--navy .ez-split__side > .ez-cards--1 > .ez-card .ez-checks li { color: var(--navy); }
.ez-split__side > .ez-cards--1 > .ez-card .ez-card__link { align-self: flex-start; margin-top: 18px; padding: 11px 20px; border-radius: 999px; background: var(--green); color: #fff; }
.ez-split__side > .ez-cards--1 > .ez-card .ez-card__n { color: var(--lime); }
/* On a navy section the panel flips to white so it still stands out. */
.ez-sec--navy .ez-split__side > .ez-cards--1 > .ez-card { color: var(--muted); background: radial-gradient(120% 90% at 100% 0%, rgba(18, 135, 28, .09), transparent 55%), #fff; }
.ez-sec--navy .ez-split__side > .ez-cards--1 > .ez-card::after { background: rgba(18, 135, 28, .08); }
.ez-sec--navy .ez-split__side > .ez-cards--1 > .ez-card > .ez-ico { color: var(--green); background: #e8f6ea; }
.ez-sec--navy .ez-split__side > .ez-cards--1 > .ez-card h3 { color: var(--navy); }
.ez-sec--navy .ez-split__side > .ez-cards--1 > .ez-card p { color: var(--muted); }

/* CTA */
.ez-cta { color: #e4edf8; padding-block: clamp(48px, 6vw, 72px); background: linear-gradient(115deg, var(--green-2), #0f8a1a 55%, #16a325); }
.ez-cta .ez-wrap { display: grid; gap: 24px; align-items: center; }
.ez-cta h2 { color: #fff; }
.ez-cta .ez-eyebrow { color: #d9fbd7; }
.ez-cta p { color: #f0fbf0; margin-bottom: 0; }
.ez-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ez-cta .ez-btn--primary { background: #fff; color: var(--green-2); box-shadow: 0 8px 20px rgba(3, 40, 10, .25); }
.ez-cta .ez-btn--primary:hover { background: var(--navy); color: #fff; }

/* FAQ */
.ez-faq { max-width: 860px; margin-inline: auto; display: grid; gap: 12px; }
.ez-faq__item { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.ez-faq summary { position: relative; display: block; padding: 17px 52px 17px 20px; font: 700 1.03rem/1.4 var(--head); color: var(--navy); cursor: pointer; list-style: none; }
.ez-faq summary::-webkit-details-marker { display: none; }
.ez-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font: 500 1.6rem/1 var(--head); color: var(--green); }
.ez-faq details[open] summary::after { content: "\2212"; }
.ez-faq__a { padding: 0 20px 18px; color: var(--muted); }
.ez-faq__a p:last-child { margin-bottom: 0; }

/* Enquiry form */
.ez-enquiry { position: relative; padding: clamp(22px, 3vw, 32px); background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); color: var(--ink); scroll-margin-top: 100px; }
.ez-enquiry h2 { font-size: 1.5rem; }
.ez-enquiry > p:not(.ez-eyebrow):not(.ez-alert) { color: var(--muted); font-size: .97rem; }
.ez-form-grid { display: grid; gap: 12px; margin-bottom: 16px; }
.ez-field span { display: block; margin-bottom: 4px; font: 700 .86rem var(--head); color: var(--navy); }
.ez-field input, .ez-field select, .ez-field textarea, .ez-news input { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid #b9c8d8; border-radius: 9px; background: #fff; font: inherit; color: var(--ink); }
.ez-field input:focus, .ez-field select:focus, .ez-field textarea:focus, .ez-news input:focus { outline: 3px solid rgba(18, 135, 28, .3); border-color: var(--green); }
.ez-field.has-error input, .ez-field.has-error select { border-color: #c62828; }
.ez-field small { color: #b71c1c; font-size: .84rem; }
.ez-form-note { display: block; margin-top: 12px; color: var(--muted); font-size: .84rem; line-height: 1.45; }
.ez-alert { padding: 11px 14px; border-radius: 9px; font-size: .95rem; }
.ez-alert--ok { background: #e7f7e9; color: #0b5e13; }
.ez-alert--err { background: #fdecea; color: #a31515; }

/* Newsletter */
.ez-news { padding-block: clamp(42px, 5vw, 64px); background: var(--soft); border-top: 1px solid var(--line); }
.ez-news__in { display: grid; gap: 24px; align-items: center; }
.ez-news h2 { font-size: clamp(1.45rem, 2.8vw, 2rem); }
.ez-news p:not(.ez-eyebrow):not(.ez-alert) { color: var(--muted); margin: 0; }
.ez-news__row { display: flex; flex-direction: column; gap: 10px; }
.ez-news small { display: block; margin-top: 8px; color: var(--muted); }

/* Footer */
.ez-footer { padding-top: clamp(44px, 6vw, 68px); background: var(--navy-2); color: #c7d5e7; font-size: .95rem; }
.ez-footer__grid { display: grid; gap: 34px; }
.ez-footer__brand img:first-child { height: 74px; width: auto; margin-bottom: 14px; }
.ez-footer__badges { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.ez-footer__badges img { height: 48px; width: auto; border-radius: 7px; }
.ez-footer__badges img:first-child { background: #fff; padding: 4px; }
.ez-footer h2 { margin: 0 0 12px; font-size: 1rem; letter-spacing: 0; color: #fff; }
.ez-footer ul { list-style: none; margin: 0; padding: 0; }
.ez-footer li { margin-bottom: 8px; line-height: 1.45; }
.ez-footer a { color: inherit; text-decoration: none; }
.ez-footer a:hover { color: var(--lime); text-decoration: underline; }
.ez-footer__legal { margin-top: 36px; padding-block: 22px; border-top: 1px solid rgba(255, 255, 255, .15); font-size: .85rem; color: #aebfd5; }
.ez-footer__legal p { margin: 0 0 4px; }

/* Rates */
.ez-rates { position: relative; z-index: 2; padding-block: clamp(48px, 6vw, 76px); background: linear-gradient(115deg, var(--navy-2), var(--navy) 65%, var(--navy-3)); color: #e4edf8; }
.ez-rates__in { display: grid; gap: 28px; align-items: center; }
.ez-rates .ez-eyebrow { color: var(--lime); }
.ez-rates h2 { color: #fff; font-size: clamp(1.4rem, 2.5vw, 1.9rem); margin-bottom: 20px; }
.ez-rates__cards { display: grid; gap: 14px; }
.ez-rate { padding: clamp(20px, 2.6vw, 28px) clamp(22px, 3vw, 34px); background: #fff; border-radius: 20px; color: var(--ink); }
.ez-rate h3 { margin-bottom: 8px; font-size: 1.08rem; }
.ez-rate dl { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; }
.ez-rate dt { color: var(--muted); font-size: .95rem; }
.ez-rate dd { margin: 0; color: var(--navy); white-space: nowrap; }
.ez-rate__num { font: 800 clamp(1.7rem, 3.4vw, 2.5rem)/1.15 var(--head); letter-spacing: -.03em; }
.ez-rate__pa { font: 700 clamp(1rem, 1.6vw, 1.3rem) var(--head); }
.ez-rates__terms { grid-column: 1 / -1; margin: 0; color: #c7d5e7; font-size: .86rem; }

/* Solutions */
.ez-solutions { display: grid; gap: 20px; }
.ez-solution { display: flex; flex-direction: column; background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.ez-solution:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.ez-solution__media { display: block; aspect-ratio: 16 / 8.5; overflow: hidden; }
.ez-solution__media picture { display: block; height: 100%; }
.ez-solution__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ez-solution:hover img { transform: scale(1.05); }
.ez-solution__body { position: relative; display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.ez-solution__body > .ez-ico { position: absolute; top: -26px; right: 22px; width: 52px; height: 52px; padding: 13px; border-radius: 14px; color: #fff; background: var(--green); box-shadow: 0 8px 18px rgba(18, 135, 28, .35); }
.ez-solution h3 { font-size: 1.22rem; padding-right: 50px; }
.ez-solution p { flex: 1; color: var(--muted); font-size: .96rem; }

/* Repayment calculator */
.ez-calc { padding-block: clamp(52px, 7vw, 92px); background: #fff; }
.ez-calc__in { display: grid; gap: 34px; align-items: center; }
.ez-calc__copy > p:not(.ez-eyebrow) { color: var(--muted); }
.ez-calc__inputs { display: grid; gap: 20px; margin-top: 26px; }
.ez-calc__inputs span { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; font-weight: 500; }
.ez-calc__inputs output { font: 800 1.02rem var(--head); color: var(--navy); }
.ez-calc input[type="range"] { width: 100%; height: 36px; margin: 0; background: none; accent-color: var(--green); cursor: pointer; -webkit-appearance: none; appearance: none; touch-action: pan-y; }
.ez-calc input[type="range"]::-webkit-slider-runnable-track { height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--green) var(--fill, 50%), #dbe5ef var(--fill, 50%)); }
.ez-calc input[type="range"]::-moz-range-track { height: 6px; border-radius: 6px; background: #dbe5ef; }
.ez-calc input[type="range"]::-moz-range-progress { height: 6px; border-radius: 6px; background: var(--green); }
.ez-calc input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; margin-top: -10px; border: 3px solid #fff; border-radius: 50%; background: var(--green); box-shadow: 0 2px 8px rgba(6, 38, 83, .35); }
.ez-calc input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border: 3px solid #fff; border-radius: 50%; background: var(--green); box-shadow: 0 2px 8px rgba(6, 38, 83, .35); }
.ez-calc__result { padding: clamp(24px, 3vw, 36px); border-radius: var(--radius); color: #e4edf8; background: linear-gradient(135deg, var(--navy-2), var(--navy-3)); box-shadow: var(--shadow-lg); }
.ez-calc__label { margin: 0; color: var(--lime); font: 700 .86rem var(--head); text-transform: uppercase; letter-spacing: .07em; }
.ez-calc__big { margin: 2px 0 18px; font: 800 clamp(2.4rem, 5vw, 3.3rem)/1.1 var(--head); letter-spacing: -.03em; color: #fff; }
.ez-calc__big small { margin-left: 6px; font-size: 1rem; font-weight: 600; letter-spacing: 0; color: #cfdcec; }
.ez-calc dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 22px; }
.ez-calc dl div { padding: 12px 14px; background: rgba(255, 255, 255, .07); border-radius: 10px; }
.ez-calc dt { color: #c7d5e7; font-size: .84rem; }
.ez-calc dd { margin: 0; font: 700 1.08rem var(--head); color: #fff; }
.ez-calc__result small { display: block; margin-top: 14px; color: #bccce0; font-size: .8rem; line-height: 1.5; }

/* Tools */
.ez-tools { display: grid; gap: 12px; }
.ez-tools > a { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: var(--soft); border-radius: var(--radius-sm); color: var(--navy); font: 700 1rem var(--head); text-decoration: none; transition: background .18s, color .18s; }
.ez-tools > a:hover { background: var(--navy); color: #fff; }
.ez-tools > a > .ez-ico { font-size: 1.45rem; color: var(--green); }
.ez-tools > a:hover > .ez-ico { color: var(--lime); }
.ez-tools--cards > a { flex-direction: column; align-items: flex-start; gap: 6px; padding: 26px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.ez-tools--cards > a > .ez-ico { width: 46px; height: 46px; padding: 11px; margin-bottom: 10px; border-radius: 12px; font-size: 1rem; background: #e8f6ea; }
.ez-tools--cards strong { font-size: 1.16rem; }
.ez-tools--cards span:not(.ez-ico):not(.ez-more) { flex: 1; font: 400 .96rem/1.5 var(--body); color: var(--muted); }
.ez-tools--cards .ez-more { margin-top: 8px; }
.ez-tools--cards > a:hover { background: #fff; color: var(--navy); transform: translateY(-3px); }

/* Stats */
.ez-stats { background: var(--green-2); color: #fff; }
.ez-stats__in { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; padding-block: 26px; gap: 10px; }
.ez-stats strong { display: block; font: 800 clamp(1.6rem, 4.2vw, 2.7rem)/1.1 var(--head); letter-spacing: -.03em; }
.ez-stats span { font-size: clamp(.78rem, 2vw, 1rem); }

/* Lenders */
.ez-lenders__grid { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; padding: 0; }
.ez-lenders__grid li { display: flex; align-items: center; justify-content: center; padding: 8px; background: #fff; border-radius: 10px; box-shadow: 0 3px 10px rgba(6, 38, 83, .05); }
.ez-lenders__grid img { max-height: 58px; width: auto; object-fit: contain; }

/* Reviews */
.ez-reviews__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 30px; }
.ez-reviews__head .ez-head { margin: 0; }
.ez-reviews__nav { display: flex; flex: none; gap: 8px; }
.ez-reviews__nav button { display: grid; place-items: center; width: 44px; height: 44px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; color: #fff; cursor: pointer; }
.ez-reviews__nav button:hover { background: var(--green); border-color: var(--green); }
.ez-reviews__track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .35) transparent; }
.ez-review { flex: 0 0 min(88%, 400px); display: flex; flex-direction: column; margin: 0; padding: 26px; background: #fff; border-radius: var(--radius); color: var(--ink); scroll-snap-align: start; }
.ez-review__stars { display: flex; gap: 3px; margin-bottom: 12px; color: #f5a623; }
.ez-review blockquote { flex: 1; margin: 0 0 18px; font-size: .97rem; line-height: 1.6; max-height: 16.2em; overflow-y: auto; }
.ez-review figcaption { display: flex; align-items: center; gap: 12px; }
.ez-review__avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--navy); color: #fff; font: 800 1rem var(--head); }
.ez-review strong { display: block; font: 700 .98rem var(--head); color: var(--navy); }
.ez-review small { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: .8rem; }

/* Related */
.ez-related { display: grid; gap: 12px; }
.ez-related a { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: #fff; border-radius: var(--radius-sm); box-shadow: var(--shadow); color: var(--navy); font: 700 1rem var(--head); text-decoration: none; transition: transform .18s; }
.ez-related a:hover { transform: translateY(-2px); }
.ez-related span:not(.ez-ico) { flex: 1; }
.ez-related .ez-ico:first-child { font-size: 1.35rem; color: var(--green); }

/* Calculator page */
.ez-calcpage { display: grid; gap: 28px; }
.ez-calcpage__frame { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.ez-calcpage iframe { display: block; width: 100%; height: 1500px; border: 0; }
.ez-calcpage__side .ez-btn { margin-top: 10px; }
.ez-back { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-weight: 700; text-decoration: none; }

/* Contact */
.ez-contact { display: grid; gap: 36px; align-items: start; }
.ez-contact__cards { display: grid; gap: 14px; }
.ez-contact__cards p { overflow-wrap: anywhere; }

/* Blog */
.ez-posts { display: grid; gap: 22px; }
.ez-post-card { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s; }
.ez-post-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.ez-post-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--soft); }
.ez-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ez-post-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 24px; }
.ez-post-card time { color: var(--muted); font-size: .85rem; }
.ez-post-card h2 { margin: 6px 0 8px; font-size: 1.2rem; line-height: 1.3; letter-spacing: -.015em; }
.ez-post-card h2 a { color: var(--navy); text-decoration: none; }
.ez-post-card h2 a::after { content: ""; position: absolute; inset: 0; }
.ez-post-card p { flex: 1; color: var(--muted); font-size: .96rem; }
.ez-pager { display: flex; justify-content: space-between; gap: 16px; margin-top: 34px; font-weight: 700; }
.ez-pager a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }

.ez-article__grid { display: grid; gap: 36px; align-items: start; }
.ez-article__img { width: 100%; border-radius: var(--radius); margin-bottom: 26px; }
.ez-article__side { display: grid; gap: 18px; }
.ez-article__side .ez-btn { margin-top: 10px; }
.ez-article__links ul { list-style: none; margin: 0; padding: 0; }
.ez-article__links li { margin-bottom: 8px; }

/* Long-form text */
.ez-prose { min-width: 0; overflow-wrap: break-word; }
.ez-prose h2 { margin-top: 1.5em; font-size: clamp(1.35rem, 2.4vw, 1.7rem); }
.ez-prose h3 { margin-top: 1.3em; }
.ez-prose > h2:first-child, .ez-prose > h3:first-child { margin-top: 0; }
.ez-prose ul, .ez-prose ol { padding-left: 1.25em; margin: 0 0 1em; }
.ez-prose li { margin-bottom: .4em; }
.ez-prose img { border-radius: var(--radius-sm); }
.ez-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; font-size: .94rem; display: block; overflow-x: auto; }
.ez-prose th, .ez-prose td { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.ez-prose th { background: var(--soft); font-family: var(--head); }
.ez-prose blockquote { margin: 1.2em 0; padding: 4px 0 4px 18px; border-left: 4px solid var(--green); color: var(--muted); }

.ez-404 { text-align: center; }
.ez-404 .ez-actions { justify-content: center; }

@media (max-width: 639px) {
  .ez-split__side .ez-cards:not(.ez-cards--1), .ez-split__side .ez-steps { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 640px) {
  .ez-topbar__contact a:first-child { display: inline-flex; }
  .ez-actions { gap: 14px; }
  .ez-cards--2, .ez-cards--3, .ez-cards--4, .ez-minis, .ez-steps, .ez-solutions, .ez-posts, .ez-related, .ez-tools--cards, .ez-contact__cards { grid-template-columns: repeat(2, 1fr); }
  .ez-steps--5 li:last-child, .ez-cards--3 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ez-form-grid { grid-template-columns: 1fr 1fr; }
  .ez-field--full { grid-column: 1 / -1; }
  .ez-news__row { flex-direction: row; }
  .ez-news__row input { flex: 1; }
  .ez-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .ez-footer__brand { grid-column: 1 / -1; }
  .ez-lenders__grid { grid-template-columns: repeat(4, 1fr); gap: 12px; }
}

@media (max-width: 899px) {
  /* The form or copy sits over the whole photo on small screens, so keep it readable. */
  .ez-hero::before { background: linear-gradient(180deg, rgba(3, 26, 60, .9), rgba(6, 38, 83, .82)); }
}

@media (min-width: 900px) {
  .ez-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 56px; }
  .ez-split--media { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .ez-split:has(> .ez-split__side > .ez-cards--1) { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(48px, 6vw, 88px); }
  .ez-split:has(> .ez-split__side > .ez-cards--1) > .ez-head { position: static; }
  .ez-split .ez-head { position: sticky; top: 110px; }
  .ez-split__copy .ez-head, .ez-plan .ez-head { position: static; }
  .ez-hero--form .ez-hero__in { grid-template-columns: minmax(0, 1fr) minmax(0, 480px); align-items: center; gap: 48px; }
  .ez-cards--3, .ez-solutions, .ez-posts, .ez-related, .ez-tools--cards { grid-template-columns: repeat(3, 1fr); }
  .ez-cards--3 > :last-child:nth-child(odd) { grid-column: auto; }
  .ez-cards--4 { grid-template-columns: repeat(4, 1fr); }
  .ez-steps { grid-template-columns: repeat(3, 1fr); }
  .ez-steps--4 { grid-template-columns: repeat(4, 1fr); }
  .ez-steps--5 { grid-template-columns: repeat(5, 1fr); }
  .ez-steps--5 li:last-child { grid-column: auto; }
  .ez-cta .ez-wrap { grid-template-columns: 1fr auto; gap: 40px; }
  .ez-card--band { grid-template-columns: 1fr auto; gap: 32px; }
  .ez-news__in { grid-template-columns: 1.1fr 1fr; gap: 48px; }
  .ez-footer__grid { grid-template-columns: 1.5fr .9fr .8fr .8fr 1.2fr; }
  .ez-footer__brand { grid-column: auto; }
  .ez-rates__in { grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 56px; }
  .ez-calc__in { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 60px; }
  .ez-lenders__grid { grid-template-columns: repeat(6, 1fr); }
  .ez-calcpage { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
  .ez-calcpage__side { position: sticky; top: 104px; }
  .ez-calcpage iframe { height: 1120px; }
  .ez-contact { grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 56px; }
  .ez-article__grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; }
  .ez-article__side { position: sticky; top: 104px; }
}

@media (min-width: 1101px) {
  .ez-burger { display: none; }
  .ez-nav, .ez-nav.is-open { position: static; display: flex; align-items: center; gap: 18px; padding: 0; max-height: none; overflow: visible; box-shadow: none; background: none; }
  .ez-nav > ul { display: flex; align-items: center; gap: 2px; }
  .ez-nav > ul > li { position: relative; border: 0; }
  .ez-nav > ul > li > a, .ez-nav button[data-sub] { width: auto; padding: 8px 9px; font-size: .9rem; white-space: nowrap; border-radius: 7px; }
  .ez-nav > ul > li > a:hover, .ez-nav button[data-sub]:hover { color: var(--green); }
  .ez-nav button .ez-ico { margin-left: 5px; font-size: .75rem; }
  .ez-sub { display: block; position: absolute; left: 0; top: 100%; min-width: 250px; padding: 10px !important; background: #fff; border-radius: 12px; box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .16s, transform .16s, visibility .16s; }
  .has-sub:hover .ez-sub, .has-sub:focus-within .ez-sub, .has-sub.is-open .ez-sub { opacity: 1; visibility: visible; transform: none; }
  .ez-sub a { padding: 9px 12px; border-radius: 8px; }
  .ez-sub a:hover { background: var(--soft); color: var(--green); }
  .ez-nav .ez-nav__cta { margin: 0; min-height: 44px; padding: 10px 18px; font-size: .88rem; white-space: nowrap; }
}

/* 3D stage: light sections with a centred heading over a card grid */
.ez-stage { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(64px, 8vw, 112px);
  background: radial-gradient(55% 45% at 12% 0%, rgba(95, 224, 90, .13), transparent 62%), radial-gradient(50% 55% at 100% 100%, rgba(11, 58, 115, .12), transparent 62%), linear-gradient(180deg, #f3f8fd, #eaf2fa); }
.ez-stage::before { content: ""; position: absolute; left: -50%; right: -50%; bottom: -8%; height: 62%; z-index: -2; pointer-events: none;
  background-image: linear-gradient(rgba(6, 38, 83, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(6, 38, 83, .14) 1px, transparent 1px); background-size: 72px 72px;
  transform: perspective(720px) rotateX(64deg); transform-origin: 50% 100%;
  -webkit-mask-image: linear-gradient(to top, #000 20%, transparent 92%); mask-image: linear-gradient(to top, #000 20%, transparent 92%); }
.ez-stage::after { content: ""; position: absolute; top: 12%; right: max(24px, calc(50% - 690px)); z-index: -1; width: 84px; height: 84px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle at 32% 28%, #fff 0, #d6fbd2 7%, #6ee86a 28%, #12871c 68%, #0a5512 100%);
  box-shadow: 0 28px 34px -18px rgba(18, 135, 28, .45); animation: ez-float 9s ease-in-out infinite; }
.ez-stage > .ez-wrap { position: relative; }
.ez-stage > .ez-wrap::before { content: ""; position: absolute; top: -30px; left: 24px; z-index: -1; width: 104px; aspect-ratio: 1; pointer-events: none;
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><defs><linearGradient id='l' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23ffffff'/><stop offset='1' stop-color='%23dbe6f3'/></linearGradient><linearGradient id='r' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23b9cce3'/><stop offset='1' stop-color='%238fa9c9'/></linearGradient><linearGradient id='t' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%2372ea6c'/><stop offset='1' stop-color='%23108a1b'/></linearGradient></defs><ellipse cx='102' cy='188' rx='74' ry='11' fill='%23062653' opacity='.14'/><polygon points='40,160 40,110 70,80 100,140 100,190' fill='url(%23l)'/><polygon points='100,140 160,110 160,160 100,190' fill='url(%23r)'/><polygon points='70,80 130,50 166,113 100,143' fill='url(%23t)'/><polygon points='70,80 100,143 95,146 66,84' fill='%230b5e13'/><polygon points='112,64 122,59 122,76 112,81' fill='%23dbe6f3'/><polygon points='122,59 128,62 128,79 122,76' fill='%238fa9c9'/><polygon points='60,150 74,157 74,180 60,173' fill='%23062653'/><polygon points='116,142 140,130 140,147 116,159' fill='%23ffffff' opacity='.85'/><polygon points='142,129 154,123 154,140 142,146' fill='%23ffffff' opacity='.85'/><polygon points='46,128 56,133 56,145 46,140' fill='%23cfe0f2'/></svg>") center / contain no-repeat; filter: drop-shadow(0 14px 18px rgba(6, 38, 83, .16)); animation: ez-float 11s ease-in-out infinite reverse; }
.ez-stage > .ez-wrap::after { content: ""; position: absolute; left: -46px; bottom: 6%; z-index: -1; width: 48px; height: 48px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle at 32% 28%, #fff 0, #c3d4ea 8%, #2c5d97 34%, #0b3a73 62%, #031a3c 100%);
  box-shadow: 0 20px 24px -14px rgba(3, 26, 60, .5); animation: ez-float 13s ease-in-out infinite; }
.ez-stage .ez-head { position: relative; }
.ez-stage .ez-cards { gap: 24px; counter-reset: ez-feat; }
.ez-stage .ez-card { --rx: 0deg; --ry: 0deg; --lift: 0px; overflow: hidden; padding: clamp(28px, 3vw, 38px); border: 1px solid rgba(255, 255, 255, .95); border-radius: 22px;
  background: linear-gradient(160deg, rgba(255, 255, 255, .97), rgba(246, 250, 255, .9)); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 #fff, 0 30px 55px -28px rgba(6, 38, 83, .32), 0 12px 24px -14px rgba(6, 38, 83, .16);
  transform: perspective(1000px) translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry)); transform-style: preserve-3d; transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s; }
.ez-stage .ez-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--green), var(--lime)); transform: scaleX(0); transform-origin: left; transition: transform .45s; }
.ez-stage .ez-card:hover { --lift: -8px; box-shadow: inset 0 1px 0 #fff, 0 44px 70px -30px rgba(6, 38, 83, .4), 0 16px 30px -14px rgba(6, 38, 83, .2); }
.ez-stage .ez-card:hover::before { transform: scaleX(1); }
.ez-stage .ez-card:has(> .ez-ico)::after { counter-increment: ez-feat; content: counter(ez-feat, decimal-leading-zero); position: absolute; top: 20px; right: 26px; font: 800 4.4rem/1 var(--head); letter-spacing: -.04em; color: rgba(6, 38, 83, .055); }
.ez-stage .ez-card > .ez-ico { width: 64px; height: 64px; padding: 18px; margin-bottom: 22px; border-radius: 18px; color: #fff;
  background: linear-gradient(145deg, #74ec6f, #12871c 58%, #0b6a14);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), inset 0 -5px 0 rgba(0, 0, 0, .2), 0 16px 24px -10px rgba(18, 135, 28, .6); transform: translateZ(36px); }
.ez-stage .ez-card:nth-child(even) > .ez-ico { background: linear-gradient(145deg, #3f74b5, #0b3a73 58%, #031a3c); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), inset 0 -5px 0 rgba(0, 0, 0, .25), 0 16px 24px -10px rgba(6, 38, 83, .55); }
.ez-stage .ez-card__n { margin-bottom: 14px; font-size: 2.7rem; color: var(--green); transform: translateZ(30px);
  text-shadow: 1px 1px 0 #b8e6bc, 2px 2px 0 #a2dba7, 3px 3px 0 #8ccf92, 4px 4px 0 #77c47e, 8px 10px 16px rgba(18, 135, 28, .28); }
.ez-stage .ez-card h3 { font-size: 1.24rem; transform: translateZ(22px); }
.ez-stage .ez-card p { font-size: 1rem; line-height: 1.65; transform: translateZ(14px); }
@keyframes ez-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -14px; } }
/* The floating house and spheres need the side margins of a wide screen; below that they would sit on the heading. */
@media (max-width: 1199px) {
  .ez-stage::after, .ez-stage > .ez-wrap::before, .ez-stage > .ez-wrap::after { display: none; }
}

/* Calculators index */
.ez-calchero { position: relative; isolation: isolate; overflow: hidden; color: #e4edf8; background: var(--navy-2); }
.ez-calchero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 78% center; }
.ez-calchero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(40% 60% at 0% 100%, rgba(95, 224, 90, .14), transparent 70%), linear-gradient(90deg, rgba(3, 26, 60, .97) 0%, rgba(3, 26, 60, .9) 34%, rgba(6, 38, 83, .45) 62%, rgba(6, 38, 83, .08) 100%); }
.ez-calchero__in { display: grid; align-items: center; padding-block: clamp(48px, 7vw, 96px); }
.ez-calchero h1 { color: #fff; font-size: clamp(2.2rem, 5vw, 3.6rem); max-width: 14ch; margin-bottom: 18px; }
.ez-calchero h1 .ez-eyebrow { color: var(--lime); }
.ez-calchero .ez-crumbs { color: #cfdcec; }
.ez-calchero__lead { max-width: 52ch; font-size: 1.14rem; color: #dbe6f3; }
.ez-calchero .ez-btn--primary .ez-ico { transition: transform .2s; }
.ez-calchero .ez-btn--primary:hover .ez-ico { transform: translateX(4px); }
.ez-calchero__facts { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; margin: 30px 0 0; padding: 0; }
.ez-calchero__facts li { display: flex; flex-direction: column; min-width: 112px; padding: 12px 18px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; background: rgba(255, 255, 255, .06); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ez-calchero__facts strong { font: 800 1.35rem/1.2 var(--head); color: #fff; }
.ez-calchero__facts span { font-size: .84rem; color: #bccce0; }

.ez-bento { display: grid; gap: 20px; }
.ez-bento__item, .ez-bento__help { position: relative; display: flex; flex-direction: column; gap: 8px; padding: clamp(24px, 3vw, 32px); border-radius: 22px; text-decoration: none; }
.ez-bento__item { overflow: hidden; color: var(--ink); background: #fff; border: 1px solid rgba(6, 38, 83, .06);
  box-shadow: 0 26px 50px -30px rgba(6, 38, 83, .35), 0 10px 20px -14px rgba(6, 38, 83, .14); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s; }
.ez-bento__item::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, rgba(95, 224, 90, .16), transparent 70%); transition: transform .4s; }
.ez-bento__item:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -32px rgba(6, 38, 83, .45), 0 14px 28px -14px rgba(6, 38, 83, .2); }
.ez-bento__item:hover::after { transform: scale(1.6); }
.ez-bento__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.ez-bento__ico { width: 56px; height: 56px; padding: 15px; border-radius: 16px; color: #fff; background: linear-gradient(145deg, #74ec6f, #12871c 58%, #0b6a14);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), inset 0 -4px 0 rgba(0, 0, 0, .2), 0 14px 22px -10px rgba(18, 135, 28, .6); }
.ez-bento__item:nth-child(even) .ez-bento__ico { background: linear-gradient(145deg, #3f74b5, #0b3a73 58%, #031a3c); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), inset 0 -4px 0 rgba(0, 0, 0, .25), 0 14px 22px -10px rgba(6, 38, 83, .55); }
.ez-bento__tag { padding: 5px 11px; border-radius: 999px; font: 700 .8rem var(--head); letter-spacing: .05em; text-transform: uppercase; color: var(--green-2); background: #e8f6ea; }
.ez-bento__item strong { font: 800 1.22rem/1.3 var(--head); letter-spacing: -.015em; color: var(--navy); }
.ez-bento__text { flex: 1; color: var(--muted); font-size: .98rem; line-height: 1.6; }
.ez-bento__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font: 700 .93rem var(--head); color: var(--green); }
.ez-bento__go .ez-ico { transition: transform .2s; }
.ez-bento__item:hover .ez-bento__go .ez-ico { transform: translateX(5px); }
.ez-bento__item.is-feature { color: #dbe6f3; border: 0; background: radial-gradient(90% 120% at 100% 0%, rgba(95, 224, 90, .22), transparent 55%), linear-gradient(140deg, var(--navy-2), var(--navy) 55%, var(--navy-3)); }
.ez-bento__item.is-feature strong { font-size: clamp(1.45rem, 2.4vw, 1.9rem); color: #fff; }
.ez-bento__item.is-feature .ez-bento__text { max-width: 44ch; color: #cfdcec; font-size: 1.05rem; }
.ez-bento__item.is-feature .ez-bento__tag { color: #fff; background: rgba(95, 224, 90, .22); }
.ez-bento__item.is-feature .ez-bento__go { color: var(--lime); }
.ez-bento__item.is-feature::after { width: 260px; height: 260px; right: -70px; bottom: -110px; border-radius: 0; transform: rotate(45deg); background: rgba(95, 224, 90, .12); }
.ez-bento__item.is-feature:hover::after { transform: rotate(45deg) scale(1.15); }
.ez-bento__help { justify-content: center; align-items: flex-start; color: var(--muted); background: linear-gradient(160deg, #e8f6ea, #f4faf5); border: 1px dashed #9fd3a4; }
.ez-bento__help strong { font: 800 1.2rem/1.3 var(--head); color: var(--navy); }
.ez-bento__help .ez-btn { margin-top: 10px; }

.ez-flow { display: grid; gap: 20px; list-style: none; margin: 0; padding: 0; counter-reset: ez-flow; }
.ez-flow li { position: relative; padding: 28px; border-radius: 20px; background: #fff; box-shadow: 0 24px 46px -30px rgba(6, 38, 83, .3); }
.ez-flow li::before { counter-increment: ez-flow; content: "0" counter(ez-flow); position: absolute; top: 20px; right: 24px; font: 800 2.8rem/1 var(--head); color: rgba(6, 38, 83, .06); }
.ez-flow li > span { display: inline-grid; place-items: center; width: 52px; height: 52px; margin-bottom: 16px; border-radius: 50%; font-size: 1.3rem; color: var(--green); background: #e8f6ea; box-shadow: 0 0 0 8px rgba(232, 246, 234, .5); }
.ez-flow h3 { margin-bottom: .4em; }
.ez-flow p { margin: 0; color: var(--muted); }

.ez-broker { position: relative; display: grid; overflow: hidden; border-radius: 26px; color: #dbe6f3;
  background: radial-gradient(70% 90% at 100% 0%, rgba(95, 224, 90, .2), transparent 60%), linear-gradient(130deg, var(--navy-2), var(--navy) 60%, var(--navy-3)); box-shadow: var(--shadow-lg); }
.ez-broker img { width: 100%; height: 320px; object-fit: cover; object-position: 50% 15%; }
.ez-broker__copy { padding: clamp(28px, 4vw, 56px); }
.ez-broker h2 { color: #fff; }
.ez-broker .ez-eyebrow { color: var(--lime); }
.ez-broker p:not(.ez-eyebrow) { max-width: 56ch; color: #cfdcec; }

@media (min-width: 640px) {
  .ez-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ez-bento__item.is-feature { grid-column: 1 / -1; }
}

@media (min-width: 900px) {
  .ez-calchero__in { min-height: 560px; }
  .ez-bento { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ez-bento__item.is-feature { grid-column: span 2; }
  .ez-bento__item:nth-child(6) { grid-column: span 2; }
  .ez-flow { grid-template-columns: repeat(3, 1fr); }
  .ez-broker { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; }
  .ez-broker img { height: 100%; min-height: 380px; }
}

@media (max-width: 899px) {
  /* Copy spans the full width here, so the whole photo needs the darker wash. */
  .ez-calchero::before { background: linear-gradient(180deg, rgba(3, 26, 60, .9), rgba(6, 38, 83, .8)); }
}

/* Editorial feature: text-only sections laid out as intro + panel */
.ez-feature-sec { position: relative; isolation: isolate; overflow: hidden;
  background: radial-gradient(rgba(6, 38, 83, .08) 1px, transparent 1.4px) 0 0 / 22px 22px, linear-gradient(180deg, #fff, #f4f8fc); }
.ez-feature-sec::before { content: ""; position: absolute; top: -140px; right: -120px; z-index: -1; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(95, 224, 90, .2), transparent 68%); }
.ez-feature-sec::after { content: ""; position: absolute; left: -90px; bottom: -90px; z-index: -1; width: 220px; height: 220px; transform: rotate(45deg); border: 2px solid rgba(14, 116, 23, .12); border-radius: 24px; }
.ez-feature { display: grid; gap: 36px; align-items: center; }
.ez-feature__intro .ez-eyebrow { display: flex; align-items: center; gap: 12px; }
.ez-feature__intro .ez-eyebrow::before { content: ""; width: 32px; height: 2px; border-radius: 2px; background: currentColor; }
.ez-feature__intro h2 { margin-bottom: .6em; }
.ez-feature__intro p:not(.ez-eyebrow) { color: var(--muted); }
.ez-feature__intro h2 + p { font-size: 1.14rem; color: var(--ink); }
.ez-feature__intro p:last-child { margin-bottom: 0; }

.ez-feature__help { display: flex; gap: 16px; margin-top: 30px; padding: 22px; border-radius: 20px; background: #fff; border: 1px solid rgba(6, 38, 83, .07); box-shadow: 0 24px 44px -30px rgba(6, 38, 83, .35); }
.ez-feature__help-ico { width: 48px; height: 48px; padding: 13px; border-radius: 14px; color: var(--green); background: #e8f6ea; }
.ez-feature__help strong { display: block; font: 800 1.08rem/1.3 var(--head); color: var(--navy); }
.ez-feature__help span { display: block; color: var(--muted); font-size: .96rem; }
.ez-feature__help-links { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 14px; }
.ez-feature__help .ez-btn { min-height: 44px; padding: 10px 20px; font-size: .9rem; }
.ez-feature__tel { display: inline-flex; align-items: center; min-height: 44px; font: 700 .95rem var(--head); color: var(--navy); text-decoration: none; }
.ez-feature__tel:hover { color: var(--green); }
.ez-feature__panel { position: relative; overflow: hidden; border-radius: 24px; padding: clamp(26px, 3.4vw, 40px); }
.ez-feature__ico { width: 60px; height: 60px; padding: 16px; border-radius: 18px; color: #fff;
  background: linear-gradient(145deg, #74ec6f, #12871c 58%, #0b6a14); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), inset 0 -4px 0 rgba(0, 0, 0, .2), 0 14px 22px -10px rgba(14, 116, 23, .6); }

.ez-feature__panel--list { background: #fff; border: 1px solid rgba(6, 38, 83, .06); box-shadow: 0 34px 60px -34px rgba(6, 38, 83, .38), 0 12px 24px -16px rgba(6, 38, 83, .16); }
.ez-feature__panel--list::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--green), var(--lime), var(--navy-3)); }
.ez-feature__panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.ez-feature__count { padding: 6px 14px; border-radius: 999px; font: 700 .82rem var(--head); letter-spacing: .04em; text-transform: uppercase; color: var(--green-2); background: #e8f6ea; }
.ez-checklist { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.ez-checklist li { display: flex; align-items: center; gap: 14px; padding: 13px 16px; border-radius: 14px; background: var(--soft); font-weight: 500; color: var(--navy); line-height: 1.4; transition: background .2s, transform .2s; }
.ez-checklist li:hover { background: #e8f6ea; }
.ez-checklist__n { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; font: 800 .82rem var(--head); color: #fff; background: var(--navy); box-shadow: 0 6px 12px -6px rgba(6, 38, 83, .6); }
.ez-checklist li:nth-child(even) .ez-checklist__n { background: var(--green); box-shadow: 0 6px 12px -6px rgba(14, 116, 23, .6); }
.ez-feature__foot { display: flex; gap: 10px; margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--line); color: var(--muted); font-size: .94rem; }
.ez-feature__foot .ez-ico { margin-top: 3px; color: var(--green); }
.ez-feature__foot p { margin: 0 0 .4em; }
.ez-feature__foot p:last-child { margin: 0; }

.ez-feature__panel--text { color: #dbe6f3; background: radial-gradient(90% 90% at 100% 0%, rgba(95, 224, 90, .22), transparent 55%), linear-gradient(145deg, var(--navy-2), var(--navy) 55%, var(--navy-3)); box-shadow: var(--shadow-lg); }
.ez-feature__panel--text::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 28px 28px; -webkit-mask-image: linear-gradient(200deg, #000, transparent 70%); mask-image: linear-gradient(200deg, #000, transparent 70%); pointer-events: none; }
.ez-feature__panel--text::after { content: ""; position: absolute; right: -70px; bottom: -70px; width: 190px; height: 190px; transform: rotate(45deg); background: rgba(95, 224, 90, .13); pointer-events: none; }
.ez-feature__panel--text .ez-feature__ico { position: relative; z-index: 1; margin-bottom: 22px; }
.ez-feature__panel--text p { position: relative; z-index: 1; margin: 0; font-size: 1.12rem; line-height: 1.7; color: #eef4fb; }

@media (min-width: 640px) {
  .ez-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .ez-feature { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(48px, 6vw, 88px); }
  .ez-feature:has(.ez-feature__panel--list) { align-items: start; }
  .ez-feature:has(.ez-feature__panel--list) .ez-feature__intro { padding-top: 30px; }
}

/* Journey timeline: process sections on navy, steps on a connected line */
.ez-journey { position: relative; isolation: isolate; overflow: hidden;
  background: radial-gradient(45% 55% at 100% 0%, rgba(95, 224, 90, .16), transparent 65%), radial-gradient(40% 50% at 0% 100%, rgba(44, 93, 151, .45), transparent 70%), linear-gradient(160deg, var(--navy-2), var(--navy) 55%, #0a3166); }
.ez-journey::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px); background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(70% 70% at 50% 40%, #000, transparent); mask-image: radial-gradient(70% 70% at 50% 40%, #000, transparent); }
.ez-journey .ez-head { max-width: 780px; }
.ez-journey .ez-head .ez-eyebrow { display: flex; align-items: center; justify-content: center; gap: 14px; }
.ez-journey .ez-head .ez-eyebrow::before, .ez-journey .ez-head .ez-eyebrow::after { content: ""; width: 34px; height: 2px; border-radius: 2px; background: currentColor; opacity: .7; }
.ez-journey .ez-head h2 { color: #fff; }
.ez-journey .ez-head p:not(.ez-eyebrow) { color: #cfdcec; }
.ez-journey .ez-actions { justify-content: center; margin-top: 40px; }
.ez-journey .ez-btn--outline { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff; }
.ez-journey .ez-btn--outline:hover { background: #fff; color: var(--navy); }
.ez-journey .ez-note { max-width: 860px; margin-inline: auto; }

.ez-journey .ez-timeline { position: relative; display: grid; grid-template-columns: none; gap: 22px; max-width: 1060px; margin: 0 auto; padding: 0; list-style: none; }
.ez-journey .ez-timeline::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 27px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, var(--lime), rgba(95, 224, 90, .35) 70%, transparent); }
.ez-journey .ez-timeline > li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 18px; align-items: start; padding: 0; background: none; border: 0; box-shadow: none; grid-column: auto; }
.ez-journey .ez-timeline .ez-steps__n { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; margin: 0; border-radius: 50%; font: 800 1.02rem var(--head); color: #fff;
  background: linear-gradient(145deg, #74ec6f, #12871c 58%, #0b6a14); box-shadow: 0 0 0 6px var(--navy), 0 0 0 7px rgba(95, 224, 90, .35), 0 14px 24px -8px rgba(0, 0, 0, .5); }
.ez-journey .ez-timeline > li:nth-child(even) .ez-steps__n { background: linear-gradient(145deg, #4f86c6, #1b4f8c 58%, #0b3a73); }
.ez-journey .ez-timeline__card { position: relative; padding: 20px 24px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .14); background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: transform .3s, border-color .3s, background .3s; }
.ez-journey .ez-timeline__card h3 { margin: 0 0 .35em; color: #fff; font-size: 1.12rem; }
.ez-journey .ez-timeline__card h3:last-child { margin: 0; }
.ez-journey .ez-timeline__card p { margin: 0; color: #cfdcec; font-size: .97rem; line-height: 1.6; }
.ez-journey .ez-timeline > li:hover .ez-timeline__card { border-color: rgba(95, 224, 90, .5); background: linear-gradient(160deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .05)); }

@media (min-width: 900px) {
  /* Zigzag: steps alternate either side of a central line. */
  .ez-journey .ez-timeline { gap: 0; }
  .ez-journey .ez-timeline::before { left: 50%; transform: translateX(-1px); }
  .ez-journey .ez-timeline > li { grid-template-columns: minmax(0, 1fr) 88px minmax(0, 1fr); gap: 0; align-items: center; }
  .ez-journey .ez-timeline > li + li { margin-top: -18px; }
  .ez-journey .ez-timeline .ez-steps__n { grid-column: 2; grid-row: 1; justify-self: center; width: 60px; height: 60px; font-size: 1.08rem; }
  .ez-journey .ez-timeline > li:nth-child(odd) .ez-timeline__card { grid-column: 1; grid-row: 1; margin-right: 6px; }
  .ez-journey .ez-timeline > li:nth-child(even) .ez-timeline__card { grid-column: 3; grid-row: 1; margin-left: 6px; }
  .ez-journey .ez-timeline__card::after { content: ""; position: absolute; top: 50%; width: 14px; height: 14px; border: 1px solid rgba(255, 255, 255, .14); background: #0d2f5f; transform: translateY(-50%) rotate(45deg); }
  .ez-journey .ez-timeline > li:nth-child(odd) .ez-timeline__card::after { right: -8px; border-left: 0; border-bottom: 0; }
  .ez-journey .ez-timeline > li:nth-child(even) .ez-timeline__card::after { left: -8px; border-right: 0; border-top: 0; }
  .ez-journey .ez-timeline > li:hover .ez-timeline__card { transform: translateY(-3px); }

  /* Titles only (the homepage): a horizontal line with the steps side by side. */
  .ez-journey .ez-timeline:not(:has(p)) { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 18px; max-width: none; }
  .ez-journey .ez-timeline:not(:has(p))::before { top: 30px; bottom: auto; left: 10%; right: 10%; width: auto; height: 2px; transform: none; background: linear-gradient(90deg, transparent, var(--lime) 12%, var(--lime) 88%, transparent); }
  .ez-journey .ez-timeline:not(:has(p)) > li:nth-child(n) { grid-template-columns: none; margin-top: 0; grid-template-rows: auto 1fr; justify-items: center; gap: 18px; margin: 0; text-align: center; }
  .ez-journey .ez-timeline:not(:has(p)) > li:nth-child(n) .ez-steps__n { grid-column: auto; grid-row: 1; }
  .ez-journey .ez-timeline:not(:has(p)) > li:nth-child(n) .ez-timeline__card { grid-column: auto; grid-row: 2; width: 100%; height: 100%; margin: 0; padding: 18px 16px; display: grid; place-items: center; }
  .ez-journey .ez-timeline:not(:has(p)) .ez-timeline__card::after { display: none; }
}
@media (hover: none) {
  .ez-journey .ez-timeline > li:hover .ez-timeline__card { transform: none; }
}

/* Light brand tint for heading-plus-cards sections */
.ez-tint { position: relative; isolation: isolate; overflow: hidden;
  background: radial-gradient(45% 60% at 0% 0%, rgba(95, 224, 90, .16), transparent 70%), radial-gradient(45% 60% at 100% 100%, rgba(11, 58, 115, .10), transparent 70%), linear-gradient(135deg, #f0faf2 0%, #f5f9fd 55%, #eaf3fb 100%); }
.ez-tint + .ez-tint { background: radial-gradient(45% 60% at 100% 0%, rgba(11, 58, 115, .10), transparent 70%), radial-gradient(45% 60% at 0% 100%, rgba(95, 224, 90, .14), transparent 70%), linear-gradient(135deg, #eaf3fb 0%, #f6fafe 55%, #eef8f0 100%); }
.ez-tint::before { content: ""; position: absolute; top: 50%; right: -110px; z-index: -1; width: 260px; height: 260px; border: 2px solid rgba(14, 116, 23, .12); border-radius: 30px; transform: translateY(-50%) rotate(45deg); pointer-events: none; }
.ez-tint + .ez-tint::before { right: auto; left: -110px; border-color: rgba(11, 58, 115, .1); }
.ez-tint::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(rgba(6, 38, 83, .07) 1px, transparent 1.4px) 0 0 / 24px 24px;
  -webkit-mask-image: linear-gradient(90deg, transparent 40%, #000); mask-image: linear-gradient(90deg, transparent 40%, #000); }
.ez-tint .ez-head .ez-eyebrow { display: flex; align-items: center; gap: 12px; }
.ez-tint .ez-head .ez-eyebrow::before { content: ""; width: 32px; height: 2px; border-radius: 2px; background: currentColor; }
.ez-tint .ez-head h2 + p { color: var(--ink); }
.ez-tint .ez-card, .ez-tint .ez-minis li { position: relative; overflow: hidden; border-color: rgba(255, 255, 255, .9); background: #fff;
  box-shadow: 0 22px 44px -28px rgba(6, 38, 83, .3), 0 8px 18px -12px rgba(6, 38, 83, .12); transition: transform .3s, box-shadow .3s; }
.ez-tint .ez-card::before, .ez-tint .ez-minis li::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--green), var(--lime)); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
.ez-tint .ez-card:hover, .ez-tint .ez-minis li:hover { transform: translateY(-4px); box-shadow: 0 32px 56px -28px rgba(6, 38, 83, .38), 0 10px 22px -12px rgba(6, 38, 83, .16); }
.ez-tint .ez-card:hover::before, .ez-tint .ez-minis li:hover::before { transform: scaleX(1); }
.ez-tint .ez-card__n { color: var(--green); }
@media (hover: none) {
  .ez-tint .ez-card:hover, .ez-tint .ez-minis li:hover { transform: none; }
}

/* Touch screens: finger-sized tap targets (about 44px) and no hover effects left stuck after a tap. */
@media (pointer: coarse) {
  .ez-topbar__in { min-height: 44px; }
  .ez-topbar a { min-height: 44px; }
  .ez-topbar__social { gap: 4px; }
  .ez-topbar__social a { justify-content: center; min-width: 44px; font-size: 1.05rem; }
  .ez-crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
  .ez-crumbs { margin-bottom: 8px; }
  .ez-footer li { margin-bottom: 0; }
  .ez-footer li a { display: inline-flex; align-items: center; min-height: 44px; }
  .ez-card__link, .ez-more, .ez-bento__go, .ez-back { min-height: 44px; display: inline-flex; align-items: center; }
  .ez-article__links li { margin-bottom: 0; }
  .ez-article__links a { display: inline-flex; align-items: center; min-height: 44px; }
  .ez-prose a, .ez-faq__a a, .ez-form-note a { padding-block: 6px; }
}
@media (hover: none) {
  .ez-btn:hover, a.ez-card:hover, .ez-solution:hover, .ez-post-card:hover, .ez-related a:hover, .ez-bento__item:hover, .ez-tools--cards > a:hover, .ez-stage .ez-card:hover { transform: none; }
  .ez-solution:hover img { transform: none; }
}

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

@media print {
  .ez-topbar, .ez-header, .ez-news, .ez-footer__grid, .ez-enquiry { display: none; }
}
