/* Roboto, Google Fonts v51, SIL Open Font License 1.1. See adjacent OFL.txt.
   Public-site body typography only. Original heading faces and metrics stay intact. */
@font-face{font-family:"Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url("./roboto-latin-variable.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url("./roboto-latin-ext-variable.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Roboto";font-style:italic;font-weight:100 900;font-display:swap;src:url("./roboto-latin-italic-variable.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:italic;font-weight:100 900;font-display:swap;src:url("./roboto-latin-ext-italic-variable.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
body{--fy-body-font:"Roboto",Arial,sans-serif;font-family:var(--fy-body-font)}
/* Exclude actual titles, their inline descendants, and icon/brand lockups. */
body :where(p,a,span,strong,em,b,i,small,li,dt,dd,td,th,label,input,textarea,select,button,legend,summary,figcaption,blockquote,kbd,output,time,address):not(:where(h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,[role="heading"],[role="heading"] *,
 .t-h1,.t-h2,.t-h3,.t-h1 *,.t-h2 *,.t-h3 *,
 .product-card-name,.product-card-name *,.collection-feature-card__title,.collection-feature-card__title *,.home-cat-name,.home-cat-name *,.rfq-next-title,.rfq-next-title *,.pp-quotebar-name,.pp-quotebar-name *,
 .texture-studio__tabs strong,.texture-studio__tabs strong *,.home-development__media-note strong,.home-development__media-note strong *,
 .solutions-grid .solution-card>div:nth-of-type(2),.solutions-grid .solution-card>div:nth-of-type(2) *, .proof-card>div:nth-of-type(2),.proof-card>div:nth-of-type(2) *,
 .faq-visual__caption>strong,.faq-visual__caption>strong *,.faq-panel__head strong,.faq-panel__head strong *,#productActionHeading,#productActionHeading *,
 .faq-item__heading strong,.faq-item__heading strong *,.footer-title,.footer-title *,.nav-megamenu-card-title,.nav-megamenu-card-title *,.nav-megamenu-feature strong,.nav-megamenu-feature strong *,
 .product-name,.product-name *,.fabric-name,.fabric-name *,.newsletter-title,.newsletter-title *,.faq-cat,.faq-cat *,.cta-h,.cta-h *,
 .form-section-title,.form-section-title *,.search-section-title,.search-section-title *,.site-search-live__title,.site-search-live__title *,.site-search-routes strong,.site-search-routes strong *,
 .home-proof-card>strong,.home-proof-card>strong *,.faq-route>div>strong,.faq-route>div>strong *,.fy-analytics-choice>p,.fy-analytics-choice>p *,
 .rfq-title,.rfq-title *,.apply-form-title,.apply-form-title *,.faq-question,.faq-question *,
 .hero-title__headline,.hero-title__headline *,.hero-title-center__headline,.hero-title-center__headline *,
 .mobile-nav-section-title,.mobile-nav-section-title *,.mobile-partner-card__head>div>strong,.mobile-partner-card__head>div>strong *,
 .post-related-card__name,.post-related-card__name *,.proof-media-caption>strong,.proof-media-caption>strong *,
 .fy-collection-rail__name,.fy-collection-rail__name *,.post-product-card__body>strong,.post-product-card__body>strong *,
 .post-buyer-next__grid>a>strong,.post-buyer-next__grid>a>strong *,
 .guide-toc>strong,.guide-toc>strong *,.guide-callout>strong,.guide-callout>strong *,
 .guide-next>a>strong,.guide-next>a>strong *,.legacy-resource-paths__grid>a>strong,.legacy-resource-paths__grid>a>strong *,
 .topic-guides__card>div>strong,.topic-guides__card>div>strong *,
 .journal-paths__grid>a>strong,.journal-paths__grid>a>strong *,.journal-resource-grid>a>strong,.journal-resource-grid>a>strong *,
 .contact-buyer-paths__grid>a>strong,.contact-buyer-paths__grid>a>strong *,
 .home-factory-proof__handoff>div>strong,.home-factory-proof__handoff>div>strong *,
 .home-development__steps>div>p>strong,.home-development__steps>div>p>strong *,
 .home-global-coverage__route>div>strong,.home-global-coverage__route>div>strong *,
 .pp-visual-note>strong,.pp-visual-note>strong *,.pp-left-brief-grid>div>strong,.pp-left-brief-grid>div>strong *,
 .pp-left-route-list>li>div>strong,.pp-left-route-list>li>div>strong *,
 .pp-left-decision__route>li>div>strong,.pp-left-decision__route>li>div>strong *,
 .pp-buyer-strip__item>strong,.pp-buyer-strip__item>strong *,.pp-inquiry-step>div>strong,.pp-inquiry-step>div>strong *,
 .pp-program-card>strong,.pp-program-card>strong *,.pp-evidence>strong,.pp-evidence>strong *,
 .dealer-access-proof>div>strong,.dealer-access-proof>div>strong *,
 .dealer-access-visual__note>strong,.dealer-access-visual__note>strong *,
 .site-nav-brand,.site-nav-brand *,.mobile-nav-brand strong,.mobile-nav-brand strong *,.footer-brand,.footer-brand *,
 .section-title,.section-title *,.cat-block-name,.cat-block-name *,.inquiry-title,.inquiry-title *,
 [class*="icon"],[class*="icon"] *,.fa,.fas,.far,.fab)){font-family:var(--fy-body-font)!important}
/* Override explicit Inter/Arial body rules, including existing !important shorthands. */
body :is(.t-body,.t-small,.t-eyebrow,.t-quote,.product-card-cat,.product-card-price,.card-quote-btn,.products-section .card-quote-btn,
 .site-nav-links .nav-dropdown>a,.site-nav-account,.site-nav-dealer,.site-nav-cta,.site-nav-search,.nav-flyout-copy strong,.nav-flyout-copy small,
 .site-nav-partner__badge,.site-nav-partner__copy strong,.site-nav-partner__apply,
 .mobile-nav-close,.mobile-nav-inner .mobile-nav-section>a,.mobile-nav-inner .mobile-nav-parent,.mobile-nav-inner .mobile-nav-child,.mobile-nav-inner .mobile-nav-action,
 .mobile-nav-parent,.mobile-nav-child,.mobile-nav-dealer,.mobile-partner-card__actions a,
 .solution-card>div:first-child,.fabric-icon,.proof-card__index,.b2b-industry-icon,
 .buyer-brief-readiness__eyebrow,.buyer-brief-readiness__message,.buyer-brief-readiness__promise,.buyer-inquiry-modal__eyebrow,.buyer-resource-offer__eyebrow,
 .dealer-apply-panel .apply-form-subtitle,.dealer-apply-submit,.fy-analytics-choice,.fy-analytics-choice button,
 .texture-studio__tabs strong small,.mobile-nav-brand strong small,.site-nav-brand small,.footer-brand small)){font-family:var(--fy-body-font)!important}
body.route-home .faq-item .faq-item__answer p{font-family:var(--fy-body-font)!important}
body .nav-flyout-panel>a:after{font-family:var(--fy-body-font)!important}
/* These title labels inherited the old body family; keep that title design. */
body[data-heading-style="v133"] :is(.footer-title,.faq-item__heading strong,.mobile-nav-section-title,.mobile-partner-card__head>div>strong,.home-proof-card>strong,.faq-route>div>strong,.site-nav-brand__copy strong,.footer-brand--lockup>span,.footer-brand-text,.mobile-nav-brand strong){font-family:Inter,sans-serif!important}
body[data-heading-style="v133"] .footer-brand{font-family:"Cormorant Garamond",Georgia,serif!important}
body[data-heading-style="v133"] .nav-megamenu-card-title{font-family:"Cormorant Garamond",Georgia,serif!important}
body[data-heading-style="v133"] .nav-megamenu-feature strong{font-family:"Cormorant Garamond",serif!important}
body[data-heading-style="v133"] .site-search-routes strong{font-family:"Cormorant Garamond",Georgia,serif!important}
body[data-heading-style="v133"] .site-search-live__title{font-family:Inter,Arial,sans-serif!important}
body .fy-analytics-choice>p{font-family:Arial,sans-serif!important}
body:not([data-heading-style]) .footer-title{font-family:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif}
/* Actual leaf controls outrank the existing #mainNav !important rules.
   Brand names and mega-menu display titles remain outside this list. */
html body #mainNav :is(.site-nav-brand__copy>small,.site-nav-links .nav-dropdown>a,
 .site-nav-partner__badge,.site-nav-partner__copy>strong,.site-nav-partner__apply,.site-nav-cta,
 .nav-flyout-copy>small){font-family:var(--fy-body-font)!important}
/* These are the observed body labels, counters and indices, not display titles.
   Only the first solution-card div is an index; its second div stays untouched. */
html body.route-home #main-content :is(.home-section-kicker,.home-program-card__label,
 .home-flow-step__index,.home-flow-step__eyebrow,.t-eyebrow,.usp-stat__label,.usp-stat__num,
 .solutions-grid .solution-card>div:first-child,.proof-eyebrow,.fabric-icon,.fabric-tags,
 .trust-bar-title,.proof-card__index){font-family:var(--fy-body-font)!important}
html body.route-home #main-content .texture-studio__tabs strong>small{font-family:var(--fy-body-font)!important}
html body[data-heading-style="v133"] .footer-brand.footer-brand--lockup>span>small{font-family:var(--fy-body-font)!important}
html body #mobileNavOverlay :is(.mobile-nav-intro,.mobile-partner-card__eyebrow){font-family:var(--fy-body-font)!important}
html body #mobileNavOverlay .mobile-nav-brand strong>small{font-family:var(--fy-body-font)!important}
html body #mobileNavOverlay :is(.mobile-partner-card__actions>a,.mobile-nav-section>a,
 .mobile-nav-parent,.mobile-nav-child,.mobile-nav-action,
 .mobile-nav-dealer-access>span:not([aria-hidden])){font-family:var(--fy-body-font)!important}
/* Observed shared body labels and actual route-specific copy/status leaves. */
html body[data-heading-style="v133"] .t-eyebrow,
html body #main-content :is(.t-eyebrow,.proof-eyebrow,.proof-media-caption,.proof-card-number,.proof-scope,
 .product-card-cat,.card-quote-btn,.pp-commercial-item__label,.pp-commercial-item__value,.pp-left-kicker,
 caption.pp-visually-hidden,.fyb-attachments__status,.pp-quotebar-meta,.post-related-card__date,
 .dealer-access-kicker,.dealer-access-panel__eyebrow,.dealer-access-security){font-family:var(--fy-body-font)!important}
html body .fyql-list>.fyql-empty{font-family:var(--fy-body-font)!important}
html body #main-content .dealer-apply-panel :is(.apply-form-subtitle,.dealer-apply-submit){font-family:var(--fy-body-font)!important}
/* Exact pre-change families for semantic titles that inherited the old body.
   Text, weights, sizes, spacing and line heights are deliberately not overridden. */
html body[data-heading-style="v133"] :is(.post-related-card__name,.proof-media-caption>strong,
 .post-product-card__body>strong,.post-buyer-next__grid>a>strong,.topic-guides__card>div>strong,
 .journal-paths__grid>a>strong,.journal-resource-grid>a>strong,.contact-buyer-paths__grid>a>strong,
 .home-development__steps>div>p>strong,.pp-visual-note>strong,.pp-left-brief-grid>div>strong,
 .pp-left-route-list>li>div>strong,.pp-left-decision__route>li>div>strong,.pp-buyer-strip__item>strong,
 .pp-inquiry-step>div>strong,.dealer-access-proof>div>strong,.dealer-access-visual__note>strong){font-family:Inter,sans-serif!important}
html body[data-heading-style="v133"] :is(.fy-collection-rail__name,.home-factory-proof__handoff>div>strong,
 .pp-program-card>strong,.pp-evidence>strong,.guide-toc>strong,.guide-callout>strong,.guide-next>a>strong,
 .legacy-resource-paths__grid>a>strong){font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",sans-serif!important}
html body[data-heading-style="v133"] .home-global-coverage__route>div>strong{font-family:Inter,Arial,sans-serif!important}
/* Native gallery role/count labels are real generated text, not arrow icons. */
html body #main-content .product-gallery-thumb::before,
html body #main-content .product-gallery-thumb::after{font-family:var(--fy-body-font)!important}
