/* Demo structure hardening — loaded after shared site-final rules. */
.demo-page .demo-objective-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px!important;background:var(--rule)!important;border:1px solid var(--rule)!important;overflow:hidden!important}
.demo-page .demo-objective{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto 1fr auto!important;align-content:start!important;justify-content:stretch!important;align-items:start!important;width:100%!important;min-width:0!important;min-height:245px!important;padding:1.35rem!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--surface)!important;color:var(--ink)!important;text-align:left!important;overflow:hidden!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
.demo-page .demo-objective:nth-child(4n+2){background:var(--app-surface)!important}
.demo-page .demo-objective:nth-child(4n+3){background:var(--app-surface)!important}
.demo-page .demo-objective:hover,.demo-page .demo-objective:focus-visible{background:var(--app-raised)!important;color:var(--ink)!important;transform:none!important}
.demo-page .demo-objective small{display:block!important;width:auto!important;margin:0 0 1.5rem!important;padding:0!important;font:500 .61rem/1.35 var(--font-data)!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--hot)!important;white-space:normal!important}
.demo-page .demo-objective:nth-child(4n+2) small{color:var(--warm)!important}.demo-page .demo-objective:nth-child(4n+3) small{color:var(--cool)!important}.demo-page .demo-objective:nth-child(4n) small{color:var(--sage)!important}
.demo-page .demo-objective strong{display:block!important;position:static!important;width:auto!important;max-width:15ch!important;margin:0 0 .8rem!important;padding:0!important;font-family:var(--font-display)!important;font-size:clamp(1.85rem,2.5vw,2.6rem)!important;font-weight:400!important;line-height:.98!important;letter-spacing:-.035em!important;color:var(--ink)!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
.demo-page .demo-objective p{display:block!important;position:static!important;margin:0!important;padding:0!important;max-width:38ch!important;font:400 .84rem/1.6 var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important;white-space:normal!important;overflow-wrap:break-word!important}
.demo-page .demo-objective>span{display:block!important;position:static!important;margin-top:auto!important;padding:1.5rem 0 0!important;max-width:34ch!important;font:500 .59rem/1.45 var(--font-data)!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:var(--cool)!important;white-space:normal!important}
.demo-page .demo-form button,.demo-page .demo-text-button,.demo-page .demo-outline,.demo-page .demo-primary{width:auto!important;max-width:100%!important}
.demo-page .demo-form input,.demo-page .demo-form select,.demo-page .demo-form textarea{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--rule)!important}
.demo-page .demo-form input::placeholder{color:var(--cool)!important;opacity:.85}
.demo-page .demo-progress i{background:var(--hot)!important}

@media(max-width:760px){
  .demo-page .demo-objective-grid{grid-template-columns:1fr!important}
  .demo-page .demo-objective{min-height:0!important}
  .demo-page .demo-objective strong{font-size:clamp(1.8rem,9vw,2.5rem)!important}
}
