/* Family-wide typography and surface rules. Loaded after each site's legacy stylesheet. */
:root{--family-font:Remi,Arial,sans-serif;--family-ink:#172733;--family-muted:#5e7381;--family-accent:#0079a8;--family-paper:#f9faf9;--family-line:#dce5eb;--family-hero-size:56px;--family-page-size:40px;--family-section-size:28px;--family-card-size:20px;--family-body-size:16px;--family-ui-size:13px;--family-radius:4px;--family-page-width:1280px;--family-page-pad:48px}
body{font-family:var(--family-font)!important;background:var(--family-paper);color:var(--family-ink)}
button,input,select{font-family:var(--family-font)}
h1,h2,h3,h4,h5,h6{font-family:var(--family-font)!important}
.remi-family-bar,.remi-preview-note{font-family:var(--family-font)!important}
.remi-family-bar{padding-left:max(24px,calc((100vw - 1184px)/2))!important;padding-right:max(24px,calc((100vw - 1184px)/2))!important}
.remi-family-nav a{font-family:var(--family-font)!important;font-size:13px!important;font-weight:550!important;line-height:1.5!important;letter-spacing:0!important}
.remi-family-brand img{width:138px!important;height:64px!important;object-fit:contain!important;filter:none!important}
.remi-family-institution{font-size:10px!important;font-weight:400!important;line-height:1.7!important;letter-spacing:0!important;color:var(--family-muted)!important}
.remi-family-institution strong{font-weight:600!important}
.home-hero,.open-intro,.catalog-hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important;gap:48px!important;padding-top:56px!important;padding-bottom:56px!important}
.home-hero h1,.open-intro h1,.catalog-hero h1{font-size:var(--family-hero-size)!important;font-weight:550!important;line-height:1.08!important;letter-spacing:-2.2px!important;margin:22px 0!important;color:var(--family-ink)!important}
.home-hero h1 em,.open-intro h1 span,.catalog-hero h1 em{color:#0087bb!important;font-style:normal!important;font-weight:inherit!important}
.home-hero .hero-description,.open-intro>div>p,.catalog-hero>div>p{font-size:16px!important;font-weight:400!important;line-height:1.85!important;letter-spacing:0!important;color:var(--family-muted)!important}
.family-figure{display:block!important;width:100%!important;min-width:0;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:var(--family-radius)!important;overflow:hidden;background:#102b3d;aspect-ratio:3/2;height:auto!important}
.family-figure img{display:block!important;width:100%!important;height:100%!important;max-width:100%;object-fit:contain!important;border:0!important;margin:0!important;padding:0!important}
body[data-family-site="open"] .overview,body[data-family-site="labs"] .catalog-hero,body[data-family-site="labs"] .featured,body[data-family-site="labs"] .catalog,body[data-family-site="labs"] .learn-note{width:auto!important;max-width:var(--family-page-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--family-page-pad)!important;padding-right:var(--family-page-pad)!important;box-sizing:border-box}
.overview .open-intro{padding-left:0!important;padding-right:0!important}
.local-navigation a,.localbar nav a,.local-nav a{font-size:var(--family-ui-size)!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0!important;color:var(--family-muted)}
.eyebrow{font-family:var(--family-font)!important;font-size:11px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:.12em!important;color:var(--family-accent)!important}
.section-line h2,.section-head h2,.resource-bar h2,.path-section>h2,.learn-note h2,.home-invitation h2{font-size:var(--family-section-size)!important;font-weight:550!important;line-height:1.25!important;letter-spacing:-.65px!important}
.home-research-item h3,.resource h3,.featured-card h3,.course-heading h3,.start-grid h3{font-size:var(--family-card-size)!important;font-weight:550!important;line-height:1.35!important;letter-spacing:-.4px!important}
.home-research-item p,.resource p,.featured-card p,.course-heading p,.start-grid p,.news-entry p{font-size:14px!important;line-height:1.8!important;color:var(--family-muted)!important}
.primary-action,.primary-link{font-size:var(--family-ui-size)!important;font-weight:550!important;line-height:1.5!important;letter-spacing:0!important;border-radius:var(--family-radius)!important;background:var(--family-accent)!important;color:#fff!important;padding:13px 19px!important}
.resource,.featured-card,.plot,.controls{border-radius:var(--family-radius)!important}
.editorial-page-header h1,.article-heading h1,.remi-workbench>.header h1{font-size:var(--family-page-size)!important;font-weight:550!important;line-height:1.2!important;letter-spacing:-1.25px!important}
.article{font-family:var(--family-font)!important;font-size:var(--family-body-size)!important;line-height:1.85!important}
.article h2{font-size:var(--family-section-size)!important;font-weight:550!important;line-height:1.3!important}
.article h3{font-size:var(--family-card-size)!important;font-weight:550!important;line-height:1.35!important}
.remi-workbench .header p,.editorial-page-header p{font-size:16px!important;line-height:1.8!important;color:var(--family-muted)!important}
.remi-workbench .controls label,.remi-workbench .controls select,.remi-workbench .controls button{font-size:var(--family-ui-size)!important}
.news-entry{display:flex!important;align-items:flex-start;gap:18px}.news-entry-photo{width:112px!important;height:84px!important;flex:0 0 112px;object-fit:cover;border-radius:var(--family-radius);margin-top:5px}.news-entry-copy{min-width:0}.news-entry-copy>span{font-size:11px;color:var(--family-muted)}.news-entry-copy h3{font-size:17px!important;line-height:1.5!important}.news-entry-copy p{margin-top:8px!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px){:root{--family-hero-size:48px;--family-page-pad:32px}.home-hero,.open-intro,.catalog-hero{gap:28px!important}.news-entry-photo{width:90px!important;height:70px!important;flex-basis:90px}}
@media(max-width:760px){:root{--family-hero-size:40px;--family-page-size:32px;--family-section-size:25px;--family-card-size:20px;--family-page-pad:20px}.home-hero,.open-intro,.catalog-hero{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;padding-top:34px!important;padding-bottom:34px!important}.home-hero h1,.open-intro h1,.catalog-hero h1{letter-spacing:-1.6px!important}.family-figure{max-width:620px!important}.remi-family-bar{padding-left:20px!important;padding-right:20px!important}.remi-family-brand img{width:112px!important;height:52px!important}.remi-family-nav a{font-size:12px!important}.local-navigation a,.localbar nav a,.local-nav a{font-size:12px!important}.news-entry-photo{width:88px!important;height:72px!important;flex-basis:88px}.home-hero .hero-description,.open-intro>div>p,.catalog-hero>div>p{font-size:15px!important}.editorial-page-header h1,.article-heading h1,.remi-workbench>.header h1{letter-spacing:-.9px!important}}
body{font-size:16px!important;line-height:1.6!important}
body:has(.catalog-hero)>main{max-width:none!important;padding:0!important;margin:0!important}
.localbar{max-width:none!important;margin:0!important;padding:0 max(24px,calc((100vw - 1184px)/2))!important;min-height:47px!important;background:#fff!important;border-bottom:1px solid var(--family-line)!important}
.local-title,.local-nav strong{font-size:13px!important;letter-spacing:0!important;font-weight:600!important}
.local-nav>div{max-width:1280px!important;padding:0 48px!important;height:47px!important}
@media(max-width:760px){.localbar{padding:10px 20px!important}.local-nav>div{padding:0 20px!important}.remi-family-bar{min-height:84px!important}.remi-family-nav{min-height:43px!important}}
.resource .field-visual{background:#102b3d!important}.resource .field-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}.resource .field-visual>span{display:none}
[data-theme="dark"] body.remi-workbench{--family-muted:#aec2cf;--family-ink:#e6eef3}
/* One secondary navigation, shared across all three applications. */
.remi-subnav{display:block;background:#fff;border-bottom:1px solid var(--family-line);font-family:var(--family-font);margin:0;padding:0;box-sizing:border-box}
.remi-subnav-inner{max-width:1280px;min-height:48px;margin:0 auto;padding:0 48px;display:flex;align-items:stretch;gap:28px;overflow-x:auto;white-space:nowrap;box-sizing:border-box;scrollbar-width:thin}
.remi-subnav .remi-subnav-inner>a{display:flex;align-items:center;flex:0 0 auto;border:0;border-bottom:2px solid transparent;border-radius:0;margin:0;padding:0;color:#5e7381;font:500 13px/1.5 var(--family-font);letter-spacing:0;text-decoration:none;min-height:48px;background:transparent}
.remi-subnav .remi-subnav-inner>a:hover,.remi-subnav .remi-subnav-inner>a[aria-current="page"]{color:#0079a8;border-bottom-color:#0087bb;background:transparent}
.remi-family-bar .remi-family-institution{display:none!important}
body[data-family-site="home"] .home-hero .original-hero{aspect-ratio:auto!important;background:transparent!important;border-radius:0!important;overflow:visible!important}
body[data-family-site="home"] .home-hero .original-hero img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;filter:none!important;opacity:.88;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
body[data-family-site="labs"].remi-catalog>main{max-width:none!important;margin:0!important;padding:0!important}
body[data-family-site="labs"] .catalog>.section-head h1{font:550 40px/1.2 var(--family-font)!important;letter-spacing:-1.25px!important;margin:14px 0 0!important}
@media(max-width:760px){.remi-subnav-inner{padding:0 20px;gap:22px;min-height:44px}.remi-subnav .remi-subnav-inner>a{min-height:44px;font-size:12px}.remi-family-bar{gap:0!important}body[data-family-site="labs"] .catalog>.section-head h1{font-size:32px!important}}
/* Final readable secondary text tokens. Chart colors are managed by the workbench theme. */
body[data-family-site="home"] .family-home main .text-gray-500,body[data-family-site="home"] .family-home main .text-gray-600,body[data-family-site="home"] .editorial-page-header small{color:#536b79!important}
body[data-family-site="home"] .research-keywords,body[data-family-site="home"] .section-line>span,body[data-family-site="home"] .hero-fullname{font-size:12px!important;color:#536b79!important}
body[data-family-site="home"] .publication-entry>a,body[data-family-site="home"] .section-line>a,body[data-family-site="home"] .publication-entry>.eyebrow{color:#006c97!important;font-size:12px!important}
body[data-family-site="home"] .family-home main .text-primary-600,body[data-family-site="home"] .family-home main .text-primary-700{color:#006c97!important}
body[data-family-site="home"] .news-entry-copy>span,body[data-family-site="home"] .family-footer{color:#526b7a!important;font-size:12px!important}
body[data-family-site="open"] .catalog-menu button.active,body[data-family-site="open"] .doc-sidebar a[aria-current=page]{color:#006b94!important}
body[data-family-site="open"] .py-line-numbers{color:#526b7a!important}
body[data-family-site="labs"] .course-heading small,body[data-family-site="labs"] .experiment-number,body[data-family-site="labs"] .experiment-name small{color:#536d7c!important;font-size:12px!important}
body[data-family-site="labs"] .course-filters button{font-size:13px!important;color:#526c7b!important}
body[data-family-site="labs"] .course-filters button.active{color:#006b94!important;background:#e8f1f5!important}
.remi-subnav{position:relative}.remi-nav-scroll{display:none;position:absolute;top:0;height:44px;width:28px;border:0;color:#365a70;background:#fff;font-size:22px;cursor:pointer}.remi-nav-scroll.prev{left:0;box-shadow:7px 0 10px #ffffff}.remi-nav-scroll.next{right:0;box-shadow:-7px 0 10px #ffffff}.remi-nav-scroll:disabled{visibility:hidden}.remi-nav-scroll:focus-visible{outline:2px solid #0079a8;outline-offset:-3px}
@media(max-width:760px){.remi-subnav.overflow-start .remi-nav-scroll.prev,.remi-subnav.overflow-end .remi-nav-scroll.next{display:block}}
body[data-family-site="home"] .news-entry-copy p{color:#536b79!important}
body[data-family-site="open"] button[data-course-filter].active,body[data-family-site="open"] button[data-course-filter][aria-pressed=true]{color:#00668e!important}
