/* WordPress integration only; approved homepage styles remain in their own layers. */
/* Shared single-post callout; no per-article markup or destination. */
.ims-preferred-source { display:flex; align-items:center; gap:28px; padding:clamp(22px,3vw,36px); margin:24px 0 36px; background:var(--navy); border:1px solid var(--line); border-left:3px solid var(--aqua); color:var(--white); }
.ims-preferred-source__copy { flex:1; min-width:0; }
.ims-preferred-source .ims-preferred-source__eyebrow { margin:0 0 12px; color:var(--aqua); font-size:11px; font-weight:700; letter-spacing:.13em; line-height:1.5; }
.ims-preferred-source .ims-preferred-source__body { margin:0; font-size:var(--ims-text-body); line-height:var(--ims-leading-body); }
.ims-preferred-source .ims-preferred-source__cta { flex:0 1 280px; min-height:52px; max-width:100%; padding:16px 22px; border:1px solid var(--aqua); border-radius:0; background:var(--aqua); color:var(--night); font:700 14px/1.5 var(--body); text-align:center; text-decoration:none; white-space:normal; overflow-wrap:anywhere; box-shadow:none; }
.ims-preferred-source__cta:focus-visible { outline:3px solid var(--white); outline-offset:5px; }
.ims-preferred-source__cta:disabled { opacity:1; cursor:not-allowed; }
.ims-preferred-source__cta[href]:hover { background:var(--white); border-color:var(--white); }
@media(max-width:800px) { .ims-preferred-source { flex-direction:column; align-items:stretch; gap:22px; } .ims-preferred-source .ims-preferred-source__cta { flex:auto; width:100%; } }
.ims-form-trap { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); white-space:nowrap; }
body.admin-bar .ims-header { top:32px; }
@media(max-width:782px) { body.admin-bar .ims-header { top:46px; } }
@media(max-width:600px) { body.admin-bar .ims-header.is-scrolled { top:0; } }
/* Restrained native content templates. Homepage markup never receives these classes. */
/* The public Case Studies directory includes saved inline CSS with a 1320px
   wrapper. Normalize that known composition without editing its saved content. */
body #main.ims-interior:has(#ims-case-directory) .ims-interior__content { max-width:var(--ims-shell-max); }
main #ims-case-directory .cd-intro p,
main #ims-case-directory .cd-cta p { max-width:var(--ims-measure-wide); }
.ims-interior { padding:155px 0 155px; min-height:65vh; background:var(--night); }
.ims-interior__content { width:100%; max-width:var(--ims-shell-max); margin-inline:auto;padding-inline:var(--gutter);}
.ims-interior h1 { font-size:clamp(36px,5vw,64px); line-height:var(--ims-heading-leading, var(--ims-leading-heading)); margin:24px 0 28px; }
.ims-interior h2 { font-size:clamp(25px,3vw,36px); line-height:var(--ims-heading-leading, var(--ims-leading-heading)); margin:35px 0 20px; }
.ims-interior p,.ims-interior li { line-height:var(--ims-leading-body); margin-bottom:20px; }
.ims-interior a:not(.button) { color:var(--aqua); text-decoration:none; text-underline-offset:4px; }
.ims-interior img { height:auto; max-width:100%; }
.ims-interior__meta,.ims-breadcrumbs { color:var(--soft); font-size:13px; }
.ims-interior__entry { padding:28px 0; border-bottom:1px solid var(--line); }
.ims-interior__screens { max-width:780px; margin-block:32px; }
@media(max-width:600px) { .ims-interior { padding-top:120px; } }

/* Promotional project records show their original artwork once at its natural ratio. */
.ims-project-artwork{max-width:760px;margin:32px 0}
.ims-interior .ims-project-artwork img{display:block;width:100%;max-width:100%;height:auto}
