.irm-directory{--irm-blue:#102b4c;--irm-gold:#ffb84d;--irm-border:#e3e8ef;--irm-text:#1d2b3f;--irm-muted:#64748b;max-width:1100px;margin:28px auto;color:var(--irm-text);font:inherit}
.irm-directory *{box-sizing:border-box}.irm-directory-hero{background:linear-gradient(115deg,#102b4c,#1c4773);color:#fff;border-radius:18px 18px 0 0;padding:42px 36px}.irm-eyebrow{color:#ffcf87;font-size:12px;font-weight:700;letter-spacing:1.4px}.irm-directory h1{font-size:clamp(26px,4vw,42px);line-height:1.16;margin:14px 0}.irm-directory-hero p{max-width:680px;color:#e6edf6;font-size:16px;line-height:1.7}.irm-pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.irm-pill-row span{border:1px solid #7190af;background:#ffffff10;padding:7px 12px;border-radius:25px;font-size:12px}.irm-content{background:#f7f9fc;padding:26px;border:1px solid var(--irm-border);border-top:0;border-radius:0 0 18px 18px}.irm-panel,.irm-results-panel{background:white;border:1px solid var(--irm-border);border-radius:14px;padding:26px;margin-bottom:24px;box-shadow:0 3px 13px #102b4c08}.irm-directory h2{font-size:25px;line-height:1.3;margin:0 0 8px}.irm-muted{color:var(--irm-muted);font-size:14px;line-height:1.7}.irm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.irm-form label:not(.irm-agree),.irm-search-label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;margin:14px 0}.irm-form strong{color:#c33131}.irm-directory input:not([type=checkbox]):not([type=file]),.irm-directory select,.irm-directory textarea{width:100%;min-height:44px;border:1px solid #cdd7e3;border-radius:8px;background:white;padding:11px 12px;font:inherit;font-size:14px;color:var(--irm-text)}.irm-directory input[type=file]{font-size:12px;max-width:100%}.irm-directory textarea{resize:vertical}.irm-agree{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.55;margin:17px 0}.irm-agree input{margin-top:4px}.irm-directory button,.irm-visit{border:0;background:var(--irm-blue);color:white;border-radius:8px;padding:12px 19px;font-weight:700;font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.irm-directory button:hover,.irm-visit:hover{background:#1f5184;color:white}.irm-directory button:disabled{opacity:.6;cursor:wait}.irm-submit{width:100%;min-height:48px}.irm-note{font-size:12px;color:var(--irm-muted);margin:15px 0 0}.irm-hidden{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}.irm-form-status{margin-top:12px;font-size:14px}.irm-success{color:#177245}.irm-error{color:#bf3030}.irm-results-heading{display:flex;justify-content:space-between;align-items:start;gap:10px}.irm-counter{font-size:12px;background:#ecf1f7;padding:5px 10px;border-radius:20px;white-space:nowrap}.irm-search-form{display:grid;grid-template-columns:2fr 1.2fr auto;align-items:end;gap:12px;margin:15px 0 22px}.irm-search-form .irm-search-label{margin:0}.irm-search-form button{min-height:44px}.irm-listings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.irm-card{border:1px solid var(--irm-border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:11px;min-width:0;background:#fff}.irm-card-top{display:flex;gap:11px;align-items:center}.irm-logo{width:58px;height:58px;object-fit:contain;border-radius:9px;background:#edf2f7;padding:4px;flex-shrink:0}.irm-placeholder{display:grid;place-items:center;font-size:22px}.irm-card-heading{min-width:0}.irm-card h3{font-size:16px;margin:0 0 4px;line-height:1.4}.irm-card h3 a{color:var(--irm-blue);text-decoration:none}.irm-card small,.irm-place{font-size:12px;color:var(--irm-muted)}.irm-card-description{font-size:13px;line-height:1.65;flex:1;margin:0}.irm-visit{font-size:13px;text-align:center}.irm-pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:22px;font-size:13px}.irm-pagination button{padding:8px 13px}.irm-pagination button[hidden]{display:none}.irm-profile-details{border:1px solid #e3e8ef;border-radius:10px;padding:16px;margin-top:20px}
@media(max-width:760px){.irm-directory-hero{padding:30px 21px}.irm-content{padding:12px}.irm-panel,.irm-results-panel{padding:17px}.irm-grid,.irm-listings{grid-template-columns:1fr}.irm-search-form{grid-template-columns:1fr}.irm-directory h2{font-size:22px}}
/* Upgrade: premium 1350px responsive directory */
.irm-directory{max-width:1350px!important;width:calc(100% - 32px);font-family:'DM Sans',sans-serif!important;font-size:15px;line-height:1.65}
.irm-directory input,.irm-directory button,.irm-directory textarea,.irm-directory select{font-family:'DM Sans',sans-serif!important}
.irm-directory-hero{padding:60px 62px;background:linear-gradient(122deg,#0d2440,#12365c 60%,#176a86);border-radius:24px 24px 0 0}
.irm-directory-hero h1{font-size:clamp(32px,3.7vw,54px);letter-spacing:-1.7px;font-weight:800;max-width:810px}
.irm-content{padding:36px;background:#f4f7fb;border-radius:0 0 24px 24px}
.irm-panel,.irm-results-panel{border-radius:20px;padding:36px;border:1px solid #e1e8f2;box-shadow:0 12px 40px rgba(16,43,76,.045)}
.irm-directory h2{font-size:29px;letter-spacing:-.6px;font-weight:800;color:#102b4c}
.irm-form label:not(.irm-agree),.irm-search-label{font-size:14px;font-weight:700;gap:9px}
.irm-grid{column-gap:24px;row-gap:10px}
.irm-directory input:not([type=checkbox]):not([type=file]),.irm-directory select,.irm-directory textarea{min-height:54px;border-radius:11px;border-color:#d7e1ed;padding:13px 16px;font-size:15px}
.irm-directory input:focus,.irm-directory select:focus,.irm-directory textarea:focus{outline:3px solid #dcecff;border-color:#27669e}
.irm-directory input::placeholder,.irm-directory textarea::placeholder{color:#98a6b8}
.irm-form-section{margin:30px 0 12px;padding:25px;background:#f8fbff;border:1px solid #e4edf8;border-radius:16px}
.irm-form-section h3{font-size:20px;letter-spacing:-.4px;color:#102b4c;margin:0}
.irm-required,.irm-optional{font-size:11px;padding:5px 9px;border-radius:20px;margin-left:8px}
.irm-required{color:#9b3f17;background:#fff1e8}.irm-optional{color:#27715b;background:#e6f6ee}
.irm-form input[type=file]{padding:13px;border:1px dashed #adc1d6;border-radius:11px;background:#f8fbff;width:100%;font-size:13px}
.irm-submit{background:#1262ac!important;min-height:56px;font-weight:800!important;border-radius:12px!important}
.irm-submit:hover{background:#0c4a8c!important}
.irm-listings{gap:19px}.irm-card{border-radius:16px;padding:23px;box-shadow:0 5px 20px rgba(10,28,52,.035);transition:transform .2s,box-shadow .2s}
.irm-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(10,28,52,.09)}
.irm-logo{height:68px;width:68px;border-radius:13px}.irm-card h3{font-size:18px;font-weight:800;line-height:1.35}.irm-card-description{font-size:14px}
.irm-social-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:9px 0}
.irm-social-icon{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#eff4fa;color:#183a60!important;text-decoration:none!important;font-size:15px;font-weight:800}
.irm-social-icon:hover{background:#deebf8}.irm-social-facebook{color:#1877f2!important}.irm-social-instagram{color:#c13584!important}.irm-social-linkedin{color:#0a66c2!important}.irm-social-youtube{color:#ff0033!important}.irm-social-pinterest{color:#bd081c!important}
.irm-profile-details{font-family:'DM Sans',sans-serif;border-radius:16px;padding:25px}
@media(max-width:760px){.irm-directory{width:100%}.irm-directory-hero{padding:34px 23px}.irm-content{padding:12px}.irm-panel,.irm-results-panel{padding:20px}.irm-form-section{padding:17px}.irm-grid,.irm-listings{grid-template-columns:1fr}}

/* Single business profile: uses submitted data only; no blog meta/date/author. */
.irm-profile{font-family:'DM Sans',sans-serif!important;max-width:1350px!important;width:calc(100% - 40px);margin:36px auto 65px;color:#14283e;line-height:1.65}
.irm-profile *{box-sizing:border-box}.irm-profile-hero{background:linear-gradient(115deg,#0d2644,#155579);border-radius:22px 22px 0 0;color:white;padding:38px 50px 45px}
.irm-profile-crumb{display:flex;gap:10px;align-items:center;font-size:13px;color:#d4e8f4;margin-bottom:30px}.irm-profile-crumb a{color:#d4e8f4;text-decoration:none}
.irm-profile-hero-inner{display:flex;align-items:center;gap:27px}.irm-profile-logo{width:120px;height:120px;flex-shrink:0;background:#fff;border-radius:19px;padding:12px;display:grid;place-items:center;box-shadow:0 8px 24px #0002}.irm-profile-logo img{max-width:100%;max-height:100%;object-fit:contain}
.irm-profile-identity h1{font-family:'DM Sans',sans-serif;font-size:clamp(30px,4vw,49px);line-height:1.14;font-weight:800;letter-spacing:-1.2px;color:#fff;margin:0 0 10px}.irm-profile-type{font-size:16px;color:#dfecf9}.irm-profile-location{font-size:14px;color:#c6dfec;margin-top:6px}
.irm-profile-site{display:inline-flex;background:#fff;color:#143c64!important;border-radius:10px;text-decoration:none!important;font-weight:800;padding:13px 22px;margin-top:25px;font-size:14px}
.irm-profile-body{background:#f3f7fb;border:1px solid #e0e8f0;border-top:0;border-radius:0 0 22px 22px;padding:30px}.irm-profile-box{background:white;border:1px solid #e2eaf2;border-radius:16px;padding:31px 35px;margin:0 0 20px;box-shadow:0 7px 22px #102b4c09}.irm-profile-box h2{font-family:'DM Sans',sans-serif;font-size:23px;line-height:1.3;font-weight:800;letter-spacing:-.35px;margin:0 0 18px;color:#102b4c}.irm-profile-description p{font-size:16px;line-height:1.85;margin:0}.irm-profile-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.irm-profile-facts{margin:0}.irm-profile-facts div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:13px 0;border-bottom:1px solid #ecf0f5;overflow-wrap:anywhere}.irm-profile-facts div:last-child{border-bottom:0}.irm-profile-facts dt{font-weight:800;color:#53647a}.irm-profile-facts dd{margin:0;color:#172f48}.irm-profile-facts a{color:#0967b7}.irm-profile .irm-social-links{display:flex;gap:11px;flex-wrap:wrap}.irm-profile .irm-social-icon{width:46px;height:46px;font-size:18px;border-radius:12px}.irm-profile-back{color:#0b629f;font-size:14px;font-weight:750;text-decoration:none}
@media(max-width:700px){.irm-profile{width:calc(100% - 20px);margin:20px auto}.irm-profile-hero{padding:25px 20px}.irm-profile-hero-inner{align-items:flex-start;gap:15px}.irm-profile-logo{width:78px;height:78px;border-radius:12px;padding:8px}.irm-profile-identity h1{font-size:27px;letter-spacing:-.4px}.irm-profile-body{padding:13px}.irm-profile-box{padding:22px 18px}.irm-profile-info-grid{grid-template-columns:1fr;gap:0}.irm-profile-facts div{grid-template-columns:1fr;gap:2px}}
