/* October 29 visual review. All colors are defined in theme.css. */
h1,h2,h3,h4 { text-wrap: balance; }
p,li { text-wrap: pretty; }
body { background: var(--paper); color: var(--ink); }
body .button, body .band .button, body .closing .button { background: var(--ink); color: var(--white); border-color: var(--ink); }
body .button:hover, body .band .button:hover, body .closing .button:hover { background: var(--sage-dark); color: var(--white); border-color: var(--sage-dark); }
body .closing .button { border-color: var(--white); }
body .closing { background: var(--ink); color: var(--white); }
.site-footer { background: var(--ink); color: var(--white); }
body .band-sage { background: var(--sage-dark); color: var(--white); }
.band-sage p,.band-sage .eyebrow,.band-sage .footnote,.band-sage .fineprint,.band-sage .person p,.band-sage .person-role,.band-sage .search-copy { color: var(--white); }
.band-sage a:focus-visible,.band-sage button:focus-visible,.closing a:focus-visible,.site-footer a:focus-visible { outline-color: var(--white); }
.band-sage .card,.band-sage .panel,.stone-section .card { background: var(--pale-sage); color: var(--ink); }
.band-sage :is(.card,.panel,.form-panel,.analysis-value-tile,.analysis-fact,.analysis-deliverable) p,
.band-sage :is(.card,.panel,.form-panel) .eyebrow { color: var(--ink); }
.icon { stroke-width: 1.5; }
.card-top .icon,.timeline-icon .icon,.platform-parts article > .icon { color: var(--sage-dark); width: 30px; height: 30px; }
.button .icon,.text-link .icon,.site-footer .icon { color: currentColor; }
.band-sage > .container > .icon { color: var(--white); }
.timeline-icon { background: var(--paper); }
.supplied-visual { position: relative; overflow: hidden; border-radius: var(--radius); width: 100%; max-width: var(--native-image-width); min-width: 0; margin: 0; justify-self: center; }
.supplied-visual > img { display: block; width: 100%; height: auto; object-fit: contain; }
.supplied-illustrative { position: absolute; top: 14px; right: 14px; padding: 5px 10px; border-radius: 18px; background: var(--paper); color: var(--ink); font-size: 14px; line-height: 1.35; border: 1px solid var(--light-sage); z-index: 2; }
.supplied-visual > figcaption { padding: 14px 18px; background: var(--paper); color: var(--ink); font-size: 16px; }
.hero-door .supplied-visual { border-radius: 16px; }
.matter-brand-block { display: flex; align-items: center; gap: 32px; }
.matter-brand-block img { width: 180px; height: auto; background: transparent; padding: 0; border-radius: 0; flex-shrink: 0; }
.ecosystem-names img,.platform-logo-tile img,.assistant-logo-tile img { width: 44px; height: 44px; object-fit: contain; }
body[data-route='/analysis'] .analysis-fields { margin-top: 22px; }
body[data-route='/analysis'] .analysis-fields legend { margin-bottom: 10px; }
body[data-route='/analysis'] .analysis-form .form-grid { gap: 14px 16px; margin-top: 0; }
body[data-route='/analysis'] .analysis-form .field { gap: 6px; }
body[data-route='/analysis'] .analysis-form input:not([type=checkbox]),body[data-route='/analysis'] .analysis-form select { height: 46px; min-height: 46px; padding: 8px 12px; font-size: 16px; line-height: 1.35; }
body[data-route='/analysis'] .analysis-form .consent { margin-block: 20px; }
body[data-route='/analysis'] .analysis-form button { margin-top: 18px; }
body[data-route='/analysis'] .analysis-progress { margin-bottom: 16px; }
body[data-route='/analysis'] .analysis-request-grid { align-items: start; }
body[data-route='/analysis'] .analysis-deliverables { padding-top: 48px; }
@media(min-width:1100px) {
  .platform-parts p { max-width: 36ch; }
  .home-outcomes .card p { min-height: 4.65em; }
}
@media(max-width:800px) {
  .supplied-visual { margin-inline: auto; }
  .supplied-illustrative { top: 10px; right: 10px; }
  .matter-brand-block { flex-direction: column; align-items: flex-start; gap: 24px; }
  .matter-brand-block img { width: 160px; }
  body[data-route='/analysis'] .analysis-deliverables { padding-top: 0; }
}
@media(prefers-reduced-motion:reduce) { .supplied-visual { animation: none; transition: none; } }

body[data-route] .supplied-visual .supplied-illustrative { top: 14px; bottom: auto; right: 14px; height: auto; font-size: 14px; line-height: 1.35; color: var(--ink); background: var(--paper); padding: 5px 10px; }
body[data-route] main .closing .button { background: var(--ink); color: var(--white); border-color: var(--white); }
body[data-route] main .closing .button:hover { background: var(--sage-dark); color: var(--white); border-color: var(--sage-dark); }
.home-outcomes .card:first-child p { max-width: 19ch; }
