/* Editorial type tokens fill marketing gaps in the TYCT system. */
:root{--text-body:18px;--text-ui:16px;--text-detail:14px;--text-caption:13px;--text-lead:20px;--muted:var(--gray-700)}
.hero-copy>p{font-size:var(--text-lead);max-width:470px;line-height:1.6}
.hero-note{font-size:var(--text-ui);max-width:470px}
.product-stage{height:auto;min-height:640px;padding:var(--space-6)}
.dashboard{transform:none}
.dashboard .micro{font-size:var(--text-caption);color:var(--gray-700)}
.dashboard h2{font-size:26px}
.status-indicator{font-size:var(--text-caption);white-space:nowrap}
.score-description>strong{font-size:var(--text-body)}
.score-description p{font-size:var(--text-detail);line-height:1.5}
.source-chips span{font-size:var(--text-caption)}
.dashboard-alert{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--tint);padding:var(--space-3);border-radius:var(--radius);margin-top:var(--space-4)}
.alert-mark{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border:1px solid var(--brand);border-radius:50%;font-size:var(--text-ui);font-weight:600;color:var(--brand)}
.dashboard-alert strong{font-size:var(--text-detail);font-weight:600;line-height:1.5}
.dashboard-alert p{font-size:var(--text-caption);color:var(--muted);margin-top:var(--space-1);line-height:1.5}
.dashboard-tabs button{font-size:var(--text-detail)}
.supplier-name{font-size:var(--text-detail)}
.supplier-name small{font-size:var(--text-caption);line-height:1.4}
.supplier-status{font-size:var(--text-caption)}
.supplier-score{font-size:var(--text-ui)}
.dashboard-footer{font-size:var(--text-caption);gap:var(--space-3);line-height:1.5}
.hero-bottom,.hero-bottom>span:first-child{font-size:var(--text-ui)}
.section-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--space-7);align-items:end}
.section-heading h2{font-size:clamp(40px,4.5vw,60px);line-height:1.08}
.section-heading>p{font-size:var(--text-body);max-width:560px;padding:0;color:var(--gray-700);line-height:1.6}
.platform-section .section-heading{display:block;max-width:850px}
.platform-section .section-heading>p{margin-top:var(--space-5);max-width:720px}
.eyebrow,.tour-copy>.eyebrow,.role-copy .eyebrow{font-size:var(--text-detail)}
.capability-grid{margin-top:var(--space-7)}
.step{font-size:var(--text-detail)}
.capability-grid h3{font-size:28px}
.capability-grid p{font-size:var(--text-body);max-width:none;line-height:1.65}
.feature-visual{height:250px}
.archive-visual>div{font-size:var(--text-detail)}
.archive-caption{font-size:var(--text-caption)}
.headcount-visual>span{font-size:var(--text-detail)}
.headcount-visual>strong{font-size:48px}
.capability-grid .headcount-visual>p{font-size:var(--text-detail);margin-top:var(--space-3)}
.headcount-visual>b{font-size:var(--text-detail);line-height:1.5}
.monitor-visual>div{font-size:var(--text-detail)}
.monitor-visual small{font-size:var(--text-detail);line-height:1.5}
.solutions .section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5)}
.role-tabs button{font-size:var(--text-ui);padding:var(--space-3) var(--space-4);line-height:1.5}
.role-copy p,.tour-copy p{font-size:var(--text-body);max-width:480px;margin-top:var(--space-4)}
.role-copy h3,.tour-copy h3{font-size:38px;line-height:1.15}
.role-copy ul,.tour-benefits{font-size:var(--text-ui);line-height:1.6}
.role-copy .eyebrow{min-height:18px}
.network-node{font-size:var(--text-ui)}
.network-partners>div{font-size:var(--text-detail)}
.network-partners small{font-size:var(--text-detail);color:var(--gray-700);line-height:1.4}
.network-caption{font-size:var(--text-detail);line-height:1.5}
.network-caption small{font-size:var(--text-caption);color:var(--gray-700)}
.tour-tabs button{font-size:var(--text-ui);line-height:1.5}
.tour-panel{gap:var(--space-7);grid-template-columns:1.2fr 1fr}
.tour-stage{padding:var(--space-5)}
.tour-view{padding:var(--space-5);min-height:380px}
.tour-screen-heading{align-items:flex-start}
.tour-screen-heading h4{font-size:22px}
.tour-view .micro{font-size:var(--text-caption);color:var(--gray-700)}
.tour-period,.tour-footnote{font-size:var(--text-caption);color:var(--gray-700);line-height:1.5}
.tour-table,.tour-table th{font-size:var(--text-detail);color:var(--gray-700)}
.tour-status{font-size:var(--text-caption);padding:var(--space-1) 6px}
.tour-document strong{font-size:var(--text-detail)}
.tour-document small{font-size:var(--text-caption);color:var(--gray-700)}
.archive-months{font-size:var(--text-detail)}
.tour-notice strong{font-size:var(--text-detail);line-height:1.5}
.tour-notice p{font-size:var(--text-detail);line-height:1.5}
.portfolio-metrics span,.portfolio-group small,.portfolio-group>b{font-size:var(--text-caption);color:var(--gray-700)}
.portfolio-group>span{font-size:var(--text-ui)}
.tour-score-card{display:flex;align-items:center;gap:var(--space-5);margin-block:var(--space-5)}
.tour-score-card .score-ring{width:116px;height:116px;flex-shrink:0}
.tour-score-card p{font-size:var(--text-detail);color:var(--muted);margin-top:var(--space-2);line-height:1.5}
.score-signals{margin:0;font-size:var(--text-detail)}
.score-signals>div{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--line)}
.score-signals dt{color:var(--muted)}
.score-signals dd{margin:0;color:var(--brand);font-weight:500;white-space:nowrap}
.tour-privacy-note{font-size:var(--text-detail);color:var(--gray-700);margin-top:var(--space-4);line-height:1.5}
.signals-heading p{font-size:var(--text-body);max-width:600px}
.principle-points h3{font-size:24px}
.principle-points p{font-size:var(--text-ui);max-width:480px}
.faq summary{font-size:var(--text-body)}
.faq details p{font-size:var(--text-ui)}
.cta p{font-size:var(--text-body)}
.desktop-nav,.portal-link{font-size:var(--text-ui)}
.text-link,.light-link{font-size:var(--text-ui)}
.footer-top>span,.footer-bottom{font-size:var(--text-detail)}
@media(max-width:1100px){
  .tour-panel{gap:var(--space-6);grid-template-columns:1.2fr 1fr}
  .section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5)}
  .product-stage{padding:var(--space-5)}
  .tour-copy h3,.role-copy h3{font-size:34px}
  .desktop-nav{gap:var(--space-4)}
}
@media(max-width:850px){
  .tour-panel{grid-template-columns:1fr}
  .hero-copy>p{font-size:var(--text-body);max-width:560px}
  .product-stage{max-width:640px}
  .capability-grid h3{font-size:25px}
  .capability-grid p{font-size:var(--text-ui)}
  .tour-copy{padding:0}
}
@media(max-width:600px){
  .hero-copy>p{font-size:var(--text-body)}
  .hero-note{font-size:var(--text-ui)}
  .product-stage{padding:var(--space-3);min-height:0}
  .dashboard-body{padding:var(--space-4)}
  .dashboard-heading{flex-wrap:wrap;gap:var(--space-2)}
  .dashboard h2{font-size:24px}
  .dashboard .micro{font-size:var(--text-caption)}
  .hero-score{gap:var(--space-3)}
  .score-description>strong{font-size:var(--text-ui)}
  .score-description p{font-size:var(--text-detail)}
  .dashboard-tabs{gap:var(--space-3)}
  .dashboard-tabs button{font-size:var(--text-caption)}
  .supplier-name{font-size:var(--text-caption)}
  .supplier-name small{font-size:var(--text-caption)}
  .supplier-status{font-size:var(--text-caption);padding:3px}
  .dashboard-footer{font-size:var(--text-caption);flex-wrap:wrap}
  .hero-bottom{gap:var(--space-4)}
  .hero-bottom>div{font-size:var(--text-detail)}
  .section-heading h2{font-size:38px}
  .section-heading>p{font-size:var(--text-body)}
  .eyebrow,.tour-copy>.eyebrow,.role-copy .eyebrow{font-size:var(--text-caption)}
  .capability-grid h3{font-size:28px}
  .role-tabs{display:flex;flex-direction:column;width:100%}
  .role-tabs button{font-size:var(--text-ui);white-space:normal;text-align:left;line-height:1.5}
  .role-panel{grid-template-columns:1fr}
  .role-copy{padding:var(--space-5)}
  .role-copy h3,.tour-copy h3{font-size:32px}
  .role-copy p,.tour-copy p{font-size:var(--text-ui)}
  .role-copy ul,.tour-benefits{font-size:var(--text-ui)}
  .relationship-visual{padding:var(--space-5)}
  .tour-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);overflow:visible;padding:0}
  .tour-tabs button{font-size:var(--text-detail);text-align:left;white-space:normal;padding-block:var(--space-3)}
  .tour-stage{padding:var(--space-3)}
  .tour-view{padding:var(--space-4)}
  .tour-screen-heading{flex-wrap:wrap;gap:var(--space-2)}
  .tour-screen-heading h4{font-size:20px}
  .tour-table,.tour-table th{font-size:var(--text-caption)}
  .tour-status{font-size:var(--text-caption);white-space:normal}
  .tour-document{gap:var(--space-2)}
  .tour-document strong{font-size:var(--text-detail)}
  .tour-document small{font-size:var(--text-caption)}
  .tour-document>.tour-status{display:none}
  .portfolio-group{grid-template-columns:1.2fr 1fr auto;gap:var(--space-2)}
  .portfolio-group>span{font-size:var(--text-detail)}
  .portfolio-metrics{gap:var(--space-2)}
  .portfolio-metrics span{font-size:var(--text-caption)}
  .portfolio-metrics strong{font-size:30px}
  .tour-score-card{gap:var(--space-3)}
  .tour-score-card .score-ring{width:96px;height:96px}
  .score-signals{font-size:var(--text-detail)}
  .signals-heading p{font-size:var(--text-body)}
  .principle-points h3{font-size:22px}
  .principle-points p{font-size:var(--text-ui)}
  .faq summary{font-size:var(--text-ui)}
  .faq details p{font-size:var(--text-ui)}
}

/* Larger type also needs flexible content geometry, not smaller mobile labels. */
.hero .eyebrow{font-size:var(--text-detail)}
.hero-aside{font-size:var(--text-ui)}
.hero-actions .text-link,.role-copy .button,.cta .button,.button{font-size:var(--text-ui)}
.people-banner figcaption strong{font-size:var(--text-ui)}
.people-principle .principle-points h3{font-size:24px}
.principle-points article>span{font-size:var(--text-detail)}
.image-credit,.principle-photo .image-credit{font-size:var(--text-caption)}
.footer-top>a:last-child{font-size:var(--text-ui)}
.hero-score .score-description{min-width:0}
.source-chips{flex-wrap:wrap}
.feature-visual{height:auto;min-height:270px}
.archive-visual>div{gap:var(--space-2)}
.dashboard-heading{flex-wrap:wrap;gap:var(--space-3)}
.supplier-name{min-width:0}
.network-partners>div{font-size:var(--text-detail)}
@media(max-width:1000px){.capability-grid{grid-template-columns:1fr}.feature-visual{max-width:560px}.capability-grid article{min-width:0}}
@media(max-width:600px){
 .hero .eyebrow{letter-spacing:.07em}
 .hero-score{align-items:flex-start}
 .hero-score .score-ring{width:80px;height:80px;flex-shrink:0}
 .dashboard-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
 .dashboard-tabs button{white-space:normal;text-align:left}
 .supplier-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--space-2)}
 .supplier-status{grid-column:2;justify-self:start;grid-row:2}
 .supplier-score{grid-column:3;grid-row:1 / 3}
 .tour-table th,.tour-table td{padding:var(--space-2) var(--space-1)}
 .tour-view{padding:var(--space-3)}
 .tour-tabs button{font-size:var(--text-ui)}
 .role-copy .button{white-space:normal}
 .score-signals>div{gap:var(--space-2)}
 .people-principle .principle-points h3{font-size:22px}
 .network-partners>div{padding:var(--space-3);gap:var(--space-2)}
 .network-partners small{font-size:var(--text-caption)}
}
.button.small,.mobile-nav a{font-size:var(--text-ui)}
/* Seven nav items: keep the header on one line just above the 1100px mobile breakpoint. */
@media(min-width:1101px) and (max-width:1260px){.desktop-nav{gap:var(--space-3)}.header-actions{gap:var(--space-3)}.header-inner{gap:var(--space-4)}.desktop-nav a,.audience-menu summary,.portal-link,.header-actions .button{white-space:nowrap}}
/* Footer legal row wraps at every width, not only below 600px: between ~600 and ~900px it overflowed the viewport. */
.footer-bottom,.footer-bottom nav{flex-wrap:wrap}
