/* CTM responsive media repair — preserves intrinsic image proportions */
html,body{max-width:100%;overflow-x:clip}img,video,svg{max-width:100%}img{height:auto} .ctm-wrap,.wrap{min-width:0}
.logo-tile img,.logo-grid img,.client-echo img{width:auto!important;height:auto!important;max-width:100%!important;max-height:44px!important;object-fit:contain!important;object-position:center!important}
.ctm-logo img,.logo-depth img,.logo-mark img,.foot img{height:auto!important;object-fit:contain!important}
.hero-art img,.authority-grid img{width:100%!important;height:auto!important;object-fit:contain!important;aspect-ratio:auto!important}
.creative-marquee img,.creative-strip img{width:160px!important;min-width:160px!important;height:125px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;background:#f5f7fa!important}
.media-frame img,.creative-card img{max-width:100%;height:auto;object-fit:contain}
.ctm-research-feature{padding:76px 0;background:#f5f8fc;border-top:1px solid #e5eaf2;border-bottom:1px solid #e5eaf2}
.ctm-research-feature .ctm-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:36px;align-items:center}
.ctm-research-feature h2{font-size:clamp(29px,3.5vw,49px);letter-spacing:-.045em;line-height:1.08;margin:12px 0 17px}
.ctm-research-feature p{font-size:17px;color:#566477;max-width:720px}
.ctm-research-feature .research-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#2463eb}
.ctm-research-feature .research-facts{display:grid;gap:12px}.ctm-research-feature .research-facts div{padding:20px;border:1px solid #dce5f1;border-radius:12px;background:#fff}.research-facts strong{display:block;font-size:22px;color:#17233b}.research-facts span{font-size:13px;color:#65738a}
@media(max-width:900px){.ctm-research-feature .ctm-wrap{grid-template-columns:1fr}.ctm-research-feature{padding:52px 0}.creative-marquee img,.creative-strip img{width:135px!important;min-width:135px!important;height:110px!important}.hero-grid,.authority-grid,.apply-grid{min-width:0}}
@media(max-width:600px){.ctm-research-feature{padding:40px 0}.ctm-research-feature .research-facts{grid-template-columns:1fr 1fr}.ctm-research-feature .research-facts div{padding:14px}.ctm-research-feature .research-facts strong{font-size:18px}.ctm-wrap{max-width:calc(100% - 28px)}.hero-art{max-width:100%}.creative-marquee img,.creative-strip img{width:118px!important;min-width:118px!important;height:100px!important}}
/* 2026-10-19: research feature works on pages that don't load the homepage styles */
.ctm-research-feature .ctm-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.ctm-research-feature .ctm-btn{display:inline-flex;align-items:center;margin-top:10px;padding:13px 22px;border-radius:999px;background:#2463eb;color:#fff!important;font-weight:800;text-decoration:none}
.ctm-research-feature .ctm-btn:hover{background:#1b4fc4}
.ctm-seo-related{width:calc(100% - 40px)}
@media(max-width:600px){.ctm-research-feature .ctm-wrap{width:calc(100% - 28px)}.ctm-research-feature .research-facts div:last-child{grid-column:1/-1}.ctm-seo-related{width:calc(100% - 28px);padding:22px 0!important}}
/* 2026-10-19: homepage footer logo was dark-on-dark */
.footer2 .foot img{filter:brightness(0) invert(1)}
@media(max-width:600px){.footer2 .foot{display:flex!important;flex-wrap:wrap;gap:10px 18px;align-items:center}.footer2 .foot img{width:150px!important;margin-right:calc(100% - 150px)}.footer2 .foot p{flex-basis:100%;margin:6px 0 0}}
/* 2026-10-19: Dianomi stats - 4 across on desktop, 2 on tablet/phone */
.attribution .results-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:900px){.attribution .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* 2026-10-19: in-article lead box */
.ctm-inline-cta{margin:28px 0 32px;padding:22px 24px;border:1px solid #cfe0ff;border-left:4px solid #1769ff;border-radius:12px;background:#f4f8ff;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ctm-inline-cta p{margin:0!important;font-size:1rem!important;color:#1b2a41!important;max-width:520px;line-height:1.55}
.ctm-inline-cta strong{display:block;font-size:1.08rem;margin-bottom:4px;color:#07111f}
.ctm-inline-cta a.ctm-inline-btn{display:inline-flex;align-items:center;white-space:nowrap;padding:12px 18px;border-radius:999px;background:#1769ff;color:#fff!important;font-weight:700;text-decoration:none!important;font-size:.95rem}
.ctm-inline-cta a.ctm-inline-btn:hover{background:#0f56d6}
@media(max-width:600px){.ctm-inline-cta{padding:18px}.ctm-inline-cta a.ctm-inline-btn{width:100%;justify-content:center}}
/* 2026-10-19 round 4: footer, service hero CTA, mobile sticky CTA */
.footer-links{flex-wrap:wrap;row-gap:.6rem}
.footer-addr{flex-basis:100%;margin:.4rem 0 0;font-size:.85rem;opacity:.7}
.svc-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:18px 0 0}
.svc-hero-cta .svc-hero-btn{display:inline-flex;padding:13px 22px;border-radius:999px;background:#1769ff;color:#fff!important;font-weight:700;text-decoration:none!important}
.svc-hero-cta .svc-hero-btn:hover{background:#0f56d6}
.svc-hero-cta span{font-size:.92rem;color:#5d6878;max-width:320px}
.ctm-sticky-cta{display:none}
@media(max-width:760px){
 .ctm-sticky-cta:not([hidden]){display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;align-items:center;gap:10px;padding:10px 10px 10px 16px;border-radius:14px;background:#07111f;color:#fff;box-shadow:0 12px 30px rgba(7,17,31,.3);font:600 14px/1.3 Inter,system-ui,sans-serif}
 .ctm-sticky-cta span{flex:1}
 .ctm-sticky-cta a{background:#1769ff;color:#fff!important;padding:10px 14px;border-radius:999px;text-decoration:none!important;font-weight:700;white-space:nowrap}
 .ctm-sticky-cta button{background:none;border:0;color:#9aabba;font-size:22px;line-height:1;padding:4px 6px;cursor:pointer}
 .svc-hero-cta .svc-hero-btn{width:100%;justify-content:center}
}
.footer-link{white-space:nowrap}
.footer-addr{color:#c6d2df}
@media(max-width:760px){.footer-inner{flex-direction:column!important;align-items:flex-start!important;gap:16px!important}.footer-links{gap:10px 18px!important;flex-wrap:wrap!important}}
@media(max-width:760px){.site-footer .copyright{text-align:left!important;width:100%}}
