/* Lyon display headlines, Suisse text and small headings, technical monospace. */
@font-face {
    font-family:'Suisse Intl';
    src:url('/fonts/SuisseIntl-Regular.otf') format('opentype');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}
@font-face {
    font-family:'Suisse Intl';
    src:url('/fonts/SuisseIntl-SemiBold.otf') format('opentype');
    font-weight:600;
    font-style:normal;
    font-display:swap;
}
body.home:is(.landing,.about-page) {
    --font-display:'Suisse Intl',Arial,sans-serif;
    --font-body:'Suisse Intl',Arial,sans-serif;
    font-family:var(--font-body);
}
body.home:is(.landing,.about-page) :is(.b-hero-aside,.b-hero-support,.b-body,.b-cta-copy,.fig-desc,.ops-card-body,.control-desc,.manifesto-prose p,.audience-copy p,.footer-tagline) {
    font-family:'Suisse Intl',Arial,sans-serif;
    font-weight:400;
    letter-spacing:0;
}
body.home:is(.landing,.about-page) :is(.nav-link,.mobile-menu-link,.b-btn,.b-text-link,.footer-link,.about-work-link) {
    font-family:'Suisse Intl',Arial,sans-serif;
    font-weight:400;
    letter-spacing:-.01em;
}
body.home:is(.landing,.about-page) :is(.fig-desc,.ops-card-body) { line-height:1.55; }
body.home.about-page :is(.manifesto-prose,.audience-copy) { max-width:64ch; }


@font-face {
    font-family:'Lyon Display';
    src:url('/fonts/LyonDisplay-Light-Web.woff') format('woff');
    font-weight:300;
    font-style:normal;
    font-display:swap;
}
body.home:is(.landing,.about-page) :is(.b-cta-title,.fig-name,.ops-card-title,.control-name,.about-audience h2) {
    font-family:'Suisse Intl',Arial,sans-serif;
    font-weight:400;
    letter-spacing:-.01em;
}
body.home:is(.landing,.about-page) :is(.b-hero .b-h1,.about-intro h1) {
    font-family:'Suisse Intl',Arial,sans-serif;
    font-weight:400;
    font-size:clamp(34px,3.6vw,48px);
    line-height:1.08;
    letter-spacing:-.015em;
    text-wrap:balance;
}
body.home.about-page .about-intro h1 {
    font-family:'Inter','SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:clamp(38px,3.2vw,46px);
    font-weight:510;
    line-height:1.06;
    letter-spacing:-.022em;
}

/* Extend the editorial heading voice without changing utility labels. */
body.home:is(.landing,.about-page) :is(.b-cta-title,.fig-name,.ops-card-title,.control-name,.about-audience h2) {
    font-family:'Suisse Intl',Arial,sans-serif;
    font-weight:400;
    letter-spacing:-.01em;
    line-height:1.15;
}
body.home:is(.landing,.about-page) :is(.fig-name,.ops-card-title,.control-name) { font-size:24px; }
body.home.about-page .about-audience h2 { font-size:28px; }
@media(max-width:600px) {
 body.home:is(.landing,.about-page) :is(.fig-name,.ops-card-title,.control-name) { font-size:23px; }
 body.home.about-page .about-audience h2 { font-size:26px; }
}

/* Keep homepage headings at a compact, consistent scale. */
body.home.landing :is(.fig-name,.ops-card-title,.control-name) { font-size:22px; }
body.home.landing .b-cta-title { font-size:calc(var(--type-section) * .9); }
@media(max-width:600px) {
 body.home.landing :is(.fig-name,.ops-card-title,.control-name) { font-size:21px; }
 body.home.landing .b-cta-title { font-size:25px; }
}

/* Give the main heading enough scale to lead the page. */
body.home.landing .b-hero .b-h1 {
    max-width:none;
    grid-column:1 / -1;
    font-family:'Inter','SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:clamp(34px,3.2vw,46px);
    font-weight:510;
    line-height:1.06;
    letter-spacing:-.022em;
}

.hero-title-copy {
    display:block;
}

.hero-title-line {
    display:inline-block;
    white-space:nowrap;
}

.hero-description-line {
    display:inline-block;
}

.hero-title-copy--mobile {
    display:none;
}

@media(max-width:640px) {
 body.home.landing .b-hero .b-h1 {
    max-width:none;
    font-size:clamp(27px,7.4vw,30px);
    line-height:1.08;
 }
 .hero-title-copy--desktop { display:none; }
 .hero-title-copy--mobile-standard { display:block; }
 .hero-title-copy--mobile-compact { display:none; }
}

@media(max-width:350px) {
 body.home.landing .b-hero .b-h1 {
    font-size:clamp(26px,8.5vw,28px);
    line-height:1.1;
 }
 .hero-title-copy--mobile-standard { display:none; }
 .hero-title-copy--mobile-compact { display:block; }
}

body.home.landing .b-hero .b-h1 {
    margin-bottom:clamp(22px,1.8vw,28px);
}

body.home.landing .b-hero-aside {
    max-width:clamp(420px,35vw,505px);
    font-family:'Inter','SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:15px;
    line-height:24px;
    letter-spacing:-.011em;
    text-wrap:pretty;
}

body.home.landing .b-hero-aside p {
    font-size:15px;
    line-height:24px;
}

@media(max-width:640px) {
 body.home.landing .b-hero-aside { max-width:min(100%,310px); }
 body.home.about-page .about-intro h1 {
    font-size:clamp(30px,8.5vw,34px);
    line-height:1.08;
 }
}

/* Quieter capability headings with clearer separation from body copy. */
body.home.landing .fig-name{font-size:20px;margin-bottom:18px}
