﻿/* Site typography contract. Loaded last on every page; role rules override legacy page styles. */
:root{--font-site:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--type-body:1rem;--type-small:.875rem;--type-label:.75rem;--type-h1:clamp(1.875rem,3vw,2.5rem);--type-h2:1.875rem;--type-h3:1.25rem}
body,button,input,select,textarea{font-family:var(--font-site)!important}
main h1{font-size:var(--type-h1)!important;font-weight:700!important;line-height:1.18!important;letter-spacing:normal!important}
main h2{font-size:var(--type-h2)!important;font-weight:700!important;line-height:1.2!important;letter-spacing:normal!important}
main h3{font-size:var(--type-h3)!important;font-weight:600!important;line-height:1.4!important;letter-spacing:normal!important}
main p,main li,main dd{font-size:var(--type-body)!important;line-height:1.65!important}
main .hero-summary,main .ai-lead,main .page-intro>div>p:not(.services-eyebrow):not(.about-eyebrow){font-size:1.0625rem!important;line-height:1.65!important}
main :is(.hero-eyebrow,.ai-eyebrow,.services-eyebrow,.about-eyebrow,.ai-need-number,.ai-day-caption){font-family:var(--font-site)!important;font-size:var(--type-label)!important;font-weight:600!important;line-height:1.5!important;letter-spacing:.14em!important}
main :is(.ai-hero-note,.ai-benefit p,.ai-example){font-size:var(--type-small)!important;line-height:1.6!important}
main .ai-benefit h2{font-size:1rem!important;font-weight:600!important;line-height:1.4!important}
main :is(a.bg-honey-gold,button.bg-honey-gold,.ai-button,.ai-text-link,.hero-actions a){font-family:var(--font-site)!important;font-size:1rem!important;font-weight:600!important;line-height:1.5!important}
main .ai-sculpture-label{font-family:var(--font-site)!important}
@media(min-width:768px){:root{--type-h2:2.25rem}}

/* Shared semantic roles for service-page labels and supporting graphics. */
main .site-eyebrow{font-family:var(--font-site)!important;font-size:var(--type-label)!important;font-weight:600!important;line-height:1.5!important;letter-spacing:.14em!important;text-transform:uppercase}
main .site-lead{font-size:1.0625rem!important;line-height:1.65!important}
main .support-art-label,main .support-coverage-list article>span{font-size:var(--type-small);line-height:1.5}
main .support-process li>span{font-size:var(--type-label);font-weight:600}
main .support-secondary,main .support-options-grid a,main .support-faq summary{font-size:1rem;font-weight:600;line-height:1.5}
main .document-flow li>span{font-size:var(--type-label);font-weight:600}
main .document-example strong{font-size:var(--type-small);font-weight:600}
main .recovery-example{font-size:var(--type-small);line-height:1.6}
main .contact-privacy-note{font-size:var(--type-small)!important;line-height:1.6!important}
.footer-legal{font-size:var(--type-small);line-height:1.6}

/* Legal contents navigation and revision metadata use supporting-copy sizing. */
.legal-page main .legal-toc li,.legal-page main .legal-updated{font-size:var(--type-small)!important;line-height:1.6!important}
.legal-toc>strong,.legal-related{font-size:var(--type-small);line-height:1.6}

/* Display and supporting roles used by the homepage; available to any page. */
main .site-button{font-family:var(--font-site)!important;font-size:1rem!important;font-weight:600!important;line-height:1.5!important}
main .site-supporting{font-size:var(--type-small)!important;line-height:1.6!important}
main .site-quote{font-size:1.125rem!important;line-height:1.55!important}
main .site-statement{font-size:1.125rem!important;font-weight:600!important;line-height:1.5!important}
main .package-price{font-size:1.875rem!important;font-weight:700!important;line-height:1.2!important}
main .step-number{font-size:1.5rem;font-weight:700;line-height:1}
