/* Global site scale — slightly smaller body content, standard proportions */

html {
    font-size: 15px;
}

body {
    font-size: 1rem;
}

/* ─── Trim oversized display headings ─── */
.text-7xl { font-size: clamp(2rem, 4.5vw, 3.15rem) !important; line-height: 1.1 !important; }
.text-6xl { font-size: clamp(1.85rem, 4vw, 2.65rem) !important; line-height: 1.12 !important; }
.text-5xl { font-size: clamp(1.65rem, 3.5vw, 2.15rem) !important; line-height: 1.15 !important; }
.text-4xl { font-size: clamp(1.45rem, 2.8vw, 1.75rem) !important; line-height: 1.2 !important; }
.text-3xl { font-size: clamp(1.25rem, 2.2vw, 1.45rem) !important; line-height: 1.25 !important; }
.text-2xl { font-size: 1.2rem !important; line-height: 1.3 !important; }
.text-xl  { font-size: 1.05rem !important; line-height: 1.45 !important; }
.text-lg  { font-size: 0.975rem !important; }

/* ─── Section spacing — slightly tighter ─── */
section.py-20 { padding-top: 4.25rem !important; padding-bottom: 4.25rem !important; }
section.py-16 { padding-top: 3.25rem !important; padding-bottom: 3.25rem !important; }

/* ─── Large content images ─── */
section img.h-\[500px\],
.h-\[500px\]:not(header *):not(.group *) {
    height: 22rem !important;
}

section.h-\[500px\]:not(.modern-hero) {
    height: 22rem !important;
}

/* ─── Icon/feature circles ─── */
.w-16.h-16.rounded-full:not(header *) {
    width: 3.25rem !important;
    height: 3.25rem !important;
}

.w-16.h-16.rounded-full:not(header *) i {
    font-size: 1.15rem !important;
}

/* ─── Buttons — standard size ─── */
a[class*="px-8"][class*="py-3"],
button[class*="px-8"][class*="py-3"] {
    padding: 0.65rem 1.35rem !important;
    font-size: 0.875rem !important;
}

a[class*="px-10"][class*="py-4"],
button[class*="px-10"][class*="py-4"] {
    padding: 0.75rem 1.5rem !important;
    font-size: 0.9rem !important;
}

/* ─── Footer ─── */
footer .text-3xl { font-size: 1.35rem !important; }
footer .text-xl  { font-size: 1rem !important; }

/* ─── Mobile menu text ─── */
.mobile-menu .text-xl { font-size: 1.05rem !important; }
.mobile-menu .text-2xl { font-size: 1.25rem !important; }

/* ─── Form inputs ─── */
input[class*="py-3"],
select[class*="py-3"],
textarea[class*="py-3"] {
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
    font-size: 0.9rem !important;
}

/* ─── Hero (home) — keep proportional but slightly refined ─── */
.modern-hero-title {
    font-size: clamp(1.5rem, 3.6vw, 2.35rem) !important;
}

.modern-hero-subtitle {
    font-size: clamp(0.85rem, 1.6vw, 0.98rem) !important;
}

.modern-hero-btn {
    padding: 0.58rem 1.05rem !important;
    font-size: 0.78rem !important;
}

/* Home medium cards */
.mhz-tier-card__title { font-size: 1.1rem !important; }
.mhz-tier-card__img,
.mhz-sig-card__img-wrap,
.mhz-offer-card__media { height: 11.5rem !important; max-height: 11.5rem !important; }
.mhz-offer-card__media { height: 11rem !important; max-height: 11rem !important; }
.mhz-sig-card__title,
.mhz-offer-card__title { font-size: 1rem !important; }
