/* 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:16px; line-height:1.75; }
.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. */
.ims-interior { padding:155px var(--gutter) 155px; min-height:65vh; background:var(--night); }
.ims-interior__content { max-width:1000px; margin-inline:auto; }
.ims-interior h1 { font-size:clamp(36px,5vw,64px); line-height:1.1; margin:24px 0 28px; }
.ims-interior h2 { font-size:clamp(25px,3vw,36px); line-height:1.2; margin:35px 0 20px; }
.ims-interior p,.ims-interior li { line-height:1.75; margin-bottom:20px; }
.ims-interior a:not(.button) { color:var(--aqua); text-decoration:underline; 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 { display:grid; grid-template-columns:3fr 1fr; gap:24px; margin-block:32px; align-items:start; }
@media(max-width:600px) { .ims-interior { padding-top:120px; } .ims-interior__screens { grid-template-columns:1fr; } .ims-interior__screens img:last-child { max-width:260px; } }
