:root {
  --cr-ink: #10231f;
  --cr-ink-soft: #273b36;
  --cr-muted: #60716b;
  --cr-line: #d8e3df;
  --cr-soft: #f1f6f3;
  --cr-green: #147b61;
  --cr-green-dark: #0d5948;
  --cr-mint: #67c9a5;
  --cr-amber: #df8433;
  --cr-kraft: #caa977;
  --cr-night: #0a1d19;
  --cr-shadow: 0 28px 70px rgba(13, 54, 44, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body.community-recovery-page { margin: 0; color: var(--cr-ink); background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
.community-recovery-page img { display: block; max-width: 100%; }
.community-recovery-page a { color: inherit; text-decoration: none; }
.community-recovery-page button, .community-recovery-page input { font: inherit; }
.community-recovery-page main :where(h1, h2, h3) {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-top: 0;
  overflow: visible;
  white-space: nowrap;
  text-overflow: unset;
  text-wrap: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}
.community-recovery-page main :where(h1, h2, h3) br { display: none; }
.community-recovery-page button { cursor: pointer; }
.community-recovery-page .shell { width: min(1180px, calc(100% - 40px)); }
.cr-kicker, .cr-overline { margin: 0 0 10px; font-size: 9px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.cr-kicker { color: var(--cr-green); }
.cr-heading { min-width: 0; margin-bottom: 32px; }
.cr-heading--split, .cr-heading--dark { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr); align-items: end; gap: 70px; }
.cr-heading > div { min-width: 0; }
.cr-heading h2, .problem-editorial__lead h2, .resident-copy h2, .engine-copy h2 { margin: 0; font-size: clamp(31px, 3.35vw, 48px); font-weight: 950; letter-spacing: -.055em; line-height: 1.08; }
.cr-heading > p, .cr-heading--split > p, .cr-heading--dark > p { margin: 0; color: var(--cr-muted); font-size: 12px; line-height: 1.85; }
.cr-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 19px; border: 1px solid transparent; border-radius: 10px; font-size: 12px; font-weight: 900; transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease; }
.cr-button:hover { transform: translateY(-2px); }
.cr-button--primary { color: #fff; background: var(--cr-green); box-shadow: 0 12px 28px rgba(20,123,97,.22); }
.cr-button--ghost { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.cr-button--outline { color: #fff; border-color: rgba(255,255,255,.28); }

.cr-hero { position: relative; isolation: isolate; min-height: 740px; overflow: hidden; color: #fff; background: var(--cr-night); }
.cr-hero__media { position: absolute; inset: 0; z-index: -2; }
.cr-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.cr-hero__media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(7,25,21,.96) 0%, rgba(7,25,21,.88) 37%, rgba(7,25,21,.34) 65%, rgba(7,25,21,.08) 100%), linear-gradient(180deg, rgba(7,25,21,.15), rgba(7,25,21,.48)); }
.cr-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; min-height: 740px; padding: 72px 0; }
.cr-hero__copy { min-width: 0; max-width: 760px; }
.cr-overline { color: #7adbb8; }
.cr-hero h1 { margin: 0; color: #fff; font-size: clamp(47px, 5.15vw, 73px); font-weight: 950; letter-spacing: -.06em; line-height: 1.03; }
.cr-hero__claim { max-width: 720px; margin: 19px 0 0; color: #fff; font-size: clamp(22px, 2.45vw, 35px); font-weight: 900; letter-spacing: -.035em; line-height: 1.22; }
.cr-hero__lead { max-width: 700px; margin: 18px 0 0; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.85; }
.cr-hero__actions { display: flex; gap: 9px; margin-top: 27px; }
.cr-hero__proof { display: grid; grid-template-columns: repeat(3,1fr); max-width: 720px; margin: 30px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); list-style: none; }
.cr-hero__proof li { min-width: 0; padding: 16px 14px; border-right: 1px solid rgba(255,255,255,.14); }
.cr-hero__proof li:first-child { padding-left: 0; }
.cr-hero__proof li:last-child { padding-right: 0; border-right: 0; }
.cr-hero__proof strong, .cr-hero__proof span { display: block; }
.cr-hero__proof strong { font-size: 13px; }
.cr-hero__proof span { margin-top: 5px; color: rgba(255,255,255,.52); font-size: 8px; line-height: 1.4; }
.cr-anchor { position: sticky; top: var(--header-height); z-index: 62; display: none; border-bottom: 1px solid rgba(201,218,211,.9); background: rgba(255,255,255,.96); backdrop-filter: blur(16px); }
.xb-shell-embedded .cr-anchor { top: 0; display: block; }
.cr-anchor__scroll { display: flex; align-items: center; justify-content: center; overflow-x: auto; scrollbar-width: none; }
.cr-anchor__scroll::-webkit-scrollbar { display: none; }
.cr-anchor__scroll a { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: 48px; padding: 0 18px; border-bottom: 2px solid transparent; color: var(--cr-muted); font-size: 11px; font-weight: 850; white-space: nowrap; }
.cr-anchor__scroll a:hover, .cr-anchor__scroll a.is-active { color: var(--cr-green); border-bottom-color: var(--cr-green); }

.cr-positioning, .cr-capabilities, .cr-mobile, .cr-console, .cr-scenarios, .cr-faq, .cr-journey, .cr-engine { padding: 86px 0; }
.cr-positioning, .cr-mobile, .cr-scenarios { background: #fff; }
.cr-capabilities, .cr-console, .cr-faq { background: #f6f9f7; }
.stakeholder-rail { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--cr-line); border-left: 1px solid var(--cr-line); }
.stakeholder-rail article { min-width: 0; padding: 23px; border-right: 1px solid var(--cr-line); border-bottom: 1px solid var(--cr-line); background: #fff; }
.stakeholder-rail span { color: var(--cr-green); font-size: 9px; font-weight: 900; }
.stakeholder-rail h3 { margin: 10px 0 0; font-size: 17px; }
.stakeholder-rail p { margin: 7px 0 0; color: var(--cr-muted); font-size: 10px; line-height: 1.7; }
.problem-editorial { display: grid; grid-template-columns: minmax(0,.9fr) minmax(480px,1.1fr); gap: 72px; align-items: start; margin-top: 72px; }
.problem-editorial__lead { min-width: 0; }
.problem-editorial__lead p:not(.cr-kicker) { margin: 18px 0 0; color: var(--cr-muted); font-size: 13px; line-height: 1.85; }
.problem-editorial blockquote { margin: 22px 0 0; padding: 18px 0 0 19px; border-top: 1px solid var(--cr-line); border-left: 3px solid var(--cr-amber); color: var(--cr-ink-soft); font-size: 13px; font-weight: 780; line-height: 1.75; }
.problem-ledger { margin: 0; padding: 0; border-top: 1px solid var(--cr-line); list-style: none; }
.problem-ledger li { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 20px 0; border-bottom: 1px solid var(--cr-line); }
.problem-ledger > li > span { color: var(--cr-amber); font-size: 10px; font-weight: 950; }
.problem-ledger h3 { margin: 0; font-size: 16px; }
.problem-ledger p { margin: 6px 0 0; color: var(--cr-muted); font-size: 10px; line-height: 1.65; }

.cr-journey { color: #fff; background: #0b201b; }
.cr-heading--dark .cr-kicker { color: #70d8b4; }
.cr-heading--dark h2 { color: #fff; }
.cr-heading--dark > p { color: rgba(255,255,255,.56); }
.journey-scene { position: relative; margin: 0; overflow: hidden; border-radius: 23px; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.journey-scene img { width: 100%; height: auto; }
.journey-scene figcaption { position: absolute; right: 20px; bottom: 20px; width: min(530px,52%); padding: 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(6,24,19,.86); backdrop-filter: blur(14px); }
.journey-scene figcaption span, .journey-scene figcaption strong { display: block; }
.journey-scene figcaption span { color: #72dbb7; font-size: 8px; font-weight: 900; letter-spacing: .06em; }
.journey-scene figcaption strong { margin-top: 7px; font-size: 17px; }
.journey-scene figcaption p { margin: 8px 0 0; color: rgba(255,255,255,.56); font-size: 10px; line-height: 1.7; }
.route-chip { position: absolute; top: 18px; left: 18px; padding: 13px 15px; border-radius: 11px; color: var(--cr-ink); background: rgba(255,255,255,.93); box-shadow: 0 15px 35px rgba(0,0,0,.14); backdrop-filter: blur(12px); }
.route-chip small, .route-chip strong, .route-chip span { display: block; }
.route-chip small { color: var(--cr-muted); font-size: 7px; }
.route-chip strong { margin-top: 5px; font-size: 14px; }
.route-chip span { margin-top: 4px; color: var(--cr-green); font-size: 8px; }
.journey-steps { display: grid; grid-template-columns: repeat(4,1fr); margin: 32px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); list-style: none; }
.journey-steps li { min-width: 0; padding: 20px 18px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.journey-steps span { color: #71d7b4; font-size: 9px; font-weight: 900; }
.journey-steps h3 { margin: 9px 0 0; color: #fff; font-size: 15px; }
.journey-steps p { margin: 6px 0 0; color: rgba(255,255,255,.5); font-size: 9px; line-height: 1.6; }

.evidence-stage { position: relative; min-height: 650px; }
.weighing-photo { width: 76%; margin: 0; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: var(--cr-shadow); }
.weighing-photo img { width: 100%; height: auto; }
.weighing-photo figcaption { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; color: #fff; background: #0d241f; }
.weighing-photo figcaption strong { font-size: 12px; }
.weighing-photo figcaption span { color: rgba(255,255,255,.56); font-size: 8px; text-align: right; }
.settlement-slip { position: absolute; right: 0; bottom: 24px; width: 39%; padding: 21px; border: 1px solid var(--cr-line); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: var(--cr-shadow); backdrop-filter: blur(16px); }
.settlement-slip > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 13px; padding-bottom: 14px; border-bottom: 1px solid var(--cr-line); }
.settlement-slip > header small { color: var(--cr-muted); font-size: 8px; }
.settlement-slip > header h3 { margin: 5px 0 0; font-size: 20px; }
.settlement-slip > header > span { padding: 6px 8px; border-radius: 7px; color: #8c5b19; background: #fff0da; font-size: 8px; font-weight: 900; white-space: nowrap; }
.settlement-slip dl { margin: 13px 0 0; }
.settlement-slip dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid #e9efed; }
.settlement-slip dt, .settlement-slip dd { margin: 0; font-size: 9px; }
.settlement-slip dt { color: var(--cr-muted); }
.settlement-slip dd { font-weight: 850; }
.settlement-slip__total { padding: 14px 0 0; }
.settlement-slip__total span, .settlement-slip__total strong, .settlement-slip__total em { display: block; }
.settlement-slip__total span { color: var(--cr-muted); font-size: 8px; }
.settlement-slip__total strong { margin-top: 4px; color: var(--cr-green-dark); font-size: 25px; }
.settlement-slip__total em { margin-top: 4px; color: var(--cr-muted); font-size: 8px; font-style: normal; }
.settlement-slip > button { width: 100%; min-height: 39px; margin-top: 14px; border: 0; border-radius: 9px; color: #fff; background: var(--cr-green); font-size: 10px; font-weight: 900; transition: background .18s ease, transform .18s ease; }
.settlement-slip > button:hover { background: var(--cr-green-dark); transform: translateY(-1px); }
.settlement-slip.is-reviewed { animation: evidence-confirmed .55s ease; }
@keyframes evidence-confirmed { 0%,100% { box-shadow: var(--cr-shadow); } 45% { box-shadow: 0 0 0 5px rgba(20,123,97,.13), 0 28px 70px rgba(13,54,44,.2); } }
.capability-lanes { display: grid; grid-template-columns: repeat(2,1fr); margin-top: 34px; border-top: 1px solid var(--cr-line); border-left: 1px solid var(--cr-line); }
.capability-lanes article { min-width: 0; padding: 26px; border-right: 1px solid var(--cr-line); border-bottom: 1px solid var(--cr-line); background: #fff; }
.capability-lanes article > span { color: var(--cr-green); font-size: 9px; font-weight: 900; }
.capability-lanes h3 { margin: 11px 0 0; font-size: 19px; }
.capability-lanes p { margin: 8px 0 0; color: var(--cr-muted); font-size: 11px; line-height: 1.75; }
.capability-lanes em { display: block; margin-top: 13px; color: var(--cr-green-dark); font-size: 9px; font-style: normal; font-weight: 850; }

.resident-layout { display: grid; grid-template-columns: minmax(0,.86fr) minmax(480px,1.14fr); align-items: center; gap: 68px; }
.resident-copy { min-width: 0; }
.resident-copy > p:not(.cr-kicker) { margin: 17px 0 0; color: var(--cr-muted); font-size: 13px; line-height: 1.85; }
.resident-copy ul { margin: 26px 0 0; padding: 0; border-top: 1px solid var(--cr-line); list-style: none; }
.resident-copy li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--cr-line); }
.resident-copy li > span { color: var(--cr-green); font-size: 9px; font-weight: 950; }
.resident-copy h3 { margin: 0; font-size: 15px; }
.resident-copy li p { margin: 5px 0 0; color: var(--cr-muted); font-size: 9px; line-height: 1.6; }
.station-scene { margin: 0; overflow: hidden; border-radius: 22px; box-shadow: var(--cr-shadow); }
.station-scene img { width: 100%; height: auto; }
.station-scene figcaption { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 18px; color: #fff; background: #0d241f; }
.station-scene figcaption span { color: #71d8b5; font-size: 8px; font-weight: 900; }
.station-scene figcaption strong { font-size: 11px; text-align: right; }

.cr-engine { color: #fff; background: linear-gradient(128deg,#0a1c18,#103b30); }
.engine-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(500px,1.2fr); align-items: center; gap: 72px; }
.engine-copy { min-width: 0; }
.engine-copy .cr-kicker { color: #72d9b6; }
.engine-copy h2 { color: #fff; }
.engine-copy > p:not(.cr-kicker) { margin: 17px 0 0; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.85; }
.engine-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 23px; }
.engine-tags span { padding: 7px 9px; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; color: rgba(255,255,255,.72); font-size: 9px; }
.pricing-simulator { padding: 23px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; color: var(--cr-ink); background: rgba(255,255,255,.96); box-shadow: 0 30px 75px rgba(0,0,0,.24); }
.pricing-simulator > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 15px; border-bottom: 1px solid var(--cr-line); }
.pricing-simulator > header small { color: var(--cr-muted); font-size: 8px; }
.pricing-simulator > header h3 { margin: 5px 0 0; font-size: 20px; }
.pricing-simulator > header > span { padding: 6px 8px; border-radius: 7px; color: var(--cr-green); background: #e7f5ef; font-size: 8px; font-weight: 900; }
.pricing-simulator__result { padding: 17px; margin-top: 16px; border-radius: 12px; background: #edf6f2; }
.pricing-simulator__result span, .pricing-simulator__result strong, .pricing-simulator__result em { display: block; }
.pricing-simulator__result span { color: var(--cr-muted); font-size: 8px; }
.pricing-simulator__result strong { margin-top: 3px; color: var(--cr-green-dark); font-size: 32px; }
.pricing-simulator__result em { margin-top: 4px; color: var(--cr-muted); font-size: 8px; font-style: normal; }
.pricing-simulator fieldset { display: flex; flex-wrap: wrap; gap: 6px; margin: 15px 0 0; padding: 0; border: 0; }
.pricing-simulator legend { width: 100%; margin-bottom: 7px; color: var(--cr-muted); font-size: 8px; }
.pricing-simulator button { min-height: 32px; padding: 0 10px; border: 1px solid var(--cr-line); border-radius: 8px; color: var(--cr-ink-soft); background: #fff; font-size: 8px; font-weight: 850; }
.pricing-simulator button:hover, .pricing-simulator button.is-selected { color: #fff; border-color: var(--cr-green); background: var(--cr-green); }
.weight-control { margin-top: 15px; }
.weight-control label { display: flex; justify-content: space-between; color: var(--cr-muted); font-size: 8px; }
.weight-control label strong { color: var(--cr-ink); }
.weight-control input { width: 100%; margin: 10px 0 0; accent-color: var(--cr-green); }
.pricing-simulator dl { display: grid; grid-template-columns: repeat(4,1fr); margin: 16px 0 0; border-top: 1px solid var(--cr-line); border-left: 1px solid var(--cr-line); }
.pricing-simulator dl > div { min-width: 0; padding: 10px 8px; border-right: 1px solid var(--cr-line); border-bottom: 1px solid var(--cr-line); }
.pricing-simulator dt, .pricing-simulator dd { margin: 0; }
.pricing-simulator dt { color: var(--cr-muted); font-size: 7px; }
.pricing-simulator dd { margin-top: 5px; font-size: 10px; font-weight: 900; }
.pricing-simulator dl > div:last-child dd { color: var(--cr-green); }

.operations-scene { position: relative; margin: 40px 0 0; overflow: hidden; border-radius: 22px; box-shadow: var(--cr-shadow); }
.operations-scene img { width: 100%; height: auto; }
.operations-live { position: absolute; top: 12px; right: 14px; display: flex; align-items: center; gap: 9px; padding: 8px 10px; border-radius: 8px; color: #fff; background: #10221f; box-shadow: 0 7px 18px rgba(0,0,0,.18); }
.operations-live span { color: #68d4ae; font-size: 7px; font-weight: 900; }
.operations-live time { font-size: 8px; }
.operations-scene figcaption { position: absolute; right: 19px; bottom: 19px; display: flex; align-items: center; justify-content: space-between; gap: 25px; width: min(570px,56%); padding: 18px 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; color: #fff; background: rgba(6,23,19,.85); backdrop-filter: blur(14px); }
.operations-scene figcaption strong { font-size: 15px; }
.operations-scene figcaption span { color: rgba(255,255,255,.56); font-size: 9px; text-align: right; }
.console-lanes { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 31px; border-top: 1px solid var(--cr-line); border-bottom: 1px solid var(--cr-line); }
.console-lanes article { min-width: 0; padding: 24px 20px; border-right: 1px solid var(--cr-line); }
.console-lanes article:first-child { padding-left: 0; }
.console-lanes article:last-child { padding-right: 0; border-right: 0; }
.console-lanes span { color: var(--cr-green); font-size: 9px; font-weight: 900; }
.console-lanes h3 { margin: 10px 0 0; font-size: 16px; }
.console-lanes p { margin: 7px 0 0; color: var(--cr-muted); font-size: 9px; line-height: 1.7; }

.trace-scene { position: relative; margin: 38px 0 0; overflow: hidden; border-radius: 22px; box-shadow: var(--cr-shadow); }
.trace-scene img { width: 100%; height: auto; }
.trace-scene figcaption { position: absolute; bottom: 19px; left: 19px; width: min(555px,54%); padding: 18px 20px; border-radius: 13px; color: #fff; background: rgba(6,23,19,.86); backdrop-filter: blur(14px); }
.trace-scene figcaption span, .trace-scene figcaption strong { display: block; }
.trace-scene figcaption span { color: #72d9b6; font-size: 8px; font-weight: 900; letter-spacing: .06em; }
.trace-scene figcaption strong { margin-top: 7px; font-size: 16px; }
.trace-date { position: absolute; top: 71.7%; left: 59.1%; display: flex; align-items: center; justify-content: center; gap: 6px; width: 13.3%; min-height: 24px; padding: 0 5px; border-radius: 4px; color: #24342f; background: #f5f7f6; }
.trace-date span { color: #71807b; font-size: 6px; }
.trace-date time { font-size: 7px; font-weight: 800; }
.scenario-index { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 31px; border-top: 1px solid var(--cr-line); border-left: 1px solid var(--cr-line); }
.scenario-index article { min-width: 0; padding: 22px; border-right: 1px solid var(--cr-line); border-bottom: 1px solid var(--cr-line); }
.scenario-index span { color: var(--cr-green); font-size: 9px; font-weight: 900; }
.scenario-index h3 { margin: 10px 0 0; font-size: 16px; }
.scenario-index p { margin: 7px 0 0; color: var(--cr-muted); font-size: 9px; line-height: 1.7; }
.risk-boundary { display: grid; grid-template-columns: minmax(0,.72fr) minmax(520px,1.28fr); gap: 60px; margin-top: 38px; padding: 33px; border-radius: 18px; color: #fff; background: #0c211c; }
.risk-boundary .cr-kicker { color: #72d9b6; }
.risk-boundary h2 { margin: 0; color: #fff; font-size: clamp(25px,2.75vw,40px); font-weight: 950; line-height: 1.1; }
.risk-boundary ul { margin: 0; padding: 0; list-style: none; }
.risk-boundary li { position: relative; padding: 9px 0 9px 19px; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.62); font-size: 10px; line-height: 1.65; }
.risk-boundary li:last-child { border-bottom: 0; }
.risk-boundary li::before { position: absolute; top: 15px; left: 0; width: 6px; height: 6px; border-radius: 50%; content: ""; background: var(--cr-mint); }

.cr-faq .cr-heading { margin-bottom: 23px; }
.cr-faq .faq-list { border-top: 1px solid var(--cr-line); }
.cr-faq details { border-bottom: 1px solid var(--cr-line); }
.cr-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 67px; cursor: pointer; list-style: none; }
.cr-faq summary::-webkit-details-marker { display: none; }
.cr-faq summary span { font-size: 15px; font-weight: 850; }
.cr-faq summary i { position: relative; flex: 0 0 auto; width: 20px; height: 20px; }
.cr-faq summary i::before, .cr-faq summary i::after { position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; content: ""; background: var(--cr-green); transform: translate(-50%,-50%); transition: transform .2s ease; }
.cr-faq summary i::after { transform: translate(-50%,-50%) rotate(90deg); }
.cr-faq details[open] summary i::after { transform: translate(-50%,-50%); }
.cr-faq details p { max-width: 900px; margin: -3px 0 21px; color: var(--cr-muted); font-size: 12px; line-height: 1.8; }

.cr-contact { padding: 68px 0; color: #fff; background: linear-gradient(125deg,#091d18,#0d4e3d); }
.cr-contact__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 70px; }
.cr-contact .cr-kicker { color: #76ddba; }
.cr-contact h2 { margin: 0; color: #fff; font-size: clamp(30px,3.3vw,47px); font-weight: 950; }
.cr-contact p:not(.cr-kicker) { max-width: 760px; margin: 13px 0 0; color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.8; }
.cr-contact__actions { display: flex; gap: 9px; }
.cr-footer { color: rgba(255,255,255,.58); background: #07130f; }
.cr-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 88px; }
.cr-footer__brand { display: flex; align-items: center; gap: 10px; }
.cr-footer__brand img { width: 36px; height: 36px; border-radius: 10px; }
.cr-footer__brand strong, .cr-footer__brand small { display: block; }
.cr-footer__brand strong { color: #fff; font-size: 13px; }
.cr-footer__brand small { margin-top: 4px; color: rgba(118,221,186,.75); font-size: 8px; }
.cr-footer p { margin: 0; font-size: 9px; }
.cr-footer__inner > div { display: flex; gap: 17px; font-size: 9px; }
.cr-toast { display: none; width: 100%; margin-top: 12px; padding: 12px 16px; border-radius: 10px; color: #fff; background: #0b2c23; font-size: 12px; line-height: 1.6; }
.cr-toast.is-visible { display: block; }

@media (max-width: 1260px) {
  body.xb-shell-ready .cr-anchor { display: block; }
  .stakeholder-rail { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 1040px) {
  .cr-heading--split, .cr-heading--dark { grid-template-columns: 1fr; align-items: start; gap: 18px; }
  .problem-editorial, .resident-layout, .engine-layout { grid-template-columns: 1fr; gap: 42px; }
  .problem-editorial { margin-top: 58px; }
  .evidence-stage { display: grid; min-height: 0; gap: 20px; }
  .weighing-photo { width: 80%; }
  .settlement-slip { position: relative; right: auto; bottom: auto; justify-self: end; width: 58%; margin-top: -285px; }
  .resident-copy { width: 83%; }
  .station-scene { width: 82%; margin-left: auto; }
  .pricing-simulator { width: 78%; margin-left: auto; }
  .console-lanes { grid-template-columns: repeat(2,1fr); border-left: 1px solid var(--cr-line); }
  .console-lanes article, .console-lanes article:first-child, .console-lanes article:last-child { padding: 22px; border-right: 1px solid var(--cr-line); border-bottom: 1px solid var(--cr-line); }
  .risk-boundary { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 820px) {
  html { scroll-padding-top: 80px; }
  .cr-hero { display: flex; min-height: 0; flex-direction: column; }
  .cr-hero__inner { order: 1; display: block; min-height: 0; padding: 48px 0 34px; }
  .cr-hero__copy { max-width: none; }
  .cr-hero__media { position: relative; inset: auto; order: 2; aspect-ratio: 16/10; }
  .cr-hero__media::after { background: linear-gradient(180deg,#081d18 0%,rgba(8,29,24,.22) 42%,rgba(8,29,24,.03) 100%); }
  .cr-hero__media img { object-position: center; }
  .cr-hero h1 { font-size: clamp(37px,9vw,54px); }
  .cr-hero__claim { font-size: clamp(20px,5.25vw,29px); }
  .cr-hero__lead { font-size: 13px; }
  .cr-anchor__scroll { justify-content: flex-start; }
  .cr-positioning, .cr-capabilities, .cr-mobile, .cr-console, .cr-scenarios, .cr-faq, .cr-journey, .cr-engine { padding: 63px 0; }
  .cr-heading h2, .problem-editorial__lead h2, .resident-copy h2, .engine-copy h2 { font-size: clamp(25px,6vw,37px); }
  .journey-scene figcaption { position: static; width: auto; border: 0; border-radius: 0; }
  .route-chip { top: 13px; left: 13px; }
  .journey-steps { grid-template-columns: repeat(2,1fr); }
  .weighing-photo, .resident-copy, .station-scene { width: 100%; margin-left: 0; }
  .settlement-slip { width: 84%; margin-top: -175px; }
  .capability-lanes { grid-template-columns: 1fr; }
  .pricing-simulator { width: 100%; margin-left: 0; }
  .operations-scene figcaption, .trace-scene figcaption { position: static; width: auto; border-radius: 0; }
  .trace-date { top: 68.8%; left: 58.7%; width: 14%; min-height: 19px; }
  .trace-date span { display: none; }
  .trace-date time { font-size: 5px; }
  .scenario-index { grid-template-columns: repeat(2,1fr); }
  .cr-contact__inner { grid-template-columns: 1fr; gap: 25px; }
  .cr-contact__actions { justify-content: flex-start; }
  .cr-footer__inner { align-items: flex-start; flex-direction: column; gap: 13px; padding: 23px 0; }
}

@media (max-width: 560px) {
  .community-recovery-page .shell { width: min(100% - 28px,1180px); }
  .cr-hero__inner { padding: 40px 0 28px; }
  .cr-hero h1 { font-size: clamp(29px,8.5vw,42px); }
  .cr-hero__claim { font-size: clamp(18px,5vw,25px); }
  .cr-hero__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cr-button { min-height: 43px; padding: 0 10px; font-size: 10px; }
  .cr-hero__proof li { padding: 13px 6px; text-align: center; }
  .cr-hero__proof li:first-child { padding-left: 6px; }
  .cr-hero__proof strong { font-size: 10px; }
  .cr-hero__proof span { font-size: 7px; }
  .cr-anchor__scroll a { min-height: 44px; padding: 0 13px; }
  .cr-positioning, .cr-capabilities, .cr-mobile, .cr-console, .cr-scenarios, .cr-faq, .cr-journey, .cr-engine { padding: 51px 0; }
  .cr-heading h2, .problem-editorial__lead h2, .resident-copy h2, .engine-copy h2 { font-size: clamp(21px,5.55vw,30px); }
  .stakeholder-rail { grid-template-columns: 1fr; }
  .stakeholder-rail article { padding: 18px 0; border-right: 0; }
  .problem-ledger li { grid-template-columns: 34px 1fr; }
  .journey-scene, .weighing-photo, .station-scene, .operations-scene, .trace-scene { border-radius: 14px; }
  .route-chip { padding: 9px 10px; }
  .journey-steps li { padding: 16px 11px; }
  .journey-steps h3 { font-size: 13px; }
  .weighing-photo figcaption, .station-scene figcaption { align-items: flex-start; flex-direction: column; gap: 5px; }
  .weighing-photo figcaption span, .station-scene figcaption strong { text-align: left; }
  .settlement-slip { width: 94%; margin-top: -70px; padding: 17px; }
  .settlement-slip > header h3 { font-size: 17px; }
  .capability-lanes article { padding: 20px; }
  .pricing-simulator { padding: 17px; }
  .pricing-simulator__result strong { font-size: 28px; }
  .pricing-simulator dl { grid-template-columns: repeat(2,1fr); }
  .console-lanes, .scenario-index { grid-template-columns: 1fr; }
  .risk-boundary { padding: 23px 19px; }
  .risk-boundary h2 { font-size: clamp(21px,5.4vw,29px); }
  .cr-faq summary { min-height: 61px; }
  .cr-faq summary span { font-size: 13px; }
  .cr-contact { padding: 53px 0; }
  .cr-contact h2 { font-size: clamp(22px,5.7vw,31px); }
  .cr-contact__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cr-footer p { line-height: 1.6; }
}

@media (prefers-reduced-motion: reduce) {
  .cr-button, .settlement-slip > button, .pricing-simulator button, .cr-faq summary i::after, .cr-toast { transition: none; }
  .settlement-slip.is-reviewed { animation: none; }
}

/* Ultra-wide face-safe hero: retain the resident and collector from the source top edge. */
@media (min-width: 1041px) {
  .cr-hero,
  .cr-hero__inner { min-height: clamp(740px, 27vw, 920px); }
  .cr-hero__media img { object-position: center top; }
}

.route-chip, .operations-live, .trace-date { display: none !important; }
.journey-scene figcaption,
.operations-scene figcaption,
.trace-scene figcaption { position: static; width: 100%; border: 0; border-radius: 0; background: #0d241f; backdrop-filter: none; }
.evidence-stage { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr); align-items: center; gap: 24px; min-height: 0; }
.weighing-photo, .settlement-slip { width: 100%; }
.settlement-slip { position: static; margin: 0; backdrop-filter: none; }
@media (max-width: 820px) { .evidence-stage { grid-template-columns: 1fr; } }

/* QA hardening: readable product UI, keyboard visibility, and face-safe banners. */
.community-recovery-page .skip-link { z-index: 10050; }
.community-recovery-page .xb-header-cta { background: var(--cr-green); }
body.community-recovery-page.single-line-title-policy main :where(h1, h2, h3) { text-overflow: unset !important; }
.community-recovery-page :is(a, button, input, summary):focus-visible {
  outline: 3px solid #69d8b1;
  outline-offset: 3px;
}
.cr-kicker,
.cr-overline { font-size: 12px; line-height: 1.45; }
.settlement-slip :is(small, span, dt, dd, em),
.pricing-simulator :is(small, span, em, legend, button, label, dt, dd) {
  font-size: 12px !important;
  line-height: 1.55 !important;
}
.settlement-slip > button { font-size: 12px; }
.resident-copy li > span { font-size: 12px; }
.cr-hero__proof :is(strong, span),
.stakeholder-rail :is(span, p),
.problem-ledger :is(span, p),
.journey-scene figcaption :is(span, p),
.journey-steps :is(span, p),
.weighing-photo figcaption span,
.capability-lanes article > span,
.capability-lanes :is(p, em),
.resident-copy li p,
.station-scene figcaption :is(span, strong),
.engine-tags span,
.operations-scene figcaption span,
.console-lanes :is(span, p),
.trace-scene figcaption span,
.scenario-index :is(span, p),
.risk-boundary li { font-size: 12px; }
.cr-contact p:not(.cr-kicker) { font-size: 14px; }
.cr-anchor__scroll a { font-size: 12px; }
.cr-footer :is(p, a, small) { font-size: 12px; line-height: 1.6; }

@media (min-width: 821px) {
  .cr-hero__media {
    left: 48%;
    overflow: hidden;
    background: #dfe8e2;
  }
  .cr-hero__media::before {
    position: absolute;
    inset: -20px;
    z-index: 0;
    content: "";
    background: url("../images/hero-community-pickup.webp") 60% center / cover no-repeat;
    filter: blur(18px) saturate(.72);
    opacity: .42;
  }
  .cr-hero__media::after {
    z-index: 2;
    background: linear-gradient(90deg, #0a1d19 0%, rgba(10, 29, 25, .78) 12%, rgba(10, 29, 25, 0) 34%);
  }
  .cr-hero__media img {
    position: relative;
    z-index: 1;
    object-fit: contain;
    object-position: right center;
  }
  .cr-hero__copy { width: min(650px, 44vw); }
}

@media (max-width: 560px) {
  .cr-button { font-size: 12px; }
}
