/* Adapt preserved production content to kit components. No old theme CSS. */
main { min-width:0; }
main :where(section,div,aside,figure,article,form) { min-width:0; }
.page-main { padding-top:var(--header); }
.page-main .page-main { padding-top:0; }
.page-hero-media { margin:0; position:relative; }
.page-hero-media img { width:100%; }
.page-hero-media > span { position:absolute; bottom:16px; left:16px; padding:8px 12px; background:#121417df; font-size:13px; color:#fff; }
.page-hero-main .hero-line { margin-top:30px; display:flex; flex-wrap:wrap; gap:20px; font-size:14px; }
.hero-lead-followup { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7vw; }
.hero-lead-followup p { margin:24px 0; }
.hero-form-bottom { display:flex; gap:28px; margin-top:24px; }
.hero-lead-followup .form-promise { margin-top:28px; font-size:14px; }
.form-trap { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); }
.form-status { grid-column:1/-1; margin-top:20px; border:1px solid currentColor; padding:16px; font-size:16px; }
.hero-form .form-status { color:#fff; }
.consent,.consent span { font-size:13px; }
.section--light .kit-card { --panel:#e2e2da; }
.catalog-card .card-media img { width:100%; height:100%; object-fit:contain; }
.catalog-card .card-media { aspect-ratio:4/3; }
.catalog-card .card-copy h3 { font-size:clamp(22px,2vw,30px); }
.catalog-card .card-copy p { margin-top:18px; }
.card-link { display:block; margin-top:22px; font-size:14px; }
.catalog-card.text-card .card-copy { padding:32px; }
.solution-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.solution-directory>a { display:flex; justify-content:space-between; gap:20px; padding:22px 0; border-top:1px solid var(--line); font-size:16px; }
.solution-directory>a::after { content:'↗'; }
.list-tools { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; margin:30px 0; }
.list-tools label { display:grid; gap:8px; max-width:100%; }
.list-tools input { width:100%; min-height:48px; border:1px solid var(--line); background:transparent; color:inherit; padding:12px; }
.list-tools button,.filters button { background:transparent; color:inherit; padding:12px 16px; border:1px solid var(--line); font-size:14px; }
.filters button.active { background:var(--blue); color:#fff; }
.list-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:20px; margin-top:36px; font-size:14px; }
.list-pagination button { background:transparent; border:1px solid var(--line); padding:12px; font-size:14px; }
.list-pagination button:disabled { opacity:.45; }
.prose-section { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(230px,1fr); gap:7vw; align-items:start; }
.prose { overflow-wrap:anywhere; }
.prose .text-link { display:inline; white-space:normal; overflow-wrap:anywhere; }
.prose img { max-width:100%; height:auto; }
.prose-aside { position:sticky; top:120px; }
.prose-aside h3 { font-size:26px; margin-bottom:24px; }
.prose-aside>a { display:block; margin:16px 0; }
.table-scroll { max-width:100%; overflow-x:auto; }
.table-scroll table { width:100%; }
.case-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.case-stat-grid>div { display:grid; gap:12px; border-top:1px solid var(--line); padding-top:24px; }
.case-stat-grid span { font-size:14px; color:var(--muted); }
.stat-text { font:500 clamp(26px,3vw,44px)/1.3 var(--title); }
.case-gallery button { padding:0; position:relative; background:var(--panel); }
.case-gallery button img { width:100%; height:100%; object-fit:contain; }
.case-gallery button>span { position:absolute; bottom:10px; left:10px; padding:6px 10px; background:#121417df; color:white; font-size:13px; }
.case-video video { width:100%; margin-top:32px; max-height:700px; }
.video-card { display:grid; gap:0; }
.video-card .card-copy { padding:28px; }
.video-card h3 { font-size:26px; margin-bottom:20px; }
.video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.document-paper img { max-height:480px; width:100%; object-fit:contain; }
.document-grid article { display:grid; gap:24px; }
.review-card { padding:32px; border-top:1px solid var(--line); background:var(--panel); }
.section--light .review-card { background:#e2e2da; }
.review-card blockquote { margin:24px 0; }
.review-card-author { display:flex; gap:20px; align-items:center; }
.review-avatar { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; }
.review-card-date { font-size:14px; color:var(--muted); }
.review-form-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7vw; }
.accordion summary { cursor:pointer; font:500 20px/1.4 var(--title); padding:24px 0; border-top:1px solid var(--line); }
.accordion details>p,.accordion-answer { padding:0 0 24px; }
.faq-layout { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.4fr); gap:7vw; }
.faq-layout .faq-row { border-top:1px solid var(--line); }
.faq-layout h3 { font-size:24px; }
.compact-trust { display:flex; align-items:center; gap:36px; }
.compact-trust h3 { font-size:24px; margin-bottom:14px; }
.compact-trust>.text-link { margin-left:auto; }
.compact-trust .portrait-placeholder { flex-shrink:0; }
.cms-edit-bar { position:relative; z-index:2; padding:16px var(--gutter); margin-top:var(--header); background:var(--blue); color:white; font-size:14px; }
.cms-edit-bar+main .page-main { padding-top:0; }
.legacy-page { padding-top:calc(var(--header) + 60px); }
.legacy-page>h1 { margin-bottom:40px; font-size:clamp(36px,5vw,70px); }
/* Forms are real; preserve native controls when scripting is unavailable. */
@media(scripting:none) { .lead-form button[type=submit] { display:inline-flex; } }
@media(max-width:1023px) {
 .hero-lead-followup,.prose-section,.faq-layout,.review-form-section { grid-template-columns:1fr; gap:40px; }
 .prose-aside { position:static; }
 .compact-trust { flex-wrap:wrap; }
 .compact-trust>.text-link { margin-left:0; }
}
@media(max-width:767px) {
 .solution-directory,.video-grid,.case-stat-grid { grid-template-columns:1fr; }
 .list-tools { flex-direction:column; align-items:stretch; }
 .list-pagination { gap:12px; }
 .compact-trust .portrait-placeholder { width:64px; height:64px; }
}
/* v2 CMS boundary: retain authored page heads, responsive cards and readable content. */
.page-main {padding-top:var(--header,100px)}
.page-main>div {min-width:0}
.page-head h1 {overflow-wrap:anywhere}
.cms-route-image {margin:0;max-width:1000px}
.cms-route-image img {max-height:640px;width:100%;object-fit:contain}
.cms-introduction {display:grid;gap:30px}
.cms-feature img {max-height:580px;object-fit:contain;width:100%}
.cms-supplement:empty {display:none}
.cms-supplement {padding:32px var(--gutter,5vw)}
.cms-supplement img {max-height:600px;object-fit:contain}
.case-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.proof-project-layout .case-facts {padding:0}
.proof-project-layout .case-stat-grid {grid-template-columns:1fr}
.form-status {overflow-wrap:anywhere}
.catalog-card h3 {overflow-wrap:anywhere}
@media(max-width:767px){.case-gallery {grid-template-columns:1fr}.proof-project-layout {grid-template-columns:1fr}}
.skip-link {position:fixed;top:-100px;left:20px;z-index:1000;background:#fff;color:#121417;padding:12px 20px}
.skip-link:focus {top:12px}
.request-anchor {display:block;scroll-margin-top:110px}
.cms-object-video video {display:block;width:100%;max-height:700px}
.cms-open-projects {display:grid;gap:clamp(40px,6vw,88px)}
.catalog-context.prose {max-width:100%}
