Validate an International Bank Account Number (IBAN) with full ISO 13616 checks: country-specific length and the ISO 7064 mod-97 checksum (not just a regex). Returns {valid, iban (normalized), formatted (4-char groups), countryCode, checkDigits, bban, reason}. Catches transposed digits and wrong-length accounts that a format check misses, and returns the canonical form so a glue/ETL pipeline can validate AND normalize bank details in one deterministic call. ~85 countries. No bank directory lookup — structure + checksum only.