/* Scroll reveal (page-local; other templates define these in their own CSS) */
.forensic-page-scale .reveal-view,
.forensic-page-scale .reveal-left,
.forensic-page-scale .reveal-right {
    opacity: 0;
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.forensic-page-scale .reveal-view {
    transform: translateY(24px);
}

.forensic-page-scale .reveal-left {
    transform: translateX(-28px);
}

.forensic-page-scale .reveal-right {
    transform: translateX(28px);
}

.forensic-page-scale .reveal-view.active,
.forensic-page-scale .reveal-left.active,
.forensic-page-scale .reveal-right.active {
    opacity: 1;
    transform: none;
    will-change: auto;
}



.forensic-page-scale p,
.forensic-page-scale p.text-xs,
.forensic-page-scale p.text-sm,
.forensic-page-scale p.text-base,
.forensic-page-scale p.text-lg {
    font-size: 1.65rem !important;
    line-height: 1.75 !important;
}

.forensic-page-scale :not(p).text-xs {
    font-size: 1rem !important;
}

.forensic-page-scale :not(p).text-sm {
    font-size: 1.15rem !important;
}

.forensic-page-scale :not(p).text-base {
    font-size: 1.25rem !important;
}

.forensic-page-scale h4,
.forensic-page-scale h4.text-xs,
.forensic-page-scale h4.text-sm,
.forensic-page-scale h4.text-base {
    font-size: 1.25rem !important;
    line-height: 1.4 !important;
}

.forensic-page-scale a,
.forensic-page-scale button {
    font-size: 1.05rem !important;
}

@media (min-width: 768px) and (max-width: 1439px) {

    .forensic-page-scale p,
    .forensic-page-scale p.text-xs,
    .forensic-page-scale p.text-sm,
    .forensic-page-scale p.text-base,
    .forensic-page-scale p.text-lg {
        font-size: 1.7rem !important;
        line-height: 1.8 !important;
    }

    .forensic-page-scale h4,
    .forensic-page-scale h4.text-xs,
    .forensic-page-scale h4.text-sm,
    .forensic-page-scale h4.text-base {
        font-size: 1.35rem !important;
    }
}

@media (min-width: 1440px) {

    .forensic-page-scale p,
    .forensic-page-scale p.text-xs,
    .forensic-page-scale p.text-sm,
    .forensic-page-scale p.text-base,
    .forensic-page-scale p.text-lg {
        font-size: 1.9rem !important;
        line-height: 1.85 !important;
    }

    .forensic-page-scale h4,
    .forensic-page-scale h4.text-xs,
    .forensic-page-scale h4.text-sm,
    .forensic-page-scale h4.text-base {
        font-size: 1.5rem !important;
    }
}


/* ---------- Mobile typography + section padding ---------- */
@media (max-width: 767px) {

    .template-font-scale.forensic-page-scale p,
    .template-font-scale.forensic-page-scale p.text-xs,
    .template-font-scale.forensic-page-scale p.text-sm,
    .template-font-scale.forensic-page-scale p.text-base,
    .template-font-scale.forensic-page-scale p.text-lg,
    .template-font-scale.forensic-page-scale p.text-xl,
    .template-font-scale.forensic-page-scale p.text-2xl,
    .forensic-page-scale p,
    .forensic-page-scale p.text-xs,
    .forensic-page-scale p.text-sm,
    .forensic-page-scale p.text-base,
    .forensic-page-scale p.text-lg,
    .forensic-page-scale p.text-xl,
    .forensic-page-scale p.text-2xl {
        font-size: 1.05rem !important;
        line-height: 1.65 !important;
    }

    .template-font-scale.forensic-page-scale :not(p).text-xs,
    .forensic-page-scale :not(p).text-xs {
        font-size: 0.7rem !important;
        line-height: 1.4 !important;
    }

    .template-font-scale.forensic-page-scale :not(p).text-sm,
    .forensic-page-scale :not(p).text-sm {
        font-size: 0.85rem !important;
        line-height: 1.45 !important;
    }

    .template-font-scale.forensic-page-scale :not(p).text-base,
    .forensic-page-scale :not(p).text-base {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
    }

    .template-font-scale.forensic-page-scale :not(p).text-lg,
    .forensic-page-scale :not(p).text-lg {
        font-size: 1.05rem !important;
        line-height: 1.55 !important;
    }

    .template-font-scale.forensic-page-scale :not(p).text-xl,
    .forensic-page-scale :not(p).text-xl {
        font-size: 1.15rem !important;
    }

    .template-font-scale.forensic-page-scale :not(p).text-2xl,
    .forensic-page-scale :not(p).text-2xl {
        font-size: 1.25rem !important;
    }

    .template-font-scale.forensic-page-scale h1,
    .forensic-page-scale h1 {
        font-size: 2.15rem !important;
        line-height: 1.1 !important;
    }

    .template-font-scale.forensic-page-scale h2,
    .forensic-page-scale h2 {
        font-size: 1.75rem !important;
        line-height: 1.15 !important;
    }

    .template-font-scale.forensic-page-scale h3,
    .forensic-page-scale h3 {
        font-size: 1.25rem !important;
        line-height: 1.25 !important;
    }

    .template-font-scale.forensic-page-scale h4,
    .forensic-page-scale h4,
    .forensic-page-scale h4.text-xs,
    .forensic-page-scale h4.text-sm,
    .forensic-page-scale h4.text-base,
    .forensic-page-scale h4.text-2xl,
    .forensic-page-scale h4.text-3xl {
        font-size: 1.1rem !important;
        line-height: 1.3 !important;
    }

    .template-font-scale.forensic-page-scale a,
    .template-font-scale.forensic-page-scale button,
    .forensic-page-scale a,
    .forensic-page-scale button {
        font-size: 0.85rem !important;
        line-height: 1.35 !important;
    }

    /* Arbitrary inline sizes used in badges / mono UI */
    .forensic-page-scale .text-\[16px\] {
        font-size: 0.7rem !important;
        letter-spacing: 0.12em;
    }

    .forensic-page-scale .text-\[20px\] {
        font-size: 0.8rem !important;
        line-height: 1.55 !important;
    }

    .forensic-page-scale .text-\[11px\] {
        font-size: 0.7rem !important;
        line-height: 1.5 !important;
    }

    /* Section breathing room on mobile */
    .forensic-page-scale > section {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }

    .forensic-page-scale > section:first-child {
        padding-top: 6.5rem !important;
        padding-bottom: 3.5rem !important;
    }

    .forensic-page-scale section > [class*="max-w-"] {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    .forensic-page-scale .gap-16 {
        gap: 2.5rem !important;
    }

    .forensic-page-scale .glass-panel {
        padding: 1.25rem !important;
        border-radius: 1.5rem !important;
    }
}
