/* Django integration layer: preserve the approved visual system across CMS templates. */
body.public-site{font-family:'Manrope Variable',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
body.public-site :is(h1,h2,h3,h4,h5,h6){font-family:'Manrope Variable',Arial,sans-serif!important;font-style:normal}
body.public-site .button{color:#fff!important}body.public-site .inner-next .button{color:var(--blue)!important}
body.public-site main{padding:0;margin:0;max-width:none}
.footer a{color:inherit}
.menu-toggle{width:34px;height:34px;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.menu-toggle span{display:block;width:19px;height:1.5px;background:currentColor}
.system-messages{padding-top:18px}
.journey-icon{display:flex;color:var(--blue)}.perspective-image b{position:absolute;right:20px;bottom:20px;display:flex}.perspective-links>a>span:last-child{position:absolute;right:0;bottom:24px;color:var(--blue);display:flex}.expand-symbol{color:var(--blue);display:inline-flex;align-items:center}
.cms-intro{font-size:17px;line-height:1.8;color:var(--muted);max-width:780px}.cms-intro p:last-child{margin-bottom:0}.cms-content img{max-width:100%;height:auto}.cms-content h2,.cms-content h3{margin-top:1.6em}.cms-content p,.cms-content li{font-size:16px;line-height:1.85;color:var(--muted)}.cms-content blockquote{margin:28px 0;padding:2px 0 2px 24px;border-left:3px solid var(--blue);font-size:19px;line-height:1.6;color:var(--ink)}.cms-content blockquote p{margin:0;font-size:inherit;line-height:inherit;color:inherit}.cms-content q{font-style:italic}
.cms-card-image{width:100%;height:190px;object-fit:cover;margin:-31px -31px 25px;max-width:calc(100% + 62px)}.cms-meta{font-size:11px;color:#6b8097;margin-bottom:18px}.cms-empty{padding:35px;border:1px solid var(--line);color:var(--muted)}
.problem-connections{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:0 0 22px;font-size:12px;color:var(--muted)}.problem-connections span{display:grid;gap:5px}.problem-connections strong{color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.perspectives-hero-image{width:100%;height:310px;object-fit:cover}.perspective-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.perspective-card{display:flex;flex-direction:column;border-top:2px solid var(--blue);padding-top:20px}.perspective-card-image{height:220px;margin-bottom:25px;background:#eaf1f8;overflow:hidden}.perspective-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.perspective-card-image:hover img{transform:scale(1.05)}.perspective-card-image.fallback{display:grid;place-items:center;color:#6b8097;font-size:11px;letter-spacing:.12em}.perspective-card .eyebrow{font-size:9px;margin-bottom:15px}.perspective-card h2{font-size:29px;line-height:1.2;margin-bottom:18px}.perspective-card .cms-intro{font-size:14px;margin-bottom:22px}.perspective-card .text-link{margin-top:auto}
.service-hero-image,.article-hero-image{width:100%;height:330px;object-fit:cover}.system-form{border:1px solid var(--line);padding:34px;background:#f8fbfe}.system-form :is(input,textarea,select){border-radius:2px;border-color:#b9cadb}.system-form .btn{background:var(--blue);border-color:var(--blue);border-radius:3px;padding:13px 20px;font-weight:700}
.catalog-heading--split{align-items:start}
.services-contact-form{padding:22px;align-self:start}
.services-contact-form form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.services-contact-form .form-floating{margin-bottom:8px}
.services-contact-form .form-floating:has(textarea){grid-column:1/-1}
.services-contact-form .form-floating textarea.form-control{height:60px!important;min-height:60px}
.services-contact-form .alert,.services-contact-form .form-check{grid-column:1/-1;margin-bottom:8px}
.services-contact-form button[type=submit]{grid-column:1/-1;padding:11px 20px}
@media(max-width:1000px){.services-contact-form form{grid-template-columns:1fr}.services-contact-form .form-floating{grid-column:1/-1!important}}
.tool-panel-icon{display:flex}.resource-pair em{font-style:normal;font-size:12px;color:var(--blue);font-weight:700}
.framework-link-art{display:block}.framework-link-art:focus-visible{outline-offset:2px}
.inner-page+.footer .footer-main{display:none}.tool-page+.footer .footer-main,.hub-page+.footer .footer-main{display:none}
.tool-shell-heading{background:#f8fbfe;border-bottom:1px solid var(--line);padding:28px 0 0}.interactive-tool-wrap{min-height:65vh;padding:36px max(24px,calc((100vw - 1400px)/2));background:#f7fafe}.interactive-tool-wrap #abacus-root{max-width:1200px;margin:auto}
.public-site .alert{border-radius:3px;margin:0}

@media(max-width:1000px){.site-header .button.small{display:inline-flex}}
@media(max-width:800px){.perspective-catalog{grid-template-columns:1fr 1fr}.perspectives-hero-image{height:260px}}
@media(max-width:640px){.site-header .button.small{display:none}.cms-card-image{height:165px}.perspective-links>a>span:last-child{bottom:21px}.perspective-catalog{grid-template-columns:1fr}.problem-connections{grid-template-columns:1fr}}
