/* Shared role correspondence, not an automated sequence. */
:root{--text-hero:3rem;--text-hero-mobile:2rem}
.home-page .hero-grid,.business-page .business-hero-grid,.school-page .school-hero-grid,.product-page .product-hero-grid{align-items:start}
.home-page .hero-copy h1,.business-page .business-hero h1,.school-page .school-hero h1,.product-page .product-hero-copy h1,.enrollment-page .enrollment-hero h1,.contact-page .contact-hero h1{font-size:var(--text-hero);line-height:1.5;letter-spacing:-.04em}
.product-page .product-hero-description .lead{margin-top:0;font-size:18px;line-height:1.8}
.business-page .business-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 64px}
.business-hero-description .lead{margin:0 0 24px}
.business-hero-description>.btn{margin-top:0}
.business-hero-grid>.roles-diagram,.product-hero-grid>.roles-diagram{grid-column:1/-1}
.roles-diagram{min-width:0;margin:0;padding:28px;background:white;border:1px solid #d3def0;border-radius:12px}
.roles-diagram figcaption{font-size:20px;line-height:1.6;font-weight:700;margin:0 0 24px;color:var(--ink);text-wrap:balance}
.roles-diagram figcaption h2{font:inherit;letter-spacing:0}
.roles-source{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--muted);font-size:16px;line-height:1.8}
.roles-source svg{width:22px;height:22px;flex:none;color:var(--purple-ink)}
.roles-head,.roles-rows>li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 32px}
.roles-head>span{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;line-height:1.6;padding:0 20px 14px;border-bottom:3px solid #9b7fe1;color:var(--purple-ink)}
.roles-head>span+span{border-color:#8ca3c7;color:#405878}
.roles-head svg{width:24px;height:24px;flex:none}
.roles-rows{list-style:none;margin:0;padding:0}
.roles-rows>li+li{border-top:1px solid #dce3ee}
.roles-human,.roles-system{min-width:0;padding:22px 20px}
.roles-human{background:#fbf9ff}.roles-system{background:#f3f7fd}
.roles-diagram h3{display:flex;gap:12px;align-items:baseline;margin:0 0 10px;font-size:20px;line-height:1.6;letter-spacing:-.02em}
.roles-index{font-size:14px;color:var(--purple-ink);font-weight:650;flex:none;letter-spacing:.04em}
.roles-diagram .roles-rows p{font-size:16px;line-height:1.8;color:#52617a;margin:0}
.roles-note{margin:20px 0 0;padding-top:16px;border-top:1px solid #dce3ee;font-size:16px;line-height:1.8;color:#46536c}
.roles-mobile-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.product-concept-detail .roles-diagram{margin-bottom:24px}
@media(max-width:1100px){.home-page .hero-copy h1,.business-page .business-hero h1,.school-page .school-hero h1,.product-page .product-hero-copy h1,.enrollment-page .enrollment-hero h1,.contact-page .contact-hero h1{font-size:2.5rem}.business-page .business-hero-grid{gap:28px 32px}}
@media(max-width:760px){
.home-page .hero-copy h1,.business-page .business-hero h1,.school-page .school-hero h1,.product-page .product-hero-copy h1,.enrollment-page .enrollment-hero h1,.contact-page .contact-hero h1{font-size:var(--text-hero-mobile)}
.business-page .business-hero-grid{grid-template-columns:minmax(0,1fr);gap:24px}
.product-page .product-hero-description .lead{font-size:16px}
.roles-diagram{padding:20px 16px}.roles-diagram figcaption{font-size:20px;margin-bottom:20px}
.roles-head{display:none}.roles-rows>li{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid #dce3ee;border-radius:6px;overflow:hidden}.roles-rows>li+li{margin-top:16px}
.roles-human,.roles-system{padding:18px 16px}.roles-system{border-top:1px solid #dce3ee}
.roles-mobile-label{position:static;width:auto;height:auto;clip-path:none;white-space:normal;display:block;font-size:14px;font-weight:650;color:var(--purple-ink);margin-bottom:8px}
.roles-system .roles-mobile-label{color:#405878}.roles-diagram h3{font-size:18px;gap:8px}.roles-note{margin-top:18px}
}
