/* Unified type roles. One scale per role, independent of section. */
main{--t-hero:52px;--t-section:38px;--t-category:28px;--t-card:22px;--t-body:18px;--t-quote:20px;--t-caption:14px;--t-name:16px;--t-eyebrow:12px;--t-button:16px;--t-metric:40px;--t-date:22px;font-family:'DM Sans',sans-serif;font-size:var(--t-body);line-height:1.6}
main .ty-hero{font-family:Sora,sans-serif!important;font-size:var(--t-hero)!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.035em!important}
main .ty-section{font-family:Sora,sans-serif!important;font-size:var(--t-section)!important;font-weight:800!important;line-height:1.2!important;letter-spacing:-.025em!important}
main .ty-title-part{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;margin-top:0}
main .ty-category{font-family:Sora,sans-serif!important;font-size:var(--t-category)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.02em!important}
main .ty-card{font-family:Sora,sans-serif!important;font-size:var(--t-card)!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.015em!important}
main .ty-body{font-family:'DM Sans',sans-serif!important;font-size:var(--t-body)!important;font-weight:400!important;line-height:1.65!important;letter-spacing:normal!important}
main .ty-quote{font-family:'DM Sans',sans-serif!important;font-size:var(--t-quote)!important;font-weight:600!important;line-height:1.55!important;letter-spacing:normal!important}
main .ty-caption{font-family:'DM Sans',sans-serif!important;font-size:var(--t-caption)!important;font-weight:400!important;line-height:1.5!important;letter-spacing:normal!important}
main .ty-name{font-family:Sora,sans-serif!important;font-size:var(--t-name)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:normal!important}
main .ty-eyebrow{font-family:Sora,sans-serif!important;font-size:var(--t-eyebrow)!important;font-weight:700!important;line-height:1.5!important;letter-spacing:.12em!important}
main .ty-button{font-family:'DM Sans',sans-serif!important;font-size:var(--t-button)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:normal!important}
main .ty-metric{font-family:Sora,sans-serif!important;font-size:var(--t-metric)!important;font-weight:800!important;line-height:1.15!important;letter-spacing:-.03em!important}
main .ty-date{font-family:Sora,sans-serif!important;font-size:var(--t-date)!important;font-weight:800!important;line-height:1.3!important;letter-spacing:-.015em!important}
main .ty-body strong,main .ty-body b{font-weight:700}
@media(max-width:760px){main{--t-hero:38px;--t-section:30px;--t-category:24px;--t-card:20px;--t-body:17px;--t-quote:18px;--t-caption:13px;--t-name:14px;--t-metric:32px;--t-date:20px}}
@media(max-width:480px){main{--t-hero:34px}}

/* Preserve the original key-message and speaker-attribution emphasis. */
main .is-emphasis{font-weight:700!important}

/* Semantic reading layouts: consistent within each family, not ad hoc switching. */
main .prose-left{text-align:left;text-align-last:left;text-wrap:pretty;word-spacing:normal;letter-spacing:normal;-webkit-hyphens:none;hyphens:none}
@media(max-width:760px){main .prose-justified,main .prose-left{text-align:left;text-align-last:left;-webkit-hyphens:none;hyphens:none}}

/* One orange and one dark foreground for every custom button. */
:root{--button-orange:#f28c28;--button-ink:#15173d}
main :is(a,button,summary).ty-button,
.legacy-videos #close-modal,
.legacy-videos #modal-link{
 background:var(--button-orange)!important;
 color:var(--button-ink)!important;
 border-color:var(--button-orange)!important;
 opacity:1!important;
 filter:none!important;
}
main :is(a,button,summary).ty-button :is(span,strong,svg),
.legacy-videos #close-modal svg{color:inherit!important}
main :is(a,button,summary).ty-button:hover,
.legacy-videos #close-modal:hover,
.legacy-videos #modal-link:hover{
 background:var(--button-orange)!important;
 color:var(--button-ink)!important;
 filter:none!important;
}
main :is(a,button,summary).ty-button:focus-visible,
.legacy-videos #close-modal:focus-visible,
.legacy-videos #modal-link:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--button-ink)}
.legacy-videos #modal-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:100px;font-weight:700;text-decoration:none}
main .gallery-controls .text-link.ty-button{padding:12px 20px;border:1px solid var(--button-orange);border-radius:100px;text-decoration:none}
main .ty-button:disabled{cursor:not-allowed;box-shadow:none}
