/* SPDX-License-Identifier: Apache-2.0; Archivo font software separately SIL OFL 1.1. */
@font-face{font-family:Archivo;src:url('/fonts/Archivo-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('/fonts/Archivo-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('/fonts/Archivo-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('/fonts/Archivo-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{font-family:Archivo,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-synthesis:none;font-stretch:normal;font-weight:400;font-size:17px}
body{font-family:inherit;font-weight:400;line-height:1.65;letter-spacing:0}
button,input,select,textarea{font-family:inherit;font-stretch:normal;font-synthesis:none}
h1,h2,h3,h4{font-family:Archivo,ui-sans-serif,system-ui,sans-serif;font-weight:600;letter-spacing:-.025em}
.section-head h2,.foundry h2,.open-source h2{font-family:Archivo,ui-sans-serif,system-ui,sans-serif;font-weight:600;letter-spacing:-.025em}
.hero h1{font-weight:600;font-size:clamp(42px,4.2vw,68px);letter-spacing:-.035em;line-height:1.08}
.hero .lede{font-size:18px;line-height:1.65;font-weight:400}
.hero-mantra{font-size:19px;line-height:1.45;font-weight:600;letter-spacing:-.01em}
.hero-footnote{font-size:12px;line-height:1.5;letter-spacing:0;gap:12px;margin-top:30px}
.eyebrow,.mini{font-size:12px;font-weight:500;letter-spacing:.1em;line-height:1.6}
.hero-eyebrow{font-size:11px;letter-spacing:.08em}
.header nav a,.header-action,.button,.menu-toggle{font-weight:600;font-size:13px;letter-spacing:0}
.header nav{gap:clamp(10px,1.05vw,18px)}
.header .brand img.brand-lockup{width:clamp(218px,17vw,258px)}
.button{font-size:14px;line-height:1.4;gap:14px}
.pillar-copy h3,.product h3,.application-grid h3{font-weight:600;letter-spacing:-.02em}
.pillar-copy p:not(.mini),.product-copy p,.application-grid p,.foundry-text>p:not(.eyebrow):not(.foundry-location),.experiment-body>p:not(.eyebrow):not(.small-note),.open-detail p,.section-desc,.legal p{font-size:17px;line-height:1.65;font-weight:400}
.section-aside,.small-note,.tag,.foundry-location,.foundry-number,.foundry-card small,.footer :is(p,a,span){font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0}
.tag,.foundry-number{font-weight:500}.foundry-card strong{font-weight:600}
.application-no{font-size:13px;font-weight:500;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.ls-rally-drawer{font-family:Archivo,ui-sans-serif,system-ui,sans-serif}
.ls-rally-drawer>summary,.rally-start,.rally-close,.rally-pedal{font-weight:600;letter-spacing:0}
.rally-welcome{aspect-ratio:auto;min-height:clamp(320px,56.25vw,720px)}
.rally-welcome h2{font-weight:600;letter-spacing:-.02em;line-height:1.2}
.rally-welcome p{font-size:17px;line-height:1.6}.rally-welcome>a,.rally-info,.rally-status,.rally-controls-note{font-size:14px;font-weight:400;line-height:1.6}
.news-page :is(.news-masthead h1,.cover-type h1,.cover-type h2,.news-story h3,.news-archive h2,.news-method h2,.archive-fold strong,.news-empty h2,.article-page h1){font-family:Archivo,ui-sans-serif,system-ui,sans-serif;font-weight:600;letter-spacing:-.025em}
.news-story p,.article-page p,.news-method p,.news-empty p,.archive-content p{font-size:17px;line-height:1.7;font-weight:400}
.news-page :is(.story-kicker,.preview-banner){font-weight:500;letter-spacing:.04em}
.news-label,.edition-meta,.edition-return,.pager-date,time{font-variant-numeric:tabular-nums}
.legal h1,.legal h2{font-weight:600;letter-spacing:-.025em}
@media(max-width:1300px){.header-action{display:none}}
@media(max-width:980px){.header .brand img.brand-lockup{width:258px}.header nav a{font-size:16px}.hero h1{max-width:720px}.hero .lede{max-width:620px}}
@media(max-width:620px){.header .brand img.brand-lockup{width:clamp(188px,62vw,236px)}.hero h1{font-size:clamp(40px,10vw,54px);letter-spacing:-.03em}.hero .lede{font-size:17px}.hero-footnote{flex-wrap:wrap;font-size:11px}.hero-footnote span+span{border-left:0;padding-left:0}.hero-mantra{font-size:18px}}
@media(max-width:360px){.header .brand img.brand-lockup{width:176px}}
/* The same five destinations keep the site legible as visitors move between areas. */
.header nav a{font-size:14px}
@media(min-width:981px){.header nav{gap:clamp(20px,2.4vw,38px)}}
@media(max-width:980px){.header nav a{font-size:17px}}
