/* Temporary adapter for mixed Alfred/Kotei markup on /test/. Values come only from archon-typography.css. New pages use semantic roles directly. */
body[data-type-system="archon"] .test-hero-copy h1{font-size:var(--type-display);line-height:var(--type-lh-display)}
body[data-type-system="archon"] .test-hero-copy>p:first-of-type{font-size:var(--type-lead);line-height:var(--type-lh-body)}
body[data-type-system="archon"] .test-hero-copy p.text-xs{font-size:var(--type-meta);line-height:var(--type-lh-meta)}
body[data-type-system="archon"] .test-hero-copy>a,body[data-type-system="archon"] .test-hero-copy a.underline{font-family:var(--type-sans);font-size:var(--type-label);line-height:var(--type-lh-label)}
body[data-type-system="archon"] #what-we-do p[data-scroll-reveal]{font-family:var(--type-serif);font-size:var(--type-statement);line-height:var(--type-lh-statement);letter-spacing:var(--type-track-heading)}
body[data-type-system="archon"] #what-we-do p:first-child,body[data-type-system="archon"] #how [data-four-step]>p{font-size:var(--type-label);line-height:var(--type-lh-label)}
body[data-type-system="archon"] #how h4{font-size:var(--type-subheading);line-height:var(--type-lh-ui)}
body[data-type-system="archon"] #calc .lg\:col-span-4 h3{font-size:var(--type-subheading);line-height:var(--type-lh-ui);letter-spacing:var(--type-track-body)}
body[data-type-system="archon"] #calc [data-archon-calculator] h3,body[data-type-system="archon"] #faq summary span{font-family:var(--type-sans);font-size:var(--type-ui-heading);line-height:var(--type-lh-ui);letter-spacing:var(--type-track-body)}
body[data-type-system="archon"] #calc output{font-family:var(--type-sans);font-size:var(--type-brand);line-height:var(--type-lh-body)}
body[data-type-system="archon"] #calc p:last-child.text-sm{font-size:var(--type-label);line-height:var(--type-lh-label)}
body[data-type-system="archon"] .test-original-header a,body[data-type-system="archon"] .test-original-header summary{font-family:var(--type-sans);font-size:var(--type-label);line-height:var(--type-lh-label)}
body[data-type-system="archon"] .test-original-header a:has(img){font-size:var(--type-brand);line-height:var(--type-lh-body);letter-spacing:var(--type-track-heading)}
body[data-type-system="archon"] footer :is(h2,.ftt,a[aria-label]){font-family:var(--type-sans);font-size:var(--type-brand);line-height:var(--type-lh-body);letter-spacing:var(--type-track-body)}
body[data-type-system="archon"] footer li a{font-family:var(--type-sans);font-size:var(--type-label);line-height:var(--type-lh-label)}
body[data-type-system="archon"] footer p.font-serif{font-family:var(--type-serif);font-size:var(--type-heading);line-height:var(--type-lh-heading);letter-spacing:var(--type-track-heading)}
body[data-type-system="archon"] footer .border-t :is(p,a){font-family:var(--type-sans);font-size:var(--type-meta);line-height:var(--type-lh-meta)}
/* Miniature software demonstrations use two named compact roles, never body-copy sizes. */
body[data-type-system="archon"] .xb{font-family:var(--type-sans);letter-spacing:var(--type-track-body)}
body[data-type-system="archon"] .xb :is(.vsrow,.vmcard p,.vmbtn,.pcloud .pill){font-family:var(--type-sans);font-size:var(--type-demo);line-height:var(--type-lh-meta);letter-spacing:var(--type-track-body)}
body[data-type-system="archon"] .xb :is(.vmono,.vchip){font-family:var(--type-sans);font-size:var(--type-demo-label);line-height:var(--type-lh-ui)}

/* Text relationships consume the shared gap tokens. */
body[data-type-system="archon"] .test-hero-copy>p:first-of-type{margin-top:var(--type-gap-heading)}
body[data-type-system="archon"] .test-hero-copy>div.mt-10{margin-top:var(--type-gap-action)}
body[data-type-system="archon"] #how h3+:is(p,h4){margin-top:var(--type-gap-heading)}
body[data-type-system="archon"] #calc figcaption{margin-top:var(--type-gap-caption)}
body[data-type-system="archon"] .xb :is(.vmono,.vchip){letter-spacing:var(--type-track-body)}

/* Text must retain AA contrast in every scroll state, not only when focused. */
body[data-type-system="archon"] [data-four-step],body[data-type-system="archon"] [data-scroll-reveal] span{opacity:1!important}
