@font-face {
  font-family: "FH Lecturis";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/FHLecturis-Regular.woff2") format("woff2"), url("../fonts/FHLecturis-Regular.otf") format("opentype");
  font-display: optional; }

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Geist-Regular.woff2") format("woff2"), url("../fonts/Geist-Regular.ttf") format("truetype");
  font-display: optional; }

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Geist-Medium.woff2") format("woff2"), url("../fonts/Geist-Medium.ttf") format("truetype");
  font-display: optional; }

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Geist-Light.woff2") format("woff2"), url("../fonts/Geist-Light.ttf") format("truetype");
  font-display: optional; }

@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/GeistMono-Regular.woff2") format("woff2"), url("../fonts/GeistMono-Regular.ttf") format("truetype");
  font-display: optional; }

/* Generated from data/tokens/*.yaml by scripts/generate-tokens.py. */
:root {
  --tob-dusk: #181717;
  --tob-dusk-2: #2D2C2D;
  --tob-ink: #000000;
  --tob-highlight: #FE0002;
  --tob-highlight-2: #FF4042;
  --tob-highlight-3: #C00001;
  --tob-highlight-25: rgba(254, 0, 2, 0.25);
  --tob-highlight-50: rgba(254, 0, 2, 0.5);
  --tob-white: #FFFFFF;
  --tob-chalk: #FAFAFA;
  --tob-chalk-2: #F2F2F2;
  --tob-chalk-02: rgba(250, 250, 250, 0.02);
  --tob-chalk-75: rgba(250, 250, 250, 0.75);
  --tob-chalk-50: rgba(250, 250, 250, 0.5);
  --tob-concrete: #CECECE;
  --tob-cement: #9497A0;
  --tob-cement-2: #4A4B4D;
  --tob-cement-3: #C7C9CD;
  --tob-cement-50: rgba(148, 151, 160, 0.5);
  --tob-cement-2-50: rgba(74, 75, 77, 0.5);
  --tob-font-heading: "FH Lecturis";
  --tob-font-body: "Geist";
  --tob-font-mono: "Geist Mono";
  --tob-type-display: 200px;
  --tob-lh-display: 0.85;
  --tob-type-non-home-hero: 132px;
  --tob-lh-non-home-hero: 0.85;
  --tob-type-h1: 160px;
  --tob-lh-h1: 0.85;
  --tob-type-h2: 102px;
  --tob-lh-h2: 0.85;
  --tob-type-h3: 82px;
  --tob-lh-h3: 0.85;
  --tob-type-h4: 52px;
  --tob-lh-h4: 1.0;
  --tob-type-h5: 42px;
  --tob-lh-h5: 0.95;
  --tob-type-h6: 32px;
  --tob-lh-h6: 1.0;
  --tob-type-h6-small: 28px;
  --tob-lh-h6-small: 1.0;
  --tob-type-h6-xs: 24px;
  --tob-lh-h6-xs: 1.0;
  --tob-type-accordion-title-lg: 34px;
  --tob-lh-accordion-title-lg: 1.0;
  --tob-type-built-subhead: 30px;
  --tob-lh-built-subhead: 1.3333;
  --tob-type-hero-subline: 30px;
  --tob-lh-hero-subline: 1.3333;
  --tob-type-hero-subline-letter: -2px;
  --tob-type-body-lg: 20px;
  --tob-type-body-md: 18px;
  --tob-type-body-sm: 16px;
  --tob-type-body-xs: 14px;
  --tob-type-body-xxs: 13px;
  --tob-lh-body: 1.2;
  --tob-type-ui-nav: 18px;
  --tob-type-ui-nav-weight-active: 500;
  --tob-type-ui-nav-weight-inactive: 300;
  --tob-type-ui-button-sm: 12px;
  --tob-type-ui-button-lh: 1;
  --tob-type-ui-letter-tight: -0.02em;
  --tob-type-ui-button-md: 19px;
  --tob-type-ui-button-md-lh: 1;
  --tob-type-ui-button-md-letter: 0;
  --tob-type-ui-button-lg: 24px;
  --tob-type-ui-button-lg-lh: 1;
  --tob-type-ui-button-lg-letter: -0.02em;
  --tob-type-ui-bits-sm: 12px;
  --tob-type-ui-bits-sm-lh: 1;
  --tob-type-ui-bits-sm-letter: -0.02em;
  --tob-type-ui-bits-lg: 16px;
  --tob-type-ui-bits-lg-lh: 1;
  --tob-type-ui-bits-lg-letter: 0.04em;
  --tob-type-ui-form-input: 24px;
  --tob-type-ui-form-input-lh: 1;
  --tob-type-ui-form-input-letter: -0.02em;
  --tob-space-2: 2px;
  --tob-space-4: 4px;
  --tob-space-6: 6px;
  --tob-space-8: 8px;
  --tob-space-10: 10px;
  --tob-space-12: 12px;
  --tob-space-15: 15px;
  --tob-space-16: 16px;
  --tob-space-18: 18px;
  --tob-space-20: 20px;
  --tob-space-22: 22px;
  --tob-space-24: 24px;
  --tob-space-25: 25px;
  --tob-space-30: 30px;
  --tob-space-32: 32px;
  --tob-space-40: 40px;
  --tob-space-48: 48px;
  --tob-space-60: 60px;
  --tob-space-64: 64px;
  --tob-space-76: 76px;
  --tob-space-80: 80px;
  --tob-space-82: 82px;
  --tob-space-84: 84px;
  --tob-space-100: 100px;
  --tob-space-120: 120px;
  --tob-space-136: 136px;
  --tob-space-200: 200px;
  --tob-layout-page-width: 1728px;
  --tob-layout-content-width: 1568px;
  --tob-layout-gutter: 80px;
  --tob-layout-column-gap: 16px;
  --tob-layout-two-column-gap: 64px;
  --tob-layout-two-column-width: 776.5px;
  --tob-layout-rail-width: 80px;
  --tob-layout-section-padding-y: 120px;
  --tob-layout-section-padding-y-hero-mobile: 80px;
  --tob-layout-section-padding-y-mid-mobile: 70px;
  --tob-layout-section-padding-y-mobile: 60px;
  --tob-layout-section-padding-x: 80px;
  --tob-layout-blog-primary-width: 1054px;
  --tob-layout-blog-post-content-width: 776px;
  --tob-layout-blog-toc-width: 162px;
  --tob-layout-blog-sidebar-width: 398px;
  --tob-layout-blog-columns-gap: 116px;
  --tob-layout-blog-padding-y: 80px;
  --tob-layout-blog-card-gap: 45px;
  --tob-layout-blog-search-gap: 40px;
  --tob-layout-section-padding-x-negative: -80px;
  --tob-layout-blog-card-meta-width: 479px;
  --tob-layout-blog-card-cta-width: 591px;
  --tob-layout-blog-card-cta-content-width: 261px;
  --tob-layout-nav-height: 142px;
  --tob-layout-mobile-nav-height: 110px;
  --tob-grid-desktop-columns: 16;
  --tob-grid-desktop-gutter: 16px;
  --tob-grid-desktop-margin: 80px;
  --tob-grid-desktop-row-gutter: 16px;
  --tob-grid-desktop-alt-columns: 16;
  --tob-grid-desktop-alt-gutter: 30px;
  --tob-grid-desktop-alt-margin: 80px;
  --tob-grid-desktop-alt-row-gutter: 16px;
  --tob-grid-mobile-columns: 5;
  --tob-grid-mobile-gutter: 20px;
  --tob-grid-mobile-margin: 30px;
  --tob-grid-mobile-row-gutter: 20px;
  --tob-component-hero-copy-max-width: 579px;
  --tob-component-hero-subline-max-width: 1280px;
  --tob-component-about-us-hero-copy-max-width: 777px;
  --tob-component-about-us-principles-max-width: 1366px;
  --tob-component-about-us-team-photo-size: 282px;
  --tob-component-careers-hero-copy-max-width: 678px;
  --tob-component-careers-hero-height: 1082px;
  --tob-component-careers-why-icon-size: 72px;
  --tob-component-careers-why-grid-width: 1272px;
  --tob-component-careers-awards-grid-width: 1172px;
  --tob-component-careers-perks-grid-width: 1469px;
  --tob-component-hero-details-aside-width: 360px;
  --tob-component-button-hero-max-width: 360px;
  --tob-component-forrester-form-width: 678px;
  --tob-component-forrester-hero-body-width: 850px;
  --tob-component-forrester-hero-content-height: 614px;
  --tob-component-forrester-report-copy-width: 973px;
  --tob-component-forrester-report-media-width: 580px;
  --tob-component-products-hero-title-width: 949px;
  --tob-component-products-hero-copy-width: 579px;
  --tob-component-products-hero-height: 624px;
  --tob-component-products-hero-body-min-height: 160px;
  --tob-component-products-card-width: 479px;
  --tob-component-products-media-width: 960px;
  --tob-component-products-list-max-width: 1479px;
  --tob-component-trusted-quote-max-width: 974px;
  --tob-component-contact-content-max-width: 579px;
  --tob-component-contact-ways-form-max-width: 1174px;
  --tob-component-cta-row-card-min-width: 240px;
  --tob-component-scroll-indicator-max-height: 1175px;
  --tob-component-footer-content-left-width: 604px;
  --tob-component-footer-content-min-height: 641px;
  --tob-component-footer-brand-max-width: 424px;
  --tob-component-footer-logo-height: 255px;
  --tob-component-footer-headline-max-width: 653px;
  --tob-component-footer-newsletter-input-height: 58px;
  --tob-component-footer-social-max-width: 775px;
  --tob-component-footer-social-column-width: 182px;
  --tob-component-footer-headline-min-height-mobile: 200px;
  --tob-component-footer-social-column-width-mobile: 140px;
  --tob-component-software-assurance-grid-max-width: 1468px;
  --tob-component-software-assurance-way-grid-max-width: 1272px;
  --tob-component-software-assurance-case-studies-event-media-height: 202px;
  --tob-component-software-assurance-case-studies-event-meta-height: 20px;
  --tob-component-software-assurance-case-studies-event-title-height: 56px;
  --tob-component-software-assurance-case-studies-event-summary-height: 97px;
  --tob-component-software-assurance-case-studies-event-actions-height: 34px;
  --tob-component-software-assurance-tools-grid-max-width: 1469px;
  --tob-component-software-assurance-tools-card-min-height: 96px;
  --tob-component-research-development-tools-card-min-height: 140px;
  --tob-component-services-card-min-width: 260px;
  --tob-component-work-subtitle-line-height: 40px;
  --tob-component-work-summary-max-width: 1172px;
  --tob-component-work-grid-column-width: 282px;
  --tob-component-work-icon-size: 72px;
  --tob-component-feature-icon-size: 128px;
  --tob-component-built-actions-primary-width: 481px;
  --tob-component-help-copy-max-width: 720px;
  --tob-component-help-ecosystems-filter-width: 157.25px;
  --tob-component-cyber-policy-sidebar-width: 269px;
  --tob-component-nav-items-max-width: 1087px;
  --tob-component-nav-burger-width: 26px;
  --tob-component-nav-dropdown-width: 319px;
  --tob-component-nav-dropdown-items-min-width: 239px;
  --tob-component-how-we-work-step-width: 777px;
  --tob-component-how-we-work-visual-min-height: 280px;
  --tob-component-how-we-work-phase-min-width: 72px;
  --tob-component-how-we-work-phase-max-width: 96px;
  --tob-component-event-media-height: 409px;
  --tob-component-event-date-icon-size: 20px;
  --tob-component-event-actions-primary-width: 281px;
  --tob-component-blog-related-posts-card-width: 374px;
  --tob-component-mcp-intro-copy-max-width: 777px;
  --tob-component-mcp-intro-actions-width: 776px;
  --tob-component-why-tob-hero-copy-width: 1073px;
  --tob-component-mcp-content-max-width: 1172px;
  --tob-component-mcp-product-tags-max-width: 435px;
  --tob-component-mcp-product-features-max-width: 1470px;
  --tob-component-mcp-install-rail-width: 396px;
  --tob-component-mcp-resources-tool-title-min-height: 48px;
  --tob-component-mcp-research-subtitle-max-width: 1172px;
  --tob-component-mcp-research-event-media-height: 409px;
  --tob-component-mcp-research-event-meta-height: 20px;
  --tob-component-mcp-research-event-title-height: 32px;
  --tob-component-mcp-research-event-summary-height: 97px;
  --tob-component-mcp-research-event-tags-height: 56px;
  --tob-component-mcp-research-event-actions-height: 70px;
  --tob-component-mcp-cta-split-texture-bottom-height: 624px;
  --tob-component-mcp-cta-split-texture-bottom-width: 528px;
  --tob-component-mcp-cta-split-texture-mask-height: 761px;
  --tob-component-mcp-cta-split-texture-mask-width: 1351px;
  --tob-component-mcp-cta-split-texture-top-height: 621px;
  --tob-component-mcp-cta-split-texture-top-width: 864px;
  --tob-component-mcp-cta-split-title-max-width: 974px;
  --tob-component-mcp-cta-split-content-max-width: 579px;
  --tob-component-accordion-items-max-width: 1049px;
  --tob-component-accordion-icon-size: 42px;
  --tob-component-buttercup-feature-icon-height: 42px;
  --tob-component-buttercup-presentations-section-width: 1656px;
  --tob-component-buttercup-presentations-content-width: 1370px;
  --tob-component-buttercup-presentations-download-width: 401px;
  --tob-component-buttercup-updates-title-width: 680px;
  --tob-component-buttercup-updates-form-width: 280px;
  --tob-component-buttercup-news-cta-wrap-width: 400px;
  --tob-component-buttercup-news-summary-max-width: 1172px;
  --tob-component-buttercup-team-grid-max-width: 1479.5px;
  --tob-component-careers-perks-icon-size: 42px;
  --tob-component-careers-perks-list-min-height: 88px;
  --tob-component-chip-height: 46px;
  --tob-component-chip-height-compact: 42px;
  --tob-component-trusted-logo-max-height: 42px;
  --tob-component-webinar-play-button-size: 46px;
  --tob-component-timeline-min-width: 960px;
  --tob-component-timeline-accent-width: 110px;
  --tob-component-timeline-detail-width: 974px;
  --tob-component-resources-carousel-nav-height: 240px;
  --tob-component-services-related-centered-max-width: 1202px;
  --tob-component-services-deliverables-feature-title-max-width: 360px;
  --tob-component-services-deliverables-feature-label-title-max-width: 480px;
  --tob-component-research-development-tools-grid-max-width: 1380px;
  --tob-component-research-development-tools-grid-secondary-column-max-width: 480px;
  --tob-component-blockchain-top-tools-card-min-height: 164px;
  --tob-component-ai-ml-split-row-min-height: 126px;
  --tob-component-ai-ml-split-cta-width: 302px;
  --tob-component-ai-ml-split-body-max-width: 1084px;
  --tob-component-ai-ml-case-study-card-max-width: 772px;
  --tob-component-ai-ml-case-study-split-min-height: 280px;
  --tob-component-ai-ml-featured-event-card-height: 382px;
  --tob-component-ai-ml-featured-event-summary-height: 78px;
  --tob-component-open-source-halftone-size: 1826px;
  --tob-component-open-source-featured-event-card-min-height: 401.5px;
  --tob-component-hero-compact-padding-y: var(--tob-space-76);
  --tob-component-about-us-principles-body-indent: var(--tob-space-100);
  --tob-component-about-us-hero-padding-bottom-adjust: var(--tob-space-12);
  --tob-component-about-us-timeline-details-margin-top: var(--tob-space-40);
  --tob-component-about-us-news-heading-padding-y: var(--tob-space-48);
  --tob-component-blockchain-hero-padding-bottom-adjust: var(--tob-space-60);
  --tob-component-cyber-policy-gap: var(--tob-space-136);
  --tob-component-cyber-policy-body-offset: var(--tob-space-100);
  --tob-component-security-engineering-work-item-padding-bottom-last-row: var(--tob-space-32);
  --tob-component-ai-ml-deliverables-heading-padding-y: var(--tob-space-24);
  --tob-component-open-source-featured-event-summary-margin-top: var(--tob-space-20);
  --tob-component-buttercup-features-gap: var(--tob-space-30);
  --tob-component-careers-awards-intro-stack-gap: var(--tob-space-12);
  --tob-component-careers-why-stack-gap: var(--tob-space-40);
  --tob-component-forrester-report-indent: var(--tob-space-100);
  --tob-component-halftone-padding: var(--tob-space-48);
  --tob-component-footer-padding-top: var(--tob-space-60);
  --tob-component-footer-content-gap: var(--tob-space-84);
  --tob-component-footer-brand-padding-y: var(--tob-space-40);
  --tob-component-software-assurance-cta-padding-y: var(--tob-space-76);
  --tob-component-software-assurance-way-padding-bottom: var(--tob-space-76);
  --tob-component-software-assurance-case-studies-padding-bottom: var(--tob-space-80);
  --tob-component-software-assurance-tools-padding-bottom: var(--tob-space-60);
  --tob-component-services-padding-top: var(--tob-space-80);
  --tob-component-services-padding-bottom: var(--tob-space-80);
  --tob-component-services-card-padding-y: var(--tob-space-16);
  --tob-component-mcp-intro-stack-gap: var(--tob-space-60);
  --tob-component-why-tob-serve-indent: var(--tob-space-100);
  --tob-component-mcp-hero-padding-bottom: var(--tob-space-20);
  --tob-component-mcp-product-indent: var(--tob-space-100);
  --tob-component-mcp-product-body-margin-top: var(--tob-space-48);
  --tob-component-mcp-product-features-margin-top: var(--tob-space-4-negative);
  --tob-component-mcp-install-code-padding-bottom: var(--tob-space-40);
  --tob-component-mcp-attack-research-padding-bottom: var(--tob-space-100);
  --tob-component-mcp-webinar-padding-bottom: var(--tob-space-84);
  --tob-component-mcp-resources-padding-bottom: var(--tob-space-100);
  --tob-component-mcp-resources-padding-top: var(--tob-space-60);
  --tob-component-mcp-resources-stack-gap: var(--tob-space-32);
  --tob-component-mcp-resources-subtitle-padding-top: var(--tob-space-48);
  --tob-component-mcp-resources-groups-gap: var(--tob-space-48);
  --tob-component-mcp-resources-group-title-margin-bottom: var(--tob-space-32);
  --tob-component-mcp-resources-row-gap: var(--tob-space-80);
  --tob-component-mcp-resources-chip-padding: var(--tob-space-8);
  --tob-component-mcp-resources-tool-body-padding-right: var(--tob-space-48);
  --tob-component-mcp-research-event-summary-pad: var(--tob-space-20);
  --tob-component-mcp-cta-split-padding-bottom: var(--tob-space-200);
  --tob-component-mcp-cta-split-padding-top: var(--tob-space-200);
  --tob-component-accordion-padding-bottom: var(--tob-space-84);
  --tob-component-mcp-work-padding-bottom: var(--tob-space-76);
  --tob-component-ai-ml-case-study-halftone-left: -1294px;
  --tob-component-ai-ml-case-study-halftone-right: -1172px;
  --tob-component-open-source-halftone-left: -1684px;
  --tob-component-open-source-halftone-right: -1099.5px;
  --tob-component-open-source-halftone-top: -374px;
  --tob-component-open-source-halftone-top-right: -244px;
  --tob-component-nav-link-marker-offset: -14px;
  --tob-component-research-development-what-we-do-grid-padding-left: 209px;
  --tob-component-work-grid-offset: calc(var(--tob-component-work-grid-column-width) + var(--tob-layout-column-gap));
  --tob-component-mcp-resources-group-title-rule-offset-top: -23px;
  --tob-component-mcp-resources-group-title-rule-offset-bottom: -25px;
  --tob-component-mcp-cta-split-texture-bottom-mask-offset-x: -450px;
  --tob-component-mcp-cta-split-texture-bottom-mask-offset-y: -137px;
  --tob-component-mcp-cta-split-texture-top-offset-x: -487px;
  --tob-component-mcp-cta-split-texture-top-offset-y: -140px;
  --tob-border-thin: 0.5px;
  --tob-border-standard: 1px;
  --tob-border-thick: 2px; }

@media (max-width: 900px) {
  :root {
    --tob-type-display: 60px;
    --tob-lh-display: 0.9167;
    --tob-type-h1: 48px;
    --tob-lh-h1: 0.9167;
    --tob-type-h2: 38px;
    --tob-lh-h2: 0.9167;
    --tob-type-h3: 31px;
    --tob-lh-h3: 0.9167;
    --tob-type-h4: 25px;
    --tob-lh-h4: 0.9167;
    --tob-type-h5: 20px;
    --tob-lh-h5: 1.15;
    --tob-type-h6: 16px;
    --tob-lh-h6: 0.9167;
    --tob-type-h6-small: 16px;
    --tob-lh-h6-small: 0.9167;
    --tob-type-h6-xs: 16px;
    --tob-lh-h6-xs: 0.9167;
    --tob-type-accordion-title-lg: 16px;
    --tob-lh-accordion-title-lg: 0.9167;
    --tob-type-hero-subline: 18px;
    --tob-lh-hero-subline: 1.5556;
    --tob-type-hero-subline-letter: -2px; } }

:root {
  --tob-body-opacity: 0.75;
  --tob-code-scrollbar-track: var(--tob-dusk-2);
  --tob-code-scrollbar-thumb: var(--tob-cement-2);
  --tob-code-scrollbar-thumb-hover: var(--tob-highlight-50);
  --tob-border-thin-negative: calc(-1 * var(--tob-border-thin));
  --tob-border-standard-negative: calc(-1 * var(--tob-border-standard));
  --tob-border-thick-negative: calc(-1 * var(--tob-border-thick));
  --tob-border-standard-plus-thin: calc(
    var(--tob-border-standard) + var(--tob-border-thin)
  );
  --tob-border-standard-plus-thin-negative: calc(
    -1 * (var(--tob-border-standard) + var(--tob-border-thin))
  );
  --tob-space-2-negative: calc(-1 * var(--tob-space-2));
  --tob-space-4-negative: calc(-1 * var(--tob-space-4));
  --tob-space-8-negative: calc(-1 * var(--tob-space-8));
  --tob-space-20-negative: calc(-1 * var(--tob-space-20));
  --tob-space-80-negative: calc(-1 * var(--tob-space-80));
  --tob-space-2-plus-border-thin-negative: calc(
    -1 * (var(--tob-space-2) + var(--tob-border-thin))
  );
  --tob-space-8-plus-border-standard-negative: calc(
    -1 * (var(--tob-space-8) + var(--tob-border-standard))
  );
  --tob-hero-subline-max-width: var(--tob-component-hero-subline-max-width); }

html {
  box-sizing: border-box;
  font-size: 16px;
  scrollbar-width: none; }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  background: var(--tob-dusk);
  color: var(--tob-chalk);
  font-family: var(--tob-font-body), "Helvetica Neue", Arial, sans-serif;
  font-size: var(--tob-type-body-sm);
  line-height: var(--tob-lh-body);
  margin: 0;
  -ms-overflow-style: none;
  scrollbar-width: none; }

body::-webkit-scrollbar {
  width: 0;
  height: 0; }

pre {
  /* Theme code block scrollbars without affecting the (hidden) page scrollbar. */
  scrollbar-color: var(--tob-code-scrollbar-thumb) var(--tob-code-scrollbar-track);
  scrollbar-width: thin; }

pre::-webkit-scrollbar {
  height: var(--tob-space-8);
  width: var(--tob-space-8); }

pre::-webkit-scrollbar-track {
  background: var(--tob-code-scrollbar-track); }

pre::-webkit-scrollbar-thumb {
  background: var(--tob-code-scrollbar-thumb);
  border: 2px solid var(--tob-code-scrollbar-track);
  border-radius: 999px; }

pre::-webkit-scrollbar-thumb:hover {
  background: var(--tob-code-scrollbar-thumb-hover); }

.tob-example-shell {
  margin: 0 auto;
  max-width: var(--tob-layout-page-width); }

.tob-page {
  margin: 0 auto;
  max-width: var(--tob-layout-page-width);
  width: 100%; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--tob-font-heading), "Times New Roman", Times, serif;
  font-weight: 400;
  line-height: var(--tob-lh-h2);
  margin: 0 0 var(--tob-space-20);
  text-transform: uppercase; }

.tob-display {
  font-size: var(--tob-type-display);
  line-height: var(--tob-lh-display); }

.tob-h1 {
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-h2 {
  font-size: var(--tob-type-h2);
  line-height: var(--tob-lh-h2); }

.tob-h3 {
  font-size: var(--tob-type-h3);
  line-height: var(--tob-lh-h3); }

.tob-h4 {
  font-size: var(--tob-type-h4);
  line-height: var(--tob-lh-h4); }

.tob-h5 {
  font-size: var(--tob-type-h5);
  line-height: var(--tob-lh-h5); }

.tob-h6 {
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6); }

.tob-h6-small {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small); }

.tob-body-lg {
  font-size: var(--tob-type-body-lg);
  line-height: var(--tob-lh-body);
  opacity: var(--tob-body-opacity); }

.tob-body-md {
  font-size: var(--tob-type-body-md);
  line-height: var(--tob-lh-body);
  opacity: var(--tob-body-opacity); }

.tob-body-sm {
  font-size: var(--tob-type-body-sm);
  line-height: var(--tob-lh-body);
  opacity: var(--tob-body-opacity); }

.tob-body-xs {
  font-size: var(--tob-type-body-xs);
  line-height: var(--tob-lh-body);
  opacity: var(--tob-body-opacity); }

.tob-body-xxs {
  font-size: var(--tob-type-body-xxs);
  line-height: var(--tob-lh-body);
  opacity: var(--tob-body-opacity); }

.tob-stack {
  display: flex;
  flex-direction: column;
  gap: var(--tob-stack-gap, 0); }

.tob-stack--row {
  align-items: center;
  flex-direction: row; }

.tob-stack--wrap {
  flex-wrap: wrap; }

.tob-stack--gap-0 {
  --tob-stack-gap: 0; }

.tob-stack--gap-10 {
  --tob-stack-gap: var(--tob-space-10); }

.tob-stack--gap-16 {
  --tob-stack-gap: var(--tob-space-16); }

.tob-stack--gap-20 {
  --tob-stack-gap: var(--tob-space-20); }

.tob-stack--gap-24 {
  --tob-stack-gap: var(--tob-space-24); }

.tob-stack--gap-30 {
  --tob-stack-gap: var(--tob-space-30); }

.tob-stack--gap-40 {
  --tob-stack-gap: var(--tob-space-40); }

.tob-stack--gap-60 {
  --tob-stack-gap: var(--tob-space-60); }

.tob-stack--gap-80 {
  --tob-stack-gap: var(--tob-space-80); }

.tob-card-link--cta-hover:hover .tob-button--arrow,
.tob-card-link--cta-hover:focus-within .tob-button--arrow {
  color: var(--tob-chalk);
  border-color: var(--tob-highlight); }

.tob-card-link--cta-hover:hover .tob-button--arrow .tob-button__content,
.tob-card-link--cta-hover:focus-within .tob-button--arrow .tob-button__content {
  background: var(--tob-highlight); }

.tob-card-link--cta-hover:hover .tob-button--arrow .tob-button__icon,
.tob-card-link--cta-hover:focus-within .tob-button--arrow .tob-button__icon {
  background-color: var(--tob-chalk); }

.tob-border-y {
  border-bottom: var(--tob-border-width, var(--tob-border-thin)) solid var(--tob-border-color, currentColor);
  border-top: var(--tob-border-width, var(--tob-border-thin)) solid var(--tob-border-color, currentColor); }

.tob-border-y--thin {
  --tob-border-width: var(--tob-border-thin); }

.tob-border-y--standard {
  --tob-border-width: var(--tob-border-standard); }

.tob-border-y--cement {
  --tob-border-color: var(--tob-cement); }

.tob-border-y--cement-2 {
  --tob-border-color: var(--tob-cement-2); }

.tob-border-y--cement-3 {
  --tob-border-color: var(--tob-cement-3); }

.tob-border-y--chalk {
  --tob-border-color: var(--tob-chalk); }

.tob-border-y--transparent {
  --tob-border-color: transparent; }

.tob-mono-label {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-mono-size, inherit);
  letter-spacing: var(--tob-mono-letter, normal);
  line-height: var(--tob-mono-line-height, normal);
  text-transform: uppercase; }

.tob-mono-label--bits-lg {
  --tob-mono-size: var(--tob-type-ui-bits-lg);
  --tob-mono-letter: var(--tob-type-ui-bits-lg-letter);
  --tob-mono-line-height: var(--tob-type-ui-bits-lg-lh); }

.tob-mono-label--bits-sm {
  --tob-mono-size: var(--tob-type-ui-bits-sm);
  --tob-mono-letter: var(--tob-type-ui-bits-sm-letter);
  --tob-mono-line-height: var(--tob-type-ui-bits-sm-lh); }

.tob-mono-label--button-sm {
  --tob-mono-size: var(--tob-type-ui-button-sm);
  --tob-mono-letter: var(--tob-type-ui-letter-tight);
  --tob-mono-line-height: var(--tob-type-ui-button-lh); }

.tob-subhead {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-built-subhead);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-lh-built-subhead);
  text-transform: uppercase; }

.tob-case-upper {
  text-transform: uppercase; }

.tob-case-title {
  text-transform: uppercase; }

.tob-body-copy {
  font-family: var(--tob-font-body);
  font-size: var(--tob-body-size, inherit);
  line-height: var(--tob-body-line-height, inherit);
  opacity: var(--tob-body-opacity, var(--tob-body-opacity)); }

.tob-body-copy a {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-body-copy a:hover,
.tob-body-copy a:focus-visible,
.tob-body-copy a:visited {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-body-copy--sm {
  --tob-body-size: var(--tob-type-body-sm);
  --tob-body-line-height: var(--tob-lh-body); }

.tob-body-copy--md {
  --tob-body-size: var(--tob-type-body-md);
  --tob-body-line-height: var(--tob-lh-body); }

.tob-body-copy--lg {
  --tob-body-size: var(--tob-type-body-lg);
  --tob-body-line-height: var(--tob-lh-body); }

.tob-body-copy--tight {
  --tob-body-line-height: 1.2; }

.tob-body-copy--full {
  --tob-body-opacity: 1; }

/* Screen-reader only text helper. */
.tob-visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: var(--tob-border-standard);
  margin: var(--tob-border-standard-negative);
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: var(--tob-border-standard); }

.tob-card--feature {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement);
  border-top: var(--tob-border-standard) solid var(--tob-cement);
  padding: var(--tob-block-border-padding-y, var(--tob-space-16)) 0; }

.tob-contact__card, .tob-services__item {
  border-bottom: var(--tob-border-thin) solid var(--tob-cement);
  border-top: var(--tob-border-thin) solid var(--tob-cement);
  padding: var(--tob-space-16) 0; }

.tob-nav {
  --tob-nav-bg: var(--tob-dusk);
  align-items: center;
  background: var(--tob-nav-bg);
  display: flex;
  height: var(--tob-layout-nav-height);
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--tob-layout-page-width);
  padding: var(--tob-space-24) var(--tob-layout-section-padding-x);
  position: relative;
  z-index: 50;
  width: 100%; }

.tob-nav::before {
  background: var(--tob-nav-bg);
  bottom: 0;
  content: "";
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  pointer-events: none;
  position: absolute;
  right: 50%;
  top: 0;
  width: auto;
  z-index: 0; }

.tob-nav > * {
  position: relative;
  z-index: 1; }

.tob-nav--dark {
  --tob-nav-bg: var(--tob-dusk); }

.tob-nav--light {
  --tob-nav-bg: var(--tob-chalk); }

.tob-nav--medium {
  --tob-nav-bg: var(--tob-concrete); }

.tob-nav__logo {
  align-items: center;
  color: inherit;
  display: flex;
  min-width: var(--tob-space-100);
  padding: var(--tob-space-10) 0;
  text-decoration: none;
  width: var(--tob-space-100); }

.tob-nav__logo .tob-logo {
  height: var(--tob-space-80);
  width: auto; }

.tob-nav-mobile__logo .tob-logo {
  height: var(--tob-space-80);
  width: auto; }

.tob-logo {
  display: block;
  height: auto;
  max-width: 100%;
  width: auto; }

.tob-nav__items {
  align-items: center;
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  gap: var(--tob-space-64);
  height: var(--tob-space-80);
  justify-content: flex-end;
  list-style: none;
  margin: 0;
  max-width: none;
  min-width: 0;
  overflow: visible;
  padding: 0 var(--tob-space-24) 0 0;
  text-transform: uppercase;
  width: 100%; }

.tob-nav__actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  margin-left: var(--tob-space-32); }

.tob-theme-toggle {
  --tob-theme-toggle-track-bg: transparent;
  --tob-theme-toggle-track-border: var(--tob-chalk-50);
  --tob-theme-toggle-thumb-bg: var(--tob-chalk);
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--tob-chalk);
  cursor: pointer;
  display: inline-flex;
  gap: var(--tob-space-10);
  padding: 0;
  text-decoration: none; }

.tob-theme-toggle:focus-visible {
  border-radius: var(--tob-space-2);
  box-shadow: 0 0 0 2px var(--tob-highlight-25); }

.tob-theme-toggle__text {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-bits-sm-letter);
  line-height: var(--tob-type-ui-bits-sm-lh);
  min-width: 5ch;
  text-align: right;
  text-transform: uppercase; }

.tob-theme-toggle__track {
  align-items: center;
  background: var(--tob-theme-toggle-track-bg);
  border: var(--tob-border-standard) solid var(--tob-theme-toggle-track-border);
  border-radius: 999px;
  display: inline-flex;
  height: var(--tob-space-24);
  padding: 0 var(--tob-space-2);
  width: var(--tob-space-40); }

.tob-theme-toggle__thumb {
  background: var(--tob-theme-toggle-thumb-bg);
  border-radius: 999px;
  height: var(--tob-space-18);
  transition: transform 0.2s ease;
  width: var(--tob-space-18); }

.tob-theme-toggle[aria-checked="true"] {
  --tob-theme-toggle-track-bg: var(--tob-highlight-2);
  --tob-theme-toggle-track-border: var(--tob-highlight-2); }

.tob-theme-toggle[aria-checked="true"] .tob-theme-toggle__thumb {
  transform: translateX(var(--tob-space-18)); }

.tob-theme-toggle--compact .tob-theme-toggle__text {
  display: none; }

.tob-nav__item {
  align-items: center;
  display: flex; }

.tob-nav__item--has-children {
  position: relative; }

.tob-nav__item--has-children::after {
  content: "";
  height: var(--tob-space-12);
  left: 0;
  position: absolute;
  right: 0;
  top: 100%; }

.tob-nav__link {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-ui-nav);
  font-weight: var(--tob-type-ui-nav-weight-inactive);
  line-height: var(--tob-lh-body);
  display: inline-flex;
  align-items: center;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.2s ease;
  white-space: nowrap; }

.tob-nav__unread-dot {
  background: var(--tob-highlight);
  border-radius: 999px;
  display: inline-block;
  margin-left: var(--tob-space-6);
  opacity: 1;
  position: relative;
  pointer-events: none;
  top: -0.22em;
  height: var(--tob-space-10);
  width: var(--tob-space-10); }

.tob-nav__unread-dot[hidden] {
  display: inline-block;
  opacity: 0;
  visibility: hidden; }

.tob-nav__unread-dot.is-hidden {
  display: inline-block;
  opacity: 0;
  visibility: hidden; }

button.tob-nav__link {
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0; }

.tob-nav__link::before {
  background: var(--tob-highlight);
  content: "";
  height: var(--tob-space-10);
  left: var(--tob-component-nav-link-marker-offset);
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.6);
  transition: opacity 0.2s ease, transform 0.2s ease;
  width: var(--tob-space-10); }

.tob-nav--dark .tob-nav__link {
  color: var(--tob-chalk); }

.tob-nav--light .tob-nav__link,
.tob-nav--medium .tob-nav__link {
  color: var(--tob-dusk); }

.tob-nav__item.is-active .tob-nav__link {
  font-weight: var(--tob-type-ui-nav-weight-active); }

.tob-nav__dropdown {
  background: var(--tob-nav-bg);
  border: var(--tob-border-thin) solid var(--tob-cement-2);
  left: calc( 0px - var(--tob-space-40) + var(--tob-component-nav-link-marker-offset));
  padding: var(--tob-space-24) var(--tob-space-40);
  pointer-events: none;
  position: absolute;
  text-transform: none;
  top: 100%;
  transform: translateY(var(--tob-space-20));
  transition: transform 0.2s ease, visibility 0s linear 0.2s;
  visibility: hidden;
  width: var(--tob-component-nav-dropdown-width);
  z-index: 10; }

.tob-nav__dropdown--blog {
  left: 0;
  min-width: var(--tob-component-nav-dropdown-width);
  padding: var(--tob-space-12) var(--tob-space-24);
  width: var(--tob-component-nav-dropdown-width); }

.tob-nav__dropdown--blog-right {
  left: auto;
  right: var(--tob-nav-dropdown-right-offset, 0); }

.tob-nav__dropdown::before {
  background: var(--tob-nav-bg);
  content: "";
  height: var(--tob-space-12);
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: calc(0px - var(--tob-space-12)); }

.tob-nav__item--has-children:hover .tob-nav__dropdown,
.tob-using-keyboard
.tob-nav__item--has-children:focus-within
.tob-nav__dropdown {
  pointer-events: auto;
  transform: translateY(var(--tob-space-12));
  transition: transform 0.2s ease, visibility 0s linear;
  visibility: visible; }

.tob-nav__dropdown-items {
  list-style: none;
  margin: 0;
  min-width: var(--tob-component-nav-dropdown-items-min-width);
  padding: 0; }

.tob-nav__dropdown-item {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-nav__dropdown-item--top {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-nav__dropdown-item--top-only {
  border-bottom: 0;
  border-top: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-nav__dropdown-item--top-only .tob-nav__dropdown-link {
  padding-bottom: 0; }

.tob-nav__dropdown-item--group {
  padding: var(--tob-space-16) 0; }

.tob-nav__dropdown-item--blog-post {
  border-bottom: var(--tob-border-thin) solid var(--tob-cement-2); }

.tob-nav__dropdown-item--blog-post:last-child {
  border-bottom: 0; }

.tob-nav__dropdown-item--blog-cta {
  border-bottom: 0;
  margin-top: var(--tob-space-10); }

.tob-nav__dropdown-item--blog-cta .tob-button {
  --tob-button-font-size: var(--tob-type-body-xs);
  --tob-button-border-bottom: 0;
  width: 100%; }

.tob-nav__dropdown-post-title {
  color: inherit;
  font-size: var(--tob-type-body-sm);
  line-height: var(--tob-lh-body);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  min-width: 0; }

.tob-nav__dropdown-post-meta {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--tob-space-6) var(--tob-space-16);
  min-width: 0;
  overflow: hidden; }

.tob-nav__dropdown-post-meta-item {
  display: flex;
  align-items: center;
  color: var(--tob-cement);
  flex: 1 1 auto;
  gap: var(--tob-space-10);
  line-height: var(--tob-type-ui-bits-sm-lh);
  min-width: 0;
  overflow: hidden;
  white-space: nowrap; }

.tob-nav__dropdown-post-meta-icon {
  height: var(--tob-space-16);
  width: var(--tob-space-16); }

.tob-nav__dropdown-post-meta-text {
  color: currentColor;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-ui-bits-sm);
  line-height: var(--tob-type-ui-bits-sm-lh);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0; }

.tob-nav__dropdown-link {
  color: var(--tob-chalk);
  display: block;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  line-height: var(--tob-lh-body);
  padding: var(--tob-space-16) 0;
  text-decoration: none;
  transition: color 0.2s ease; }

.tob-nav__dropdown-link--blog-post {
  display: grid;
  font-size: var(--tob-type-body-sm);
  gap: var(--tob-space-8);
  overflow-wrap: anywhere;
  padding: var(--tob-space-10) 0; }

.tob-nav__dropdown-group {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-nav__dropdown-group-link {
  color: var(--tob-chalk);
  display: block;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  line-height: var(--tob-lh-body);
  text-decoration: none;
  transition: color 0.2s ease; }

.tob-nav__dropdown-group-link--muted {
  font-size: var(--tob-type-body-sm);
  opacity: 0.75; }

.tob-nav__dropdown-item--muted .tob-nav__dropdown-link {
  font-size: var(--tob-type-body-sm);
  opacity: 0.75; }

.tob-nav__dropdown-link:hover,
.tob-nav__dropdown-link:focus-visible {
  color: var(--tob-highlight); }

.tob-nav__dropdown-link--blog-post:hover,
.tob-nav__dropdown-link--blog-post:focus-visible {
  color: var(--tob-highlight); }

.tob-nav__dropdown-link--blog-post:hover .tob-nav__dropdown-post-meta-icon,
.tob-nav__dropdown-link--blog-post:focus-visible
.tob-nav__dropdown-post-meta-icon {
  filter: brightness(1.05); }

.tob-nav__dropdown-group-link:hover,
.tob-nav__dropdown-group-link:focus-visible {
  color: var(--tob-highlight); }

.tob-nav__dropdown-group-link--muted:hover,
.tob-nav__dropdown-group-link--muted:focus-visible {
  opacity: 1; }

.tob-nav__dropdown-item--muted .tob-nav__dropdown-link:hover,
.tob-nav__dropdown-item--muted .tob-nav__dropdown-link:focus-visible {
  opacity: 1; }

.tob-nav__link:hover,
.tob-nav__link:focus-visible {
  color: var(--tob-highlight); }

.tob-nav__link:hover::before,
.tob-nav__link:focus-visible::before,
.tob-nav__item--has-children:hover .tob-nav__link::before,
.tob-using-keyboard
.tob-nav__item--has-children:focus-within
.tob-nav__link::before,
.tob-nav__item.is-active .tob-nav__link::before {
  opacity: 1;
  transform: translateY(-50%) scale(1); }

.tob-nav-mobile {
  align-items: center;
  background: var(--tob-dusk);
  color: var(--tob-chalk);
  display: none;
  height: var(--tob-layout-mobile-nav-height);
  justify-content: space-between;
  padding: var(--tob-space-20) var(--tob-space-40);
  position: relative;
  z-index: 50; }

.tob-nav-mobile__logo {
  align-items: center;
  color: inherit;
  display: flex;
  text-decoration: none; }

.tob-nav-mobile__actions {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-space-20); }

.tob-nav-mobile--dark {
  background: var(--tob-dusk);
  color: var(--tob-chalk); }

.tob-nav-mobile--light {
  background: var(--tob-chalk);
  color: var(--tob-dusk); }

.tob-nav-mobile--medium {
  background: var(--tob-concrete);
  color: var(--tob-dusk); }

.tob-nav-mobile__burger {
  background: transparent;
  border: 0;
  display: grid;
  gap: var(--tob-space-8);
  padding: 0; }

.tob-nav-mobile__burger span {
  background: var(--tob-chalk);
  display: block;
  height: var(--tob-space-4);
  width: var(--tob-component-nav-burger-width); }

.tob-nav-mobile--light .tob-nav-mobile__burger span,
.tob-nav-mobile--medium .tob-nav-mobile__burger span {
  background: var(--tob-dusk); }

.tob-nav-mobile__menu {
  background: inherit;
  border-top: var(--tob-border-thin) solid var(--tob-cement-2);
  display: none;
  left: 0;
  padding: var(--tob-space-20) var(--tob-space-40);
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 4; }

.tob-nav-mobile--light .tob-nav-mobile__menu,
.tob-nav-mobile--medium .tob-nav-mobile__menu {
  border-color: var(--tob-cement); }

.tob-nav-mobile.is-open .tob-nav-mobile__menu {
  display: block; }

.tob-nav-mobile__items {
  display: grid;
  gap: var(--tob-space-16);
  list-style: none;
  margin: 0;
  padding: 0;
  text-transform: uppercase; }

.tob-nav-mobile__link {
  color: inherit;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-ui-nav);
  font-weight: var(--tob-type-ui-nav-weight-inactive);
  text-decoration: none;
  transition: color 0.2s ease; }

.tob-nav-mobile__item.is-active .tob-nav-mobile__link {
  font-weight: var(--tob-type-ui-nav-weight-active); }

.tob-nav-mobile__subitems {
  list-style: none;
  margin: var(--tob-space-10) 0 0;
  padding: 0;
  text-transform: none; }

.tob-nav-mobile__subitem {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-nav-mobile__subitem--top {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-nav-mobile__subitem--top-only {
  border-bottom: 0;
  border-top: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-nav-mobile__subitem--top-only .tob-nav-mobile__sublink {
  padding-bottom: 0; }

.tob-nav-mobile__subitem--group {
  padding: var(--tob-space-16) 0; }

.tob-nav-mobile__subitem--blog-cta {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  margin-top: var(--tob-space-10); }

.tob-nav-mobile__subgroup {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-nav-mobile__sublink {
  color: inherit;
  display: block;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  line-height: var(--tob-lh-body);
  padding: var(--tob-space-16) 0;
  text-decoration: none;
  transition: color 0.2s ease; }

.tob-nav-mobile__sublink--group {
  padding: 0; }

.tob-nav-mobile__sublink--muted {
  font-size: var(--tob-type-body-sm);
  opacity: 0.75; }

.tob-nav-mobile__sublink--blog-cta {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-button-sm);
  letter-spacing: var(--tob-type-ui-letter-tight);
  text-transform: uppercase; }

.tob-nav-mobile__subitem--muted .tob-nav-mobile__sublink {
  font-size: var(--tob-type-body-sm);
  opacity: 0.75; }

.tob-nav-mobile__sublink:hover,
.tob-nav-mobile__sublink:focus-visible {
  color: var(--tob-highlight); }

.tob-nav-mobile__sublink--muted:hover,
.tob-nav-mobile__sublink--muted:focus-visible {
  opacity: 1; }

.tob-nav-mobile__subitem--muted .tob-nav-mobile__sublink:hover,
.tob-nav-mobile__subitem--muted .tob-nav-mobile__sublink:focus-visible {
  opacity: 1; }

.tob-nav-mobile__link:hover,
.tob-nav-mobile__link:focus-visible {
  color: var(--tob-highlight); }

.tob-nav__search-trigger,
.tob-nav-mobile__search-trigger {
  appearance: none;
  align-items: center;
  background: transparent;
  box-sizing: border-box;
  border: 0;
  border-radius: var(--tob-space-2);
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  height: var(--tob-space-40);
  justify-content: center;
  padding: 0;
  transition: color 0.2s ease;
  width: var(--tob-space-40); }

.tob-nav__search-trigger-icon,
.tob-nav-mobile__search-trigger-icon,
.tob-search-modal__field-icon,
.tob-search-modal__close-icon {
  background: currentColor;
  display: block;
  height: var(--tob-space-20);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: var(--tob-space-20);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-nav__search-trigger-icon,
.tob-nav-mobile__search-trigger-icon,
.tob-search-modal__field-icon {
  mask-image: url("../img/icons/search.svg");
  -webkit-mask-image: url("../img/icons/search.svg"); }

.tob-search-modal__close-icon {
  mask-image: url("../img/icons/search-clear.svg");
  -webkit-mask-image: url("../img/icons/search-clear.svg"); }

.tob-nav--dark .tob-nav__search-trigger,
.tob-nav-mobile--dark .tob-nav-mobile__search-trigger {
  color: var(--tob-chalk); }

.tob-nav--light .tob-nav__search-trigger,
.tob-nav--medium .tob-nav__search-trigger,
.tob-nav-mobile--light .tob-nav-mobile__search-trigger,
.tob-nav-mobile--medium .tob-nav-mobile__search-trigger {
  color: var(--tob-dusk); }

.tob-nav__search-trigger:hover,
.tob-nav__search-trigger:focus-visible,
.tob-nav-mobile__search-trigger:hover,
.tob-nav-mobile__search-trigger:focus-visible {
  color: var(--tob-highlight); }

.tob-nav__search-trigger:focus-visible,
.tob-nav-mobile__search-trigger:focus-visible,
.tob-search-modal__close:focus-visible,
.tob-search-modal__filter:focus-visible,
.tob-search-modal__result-link:focus-visible {
  box-shadow: 0 0 0 var(--tob-space-2) var(--tob-highlight-25);
  outline: 0; }

html.tob-search-modal-open,
body.tob-search-modal-open {
  overflow: hidden; }

.tob-search-modal {
  align-items: flex-start;
  display: flex;
  inset: 0;
  justify-content: center;
  -ms-overflow-style: none;
  overflow: hidden;
  padding: var(--tob-space-120) var(--tob-layout-section-padding-x) var(--tob-space-60);
  position: fixed;
  scrollbar-width: none;
  z-index: 120; }

.tob-search-modal::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0; }

.tob-search-modal[hidden] {
  display: none; }

.tob-search-modal__backdrop {
  background: var(--tob-chalk-02);
  backdrop-filter: blur(var(--tob-space-8));
  border: 0;
  inset: 0;
  position: fixed; }

.tob-search-modal__dialog {
  background: var(--tob-dusk);
  border: var(--tob-border-standard) solid var(--tob-cement-2);
  color: var(--tob-chalk);
  display: grid;
  gap: var(--tob-space-20);
  max-width: 960px;
  padding: var(--tob-space-24);
  position: relative;
  width: 100%; }

.tob-search-modal__header {
  display: grid;
  gap: var(--tob-space-12); }

.tob-search-modal__field {
  align-items: center;
  border: var(--tob-border-thin) solid var(--tob-cement);
  display: grid;
  gap: var(--tob-space-12);
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: var(--tob-space-10) var(--tob-space-12); }

.tob-search-modal__field:focus-within {
  border-color: var(--tob-highlight); }

.tob-search-modal__input {
  background: transparent;
  border: 0;
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-lg);
  line-height: var(--tob-lh-body);
  min-width: 0;
  width: 100%; }

.tob-search-modal__input::placeholder {
  color: var(--tob-cement); }

.tob-search-modal__input:focus {
  outline: 0; }

.tob-search-modal__input::-webkit-search-decoration,
.tob-search-modal__input::-webkit-search-cancel-button,
.tob-search-modal__input::-webkit-search-results-button,
.tob-search-modal__input::-webkit-search-results-decoration {
  appearance: none;
  display: none;
  -webkit-appearance: none; }

.tob-search-modal__input::-ms-clear,
.tob-search-modal__input::-ms-reveal {
  display: none; }

.tob-search-modal__close {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--tob-cement);
  cursor: pointer;
  display: inline-flex;
  height: var(--tob-space-24);
  justify-content: center;
  padding: 0;
  width: var(--tob-space-24); }

.tob-search-modal__close:hover,
.tob-search-modal__close:focus-visible {
  color: var(--tob-highlight); }

.tob-search-modal__hint {
  color: var(--tob-cement);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-bits-sm-letter);
  line-height: var(--tob-type-ui-bits-sm-lh);
  margin: 0;
  text-transform: uppercase; }

.tob-search-modal__hint kbd {
  border: var(--tob-border-thin) solid var(--tob-cement-2);
  color: var(--tob-chalk);
  display: inline-flex;
  font-family: inherit;
  font-size: inherit;
  margin: 0 var(--tob-space-4);
  padding: var(--tob-space-2) var(--tob-space-6); }

.tob-search-modal__results-wrap {
  display: grid;
  gap: var(--tob-space-16); }

.tob-search-modal__results-region {
  height: 60vh;
  height: 60dvh;
  min-height: var(--tob-space-200);
  max-height: 60vh;
  max-height: 60dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  position: relative;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.tob-search-modal__results-region::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0; }

.tob-search-modal__filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-8); }

.tob-search-modal__filter {
  background: transparent;
  border: var(--tob-border-thin) solid var(--tob-cement-2);
  color: var(--tob-cement);
  cursor: pointer;
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-bits-sm-letter);
  line-height: var(--tob-type-ui-bits-sm-lh);
  min-width: var(--tob-space-80);
  padding: var(--tob-space-6) var(--tob-space-10);
  text-transform: uppercase;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease; }

.tob-search-modal__filter:hover {
  border-color: var(--tob-highlight);
  color: var(--tob-highlight); }

.tob-search-modal__filter.is-active {
  background: var(--tob-highlight-2);
  border-color: var(--tob-highlight-2);
  color: var(--tob-ink); }

.tob-search-modal__status {
  color: var(--tob-cement);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-sm);
  line-height: var(--tob-lh-body);
  margin: 0;
  min-height: var(--tob-space-20); }

.tob-search-modal__loading-dots {
  align-items: center;
  background: var(--tob-cement-2-50);
  display: flex;
  gap: var(--tob-space-8);
  inset: 0;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  visibility: hidden;
  z-index: 2; }

.tob-search-modal__loading-dots span {
  animation: tob-search-bounce 0.6s infinite ease-in-out;
  background: var(--tob-highlight);
  box-shadow: 0 0 0 var(--tob-border-standard) var(--tob-dusk);
  height: var(--tob-space-12);
  width: var(--tob-space-12); }

.tob-search-modal__loading-dots span:nth-child(2) {
  animation-delay: 0.15s;
  background: var(--tob-chalk); }

.tob-search-modal__loading-dots span:nth-child(3) {
  animation-delay: 0.3s;
  background: var(--tob-highlight); }

.tob-search-modal__results-wrap.is-loading .tob-search-modal__loading-dots {
  opacity: 1;
  visibility: visible; }

.tob-search-modal__results {
  display: grid;
  gap: var(--tob-space-12);
  list-style: none;
  margin: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: visible;
  padding: 0; }

.tob-search-modal__sentinel {
  height: 1px;
  width: 100%; }

.tob-search-modal__result {
  min-width: 0; }

.tob-search-modal__result-link {
  border: var(--tob-border-thin) solid var(--tob-cement-2);
  color: var(--tob-chalk);
  display: grid;
  gap: var(--tob-space-8);
  min-width: 0;
  padding: var(--tob-space-16);
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease; }

.tob-search-modal__result-link:hover,
.tob-search-modal__result-link:focus-visible {
  border-color: var(--tob-highlight);
  color: var(--tob-highlight); }

.tob-search-modal__result-source {
  align-items: center;
  border: var(--tob-border-thin) solid currentColor;
  display: inline-flex;
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-bits-sm-letter);
  line-height: var(--tob-type-ui-bits-sm-lh);
  max-width: fit-content;
  padding: var(--tob-space-2) var(--tob-space-8);
  text-transform: uppercase; }

.tob-search-modal__result-source--blog {
  color: var(--tob-highlight); }

.tob-search-modal__result-source--website {
  color: var(--tob-cement); }

.tob-search-modal__result-title {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-lg);
  line-height: var(--tob-lh-body);
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word; }

.tob-search-modal__result-link:hover .tob-search-modal__result-title,
.tob-search-modal__result-link:focus-visible .tob-search-modal__result-title {
  color: currentColor; }

.tob-search-modal__result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-12) var(--tob-space-16);
  min-width: 0; }

.tob-search-modal__result-meta-item {
  color: var(--tob-cement);
  min-width: 0; }

.tob-search-modal__result-meta-icon {
  height: var(--tob-space-16);
  width: var(--tob-space-16); }

.tob-search-modal__result-meta-text {
  color: currentColor;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-sm);
  line-height: var(--tob-lh-body);
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word; }

.tob-search-modal__result-url {
  color: var(--tob-cement);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-bits-sm-letter);
  line-height: var(--tob-type-ui-bits-sm-lh);
  min-width: 0;
  overflow-wrap: anywhere;
  text-transform: uppercase;
  word-break: break-word; }

.tob-search-modal__result-link:hover .tob-search-modal__result-url,
.tob-search-modal__result-link:focus-visible .tob-search-modal__result-url {
  color: currentColor; }

.tob-search-modal__result-link:hover .tob-search-modal__result-meta-item,
.tob-search-modal__result-link:focus-visible
.tob-search-modal__result-meta-item {
  color: currentColor; }

.tob-search-modal__result-excerpt {
  color: var(--tob-cement);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-sm);
  line-height: var(--tob-lh-body);
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word; }

.tob-search-modal__result-link:hover .tob-search-modal__result-excerpt,
.tob-search-modal__result-link:focus-visible .tob-search-modal__result-excerpt {
  color: currentColor; }

@keyframes tob-search-bounce {
  0%,
  100% {
    transform: translateY(0); }
  50% {
    transform: translateY(var(--tob-space-8-negative)); } }

@media (prefers-reduced-motion: reduce) {
  .tob-search-modal__loading-dots span {
    animation: none; } }

.tob-section {
  --tob-section-bg: var(--tob-dusk);
  --tob-section-padding-y: var(--tob-layout-section-padding-y);
  --tob-section-padding-x: var(--tob-layout-section-padding-x);
  --tob-section-pad-200: var(--tob-space-200);
  --tob-section-pad-120: var(--tob-space-120);
  --tob-section-pad-80: var(--tob-space-80);
  --tob-section-pad-40: var(--tob-space-40);
  --tob-section-padding-top: var(--tob-section-padding-y);
  --tob-section-padding-bottom: var(--tob-section-padding-y);
  --tob-section-heading-border: var(--tob-cement);
  --tob-section-heading-border-width: var(--tob-border-standard);
  --tob-section-heading-border-bottom: 0;
  --tob-section-heading-shadow: none;
  --tob-section-stack-gap: var(--tob-space-40);
  background: var(--tob-dusk);
  color: var(--tob-chalk);
  display: flex;
  padding: var(--tob-section-padding-top) var(--tob-section-padding-x) var(--tob-section-padding-bottom);
  position: relative; }

.tob-section::before {
  background: var(--tob-section-bg);
  content: "";
  bottom: 0;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  right: 50%;
  top: 0;
  pointer-events: none;
  position: absolute;
  transform: none;
  width: auto;
  z-index: 0; }

.tob-section--dark {
  --tob-section-heading-border: var(--tob-cement-2);
  background: var(--tob-dusk);
  color: var(--tob-chalk); }

.tob-section--light {
  --tob-section-bg: var(--tob-chalk);
  --tob-section-heading-border: var(--tob-cement);
  background: var(--tob-chalk);
  color: var(--tob-dusk); }

.tob-section--medium {
  --tob-section-bg: var(--tob-concrete);
  background: var(--tob-concrete);
  color: var(--tob-dusk); }

.tob-section--shell-feature {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10); }

.tob-section--shell-dense {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--shell-compact {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--shell-hero {
  --tob-section-padding-y: var(--tob-section-pad-120); }

.tob-section--shell-immersive {
  --tob-section-padding-y: var(--tob-section-pad-200); }

.tob-section--hero-compact {
  align-items: center; }

.tob-section--blog-hero {
  --tob-section-padding-top: var(--tob-section-pad-120);
  --tob-section-padding-bottom: var(--tob-section-pad-80);
  --tob-section-padding-x: var(--tob-space-80);
  --tob-section-bg: var(--tob-chalk);
  background: var(--tob-chalk); }

.tob-section--blog-hero::before {
  left: 0;
  margin-left: 0;
  margin-right: 0;
  right: 0; }

.tob-section--services,
.tob-section--why-tob-capabilities {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  --tob-section-stack-gap: var(--tob-space-10); }

.tob-section--software-assurance-how {
  --tob-how-we-work-line: var(--tob-cement-2-50);
  --tob-how-we-work-line-accent: var(--tob-highlight-50);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-shadow: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--value-props {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10); }

.tob-section--value-props .tob-card-grid {
  column-gap: var(--tob-space-32); }

.tob-section__inner {
  flex: 1 1 0;
  margin: 0 auto;
  max-width: var(--tob-layout-content-width);
  min-width: 0;
  position: relative;
  z-index: 1; }

.tob-section__inner > * {
  max-width: 100%;
  min-width: 0; }

.halftone-wrapper {
  --tob-halftone-offset: calc(
    -1 * var(--tob-halftone-padding, var(--tob-component-halftone-padding))
  );
  overflow: visible;
  position: relative;
  width: 100%; }

.halftone-wrapper > [data-type-effect] {
  display: block;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit; }

.halftone-wrapper.tob-type-effect--ready > [data-type-effect] {
  color: transparent; }

.halftone-wrapper canvas {
  left: var(--tob-halftone-offset);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: var(--tob-halftone-offset); }

.halftone-wrapper.tob-type-effect--ready canvas {
  opacity: 1; }

.tob-hero {
  position: relative;
  width: 100%; }

.tob-hero--eyebrow .tob-hero__stack {
  --tob-stack-gap: var(--tob-space-40); }

.tob-hero--eyebrow .tob-hero__subline {
  border: 0;
  max-width: none;
  opacity: 1;
  padding: 0; }

.tob-hero__eyebrow {
  color: var(--tob-chalk);
  margin: 0; }

.tob-hero__title {
  font-family: var(--tob-font-heading), var(--tob-font-body), sans-serif;
  font-size: var(--tob-type-display);
  line-height: var(--tob-lh-display);
  overflow: visible;
  text-transform: uppercase;
  width: 100%; }

.tob-hero__title-line {
  color: var(--tob-chalk);
  display: block;
  margin: 0;
  white-space: nowrap;
  width: 100%; }

.tob-section--blog-hero .tob-hero__title-line {
  white-space: normal; }

.tob-section--light .tob-hero__title-line {
  color: var(--tob-dusk); }

.tob-hero__title-line--accent {
  color: var(--tob-highlight);
  text-align: right; }

.tob-hero__title-inline-accent {
  color: var(--tob-highlight);
  display: inline-block;
  width: auto; }

.tob-hero--mcp .tob-hero__title-line {
  white-space: normal; }

.tob-hero--mcp .tob-hero__subline {
  max-width: 100%; }

.tob-section--about-us-hero {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--open-source-projects-hero .tob-hero__title {
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-section--open-source-projects-hero {
  --tob-section-padding-bottom: var(--tob-section-pad-120);
  --tob-section-padding-top: var(--tob-section-pad-120);
  --tob-component-hero-copy-max-width: var(--tob-component-why-tob-hero-copy-width);
  --tob-component-button-hero-max-width: var(--tob-component-products-card-width); }

.tob-section--open-source-projects-hero .tob-hero__stack {
  --tob-stack-gap: var(--tob-space-40); }

.tob-section--open-source-projects-hero .tob-hero__title-line {
  white-space: normal; }

.tob-section--open-source-projects-hero .tob-hero__details {
  grid-template-columns: minmax(0, 1fr); }

.tob-section--open-source-projects-hero .tob-hero__actions {
  display: none; }

.tob-section--open-source-projects-hero .tob-hero__copy {
  column-gap: var(--tob-space-32);
  display: grid;
  grid-template-columns: minmax(0, var(--tob-component-hero-copy-max-width)) minmax(0, var(--tob-component-button-hero-max-width));
  justify-content: space-between;
  row-gap: 0;
  width: 100%; }

.tob-section--open-source-projects-hero .tob-hero__subline {
  border: 0;
  font-size: var(--tob-type-hero-subline);
  letter-spacing: -0.6px;
  /* guardrail-allow: figma-match */
  line-height: var(--tob-lh-hero-subline);
  max-width: var(--tob-component-hero-copy-max-width);
  padding: var(--tob-space-20) 0;
  position: relative; }

.tob-section--open-source-projects-hero .tob-hero__subline::before,
.tob-section--open-source-projects-hero .tob-hero__subline::after {
  background-color: var(--tob-cement-2);
  content: "";
  height: var(--tob-border-thin);
  left: 0;
  position: absolute;
  right: 0; }

.tob-section--open-source-projects-hero .tob-hero__subline::before {
  top: 0; }

.tob-section--open-source-projects-hero .tob-hero__subline::after {
  bottom: 0; }

.tob-section--open-source-projects-hero .tob-hero__copy .tob-button {
  align-self: end;
  height: var(--tob-space-80);
  justify-self: end;
  max-width: var(--tob-component-button-hero-max-width); }

.tob-hero--about-us {
  --tob-body-opacity: 1; }

.tob-hero--about-us .tob-hero__title {
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-hero--about-us .tob-hero__copy {
  --tob-stack-gap: var(--tob-space-16); }

.tob-hero--about-us .tob-hero__subline {
  --tob-border-width: var(--tob-border-standard);
  font-family: var(--tob-font-body);
  font-weight: 400;
  letter-spacing: var(--tob-type-hero-subline-letter, var(--tob-type-ui-letter-tight));
  max-width: var(--tob-component-about-us-hero-copy-max-width); }

.tob-hero__subline {
  font-size: var(--tob-type-hero-subline);
  line-height: var(--tob-lh-hero-subline);
  letter-spacing: var(--tob-type-ui-letter-tight);
  margin: 0;
  max-width: var(--tob-component-hero-copy-max-width);
  padding: var(--tob-space-20) 0; }

.tob-hero__subline p {
  margin: 0; }

.tob-hero__subline strong {
  color: var(--tob-highlight);
  font-weight: 400; }

.tob-hero__cta {
  align-items: center;
  border-bottom: var(--tob-border-thin) solid var(--tob-chalk);
  display: flex;
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-button-lg);
  gap: var(--tob-space-16);
  letter-spacing: var(--tob-type-ui-button-lg-letter);
  line-height: var(--tob-type-ui-button-lg-lh);
  margin: 0;
  max-width: var(--tob-component-hero-copy-max-width);
  padding: var(--tob-space-20) 0;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%; }

.tob-hero__copy .tob-button {
  align-self: flex-start;
  max-width: var(--tob-component-button-hero-max-width);
  width: 100%; }

.tob-hero__details {
  display: grid;
  gap: var(--tob-space-40);
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--tob-component-hero-details-aside-width));
  width: 100%; }

.tob-hero__details--single {
  grid-template-columns: 1fr; }

.tob-hero__details--single .tob-hero__actions {
  display: none; }

.tob-hero__actions {
  align-items: flex-end; }

.tob-section--timeline {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-timeline-columns: 8;
  --tob-timeline-event-min-width: calc(
    var(--tob-component-timeline-min-width) / var(--tob-timeline-columns)
  );
  --tob-timeline-events-min-width: calc(
    var(--tob-timeline-columns) * var(--tob-timeline-event-min-width)
  );
  --tob-timeline-accent-width: var(--tob-component-timeline-accent-width);
  --tob-timeline-detail-gap: var(--tob-space-16);
  --tob-timeline-detail-width: var(--tob-component-timeline-detail-width);
  --tob-timeline-detail-group-width: calc(
    (var(--tob-timeline-detail-width) * 3) + (var(--tob-timeline-detail-gap) * 2)
  );
  --tob-timeline-progress-duration: 3s;
  --tob-timeline-line-color: var(--tob-cement-2); }

.tob-timeline {
  --tob-timeline-edge-pad-left: 0px;
  --tob-timeline-edge-pad-right: 0px;
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-48); }

.tob-timeline__heading {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  padding: var(--tob-space-20) 0; }

.tob-timeline__title {
  margin: 0;
  text-transform: uppercase; }

.tob-timeline__row {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-40);
  max-width: 100%;
  -ms-overflow-style: none;
  overflow-x: auto;
  scrollbar-width: none; }

.tob-timeline__row::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0; }

.tob-timeline__events {
  align-items: stretch;
  box-sizing: border-box;
  grid-template-columns: repeat(var(--tob-timeline-columns), minmax(0, 1fr));
  margin-left: var(--tob-timeline-edge-pad-left);
  margin-right: var(--tob-timeline-edge-pad-right);
  min-width: var(--tob-timeline-events-min-width);
  max-width: 100%;
  width: 100%; }

.tob-timeline__event {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  height: 100%;
  min-width: 0; }

.tob-timeline__event--inactive {
  opacity: 0.5; }

.tob-timeline__date {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase;
  color: var(--tob-cement-2);
  margin: 0;
  transition: color 0.3s ease; }

.tob-timeline__card {
  flex: 1 1 auto;
  padding: var(--tob-space-16) 0;
  position: relative; }

.tob-timeline__event-title {
  color: var(--tob-cement-2);
  display: -webkit-box;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6-xs);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: 0.85;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  transition: color 0.35s ease; }

.tob-timeline__event-title-line {
  display: block;
  white-space: normal; }

.tob-timeline__event--active .tob-timeline__event-title {
  color: var(--tob-highlight); }

.tob-timeline__event--active .tob-timeline__date {
  color: var(--tob-chalk); }

.tob-timeline__event--active .tob-timeline__card::before,
.tob-timeline__event--active .tob-timeline__card::after {
  background: var(--tob-highlight);
  content: "";
  height: var(--tob-border-standard);
  left: 0;
  position: absolute;
  right: 0;
  transform-origin: left; }

.tob-timeline__event--active .tob-timeline__card::before {
  animation: tob-timeline-fill var(--tob-timeline-progress-duration) linear forwards;
  top: var(--tob-border-standard-negative); }

.tob-timeline__event--active .tob-timeline__card::after {
  animation: tob-timeline-fill var(--tob-timeline-progress-duration) linear forwards;
  bottom: var(--tob-border-standard-negative); }

.tob-timeline__event--active {
  opacity: 1; }

.tob-timeline__markers {
  box-sizing: border-box;
  display: grid;
  gap: var(--tob-space-16);
  grid-template-columns: repeat(var(--tob-timeline-columns), minmax(0, 1fr));
  margin-left: var(--tob-timeline-edge-pad-left);
  margin-right: var(--tob-timeline-edge-pad-right);
  min-width: var(--tob-timeline-events-min-width);
  min-height: var(--tob-space-10);
  max-width: 100%;
  position: relative;
  width: 100%; }

.tob-timeline__groups {
  margin-left: var(--tob-timeline-edge-pad-left);
  margin-right: var(--tob-timeline-edge-pad-right); }

.tob-timeline__markers::before {
  background: var(--tob-timeline-line-color);
  content: "";
  height: var(--tob-border-standard);
  left: 0;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%); }

.tob-timeline__marker {
  background: var(--tob-cement);
  height: var(--tob-space-10);
  justify-self: start;
  position: relative;
  width: var(--tob-space-10);
  z-index: 1; }

.tob-timeline__marker--active {
  background: var(--tob-highlight); }

@keyframes tob-timeline-fill {
  from {
    transform: scaleX(0); }
  to {
    transform: scaleX(1); } }

.tob-timeline__details {
  margin: 0 auto;
  max-width: var(--tob-timeline-detail-group-width);
  overflow: hidden;
  position: relative;
  width: 100%; }

.tob-timeline__detail-track {
  display: flex;
  gap: var(--tob-timeline-detail-gap);
  transition: transform 0.6s ease;
  will-change: transform; }

.tob-timeline__detail {
  display: flex;
  flex-direction: column;
  flex: 0 0 var(--tob-timeline-detail-width);
  gap: var(--tob-space-10);
  max-width: var(--tob-timeline-detail-width);
  opacity: 0.25;
  transform: translateX(var(--tob-space-10)) rotateY(-6deg);
  transform-origin: left center;
  transition: opacity 0.6s ease, transform 0.6s ease;
  width: 100%; }

.tob-timeline__detail--active {
  opacity: 1;
  transform: translateX(0) rotateY(0); }

.tob-timeline__detail-card {
  background: var(--tob-dusk-2);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20);
  padding: var(--tob-space-20) var(--tob-space-10); }

.tob-timeline__detail-title {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: 1;
  margin: 0; }

.tob-timeline__detail-meta {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-timeline__detail-date {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase;
  color: var(--tob-highlight-2);
  margin: 0; }

.tob-timeline__detail-body {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  line-height: 1.2;
  margin: 0;
  opacity: 0.75; }

.tob-timeline__detail--ghost {
  margin-top: var(--tob-space-16);
  opacity: 0.25;
  pointer-events: none;
  position: static; }

.tob-section--about-us-principles {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-body-opacity: 1; }

.tob-about-principles {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10);
  margin: 0 auto;
  max-width: var(--tob-component-about-us-principles-max-width);
  width: 100%; }

.tob-about-principles__item {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-about-principles__heading {
  align-items: center;
  display: flex;
  padding: var(--tob-space-20) 0; }

.tob-about-principles__item:first-child .tob-about-principles__heading {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  padding-top: var(--tob-space-20); }

.tob-about-principles__title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-built-subhead);
  line-height: var(--tob-lh-built-subhead);
  opacity: var(--tob-body-opacity);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-space-40);
  margin: 0;
  text-transform: none; }

.tob-about-principles__body {
  margin-left: var(--tob-component-about-us-principles-body-indent);
  max-width: calc(var(--tob-component-about-us-principles-max-width) - var(--tob-component-about-us-principles-body-indent));
  width: 100%; }

.tob-about-principles__body-inner {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  padding: var(--tob-space-20) 0; }

.tob-about-principles__body-copy p {
  margin: 0; }

.tob-about-principles__body-copy {
  line-height: var(--tob-space-24); }

.tob-about-principles__body-copy .tob-text-accent {
  color: var(--tob-highlight); }

.tob-section--about-us-top-talent {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  --tob-body-opacity: 1;
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--about-us-news .tob-news-coverage__grid {
  --tob-event-content-gap: var(--tob-space-24);
  --tob-event-summary-line-height: var(--tob-lh-body); }

.tob-section--about-us-news .tob-news-coverage__title {
  font-family: var(--tob-font-heading);
  font-size: 36px;
  /* guardrail-allow: figma-match */
  letter-spacing: -0.72px;
  /* guardrail-allow: figma-match */
  line-height: 40px;
  /* guardrail-allow: figma-match */ }

.tob-section--about-us-news .tob-news-coverage__grid .tob-event-card__content {
  padding: var(--tob-space-24) 0; }

.tob-section--about-us-news
.tob-news-coverage__grid
.tob-event-card--media-outside-content.tob-event-card--tags-outside-content
.tob-event-card__content {
  margin-top: var(--tob-event-media-content-gap, var(--tob-space-16)); }

.tob-section--about-us-news .tob-news-coverage__grid .tob-event-card__summary,
.tob-section--about-us-news .tob-news-coverage__grid .tob-event-card__summary p {
  -webkit-line-clamp: 2;
  line-clamp: 2;
  min-height: calc(var(--tob-event-summary-line-height) * 2 * 1em); }

.tob-about-top-talent {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-40); }

.tob-about-top-talent__title {
  line-height: var(--tob-lh-h3);
  margin: 0;
  text-transform: uppercase; }

.tob-about-top-talent__columns {
  display: flex;
  gap: var(--tob-space-16); }

.tob-about-top-talent__column {
  flex: 1 1 0; }

.tob-about-top-talent__column-inner {
  padding: var(--tob-space-24) 0; }

.tob-about-top-talent__column-inner p {
  margin: 0; }

.tob-about-top-talent__quote {
  margin: 0; }

.tob-about-top-talent__attribution {
  color: var(--tob-highlight);
  margin: 0; }

.tob-section--about-us-team {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  --tob-body-opacity: 1;
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-about-team {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  margin: 0 auto;
  max-width: var(--tob-layout-content-width);
  width: 100%; }

.tob-about-team__heading {
  border-top: var(--tob-border-standard) solid var(--tob-cement);
  padding: var(--tob-space-20) 0; }

.tob-about-team__title {
  margin: 0; }

.tob-about-team__content {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-40);
  margin-left: 0;
  max-width: calc(var(--tob-layout-content-width) - var(--tob-space-100) + var(--tob-border-standard));
  width: 100%; }

.tob-about-team__filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--tob-space-10); }

.tob-about-team__filter {
  align-items: center;
  background: transparent;
  border: var(--tob-border-standard) solid var(--tob-concrete);
  color: var(--tob-dusk);
  cursor: pointer;
  display: flex;
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-button-lg);
  justify-content: space-between;
  letter-spacing: var(--tob-type-ui-button-lg-letter);
  line-height: var(--tob-type-ui-button-lg-lh);
  min-height: var(--tob-space-60);
  padding: var(--tob-space-16);
  text-transform: uppercase;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  width: 100%; }

.tob-about-team__filter .tob-button__icon {
  --tob-button-icon-size: var(--tob-space-24);
  background-color: currentColor;
  mask-image: url("../img/icons/chip-plus.svg");
  -webkit-mask-image: url("../img/icons/chip-plus.svg"); }

.tob-about-team__filter.is-selected {
  background: var(--tob-highlight);
  border-color: var(--tob-highlight);
  color: var(--tob-chalk); }

.tob-about-team__filter.is-selected .tob-button__icon {
  mask-image: url("../img/icons/chip-minus.svg");
  -webkit-mask-image: url("../img/icons/chip-minus.svg"); }

.tob-about-team__filter:focus-visible {
  outline: var(--tob-border-standard) solid var(--tob-highlight);
  outline-offset: var(--tob-space-2); }

.tob-about-team__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--tob-component-about-us-team-photo-size), var(--tob-component-about-us-team-photo-size)));
  justify-content: space-between;
  column-gap: var(--tob-space-32);
  row-gap: var(--tob-space-40); }

.tob-about-team__card {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement);
  border-top: var(--tob-border-standard) solid var(--tob-cement);
  padding: var(--tob-space-16) 0; }

.tob-about-team__card[hidden] {
  display: none; }

.tob-about-team__card-inner {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16); }

.tob-about-team__action .tob-button {
  --tob-button-border-top: 0;
  --tob-button-padding-top: 0;
  --tob-button-padding-bottom: 0; }

.tob-about-team__details {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16); }

.tob-about-team__photo {
  flex-shrink: 0;
  height: var(--tob-component-about-us-team-photo-size);
  overflow: hidden;
  width: var(--tob-component-about-us-team-photo-size); }

.tob-about-team__photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%; }

.tob-about-team__name {
  font-family: var(--tob-font-body);
  font-size: var(--tob-about-team-name-size, var(--tob-type-h6));
  line-height: var(--tob-about-team-name-lh, var(--tob-lh-h6));
  margin: 0;
  text-transform: none;
  white-space: nowrap; }

.tob-about-team__role {
  margin: 0;
  opacity: 0.75;
  white-space: nowrap; }

.tob-section--about-us-timeline {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-timeline-line-color: var(--tob-dusk-2);
  --tob-about-us-timeline-details-margin-top: var(
    --tob-component-about-us-timeline-details-margin-top
  ); }

.tob-section--about-us-timeline .tob-timeline {
  gap: var(--tob-space-10); }

.tob-section--about-us-timeline .tob-timeline__heading {
  padding-top: var(--tob-space-20); }

.tob-section--about-us-timeline .tob-timeline__date {
  color: var(--tob-chalk); }

.tob-section--about-us-timeline .tob-timeline__event-title {
  color: var(--tob-chalk);
  font-size: var(--tob-type-body-xs);
  letter-spacing: 0;
  line-height: 1.2;
  -webkit-line-clamp: 2; }

.tob-section--about-us-timeline
.tob-timeline__event--active
.tob-timeline__event-title {
  color: var(--tob-highlight); }

.tob-section--about-us-timeline .tob-timeline__markers::before {
  left: var(--tob-space-80-negative);
  right: 0; }

.tob-section--about-us-timeline .tob-timeline__details {
  margin-top: var(--tob-about-us-timeline-details-margin-top); }

.tob-section--cyber-policy-hero {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-cyber-policy-hero__eyebrow,
.tob-cyber-policy-hero__title {
  margin: 0; }

.tob-cyber-policy-hero__title-line {
  display: block; }

.tob-cyber-policy-hero__title-line--right {
  text-align: right; }

.tob-cyber-policy-hero__title-line--accent {
  color: var(--tob-highlight); }

.tob-section--cyber-policy-content {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  --tob-cyber-policy-sidebar-width: var(
    --tob-component-cyber-policy-sidebar-width
  );
  --tob-cyber-policy-gap: var(--tob-component-cyber-policy-gap);
  --tob-cyber-policy-body-offset: var(--tob-component-cyber-policy-body-offset);
  --tob-cyber-policy-links-offset: var(--tob-space-100);
  --tob-cyber-policy-sidebar-gap: var(--tob-space-60);
  --tob-cyber-policy-link-pad-y: var(--tob-space-40);
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-cyber-policy-content__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--tob-cyber-policy-sidebar-width));
  column-gap: var(--tob-cyber-policy-gap);
  align-items: start; }

.tob-cyber-policy-content__main {
  display: flex;
  flex-direction: column;
  min-width: 0; }

.tob-cyber-policy-content__body {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  font-weight: 400;
  line-height: calc(var(--tob-type-body-md) + var(--tob-space-4));
  margin-left: var(--tob-cyber-policy-body-offset);
  opacity: 1;
  padding: var(--tob-space-20) 0;
  width: calc(100% - var(--tob-cyber-policy-body-offset)); }

.tob-cyber-policy-content__body-text {
  white-space: pre-line; }

.tob-cyber-policy-content__body-text p {
  margin: 0 0 var(--tob-space-16); }

.tob-cyber-policy-content__body-text p:last-child {
  margin-bottom: 0; }

.tob-cyber-policy-content__body a {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-cyber-policy-content__body a:hover,
.tob-cyber-policy-content__body a:focus-visible,
.tob-cyber-policy-content__body a:visited {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-cyber-policy-content__body-list {
  margin: 0 0 var(--tob-space-16);
  padding-left: var(--tob-space-20); }

.tob-cyber-policy-content__body-list li {
  margin: 0; }

.tob-cyber-policy-content__cta {
  margin-left: var(--tob-cyber-policy-body-offset);
  margin-top: var(--tob-space-16);
  width: calc(100% - var(--tob-cyber-policy-body-offset)); }

.tob-cyber-policy-content__contributions {
  margin-top: var(--tob-space-40); }

.tob-cyber-policy-content__contributions-title {
  font-family: var(--tob-font-heading);
  font-size: calc(var(--tob-type-h6) + var(--tob-space-2));
  font-weight: 400;
  line-height: calc(var(--tob-type-h6) + var(--tob-space-2));
  margin: 0;
  padding: var(--tob-space-20) 0;
  text-transform: uppercase; }

.tob-cyber-policy-content__links {
  display: grid;
  gap: 0;
  margin-left: var(--tob-cyber-policy-links-offset);
  margin-top: var(--tob-space-16);
  padding-bottom: var(--tob-border-standard);
  width: calc(100% - var(--tob-cyber-policy-links-offset)); }

.tob-cyber-policy-content__link {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  color: var(--tob-cement);
  display: block;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-xs);
  font-weight: 400;
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-lh-body);
  padding: var(--tob-cyber-policy-link-pad-y) var(--tob-space-20);
  text-decoration: none; }

.tob-cyber-policy-content__link:last-child {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-cyber-policy-content__link-author {
  color: var(--tob-chalk); }

.tob-cyber-policy-content__link-title {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-cyber-policy-content__sidebar {
  padding-top: 0;
  padding-bottom: var(--tob-space-24); }

.tob-cyber-policy-content__nav-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0; }

.tob-cyber-policy-content__nav-item {
  font-size: var(--tob-type-body-lg);
  line-height: calc(var(--tob-type-body-lg) * var(--tob-lh-body));
  margin: 0; }

.tob-cyber-policy-content__nav-link {
  color: var(--tob-chalk);
  display: block;
  font-family: var(--tob-font-body);
  font-size: inherit;
  line-height: inherit;
  opacity: 1;
  padding: var(--tob-space-20) 0;
  position: relative;
  text-decoration: none;
  width: 100%;
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-cyber-policy-content__nav-link::before {
  border-top: var(--tob-border-standard) solid transparent;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

.tob-cyber-policy-content__nav-item:first-child
.tob-cyber-policy-content__nav-link::before {
  border-top-color: var(--tob-cement-2); }

.tob-cyber-policy-content__nav-item:first-child
.tob-cyber-policy-content__nav-link:hover::before,
.tob-cyber-policy-content__nav-item:first-child
.tob-cyber-policy-content__nav-link:focus-visible::before,
.tob-cyber-policy-content__nav-item:first-child
.tob-cyber-policy-content__nav-link--active::before {
  border-top-color: var(--tob-highlight); }

.tob-cyber-policy-content__nav-link:hover,
.tob-cyber-policy-content__nav-link:focus-visible,
.tob-cyber-policy-content__nav-link--active {
  color: var(--tob-highlight);
  border-bottom-color: var(--tob-highlight); }

.tob-cyber-policy-content__nav-link:hover::before,
.tob-cyber-policy-content__nav-link:focus-visible::before,
.tob-cyber-policy-content__nav-link--active::before {
  border-top-color: var(--tob-highlight); }

.tob-forrester-hero {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-40);
  min-height: var(--tob-component-forrester-hero-content-height); }

.tob-forrester-hero__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--tob-component-forrester-hero-content-height); }

.tob-forrester-hero__header {
  --tob-stack-gap: var(--tob-space-10); }

.tob-forrester-hero__details {
  display: grid;
  gap: var(--tob-space-40);
  grid-template-columns: minmax(0, var(--tob-component-forrester-hero-body-width)) minmax(0, var(--tob-component-forrester-form-width));
  align-items: start; }

.tob-forrester-hero__eyebrow {
  margin: 0; }

.tob-forrester-hero__title {
  font-family: var(--tob-font-heading);
  font-size: 102px;
  letter-spacing: 0;
  line-height: 0.85;
  margin: 0;
  overflow: visible;
  text-transform: uppercase; }

.tob-forrester-hero__title-line {
  display: block;
  margin: 0;
  min-height: 0;
  line-height: inherit;
  white-space: nowrap;
  width: 100%; }

.tob-forrester-hero__title-line + .tob-forrester-hero__title-line {
  margin-top: var(--tob-space-10); }

.tob-forrester-hero__title-line--accent {
  color: var(--tob-highlight);
  text-align: right; }

.tob-forrester-hero__title-line--accent [data-type-effect] {
  display: block;
  text-align: right; }

.tob-forrester-hero__body {
  border-bottom: var(--tob-border-thin) solid var(--tob-cement-2);
  border-top: var(--tob-border-thin) solid var(--tob-cement-2);
  font-family: "Geist", var(--tob-font-body);
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  height: 100%;
  margin: 0;
  padding: var(--tob-space-16) 0; }

.tob-forrester-hero__body a {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-forrester-hero__body a:hover,
.tob-forrester-hero__body a:focus-visible {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-forrester-hero__form {
  width: 100%; }

.tob-forrester-report {
  display: grid;
  gap: var(--tob-layout-column-gap);
  grid-template-columns: minmax(0, var(--tob-component-forrester-report-copy-width)) minmax(0, var(--tob-component-forrester-report-media-width));
  align-items: start;
  font-kerning: none;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased; }

.tob-section--forrester-report {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-forrester-report__title {
  color: var(--tob-highlight-2);
  font-family: var(--tob-font-body);
  font-weight: 400;
  margin: var(--tob-space-20) 0 0;
  text-transform: none; }

.tob-forrester-report__label {
  --tob-mono-line-height: var(--tob-type-ui-bits-sm-lh);
  align-items: center;
  background: var(--tob-dusk);
  border-radius: var(--tob-space-2);
  color: var(--tob-cement);
  display: inline-flex;
  justify-content: center;
  margin: var(--tob-space-24) 0 0;
  padding: var(--tob-space-10);
  position: relative; }

.tob-forrester-report__label::before {
  border: var(--tob-border-standard) solid var(--tob-highlight-2);
  border-radius: var(--tob-space-2);
  content: "";
  inset: var(--tob-border-thin-negative);
  position: absolute; }

.tob-forrester-report__card {
  border: 0; }

.tob-forrester-report__quote {
  border: 0;
  margin-top: var(--tob-space-40);
  padding: var(--tob-space-40) 0; }

.tob-forrester-report__quote-text {
  margin: 0;
  text-transform: none; }

.tob-forrester-report__bullets {
  display: grid;
  gap: 0;
  margin-top: var(--tob-space-10);
  margin-left: var(--tob-component-forrester-report-indent);
  max-width: calc(var(--tob-component-forrester-report-copy-width) - var(--tob-component-forrester-report-indent)); }

.tob-forrester-report__bullet {
  padding: var(--tob-space-16) 0;
  position: relative; }

.tob-forrester-report__bullet p {
  margin: 0; }

.tob-forrester-report__bullet::before {
  background: var(--tob-cement-2);
  content: "";
  height: var(--tob-border-standard);
  left: 0;
  position: absolute;
  right: 0;
  top: var(--tob-border-thin-negative); }

.tob-forrester-report__cta {
  margin-top: 0;
  margin-left: var(--tob-component-forrester-report-indent);
  max-width: calc(var(--tob-component-forrester-report-copy-width) - var(--tob-component-forrester-report-indent)); }

.tob-forrester-report__button {
  border: 0; }

.tob-forrester-report__media img {
  display: block;
  height: auto;
  width: 100%; }

.tob-section--forrester-services {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--forrester-trusted {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--forrester-trusted .tob-trusted__label {
  margin-top: var(--tob-space-24); }

.tob-section--forrester-trusted .tob-trusted__logo img {
  filter: brightness(0) invert(1); }

.tob-section--forrester-services .tob-services__grid {
  column-gap: var(--tob-space-32);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%; }

.tob-section--forrester-services .tob-section-heading {
  border: 0;
  padding: var(--tob-space-20) 0;
  position: relative; }

.tob-section--forrester-services .tob-section-heading::before {
  background: var(--tob-section-heading-border);
  content: "";
  height: var(--tob-border-standard);
  left: 0;
  position: absolute;
  right: 0;
  top: var(--tob-border-thin-negative); }

.tob-section--forrester-services .tob-services__item {
  border: 0;
  padding: 0; }

.tob-section--forrester-services .tob-card--feature {
  border: 0;
  position: relative;
  --tob-card-feature-padding-y: var(--tob-space-24);
  --tob-stack-gap: var(--tob-space-16); }

.tob-section--forrester-services .tob-card--feature::before,
.tob-section--forrester-services .tob-card--feature::after {
  background: var(--tob-cement-2);
  content: "";
  height: var(--tob-border-standard);
  left: 0;
  position: absolute;
  right: 0; }

.tob-section--forrester-services .tob-card--feature::before {
  top: var(--tob-border-thin-negative); }

.tob-section--forrester-services .tob-card--feature::after {
  bottom: var(--tob-border-thin-negative); }

.tob-section--forrester-services .tob-card--feature .tob-card__icon {
  height: var(--tob-space-100);
  width: var(--tob-space-100); }

@media (max-width: 900px) {
  .tob-forrester-hero {
    gap: var(--tob-space-40);
    min-height: 0; }
  .tob-forrester-hero__details {
    grid-template-columns: 1fr;
    align-items: start; }
  .tob-forrester-hero__title-line {
    min-height: 0;
    white-space: normal; }
  .tob-forrester-report {
    grid-template-columns: 1fr; }
  .tob-forrester-report__media {
    order: 2; }
  .tob-forrester-report__bullets,
  .tob-forrester-report__cta {
    margin-left: 0;
    max-width: none; }
  .tob-section--forrester-services .tob-services__grid {
    grid-template-columns: 1fr; } }

.tob-products-hero {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-section--products-hero {
  min-height: var(--tob-component-products-hero-height); }

.tob-products-hero__layout {
  display: grid;
  gap: var(--tob-space-40);
  grid-template-columns: minmax(0, var(--tob-component-products-hero-title-width)) minmax(0, var(--tob-component-products-hero-copy-width));
  align-items: end; }

.tob-products-hero__eyebrow {
  margin: 0; }

.tob-products-hero__title {
  margin: 0; }

.tob-products-hero__title-line {
  display: block;
  min-height: calc( var(--tob-type-h2) * var(--tob-lh-h2) * 2 + var(--tob-border-thin));
  width: 100%; }

.tob-products-hero__title-line + .tob-products-hero__title-line {
  margin-top: var(--tob-space-10); }

.tob-products-hero__title-line--accent {
  color: var(--tob-highlight);
  text-align: right; }

.tob-products-hero__body {
  margin: 0;
  padding: var(--tob-space-16) 0;
  min-height: var(--tob-component-products-hero-body-min-height); }

.tob-section--products-list {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border-bottom: var(--tob-border-standard) solid
    var(--tob-cement); }

.tob-section--products-list .tob-section-heading {
  padding: var(--tob-space-20) 0; }

.tob-products-list {
  display: flex;
  flex-direction: column; }

.tob-products-list__product {
  column-gap: var(--tob-space-40);
  display: grid;
  grid-template-columns: minmax(0, var(--tob-component-products-card-width)) minmax(0, var(--tob-component-products-media-width));
  margin-left: var(--tob-space-100);
  margin-top: var(--tob-space-16);
  max-width: var(--tob-component-products-list-max-width); }

.tob-products-list__card {
  align-items: flex-start; }

.tob-products-list__logo {
  display: block; }

.tob-products-list__tag {
  align-items: center;
  background: var(--tob-chalk);
  border: var(--tob-border-standard) solid var(--tob-highlight-25);
  border-radius: var(--tob-space-2);
  color: var(--tob-cement-2);
  display: inline-flex;
  justify-content: center;
  padding: var(--tob-space-10);
  text-transform: none; }

.tob-products-list__summary {
  margin: 0;
  padding: var(--tob-space-16) 0; }

.tob-products-list__media-image {
  display: block;
  height: auto;
  width: 100%; }

.tob-products-list__features {
  margin-left: var(--tob-space-100);
  margin-top: var(--tob-space-40);
  max-width: var(--tob-component-products-list-max-width); }

.tob-products-list__label {
  margin: 0 0 var(--tob-space-16); }

.tob-products-list__feature {
  background: var(--tob-chalk-2);
  color: var(--tob-dusk);
  padding: var(--tob-space-20) var(--tob-space-10); }

.tob-products-list__feature-title {
  font-family: var(--tob-font-body);
  margin: 0; }

.tob-section--not-found {
  --tob-section-padding-top: 0;
  --tob-section-padding-bottom: 0;
  --tob-section-padding-x: 0; }

.tob-not-found__inner {
  max-width: var(--tob-layout-page-width);
  width: 100%; }

.tob-not-found {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative; }

.tob-not-found__art {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%; }

/* Blog 404 should respect the blog light/dark toggle (nav/footer stay dark). */
html:not([data-tob-blog-theme="dark"]) body.tob-blog .tob-section--not-found {
  --tob-section-bg: var(--tob-chalk);
  background: var(--tob-chalk);
  color: var(--tob-dusk); }

.tob-cta-row {
  display: grid;
  gap: var(--tob-space-32);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end; }

.tob-cta-row__card {
  padding: var(--tob-space-20) 0; }

.tob-cta-row__text {
  font-size: var(--tob-type-body-lg);
  line-height: var(--tob-lh-body);
  margin: 0;
  opacity: 1; }

.tob-cta-row__action {
  align-items: flex-end;
  display: flex;
  justify-content: flex-end; }

.tob-what-we-do {
  --tob-card-grid-gap: var(--tob-space-40);
  grid-template-columns: repeat(3, minmax(0, 1fr)); }

.tob-section--what-we-do .tob-what-we-do {
  --tob-card-grid-padding-left: 0;
  align-items: stretch;
  column-gap: var(--tob-space-32);
  margin-left: 0;
  max-width: none;
  padding-left: 0;
  width: 100%; }

.tob-section--what-we-do
.tob-what-we-do.tob-card-grid--stacked.tob-card-grid--bordered {
  --tob-card-grid-padding-left: 0;
  padding-left: 0; }

.tob-section--what-we-do .tob-what-we-do__column {
  display: flex; }

.tob-section--what-we-do .tob-what-we-do__card {
  --tob-card-plain-padding-y: var(--tob-space-20); }

.tob-section--what-we-do-intro .tob-what-we-do {
  column-gap: var(--tob-space-32);
  max-width: none; }

.tob-section--what-we-do-intro {
  --tob-card-plain-border: var(--tob-cement-2);
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

.tob-section--what-we-do-intro .tob-what-we-do__intro {
  margin-left: auto;
  margin-right: 0;
  max-width: calc( var(--tob-component-software-assurance-grid-max-width) + var(--tob-border-standard));
  width: 100%; }

.tob-section--what-we-do-intro .tob-what-we-do__card--intro {
  border-bottom: 0;
  --tob-card-plain-padding-y: var(--tob-space-20); }

.tob-section--what-we-do-intro .tob-what-we-do__card--intro .tob-body-copy {
  --tob-body-opacity: 1; }

.tob-section--what-we-do-intro .tob-what-we-do__card--intro .tob-card__body {
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6); }

.tob-section--what-we-do-intro .tob-what-we-do .tob-card--plain {
  --tob-card-plain-padding-y: var(--tob-space-24); }

.tob-section--software-assurance-what-we-do {
  --tob-section-stack-gap: var(--tob-space-30); }

.tob-section--security-engineering-what-we-do {
  --tob-card-plain-border: var(--tob-cement-2);
  --tob-section-stack-gap: var(--tob-space-30); }

.tob-section--cryptography-what-we-do .tob-what-we-do__intro {
  margin-left: 0;
  margin-right: 0;
  max-width: none; }

.tob-services__grid {
  --tob-card-grid-gap: var(--tob-space-40);
  grid-template-columns: repeat(auto-fit, minmax(var(--tob-component-services-card-min-width), 1fr)); }

.tob-services__item {
  display: grid; }

.tob-section--services,
.tob-section--why-tob-capabilities {
  /* Only apply hover/focus styling when the feature card is actually a link. */ }
  .tob-section--services .tob-services__grid,
  .tob-section--why-tob-capabilities .tob-services__grid {
    align-items: end;
    column-gap: var(--tob-space-48);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-left: auto;
    margin-right: auto;
    row-gap: 0;
    width: 100%; }
  .tob-section--services .tob-services__item,
  .tob-section--why-tob-capabilities .tob-services__item {
    border: 0;
    padding: 0; }
  .tob-section--services .tob-card--feature,
  .tob-section--why-tob-capabilities .tob-card--feature {
    border-bottom: var(--tob-border-standard) solid var(--tob-cement);
    border-top: var(--tob-border-standard) solid var(--tob-cement);
    --tob-card-feature-padding-y: var(--tob-space-24);
    --tob-stack-gap: var(--tob-space-16);
    padding: var(--tob-card-feature-padding-y) 0; }
  .tob-section--services .tob-card__icon,
  .tob-section--why-tob-capabilities .tob-card__icon {
    height: var(--tob-space-100);
    width: var(--tob-space-100); }
  .tob-section--services .tob-card__copy,
  .tob-section--why-tob-capabilities .tob-card__copy {
    min-height: 4.8em; }
  .tob-section--services .tob-services__item:nth-child(n + 4) .tob-card--feature,
  .tob-section--why-tob-capabilities .tob-services__item:nth-child(n + 4) .tob-card--feature {
    /* Only remove the edge; keep border color intact for breakpoint overrides. */
    border-top-width: 0;
    border-top-style: none;
    padding-top: var(--tob-card-feature-padding-y, var(--tob-component-services-card-padding-y));
    position: relative; }
  .tob-section--services a.tob-card--feature:hover,
  .tob-section--services a.tob-card--feature:focus-visible,
  .tob-section--why-tob-capabilities a.tob-card--feature:hover,
  .tob-section--why-tob-capabilities a.tob-card--feature:focus-visible {
    border-bottom-color: var(--tob-highlight);
    border-top-color: var(--tob-highlight); }
  .tob-section--services .tob-services__item:nth-child(n + 4) a.tob-card--feature:hover::before,
  .tob-section--services .tob-services__item:nth-child(n + 4) a.tob-card--feature:focus-visible::before,
  .tob-section--why-tob-capabilities .tob-services__item:nth-child(n + 4) a.tob-card--feature:hover::before,
  .tob-section--why-tob-capabilities .tob-services__item:nth-child(n + 4) a.tob-card--feature:focus-visible::before {
    background: var(--tob-highlight);
    content: "";
    height: var(--tob-border-standard);
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }
  .tob-section--services a.tob-card--feature:hover .tob-card__title,
  .tob-section--services a.tob-card--feature:focus-visible .tob-card__title,
  .tob-section--why-tob-capabilities a.tob-card--feature:hover .tob-card__title,
  .tob-section--why-tob-capabilities a.tob-card--feature:focus-visible .tob-card__title {
    color: var(--tob-highlight); }
  .tob-section--services .tob-services__cta,
  .tob-section--why-tob-capabilities .tob-services__cta {
    align-items: flex-end;
    justify-content: flex-start; }

.tob-services__cta {
  display: flex;
  justify-content: flex-end; }

.tob-section--what-we-do-cards-2col {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-border-width: var(--tob-border-standard);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

.tob-section--blockchain-what-we-do {
  --tob-section-stack-gap: var(--tob-space-40); }

.tob-section--blockchain-what-we-do .tob-section-heading {
  padding: var(--tob-space-20) 0; }

.tob-section--blockchain-what-we-do
.tob-section-heading.tob-section-heading--dark
+ * {
  margin-top: 0; }

.tob-section--what-we-do-cards-2col .tob-services__grid {
  align-items: stretch;
  width: 100%; }

@media (min-width: 901px) {
  .tob-section--what-we-do-cards-2col .tob-services__grid {
    column-gap: var(--tob-layout-two-column-gap);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 0; } }

.tob-section--what-we-do-cards-2col .tob-card--feature {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  --tob-card-feature-padding-y: var(--tob-space-20);
  --tob-stack-gap: var(--tob-space-20);
  padding: var(--tob-card-feature-padding-y) 0; }

.tob-section--what-we-do-cards-2col a.tob-card--feature:hover,
.tob-section--what-we-do-cards-2col a.tob-card--feature:focus-visible {
  border-top-color: var(--tob-cement-2);
  border-bottom-color: var(--tob-cement-2); }

.tob-section--what-we-do-cards-2col a.tob-card--feature:hover::before,
.tob-section--what-we-do-cards-2col a.tob-card--feature:focus-visible::before {
  content: none; }

.tob-section--what-we-do-cards-2col
.tob-services__group
+ .tob-services__group
.tob-card--feature {
  border-top: 0;
  padding-top: calc( var(--tob-card-feature-padding-y) + var(--tob-border-standard)); }

.tob-section--what-we-do-cards-2col .tob-card--feature .tob-card__title {
  color: var(--tob-highlight);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase; }

.tob-section--what-we-do-cards-2col .tob-card__copy {
  min-height: 0; }

@media (max-width: 900px) {
  .tob-section--what-we-do-cards-2col
.tob-services__item
+ .tob-services__item
.tob-card--feature {
    border-top: 0;
    padding-top: calc( var(--tob-card-feature-padding-y) + var(--tob-border-standard)); } }

.tob-section--services-related {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border-width: var(--tob-border-standard);
  --tob-section-stack-gap: var(--tob-space-40);
  --tob-card-feature-padding-y: var(--tob-space-24);
  --tob-component-feature-icon-size: var(--tob-space-100); }

.tob-section--services-related .tob-section-heading {
  border: 0;
  padding: 0;
  text-align: center; }

.tob-section--services-related .tob-services__grid {
  column-gap: var(--tob-space-48);
  margin-left: auto;
  margin-right: auto;
  max-width: var(--tob-layout-content-width);
  width: 100%; }

.tob-section--software-assurance-services.tob-section--services-related
.tob-section-heading,
.tob-section--why-tob-capabilities.tob-section--services-related
.tob-section-heading {
  border-top: var(--tob-section-heading-border-width) solid var(--tob-section-heading-border);
  border-bottom: var(--tob-section-heading-border-bottom);
  padding: var(--tob-space-20) 0;
  text-align: left; }

.tob-section--software-assurance-services.tob-section--services-related
.tob-card--feature
.tob-card__title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6);
  text-transform: none; }

.tob-section--services-related-centered .tob-services__grid {
  grid-template-columns: repeat(2, minmax(0, calc((100% - (2 * var(--tob-space-48))) / 3)));
  justify-content: center; }

.tob-section--services-deliverables {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10);
  --tob-component-feature-icon-size: var(--tob-space-82); }

.tob-section--services-deliverables .tob-services__grid {
  align-items: stretch;
  column-gap: var(--tob-space-48); }

.tob-section--services-deliverables .tob-card--feature {
  --tob-card-feature-padding-y: var(--tob-space-24);
  --tob-stack-gap: var(--tob-space-20);
  padding: var(--tob-card-feature-padding-y) 0; }

.tob-section--services-deliverables
.tob-card--feature.tob-card--feature-label {
  --tob-card-feature-padding-y: var(--tob-space-20);
  padding: var(--tob-card-feature-padding-y) 0; }

.tob-section--services-deliverables .tob-card__icon {
  color: var(--tob-chalk);
  height: var(--tob-component-feature-icon-size);
  width: var(--tob-component-feature-icon-size); }

.tob-section--services-deliverables .tob-card--feature .tob-card__title {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small);
  max-width: var(--tob-component-services-deliverables-feature-title-max-width); }

.tob-section--services-deliverables
.tob-card--feature-label
.tob-card__title {
  max-width: var(--tob-component-services-deliverables-feature-label-title-max-width); }

.tob-section--services-deliverables .tob-card__labeltob-mono-label {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase; }

.tob-section--services-deliverables a.tob-card--feature:hover,
.tob-section--services-deliverables a.tob-card--feature:focus-visible {
  border-bottom-color: var(--tob-cement-3);
  border-top-color: var(--tob-cement-3); }

.tob-section--services-deliverables
.tob-services__item:nth-child(n + 4)
a.tob-card--feature:hover::before,
.tob-section--services-deliverables
.tob-services__item:nth-child(n + 4)
a.tob-card--feature:focus-visible::before {
  content: none; }

.tob-section--services-deliverables
a.tob-card--feature:hover
.tob-card__title,
.tob-section--services-deliverables
a.tob-card--feature:focus-visible
.tob-card__title {
  color: inherit; }

.tob-section--services-deliverables-grouped {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-border-width: var(--tob-border-standard); }

.tob-section--services-deliverables-grouped .tob-services__groups {
  display: grid;
  gap: var(--tob-space-40); }

.tob-section--services-deliverables-grouped .tob-services__group {
  display: grid;
  gap: var(--tob-space-40); }

.tob-section--services-deliverables-grouped .tob-services__group-label {
  color: var(--tob-highlight);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-built-subhead);
  letter-spacing: -0.6px;
  /* guardrail-allow: figma-match */
  line-height: var(--tob-lh-built-subhead);
  margin: 0;
  text-transform: none; }

.tob-section--services-deliverables-grouped .tob-services__grid {
  align-items: stretch;
  column-gap: var(--tob-space-48);
  grid-template-columns: repeat(var(--tob-services-grid-columns, 3), minmax(0, 1fr));
  row-gap: 0; }

.tob-section--services-deliverables-grouped .tob-card {
  height: auto; }

.tob-section--services-deliverables-grouped
.tob-services__grid[data-columns="2"] {
  --tob-services-grid-columns: 2; }

.tob-section--services-deliverables-grouped .tob-card--feature {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  --tob-card-feature-padding-y: var(--tob-space-20);
  --tob-stack-gap: var(--tob-space-20);
  padding: var(--tob-card-feature-padding-y) 0; }

.tob-section--services-deliverables-grouped
.tob-services__item:nth-child(n + 4)
.tob-card--feature {
  border-top-color: var(--tob-cement-2);
  padding-top: var(--tob-card-feature-padding-y); }

.tob-section--services-deliverables-grouped
.tob-card--feature
.tob-card__title {
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h5);
  line-height: var(--tob-lh-h5);
  text-transform: uppercase; }

.tob-section--services-deliverables-grouped
.tob-card--feature-title-tall
.tob-card__title {
  min-height: 1.9em; }

.tob-section--services-deliverables-grouped .tob-card__copy {
  --tob-body-opacity: 0.75;
  min-height: 0; }

.tob-section--services-deliverables-grouped a.tob-card--feature:hover,
.tob-section--services-deliverables-grouped a.tob-card--feature:focus-visible {
  border-bottom-color: var(--tob-cement-2);
  border-top-color: var(--tob-cement-2); }

.tob-section--services-deliverables-grouped
.tob-services__item:nth-child(n + 4)
a.tob-card--feature:hover::before,
.tob-section--services-deliverables-grouped
.tob-services__item:nth-child(n + 4)
a.tob-card--feature:focus-visible::before {
  content: none; }

.tob-section--services-deliverables-grouped
a.tob-card--feature:hover
.tob-card__title,
.tob-section--services-deliverables-grouped
a.tob-card--feature:focus-visible
.tob-card__title {
  color: inherit; }

.tob-section--services-related .tob-card--feature {
  border-bottom-color: var(--tob-section-heading-border);
  border-top-color: var(--tob-section-heading-border); }

.tob-section--services-related .tob-card--feature .tob-card__title {
  font-family: var(--tob-font-heading);
  font-size: 34px;
  /* guardrail-allow: figma-match */
  line-height: 34px;
  /* guardrail-allow: figma-match */
  text-transform: none; }

.tob-section--why-tob-capabilities.tob-section--services-related
.tob-card--feature
.tob-card__title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6); }

.tob-section--research-development-what-we-do
+ .tob-section--services-related
.tob-card--feature
.tob-card__title,
.tob-section--cryptography-what-we-do
+ .tob-section--services-related
.tob-card--feature
.tob-card__title,
.tob-section--blockchain-what-we-do
+ .tob-section--services-related
.tob-card--feature
.tob-card__title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6); }

.tob-section--blockchain-what-we-do
+ .tob-section--services-related
.tob-services__item:nth-of-type(4)
.tob-card__title {
  font-family: var(--tob-font-heading);
  font-size: 34px;
  /* guardrail-allow: figma-match */
  line-height: 34px;
  /* guardrail-allow: figma-match */ }

.tob-section--services-related .tob-card--feature .tob-card__copy {
  --tob-body-opacity: 0.75;
  font-size: var(--tob-type-body-sm);
  line-height: 19px;
  /* guardrail-allow: figma-match */ }

.tob-how-we-work__intro {
  border-top: var(--tob-border-thin) solid var(--tob-how-we-work-line);
  box-shadow: 0 var(--tob-border-standard-negative) 0 var(--tob-how-we-work-line);
  margin-top: var(--tob-border-standard-negative);
  padding: var(--tob-space-20) 0; }

.tob-how-we-work__intro p {
  margin: 0; }

.tob-how-we-work__steps {
  display: grid;
  gap: var(--tob-space-16);
  list-style: none;
  margin: 0;
  padding: 0; }

.tob-how-we-work__step {
  display: grid;
  gap: var(--tob-space-16);
  grid-template-columns: var(--tob-component-how-we-work-step-width) minmax(0, 1fr);
  align-items: start; }

.tob-how-we-work__step:first-child {
  margin-top: var(--tob-border-standard-negative); }

.tob-how-we-work__visual {
  background: var(--tob-chalk-02);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--tob-component-how-we-work-visual-min-height); }

.tob-how-we-work__visual img {
  display: block;
  width: 100%;
  height: auto; }

.tob-how-we-work__content {
  border-top: var(--tob-border-thin) solid var(--tob-how-we-work-line);
  box-shadow: 0 var(--tob-border-standard-negative) 0 var(--tob-how-we-work-line);
  padding-top: var(--tob-space-20); }

.tob-how-we-work__content:focus-within {
  border-color: var(--tob-highlight);
  box-shadow: 0 var(--tob-border-standard-negative) 0 var(--tob-highlight); }

.tob-how-we-work__content:focus-within .tob-how-we-work__copy {
  border-bottom-color: var(--tob-highlight); }

.tob-how-we-work__row {
  display: grid;
  gap: var(--tob-space-16);
  grid-template-columns: minmax(var(--tob-component-how-we-work-phase-min-width), var(--tob-component-how-we-work-phase-max-width)) minmax(0, 1fr); }

.tob-how-we-work__phase {
  margin: 0; }

.tob-how-we-work__copy {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  border-bottom: var(--tob-border-thin) solid var(--tob-cement-2);
  padding-bottom: var(--tob-space-20); }

.tob-how-we-work__title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: 1;
  margin: 0;
  text-transform: none; }

.tob-how-we-work__body {
  margin: 0; }

.tob-how-we-work__body p {
  margin: 0; }

.tob-how-we-work__outcomes-label {
  margin: 0; }

.tob-how-we-work__outcomes {
  margin: 0;
  padding-left: var(--tob-space-24); }

.tob-how-we-work__outcomes li + li {
  margin-top: var(--tob-space-10); }

.tob-section--software-assurance-way {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-stack-gap: var(--tob-space-10);
  --tob-work-column-width: var(--tob-component-work-grid-column-width);
  --tob-work-gap: var(--tob-space-16);
  --tob-software-way-offset: var(--tob-component-work-grid-offset);
  --tob-software-way-title-min-height: calc(2 * var(--tob-type-h6));
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--software-assurance-hero {
  --tob-section-padding-bottom: 0; }

.tob-software-way__grid {
  --tob-card-grid-gap: var(--tob-space-32);
  column-gap: var(--tob-space-32);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: flex-start;
  margin-left: var(--tob-software-way-offset);
  margin-right: 0;
  max-width: calc(var(--tob-layout-content-width) - var(--tob-software-way-offset));
  width: calc(100% - var(--tob-software-way-offset)); }

.tob-software-way__grid.tob-card-grid {
  --tob-card-grid-gap: var(--tob-space-32);
  column-gap: var(--tob-space-32); }

.tob-software-way__grid.tob-card-grid.tob-card-grid--stacked.tob-card-grid--bordered {
  --tob-card-grid-gap: var(--tob-space-32);
  column-gap: var(--tob-space-32); }

.tob-software-way__intro {
  align-items: center;
  display: grid;
  gap: var(--tob-work-gap);
  grid-template-columns: var(--tob-work-column-width) minmax(0, 1fr);
  width: 100%; }

.tob-software-way__label {
  margin: 0; }

.tob-section--software-assurance-way
.tob-section-subheading.tob-section-subheading--dark {
  margin-left: 0;
  width: 100%; }

.tob-section--software-assurance-way .tob-section-heading.tob-section-heading--dark,
.tob-section--software-assurance-way
.tob-section-subheading.tob-section-subheading--dark {
  padding: var(--tob-space-24) 0; }

.tob-section--software-assurance-way
.tob-section-heading.tob-section-heading--dark
+ .tob-section-subheading.tob-section-subheading--dark {
  margin-top: 0; }

.tob-section--software-assurance-way .tob-card--feature {
  border-bottom-color: var(--tob-cement-2);
  border-top-color: var(--tob-cement-2);
  --tob-card-feature-padding-y: var(--tob-space-24);
  --tob-stack-gap: var(--tob-space-16); }

.tob-section--software-assurance-way .tob-card--feature-accent {
  border-bottom-color: var(--tob-highlight);
  border-top-color: var(--tob-highlight); }

.tob-section--software-assurance-way .tob-card--feature .tob-card__title {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small);
  min-height: var(--tob-software-way-title-min-height); }

.tob-section--software-assurance-case-studies {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--software-assurance-how .tob-how-we-work__title {
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h4);
  line-height: calc(var(--tob-type-h4) * var(--tob-lh-h2));
  text-transform: uppercase; }

.tob-section--software-assurance-case-studies .tob-events--style-featured-grid,
.tob-section--software-assurance-case-studies
.tob-events--style-featured-grid
.tob-event-card {
  --tob-event-media-height: auto; }

.tob-section--software-assurance-case-studies .tob-events {
  --tob-event-button-font-size: var(--tob-type-ui-button-sm);
  --tob-event-button-line-height: var(--tob-type-ui-button-lh);
  --tob-event-button-letter-spacing: var(--tob-type-ui-letter-tight); }

.tob-section--software-assurance-case-studies
.tob-events--style-featured-grid
.tob-event-card__title {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small); }

.tob-section--software-assurance-case-studies
.tob-events--style-featured-grid
.tob-event-card__meta {
  line-height: calc(var(--tob-type-body-sm) * var(--tob-lh-body)); }

.tob-section--software-assurance-case-studies .tob-events--cols-4 {
  --tob-event-column-gap: var(--tob-space-48); }

.tob-section--software-assurance-tools {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-stack-gap: var(--tob-space-10); }

.tob-section--software-assurance-open-source-tools {
  --tob-section-stack-gap: var(--tob-space-32);
  --tob-section-heading-border-bottom: var(--tob-border-standard) solid
    var(--tob-cement-2); }

.tob-section--tools-heading-grid .tob-section-heading--events-grid {
  --tob-section-events-heading-cta-gap: var(--tob-space-48);
  --tob-section-events-heading-cols: 1;
  --tob-section-events-heading-cta-span: 1;
  --tob-section-events-heading-title-span: calc(
    var(--tob-section-events-heading-cols) - var(--tob-section-events-heading-cta-span)
  );
  border: 0;
  padding: 0; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid.tob-section-heading--events-grid-cols-2 {
  --tob-section-events-heading-cols: 2; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid.tob-section-heading--events-grid-cols-3 {
  --tob-section-events-heading-cols: 3; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid.tob-section-heading--events-grid-cols-4 {
  --tob-section-events-heading-cols: 4; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid.tob-section-heading--events-grid-cta-span-1 {
  --tob-section-events-heading-cta-span: 1; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid.tob-section-heading--events-grid-cta-span-2 {
  --tob-section-events-heading-cta-span: 2; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid.tob-section-heading--events-grid-cta-span-3 {
  --tob-section-events-heading-cta-span: 3; }

.tob-section--tools-heading-grid .tob-section-heading--events-grid .tob-section-heading__row {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 0; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid
.tob-section-heading__row
> .tob-subhead {
  border-top: var(--tob-border-standard) solid var(--tob-section-heading-border);
  margin: 0;
  padding: var(--tob-space-20) 0;
  white-space: nowrap; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid
.tob-section-heading__cta {
  border-top: var(--tob-border-standard) solid var(--tob-section-heading-border);
  margin: 0;
  padding: var(--tob-space-20) 0;
  transition: border-color 0.2s ease;
  width: 100%; }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid
.tob-section-heading__cta:hover,
.tob-section--tools-heading-grid
.tob-section-heading--events-grid
.tob-section-heading__cta:focus-within {
  border-top-color: var(--tob-highlight); }

.tob-section--tools-heading-grid
.tob-section-heading--events-grid
.tob-section-heading__cta
.tob-button {
  --tob-button-border-top: 0;
  --tob-button-border-bottom: 0;
  --tob-button-padding-top: 0;
  --tob-button-padding-bottom: 0;
  --tob-button-min-height: auto;
  --tob-button-icon-size: var(--tob-space-30);
  --tob-button-content-padding-right: 0;
  --tob-button-content-justify: flex-start; }

@media (min-width: 901px) {
  .tob-section--tools-heading-grid
.tob-section-heading--events-grid
.tob-section-heading__row {
    column-gap: var(--tob-section-events-heading-cta-gap);
    grid-template-columns: repeat(var(--tob-section-events-heading-cols), minmax(0, 1fr)); }
  .tob-section--tools-heading-grid
.tob-section-heading--events-grid
.tob-section-heading__row
> .tob-subhead {
    grid-column: span var(--tob-section-events-heading-title-span); }
  .tob-section--tools-heading-grid
.tob-section-heading--events-grid
.tob-section-heading__cta {
    grid-column: span var(--tob-section-events-heading-cta-span); } }

.tob-software-tools__grid {
  column-gap: var(--tob-space-40);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: var(--tob-component-software-assurance-tools-grid-max-width);
  row-gap: var(--tob-space-24);
  width: 100%; }

.tob-software-tools__item {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-section--software-assurance-tools .tob-card--tool-compact {
  --tob-card-title-lines: 2;
  --tob-card-title-min-height: calc(var(--tob-type-h6-small) * var(--tob-lh-h6-small) * var(--tob-card-title-lines));
  min-height: var(--tob-component-software-assurance-tools-card-min-height);
  padding: var(--tob-space-20) var(--tob-space-10); }

.tob-section--software-assurance-tools
.tob-card--tool-compact
.tob-card__title {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small); }

.tob-software-tools__item--cta {
  justify-content: flex-end; }

.tob-section--ai-ml-hero {
  --tob-section-padding-top: var(--tob-section-pad-120);
  --tob-section-padding-bottom: var(--tob-section-pad-120);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--ai-ml-hero .tob-hero__title {
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-section--ai-ml-hero .tob-hero__title-line:first-child {
  min-height: calc(var(--tob-type-h1) * var(--tob-lh-h1) * 3); }

.tob-section--ai-ml-hero .tob-hero__title-line--accent {
  min-height: calc(var(--tob-type-h1) * var(--tob-lh-h1) * 2); }

.tob-section--ai-ml-hero .tob-hero__subline {
  font-size: 30px;
  /* guardrail-allow: figma-match */
  letter-spacing: -0.6px;
  line-height: 40px;
  /* guardrail-allow: figma-match */
  max-width: var(--tob-hero-subline-max-width); }

.tob-section--ai-ml-hero.tob-section--hero-subline-body .tob-hero__subline {
  font-size: var(--tob-type-body-lg);
  letter-spacing: 0;
  line-height: var(--tob-lh-body);
  padding: var(--tob-space-24) 0; }

.tob-section--ai-ml-hero .tob-hero__stack {
  --tob-stack-gap: var(--tob-space-40); }

.tob-section--ai-ml-hero .halftone-wrapper canvas {
  display: none; }

.tob-section--ai-ml-what,
.tob-section--ai-ml-approach {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-ai-ml-split-border-width: var(--tob-border-standard);
  --tob-ai-ml-split-border-color: var(--tob-cement);
  --tob-ai-ml-split-body-padding-top: var(--tob-space-20);
  --tob-ai-ml-split-body-padding-bottom: var(--tob-space-18);
  --tob-ai-ml-split-row-min-height: var(--tob-component-ai-ml-split-row-min-height); }

.tob-section--ai-ml-what {
  --tob-ai-ml-split-border-color: var(--tob-cement-2); }

.tob-section--ai-ml-approach {
  --tob-section-stack-gap: var(--tob-space-10); }

.tob-section--ai-ml-what .tob-ai-ml-split__body {
  border-bottom: var(--tob-ai-ml-split-border-width) solid var(--tob-ai-ml-split-border-color);
  border-top: var(--tob-ai-ml-split-border-width) solid var(--tob-ai-ml-split-border-color);
  max-width: none;
  width: 100%;
  padding: var(--tob-ai-ml-split-body-padding-top) 0 var(--tob-ai-ml-split-body-padding-bottom); }

.tob-section--ai-ml-what .tob-ai-ml-split__content {
  align-items: stretch;
  border-bottom: 0;
  border-top: 0;
  gap: var(--tob-space-32);
  justify-self: stretch;
  max-width: none; }

.tob-section--ai-ml-approach .tob-ai-ml-split__body {
  border-bottom: var(--tob-ai-ml-split-border-width) solid var(--tob-ai-ml-split-border-color);
  border-top: var(--tob-ai-ml-split-border-width) solid var(--tob-ai-ml-split-border-color);
  max-width: none;
  width: 100%;
  padding: var(--tob-ai-ml-split-body-padding-top) 0 var(--tob-ai-ml-split-body-padding-bottom); }

.tob-section--ai-ml-approach .tob-ai-ml-split__content {
  align-items: stretch;
  border-bottom: 0;
  border-top: 0;
  gap: var(--tob-space-32);
  justify-self: stretch;
  max-width: none; }

.tob-section--ai-ml-approach .tob-ai-ml-split__content--two-col {
  column-gap: var(--tob-space-64);
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.tob-ai-ml-split {
  display: grid;
  gap: var(--tob-space-10);
  grid-template-columns: minmax(0, 1fr); }

.tob-ai-ml-split__heading {
  align-items: center;
  display: flex;
  min-height: var(--tob-space-120); }

.tob-ai-ml-split__heading h2 {
  margin: 0; }

.tob-ai-ml-split__content {
  align-items: center;
  border-bottom: var(--tob-ai-ml-split-border-width) solid var(--tob-ai-ml-split-border-color);
  border-top: var(--tob-ai-ml-split-border-width) solid var(--tob-ai-ml-split-border-color);
  display: grid;
  gap: var(--tob-space-16);
  grid-template-columns: minmax(0, 1fr) auto;
  justify-self: end;
  min-height: var(--tob-ai-ml-split-row-min-height);
  max-width: calc( 100% - var(--tob-space-120) - var(--tob-space-80) - var(--tob-space-8));
  width: 100%; }

.tob-ai-ml-split__body p {
  margin: 0; }

.tob-ai-ml-split__body {
  max-width: var(--tob-component-ai-ml-split-body-max-width); }

.tob-ai-ml-split__cta {
  --tob-ai-ml-split-cta-width: var(--tob-component-ai-ml-split-cta-width);
  align-items: stretch;
  align-self: stretch;
  display: flex;
  flex: 0 0 var(--tob-ai-ml-split-cta-width);
  min-height: var(--tob-ai-ml-split-row-min-height);
  width: var(--tob-ai-ml-split-cta-width); }

.tob-ai-ml-split__cta .tob-button {
  --tob-button-height: 100%;
  --tob-button-min-height: 100%; }

.tob-section--ai-ml-deliverables {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-stack-gap: var(--tob-space-10);
  --tob-ai-ml-deliverables-heading-padding-y: var(--tob-space-20); }

.tob-section--ai-ml-deliverables .tob-section-heading {
  padding: var(--tob-ai-ml-deliverables-heading-padding-y) 0; }

.tob-section--ai-ml-case-study {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-ai-ml-case-study-halftone-size: var(--tob-component-open-source-halftone-size);
  --tob-ai-ml-case-study-halftone-top: var(--tob-component-open-source-halftone-top);
  --tob-ai-ml-case-study-halftone-left: var(--tob-component-ai-ml-case-study-halftone-left);
  --tob-ai-ml-case-study-halftone-right: var(--tob-component-ai-ml-case-study-halftone-right);
  overflow: hidden; }

.tob-ai-ml-case-study {
  display: flex;
  justify-content: center;
  position: relative; }

.tob-ai-ml-case-study::before,
.tob-ai-ml-case-study::after {
  content: "";
  position: absolute;
  top: var(--tob-ai-ml-case-study-halftone-top);
  width: var(--tob-ai-ml-case-study-halftone-size);
  height: var(--tob-ai-ml-case-study-halftone-size);
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none; }

.tob-ai-ml-case-study::before {
  left: var(--tob-ai-ml-case-study-halftone-left);
  background-image: url("../img/sections/ai-ml/ai-ml-case-study-halftone-left.svg"); }

.tob-ai-ml-case-study::after {
  right: var(--tob-ai-ml-case-study-halftone-right);
  background-image: url("../img/sections/ai-ml/ai-ml-case-study-halftone-right.svg"); }

.tob-ai-ml-case-study__card {
  display: flex;
  flex-direction: column;
  max-width: var(--tob-component-ai-ml-case-study-card-max-width);
  position: relative;
  width: 100%;
  z-index: 1; }

.tob-ai-ml-case-study__label {
  align-self: flex-start;
  border: 0;
  box-shadow: inset 0 0 0 var(--tob-border-standard) var(--tob-highlight-25);
  height: var(--tob-component-chip-height);
  margin-bottom: var(--tob-space-16);
  min-height: var(--tob-component-chip-height);
  padding: 0 var(--tob-space-10); }

.tob-ai-ml-case-study__rule {
  height: 0;
  margin-bottom: var(--tob-space-16);
  position: relative;
  width: 100%; }

.tob-ai-ml-case-study__rule::after {
  background: var(--tob-cement);
  content: "";
  height: var(--tob-border-standard);
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

.tob-ai-ml-case-study__media {
  margin-bottom: var(--tob-space-16); }

.tob-ai-ml-case-study__title {
  margin: 0 0 var(--tob-space-16); }

.tob-ai-ml-case-study__body {
  margin: 0 0 var(--tob-space-40); }

.tob-ai-ml-case-study__body p {
  margin: 0; }

.tob-ai-ml-case-study__media img {
  display: block;
  height: auto;
  max-width: none;
  width: calc(100% + var(--tob-space-2) + var(--tob-space-4)); }

.tob-section--ai-ml-case-study-split {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-ai-ml-case-study-split-min-height: var(
    --tob-component-ai-ml-case-study-split-min-height
  ); }

.tob-ai-ml-case-study--split {
  justify-content: flex-start; }

.tob-ai-ml-case-study__split {
  align-items: flex-start;
  column-gap: var(--tob-space-40);
  display: grid;
  grid-template-columns: var(--tob-component-hero-copy-max-width) minmax(0, 1fr);
  min-height: var(--tob-ai-ml-case-study-split-min-height);
  width: 100%; }

.tob-ai-ml-case-study__column {
  min-width: 0; }

.tob-ai-ml-case-study__column--meta {
  display: flex;
  flex-direction: column;
  min-height: var(--tob-ai-ml-case-study-split-min-height); }

.tob-ai-ml-case-study__meta {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  padding: var(--tob-space-20) 0; }

.tob-ai-ml-case-study__meta-stack {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-24); }

.tob-ai-ml-case-study__meta-row {
  align-items: center;
  display: flex;
  justify-content: space-between; }

.tob-ai-ml-case-study__meta-date {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-space-10); }

.tob-ai-ml-case-study__meta-icon {
  display: block;
  height: auto; }

.tob-ai-ml-case-study__meta-text {
  color: var(--tob-cement); }

.tob-ai-ml-case-study__meta-divider {
  border-left: var(--tob-border-standard) solid var(--tob-cement-2);
  flex-shrink: 0;
  height: var(--tob-space-20); }

.tob-ai-ml-case-study__headline {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6);
  margin: 0;
  text-transform: uppercase; }

.tob-ai-ml-case-study__subline {
  color: var(--tob-cement);
  margin: 0; }

.tob-ai-ml-case-study--split .tob-ai-ml-case-study__label {
  align-items: center;
  box-shadow: none;
  color: var(--tob-cement);
  display: inline-flex;
  height: auto;
  justify-content: center;
  margin: 0;
  min-height: 0;
  padding: var(--tob-space-10); }

.tob-ai-ml-case-study__cta {
  width: 100%; }

.tob-ai-ml-case-study--split .tob-ai-ml-case-study__cta .tob-button {
  --tob-button-padding-bottom: var(--tob-space-10); }

.tob-ai-ml-case-study__column--quote {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-48); }

.tob-ai-ml-case-study__quote {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-body);
  margin: 0; }

.tob-ai-ml-case-study__quote p {
  margin: 0; }

.tob-ai-ml-case-study__logo {
  align-items: center;
  align-self: flex-end;
  display: inline-flex;
  gap: var(--tob-space-40);
  margin-left: auto; }

.tob-ai-ml-case-study__logo-dot {
  background: var(--tob-highlight-2);
  height: var(--tob-space-10);
  width: var(--tob-space-10); }

.tob-ai-ml-case-study__logo-mark {
  display: block;
  filter: brightness(0) invert(1);
  height: auto; }

.tob-section--ai-ml-case-study-featured-customer {
  --tob-section-padding-y: var(--tob-section-pad-80);
  overflow: visible; }

.tob-section--ai-ml-case-study-featured-customer
.tob-ai-ml-case-study::before,
.tob-section--ai-ml-case-study-featured-customer
.tob-ai-ml-case-study::after {
  content: none; }

.tob-ai-ml-case-study--featured-customer {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-40); }

.tob-ai-ml-case-study__featured-header {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-ai-ml-case-study__featured-header .tob-section-heading {
  padding: var(--tob-space-20) 0; }

.tob-ai-ml-case-study__eyebrow {
  margin: 0; }

.tob-ai-ml-case-study__featured {
  align-items: flex-end;
  column-gap: var(--tob-space-32);
  display: flex;
  row-gap: var(--tob-space-16); }

.tob-ai-ml-case-study__featured-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0; }

.tob-ai-ml-case-study__featured-logo {
  align-items: center;
  background: var(--tob-dusk-2);
  display: flex;
  justify-content: center;
  padding: var(--tob-space-16) var(--tob-space-30);
  width: 100%; }

.tob-ai-ml-case-study__featured-logo img {
  display: block;
  height: auto;
  max-width: 100%; }

.tob-ai-ml-case-study__featured-body {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  min-height: 173px;
  /* guardrail-allow: figma-match */
  padding: var(--tob-space-20) 0; }

.tob-ai-ml-case-study__featured-body p {
  margin: 0; }

.tob-ai-ml-case-study__featured-cta {
  align-items: stretch;
  display: flex;
  flex: 0 0 381px;
  /* guardrail-allow: figma-match */
  min-height: 173px;
  /* guardrail-allow: figma-match */ }

.tob-ai-ml-case-study__featured-cta .tob-button {
  /* Match Figma: 30px dot-arrow keeps the CTA row vertically centered. */
  --tob-button-icon-size: var(--tob-space-30); }

.tob-section--appsec-case-study
.tob-ai-ml-case-study__featured-cta
.tob-button {
  --tob-button-font-size: var(--tob-type-body-lg);
  --tob-button-border-top: var(--tob-button-border-width);
  --tob-button-border-bottom: var(--tob-button-border-width); }

@media (max-width: 900px) {
  .tob-ai-ml-case-study__featured {
    align-items: stretch;
    flex-direction: column; }
  .tob-ai-ml-case-study__featured-body {
    min-height: 0; }
  .tob-ai-ml-case-study__featured-cta {
    flex-basis: auto;
    min-height: var(--tob-space-80);
    width: 100%; } }

.tob-section--ai-ml-tools {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2); }

.tob-section--ai-ml-tools-compact {
  --tob-section-heading-border-bottom: var(--tob-border-standard)
    solid var(--tob-cement-2); }

.tob-section--ai-ml-tools .tob-card--tool .tob-card__title {
  text-transform: none; }

.tob-section--ai-ml-tools .tob-card__subtitle {
  font-size: var(--tob-type-body-xs);
  line-height: var(--tob-lh-body);
  margin: 0;
  opacity: var(--tob-body-opacity); }

.tob-section--ai-ml-tools .tob-card__body {
  margin-top: 0; }

.tob-section--ai-ml-tools .tob-card--tool-compact {
  --tob-card-body-lines: 5; }

.tob-section--ai-ml-tools .tob-software-tools__grid {
  row-gap: var(--tob-space-40); }

.tob-section--blockchain-hero {
  --tob-section-padding-y: var(--tob-section-pad-120); }

.tob-section--blockchain-hero.tob-section--hero-subline-body .tob-hero__subline {
  padding: var(--tob-space-20) 0; }

.tob-section--blockchain-hero .tob-hero__subline::before,
.tob-section--blockchain-hero .tob-hero__subline::after {
  height: var(--tob-border-standard); }

.tob-section--blockchain-deliverables {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-timeline-group-gap: var(--tob-space-16);
  --tob-timeline-group-fixed-width: var(--tob-component-work-grid-column-width);
  --tob-timeline-group-wide-width: calc(
    var(--tob-timeline-detail-width) - var(--tob-timeline-group-fixed-width) -
      var(--tob-timeline-group-gap)
  );
  overflow-x: hidden;
  overflow-y: hidden; }

.tob-section--blockchain-deliverables .tob-timeline__row {
  -ms-overflow-style: none;
  overflow-y: hidden;
  scrollbar-width: none; }

.tob-section--blockchain-deliverables .tob-timeline__row::-webkit-scrollbar {
  width: 0;
  height: 0; }

.tob-section--blockchain-deliverables .tob-timeline__title {
  font-size: 82px;
  /* guardrail-allow: figma-match */
  line-height: 69.7px;
  /* guardrail-allow: figma-match */ }

.tob-section--blockchain-deliverables .tob-timeline--grouped .tob-timeline__groups {
  display: grid;
  gap: var(--tob-timeline-group-gap);
  grid-template-columns: var(--tob-timeline-group-fixed-width) var(--tob-timeline-group-wide-width) var(--tob-timeline-group-fixed-width) var(--tob-timeline-group-fixed-width);
  width: 100%; }

.tob-section--blockchain-deliverables .tob-timeline--grouped .tob-timeline__group {
  display: grid;
  grid-template-rows: min-content 1fr;
  row-gap: var(--tob-space-16);
  opacity: 0.5; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group-items,
.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group-placeholder {
  grid-column: 1;
  grid-row: 2;
  height: 100%; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group--active {
  opacity: 1; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group-label {
  color: var(--tob-chalk);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  margin: 0;
  min-height: 2em;
  text-transform: uppercase; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group-items {
  display: flex;
  align-items: stretch;
  gap: var(--tob-timeline-group-gap); }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group--active
.tob-timeline__group-items {
  display: flex; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group-placeholder {
  display: none; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group--active
.tob-timeline__group-placeholder {
  display: none; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__group-items
> .tob-timeline__event {
  flex: 1 0 0;
  height: 100%;
  min-width: 0; }

.tob-section--blockchain-deliverables .tob-timeline--grouped .tob-timeline__card {
  flex: 1 1 auto;
  height: 100%; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__placeholder-body {
  min-height: calc(2 * var(--tob-type-body-xs) * var(--tob-lh-body)); }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__event-title {
  color: var(--tob-chalk);
  display: block;
  font-size: var(--tob-type-body-xs);
  letter-spacing: 0;
  line-height: var(--tob-lh-body);
  margin: 0;
  overflow: visible;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset; }

.tob-section--blockchain-deliverables
.tob-timeline--grouped
.tob-timeline__event--active
.tob-timeline__event-title {
  color: var(--tob-highlight); }

.tob-section--blockchain-deliverables .tob-timeline__markers--grouped {
  gap: var(--tob-timeline-group-gap);
  grid-template-columns: var(--tob-timeline-group-fixed-width) var(--tob-timeline-group-wide-width) var(--tob-timeline-group-fixed-width) var(--tob-timeline-group-fixed-width);
  min-width: 0; }

.tob-section--blockchain-deliverables
.tob-timeline__markers--grouped
.tob-timeline__marker {
  margin-left: var(--tob-space-10); }

.tob-section--blockchain-deliverables
[data-timeline-detail-mode="peek"]
.tob-timeline__details {
  margin-left: calc( var(--tob-timeline-group-fixed-width) + var(--tob-timeline-group-gap));
  margin-right: 0;
  max-width: var(--tob-timeline-detail-width);
  overflow: visible; }

.tob-section--blockchain-deliverables
[data-timeline-detail-mode="peek"]
.tob-timeline__detail {
  transform: none; }

.tob-section--blockchain-deliverables
[data-timeline-detail-mode="peek"]
.tob-timeline__detail-meta {
  flex-direction: column-reverse;
  gap: var(--tob-space-20); }

.tob-section--help-ecosystems + #case-study .tob-button--variant-cta-end-bottom {
  --tob-button-font-size: 12px;
  /* guardrail-allow: figma-match */
  --tob-button-line-height: 12px;
  /* guardrail-allow: figma-match */
  --tob-button-letter-spacing: -0.24px;
  /* guardrail-allow: figma-match */ }

.tob-section--blockchain-resources {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-border-width: var(--tob-border-standard); }

.tob-section--blockchain-resources .tob-section-heading {
  margin-bottom: 0;
  padding: var(--tob-space-20) 0; }

.tob-section--blockchain-resources .tob-blockchain-resources__tabs {
  align-items: flex-start;
  display: flex;
  gap: var(--tob-space-10);
  justify-content: space-between;
  width: 100%; }

.tob-section--blockchain-resources
.tob-blockchain-resources__tabs
.tob-chip--filter {
  background: transparent;
  border-color: var(--tob-cement-2);
  border-radius: 0;
  color: var(--tob-cement);
  font-size: var(--tob-type-ui-button-lg);
  letter-spacing: var(--tob-type-ui-button-lg-letter);
  line-height: var(--tob-type-ui-button-lg-lh);
  justify-content: space-between;
  min-height: 0;
  padding: var(--tob-space-20) var(--tob-space-16);
  flex: 1 1 0; }

.tob-section--blockchain-resources
.tob-blockchain-resources__tabs
.tob-chip--filter
.tob-chip__icon {
  --tob-chip-icon-size: var(--tob-space-40);
  background-color: var(--tob-cement-2); }

.tob-section--blockchain-resources
.tob-blockchain-resources__tabs
.tob-chip--filter.is-selected {
  background: var(--tob-highlight);
  border-color: var(--tob-highlight);
  color: var(--tob-chalk); }

.tob-section--blockchain-resources
.tob-blockchain-resources__tabs
.tob-chip--filter.is-selected
.tob-chip__icon {
  opacity: 0;
  visibility: hidden; }

.tob-section--blockchain-resources
.tob-blockchain-resources__tabs
.tob-chip--filter:hover,
.tob-section--blockchain-resources
.tob-blockchain-resources__tabs
.tob-chip--filter:focus-visible {
  border-color: var(--tob-highlight); }

.tob-section--blockchain-resources .tob-blockchain-resources__panels {
  margin-top: var(--tob-space-40);
  width: 100%; }

.tob-section--blockchain-resources .tob-blockchain-resources__panel {
  width: 100%; }

.tob-section--blockchain-resources
.tob-blockchain-resources__panel--tools
.tob-card--tool-compact {
  border-top: var(--tob-border-thin) solid var(--tob-cement-2);
  border-bottom: var(--tob-border-thin) solid var(--tob-cement-2);
  min-height: var(--tob-component-blockchain-top-tools-card-min-height); }

.tob-section--blockchain-resources
.tob-blockchain-resources__panel--tools
.tob-card--tool-compact
.tob-card__title {
  font-size: 28px;
  /* guardrail-allow: figma-match */
  line-height: 28px;
  /* guardrail-allow: figma-match */ }

.tob-section--blockchain-resources
.tob-blockchain-resources__panel--tools
.tob-card--tool-compact
.tob-card__body {
  font-size: var(--tob-type-body-md);
  line-height: calc(var(--tob-type-body-md) * var(--tob-lh-body));
  opacity: var(--tob-body-opacity); }

.tob-section--research-development-hero {
  --tob-section-padding-y: var(--tob-section-pad-120);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--research-development-hero .tob-hero__title {
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-section--research-development-hero .tob-hero__title-line:first-child {
  min-height: calc(var(--tob-type-h1) * var(--tob-lh-h1) * 3); }

.tob-section--research-development-hero .tob-hero__title-line--accent {
  min-height: calc(var(--tob-type-h1) * var(--tob-lh-h1) * 3); }

.tob-section--research-development-hero:not(.tob-section--open-source-projects-hero)
.tob-hero__subline {
  font-size: 30px;
  /* guardrail-allow: figma-match */
  letter-spacing: -0.6px;
  /* guardrail-allow: figma-match */
  line-height: 40px;
  /* guardrail-allow: figma-match */
  max-width: var(--tob-hero-subline-max-width); }

.tob-section--research-development-hero:not(.tob-section--open-source-projects-hero)
.tob-hero__stack {
  --tob-stack-gap: var(--tob-space-40); }

.tob-section--research-development-hero .halftone-wrapper canvas {
  display: none; }

.tob-section--research-development-what-we-do {
  --tob-body-opacity: 1;
  --tob-card-plain-border: var(--tob-cement-2);
  --tob-card-plain-padding-y: calc(
    var(--tob-space-20) - var(--tob-space-2) + var(--tob-border-thin)
  );
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-40); }

.tob-section--research-development-what-we-do .tob-what-we-do {
  column-gap: var(--tob-layout-two-column-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-left: 0;
  max-width: none;
  margin-top: var(--tob-border-standard-negative);
  row-gap: 0; }

.tob-section--research-development-what-we-do .tob-what-we-do__column {
  display: flex; }

.tob-section--research-development-what-we-do
.tob-what-we-do__column:nth-child(n + 3)
.tob-card--plain {
  border-top: 0; }

.tob-section--research-development-what-we-do .tob-what-we-do__item {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16); }

.tob-section--research-development-what-we-do .tob-what-we-do__item > p {
  opacity: 0.75;
  /* guardrail-allow: figma-match */ }

.tob-section--research-development-what-we-do .tob-what-we-do__index {
  color: var(--tob-highlight); }

.tob-section--research-development-tools {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-stack-gap: var(--tob-space-10); }

#our-methodology .tob-section-heading__subtitle {
  font-size: 20px;
  /* guardrail-allow: figma-match */
  line-height: 24px;
  /* guardrail-allow: figma-match */ }

.tob-section--research-development-approach {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--research-development-approach .tob-ai-ml-split__content {
  align-items: stretch; }

.tob-section--research-development-approach .tob-ai-ml-split__body,
.tob-section--research-development-approach .tob-ai-ml-split__cta {
  align-self: stretch; }

.tob-section--research-development-tools .tob-software-tools__grid {
  column-gap: var(--tob-space-32);
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--tob-component-research-development-tools-grid-secondary-column-max-width));
  max-width: var(--tob-component-research-development-tools-grid-max-width);
  row-gap: 0; }

.tob-section--research-development-tools .tob-card--tool-compact {
  background: var(--tob-highlight-2);
  min-height: var(--tob-component-research-development-tools-card-min-height);
  position: relative; }

.tob-section--research-development-tools .tob-card--tool-compact .tob-card__title {
  font-size: 28px;
  /* guardrail-allow: figma-match */
  line-height: 28px;
  /* guardrail-allow: figma-match */ }

.tob-section--research-development-tools .tob-card--tool-compact .tob-card__body {
  font-size: var(--tob-type-body-md);
  line-height: calc(var(--tob-type-body-md) * var(--tob-lh-body));
  opacity: 1; }

.tob-section--research-development-tools .tob-card--tool-compact .tob-card__subtitle {
  align-items: center;
  background: var(--tob-ink);
  border-radius: var(--tob-space-2);
  color: var(--tob-cement);
  display: inline-flex;
  font-family: var(--tob-font-mono);
  font-size: 16px;
  /* guardrail-allow: figma-match */
  letter-spacing: 0.64px;
  /* guardrail-allow: figma-match */
  line-height: 16px;
  /* guardrail-allow: figma-match */
  margin: 0;
  padding: var(--tob-space-10);
  position: absolute;
  right: 0;
  text-transform: uppercase;
  top: var(--tob-space-20); }

.tob-section--research-development-tools
.tob-card--equal-rows
.tob-card__subtitle {
  display: inline-flex; }

.tob-section--research-development-tools .tob-software-tools__item--cta {
  justify-content: center; }

.tob-section--research-development-tools
.tob-software-tools__item--cta
> .tob-button {
  margin-top: calc(var(--tob-space-12) + var(--tob-space-2)); }

.tob-section--security-engineering-hero {
  --tob-section-padding-y: var(--tob-section-pad-120);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--security-engineering-hero .tob-hero__title {
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-section--security-engineering-hero .tob-hero__subline {
  font-size: var(--tob-type-hero-subline);
  letter-spacing: -0.6px;
  /* guardrail-allow: figma-match */
  line-height: var(--tob-lh-hero-subline);
  max-width: var(--tob-hero-subline-max-width); }

.tob-section--security-engineering-hero .tob-hero__stack {
  --tob-stack-gap: var(--tob-space-40); }

.tob-section--security-engineering-hero .halftone-wrapper canvas {
  display: none; }

.tob-section--security-engineering-work {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--security-engineering-work .tob-why-tob-differentiators {
  gap: var(--tob-space-40);
  --tob-why-tob-differentiators-heading-size: var(--tob-type-h4); }

.tob-section--security-engineering-work .tob-why-tob-differentiators__title {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  color: var(--tob-chalk);
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h3);
  line-height: var(--tob-lh-h3);
  margin-bottom: 0;
  padding-top: var(--tob-space-20);
  text-transform: uppercase; }

.tob-section--security-engineering-work
.tob-why-tob-differentiators__intro {
  font-size: 20px;
  /* guardrail-allow: figma-match */
  line-height: 24px;
  /* guardrail-allow: figma-match */
  margin: 0;
  padding: 0; }

.tob-section--security-engineering-work
.tob-why-tob-differentiators__content {
  display: grid;
  gap: var(--tob-space-32); }

.tob-section--security-engineering-work
.tob-why-tob-differentiators__grid {
  column-gap: var(--tob-layout-column-gap); }

.tob-section--security-engineering-work
.tob-why-tob-differentiators__item {
  grid-template-columns: var(--tob-space-84) minmax(0, 1fr);
  padding-bottom: var(--tob-space-20);
  padding-top: var(--tob-space-16); }

.tob-section--security-engineering-work
.tob-why-tob-differentiators__item:nth-last-child(-n + 2) {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  padding-bottom: var(--tob-component-security-engineering-work-item-padding-bottom-last-row); }

.tob-section--security-engineering-work
.tob-why-tob-differentiators__index {
  font-family: var(--tob-font-mono);
  font-size: 16px;
  /* guardrail-allow: figma-match */
  letter-spacing: 0.64px;
  /* guardrail-allow: figma-match */
  line-height: 16px;
  /* guardrail-allow: figma-match */
  text-transform: uppercase; }

.tob-section--why-tob-outcomes.tob-section--security-engineering-approach {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--security-engineering-approach .tob-section-heading {
  padding: var(--tob-space-24) 0; }

.tob-section--security-engineering-approach
.tob-section-heading.tob-section-heading--dark
+ * {
  margin-top: 0; }

.tob-section--security-engineering-tools {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-32);
  --tob-section-heading-border-bottom: var(--tob-border-standard) solid
    var(--tob-cement-2); }

.tob-section--security-engineering-tools .tob-software-tools__grid {
  row-gap: var(--tob-space-40); }

.tob-section--security-engineering-tools .tob-card--tool-compact {
  --tob-card-title-lines: 1;
  --tob-card-title-min-height: calc(
    var(--tob-type-h6-small) * var(--tob-lh-h6-small)
  );
  --tob-card-body-lines: 5;
  --tob-card-body-min-height: calc(
    var(--tob-type-body-xs) * var(--tob-lh-body) * 4
  ); }

.tob-section--security-engineering-tools
.tob-card--tool-compact
.tob-card__title {
  font-size: 28px;
  /* guardrail-allow: figma-match */
  line-height: 28px;
  /* guardrail-allow: figma-match */ }

.tob-section--security-engineering-tools .tob-card__subtitle {
  display: none; }

.tob-section--security-engineering-tools
.tob-card--equal-rows
.tob-card__subtitle {
  display: none; }

.tob-section--security-engineering-tools .tob-card__body {
  font-size: 14px;
  /* guardrail-allow: figma-match */
  line-height: 17px;
  /* guardrail-allow: figma-match */ }

.tob-section--appsec-hero {
  --tob-section-padding-y: var(--tob-section-pad-120); }

.tob-section--appsec-hero.tob-section--hero-subline-body .tob-hero__subline {
  padding: var(--tob-space-20) 0; }

.tob-section--appsec-hero .tob-hero__subline::before,
.tob-section--appsec-hero .tob-hero__subline::after {
  height: var(--tob-border-standard); }

.tob-section--appsec-related-services {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-40); }

.tob-section--appsec-related-services .tob-services__grid {
  column-gap: var(--tob-space-32);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  row-gap: 0; }

/* Base services row logic assumes 3 columns (`:nth-child(n + 4)` starts row 2).
   This section is 4 columns, so keep card 4 in first-row border/padding state. */
.tob-section--appsec-related-services
.tob-services__item:nth-child(4)
.tob-card--feature {
  border-top-width: var(--tob-border-standard);
  border-top-style: solid;
  padding-top: var(--tob-card-feature-padding-y, var(--tob-space-24)); }

.tob-section--appsec-related-services
.tob-services__item:nth-child(4)
a.tob-card--feature:hover::before,
.tob-section--appsec-related-services
.tob-services__item:nth-child(4)
a.tob-card--feature:focus-visible::before {
  content: none; }

.tob-section--appsec-why .tob-work__copy.tob-body-copy {
  color: var(--tob-chalk-75);
  opacity: 1; }

.tob-section--appsec-why .tob-work__copy a.tob-text-accent,
.tob-section--appsec-why .tob-work__copy a.tob-text-accent:hover,
.tob-section--appsec-why .tob-work__copy a.tob-text-accent:focus-visible {
  text-decoration: none; }

.tob-section--appsec-how-we-work.tob-section--why-tob-differentiators:not(
.tob-section--why-tob-differentiators-steps
) .tob-why-tob-differentiators {
  gap: var(--tob-space-32); }

.tob-section--appsec-how-we-work.tob-section--why-tob-differentiators:not(
.tob-section--why-tob-differentiators-steps
) .tob-why-tob-differentiators__group {
  gap: var(--tob-space-32); }

.tob-section--appsec-how-we-work.tob-section--why-tob-differentiators.tob-section--security-engineering-work
.tob-why-tob-differentiators__grid {
  column-gap: var(--tob-space-32); }

.tob-section--appsec-how-we-work.tob-section--why-tob-differentiators.tob-section--security-engineering-work
.tob-why-tob-differentiators__item,
.tob-section--appsec-how-we-work.tob-section--why-tob-differentiators.tob-section--security-engineering-work
.tob-why-tob-differentiators__item--last-row,
.tob-section--appsec-how-we-work.tob-section--why-tob-differentiators.tob-section--security-engineering-work
.tob-why-tob-differentiators__item:nth-last-child(-n + 2) {
  border-bottom: 0; }

.tob-section--appsec-deliverables {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-border-width: var(--tob-border-standard);
  --tob-component-feature-icon-size: 72px;
  /* guardrail-allow: figma-match */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

.tob-section--appsec-deliverables .tob-section-heading {
  padding: var(--tob-space-24) 0; }

.tob-section--appsec-deliverables .tob-services__grid {
  column-gap: var(--tob-space-32); }

.tob-section--appsec-deliverables .tob-card--feature {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  --tob-card-feature-padding-y: var(--tob-space-20);
  --tob-stack-gap: var(--tob-space-16);
  padding: var(--tob-card-feature-padding-y) 0; }

.tob-section--appsec-deliverables .tob-card__title {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  font-weight: 400;
  line-height: var(--tob-lh-body);
  max-width: none;
  text-transform: none; }

.tob-section--appsec-deliverables a.tob-card--feature:hover,
.tob-section--appsec-deliverables a.tob-card--feature:focus-visible {
  border-top-color: var(--tob-cement-2);
  border-bottom-color: var(--tob-cement-2); }

.tob-section--appsec-featured-quotes {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-appsec-featured-quotes-halftone-size: var(
    --tob-component-open-source-halftone-size
  );
  --tob-appsec-featured-quotes-halftone-left: calc(
    var(--tob-component-open-source-halftone-left) + var(--tob-space-80)
  );
  --tob-appsec-featured-quotes-halftone-top-left: var(
    --tob-component-open-source-halftone-top
  );
  --tob-appsec-featured-quotes-halftone-right: var(
    --tob-component-ai-ml-case-study-halftone-right
  );
  --tob-appsec-featured-quotes-halftone-top-right: calc(
    var(--tob-component-open-source-halftone-top) - var(--tob-space-200)
  ); }

.tob-appsec-featured-quotes {
  display: grid;
  gap: var(--tob-space-30);
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 900px) {
  .tob-appsec-featured-quotes {
    grid-template-columns: minmax(0, 1fr); } }

.tob-appsec-featured-quotes__card {
  background: var(--tob-dusk);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-48);
  overflow: hidden;
  padding: var(--tob-space-30);
  position: relative; }

.tob-appsec-featured-quotes__card::before {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: var(--tob-appsec-featured-quotes-halftone-size);
  pointer-events: none;
  position: absolute;
  width: var(--tob-appsec-featured-quotes-halftone-size);
  z-index: 0; }

.tob-appsec-featured-quotes__card--left::before {
  background-image: url("../img/sections/ai-ml/ai-ml-case-study-halftone-left.svg");
  left: var(--tob-appsec-featured-quotes-halftone-left);
  top: var(--tob-appsec-featured-quotes-halftone-top-left); }

.tob-appsec-featured-quotes__card--right::before {
  background-image: url("../img/sections/ai-ml/ai-ml-case-study-halftone-right.svg");
  right: var(--tob-appsec-featured-quotes-halftone-right);
  top: var(--tob-appsec-featured-quotes-halftone-top-right); }

.tob-appsec-featured-quotes__card > * {
  position: relative;
  z-index: 1; }

.tob-appsec-featured-quotes__quote {
  color: var(--tob-chalk);
  flex: 1 1 auto;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6-small);
  font-weight: 400;
  line-height: 1.2;
  /* guardrail-allow: figma-match */
  margin: 0; }

.tob-appsec-featured-quotes__footer {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  min-height: var(--tob-space-32); }

.tob-appsec-featured-quotes__footer--split {
  justify-content: space-between; }

.tob-appsec-featured-quotes__attribution {
  margin: 0; }

.tob-appsec-featured-quotes__logo {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-space-32); }

.tob-appsec-featured-quotes__logo-dot {
  background: var(--tob-highlight-2);
  height: var(--tob-space-10);
  width: var(--tob-space-10); }

.tob-appsec-featured-quotes__logo-mark {
  display: block;
  filter: brightness(0) invert(1);
  height: var(--tob-space-32);
  width: auto; }

.tob-section--appsec-featured-blog {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

.tob-section--why-tob-hero {
  --tob-section-padding-top: var(--tob-section-pad-120);
  --tob-section-padding-bottom: var(--tob-section-pad-120);
  --tob-why-tob-hero-copy-width: var(--tob-component-why-tob-hero-copy-width);
  --tob-why-tob-hero-gap: var(--tob-space-32);
  --tob-why-tob-hero-cta-width: calc(var(--tob-layout-content-width) - var(--tob-component-why-tob-hero-copy-width) - var(--tob-why-tob-hero-gap));
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

.tob-section--why-tob-hero .tob-hero__title {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10);
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-section--why-tob-hero .tob-hero__subline {
  font-size: var(--tob-type-body-lg);
  letter-spacing: 0;
  line-height: var(--tob-lh-body);
  max-width: var(--tob-component-why-tob-hero-copy-width);
  opacity: 1;
  padding: 0; }

.tob-why-tob-hero__details {
  align-items: stretch;
  display: grid;
  gap: var(--tob-why-tob-hero-gap);
  grid-template-columns: minmax(0, var(--tob-why-tob-hero-copy-width)) minmax(0, var(--tob-why-tob-hero-cta-width));
  padding: 0; }

.tob-why-tob-hero__copy {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  padding: var(--tob-space-20) 0; }

.tob-why-tob-hero__cta {
  align-items: stretch;
  display: flex;
  justify-content: flex-end;
  padding: 0; }

.tob-why-tob-hero__cta .tob-button {
  --tob-button-height: 100%;
  --tob-button-min-height: 100%; }

.tob-section--why-tob-differentiators {
  --tob-section-padding-y: var(--tob-section-pad-80);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

.tob-section--why-tob-differentiators-tall {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--why-tob-differentiators-tall .tob-why-tob-differentiators__item {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-section--why-tob-differentiators-tall
.tob-why-tob-differentiators__item:nth-child(n + 3) {
  /* guardrail-allow: existing layout */
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  /* guardrail-allow: figma-match */ }

.tob-why-tob-differentiators {
  display: grid;
  gap: var(--tob-space-40);
  --tob-why-tob-differentiators-columns: 2;
  --tob-why-tob-differentiators-row-gap: var(--tob-space-16);
  --tob-why-tob-differentiators-column-gap: var(--tob-layout-column-gap);
  --tob-why-tob-differentiators-title-color: var(--tob-highlight);
  --tob-why-tob-differentiators-title-font: var(--tob-font-body);
  --tob-why-tob-differentiators-title-size: var(--tob-type-built-subhead);
  --tob-why-tob-differentiators-title-line-height: var(--tob-lh-built-subhead);
  --tob-why-tob-differentiators-title-letter-spacing: -0.6px;
  /* guardrail-allow: figma-match */
  --tob-why-tob-differentiators-title-transform: none;
  --tob-why-tob-differentiators-heading-size: var(--tob-type-h4);
  --tob-why-tob-differentiators-heading-line-height: var(--tob-lh-h4);
  --tob-why-tob-differentiators-body-opacity: 1;
  --tob-body-opacity: var(--tob-why-tob-differentiators-body-opacity); }

.tob-section--why-tob-differentiators:not(
.tob-section--why-tob-differentiators-steps
) .tob-why-tob-differentiators {
  gap: var(--tob-space-64);
  --tob-why-tob-differentiators-row-gap: 0;
  --tob-why-tob-differentiators-column-gap: var(--tob-space-64); }

.tob-why-tob-differentiators[data-columns="2"] {
  --tob-why-tob-differentiators-column-gap: var(--tob-space-64); }

.tob-why-tob-differentiators[data-columns="3"] {
  --tob-why-tob-differentiators-columns: 3;
  --tob-why-tob-differentiators-column-gap: var(--tob-space-32); }

.tob-why-tob-differentiators__title {
  color: var(--tob-why-tob-differentiators-title-color);
  font-family: var(--tob-why-tob-differentiators-title-font);
  font-size: var(--tob-why-tob-differentiators-title-size);
  letter-spacing: var(--tob-why-tob-differentiators-title-letter-spacing);
  line-height: var(--tob-why-tob-differentiators-title-line-height);
  margin: 0;
  text-transform: var(--tob-why-tob-differentiators-title-transform); }

.tob-why-tob-differentiators__intro {
  margin: 0; }

.tob-why-tob-differentiators__intro p {
  margin: 0; }

.tob-why-tob-differentiators__group {
  display: grid;
  gap: var(--tob-space-40); }

.tob-why-tob-differentiators__group-label {
  color: var(--tob-highlight);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-built-subhead);
  letter-spacing: -0.6px;
  /* guardrail-allow: figma-match */
  line-height: var(--tob-lh-built-subhead);
  margin: 0;
  text-transform: none; }

.tob-why-tob-differentiators__grid {
  column-gap: var(--tob-why-tob-differentiators-column-gap);
  display: grid;
  grid-template-columns: repeat(var(--tob-why-tob-differentiators-columns), minmax(0, 1fr));
  row-gap: var(--tob-why-tob-differentiators-row-gap); }

.tob-why-tob-differentiators__item {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  display: grid;
  column-gap: var(--tob-layout-column-gap);
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  padding-bottom: var(--tob-space-20);
  padding-top: var(--tob-space-16);
  row-gap: var(--tob-space-16); }

.tob-section--why-tob-differentiators:not(
.tob-section--why-tob-differentiators-steps
) .tob-why-tob-differentiators__item {
  column-gap: var(--tob-space-64);
  grid-template-columns: max-content minmax(0, 1fr);
  padding-bottom: var(--tob-space-24);
  padding-top: var(--tob-space-24);
  row-gap: var(--tob-space-16); }

.tob-section--why-tob-differentiators:not(
.tob-section--why-tob-differentiators-steps
) .tob-why-tob-differentiators__index {
  min-width: 0; }

.tob-section--why-tob-differentiators.tob-section--security-engineering-work
.tob-why-tob-differentiators__grid {
  column-gap: var(--tob-space-64); }

.tob-section--why-tob-differentiators.tob-section--security-engineering-work
.tob-why-tob-differentiators__item {
  column-gap: var(--tob-space-64);
  grid-template-columns: max-content minmax(0, 1fr); }

.tob-section--why-tob-differentiators.tob-section--security-engineering-work
.tob-why-tob-differentiators__index {
  min-width: 0; }

.tob-why-tob-differentiators__index {
  color: var(--tob-highlight);
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  min-width: var(--tob-space-84); }

.tob-why-tob-differentiators__heading {
  font-family: var(--tob-font-heading);
  font-size: var(--tob-why-tob-differentiators-heading-size);
  line-height: var(--tob-why-tob-differentiators-heading-line-height);
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  min-width: 0;
  overflow-wrap: break-word;
  text-transform: uppercase; }

.tob-why-tob-differentiators__body {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  overflow-wrap: break-word; }

.tob-why-tob-differentiators__body p {
  margin: 0; }

.tob-why-tob-differentiators__item--last-row {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-section--why-tob-differentiators-page .tob-why-tob-differentiators {
  --tob-why-tob-differentiators-heading-size: var(--tob-type-h4); }

.tob-section--blockchain-how-we-work.tob-section--why-tob-differentiators
.tob-why-tob-differentiators {
  --tob-why-tob-differentiators-heading-size: 42px;
  /* guardrail-allow: requested fixed size */
  --tob-why-tob-differentiators-heading-line-height: 0.95;
  /* guardrail-allow: figma-match */ }

#differentiators .tob-why-tob-differentiators__grid > .tob-why-tob-differentiators__item:last-child,
#differentiators .tob-why-tob-differentiators__grid > .tob-why-tob-differentiators__item:nth-last-child(2) {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-section--why-tob-differentiators-steps .tob-why-tob-differentiators {
  --tob-why-tob-differentiators-title-color: var(--tob-chalk);
  --tob-why-tob-differentiators-title-font: var(--tob-font-heading);
  --tob-why-tob-differentiators-title-size: var(--tob-type-h3);
  --tob-why-tob-differentiators-title-line-height: var(--tob-lh-h3);
  --tob-why-tob-differentiators-title-letter-spacing: 0;
  --tob-why-tob-differentiators-title-transform: uppercase;
  --tob-why-tob-differentiators-row-gap: var(--tob-space-24);
  --tob-why-tob-differentiators-body-opacity: 0.75;
  --tob-why-tob-differentiators-heading-size: var(--tob-type-h5);
  --tob-why-tob-differentiators-heading-line-height: var(--tob-lh-h5); }

.tob-section--why-tob-differentiators-steps {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-section--why-tob-differentiators-steps
.tob-why-tob-differentiators__title {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  padding-top: var(--tob-space-20); }

.tob-section--why-tob-differentiators-steps
.tob-why-tob-differentiators__item--last-row {
  padding-bottom: var(--tob-space-32); }

.tob-section--why-tob-serve {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-why-tob-serve {
  display: block;
  padding-top: 0; }

.tob-why-tob-serve__title {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  margin: 0 0 var(--tob-space-16);
  padding: var(--tob-space-20) 0 var(--tob-space-20);
  text-transform: uppercase; }

.tob-why-tob-serve__tabs {
  display: grid;
  gap: var(--tob-space-32);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: var(--tob-space-40);
  margin-left: 0;
  width: 100%; }

.tob-why-tob-serve__tab {
  align-items: center;
  background: transparent;
  border: var(--tob-border-standard) solid var(--tob-dusk-2);
  color: var(--tob-chalk);
  cursor: pointer;
  display: flex;
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-button-lg);
  justify-content: space-between;
  letter-spacing: var(--tob-type-ui-button-lg-letter);
  line-height: var(--tob-type-ui-button-lg-lh);
  padding: var(--tob-space-20) var(--tob-space-20);
  text-align: left;
  text-transform: uppercase;
  width: 100%; }

.tob-why-tob-serve__tab--active,
.tob-why-tob-serve__tab[aria-selected="true"] {
  background: var(--tob-highlight);
  border-color: var(--tob-highlight);
  color: var(--tob-chalk); }

.tob-why-tob-serve__tab-label {
  --tob-mono-size: var(--tob-type-ui-button-lg);
  --tob-mono-letter: var(--tob-type-ui-button-lg-letter);
  --tob-mono-line-height: var(--tob-type-ui-button-lg-lh); }

.tob-why-tob-serve__tab-toggle {
  background-color: currentColor;
  display: block;
  flex-shrink: 0;
  height: var(--tob-space-40);
  mask-image: url("../img/icons/chip-plus.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  position: relative;
  width: var(--tob-space-40);
  -webkit-mask-image: url("../img/icons/chip-plus.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-why-tob-serve__tab--active .tob-why-tob-serve__tab-toggle,
.tob-why-tob-serve__tab[aria-selected="true"]
.tob-why-tob-serve__tab-toggle {
  mask-image: url("../img/icons/chip-minus.svg");
  -webkit-mask-image: url("../img/icons/chip-minus.svg"); }

.tob-why-tob-serve__grid {
  column-gap: var(--tob-space-32);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-left: 0;
  width: 100%; }

.tob-why-tob-serve__card {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  padding: var(--tob-space-20) 0; }

.tob-why-tob-serve__icon {
  align-items: center;
  display: inline-flex;
  height: var(--tob-space-82);
  justify-content: center;
  width: var(--tob-space-82); }

.tob-why-tob-serve__icon svg {
  display: block;
  height: 100%;
  width: 100%; }

.tob-why-tob-serve__card-title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  font-weight: 400;
  line-height: var(--tob-lh-h6);
  margin: 0;
  text-transform: none; }

.tob-section--why-tob-outcomes {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-why-tob-outcomes {
  display: flex;
  flex-direction: column;
  gap: var(--tob-section-stack-gap, var(--tob-space-40)); }

.tob-section--why-tob-stats {
  --tob-section-padding-y: var(--tob-section-pad-80);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-why-tob-stats__grid {
  display: grid;
  row-gap: var(--tob-space-16); }

.tob-why-tob-stats__columns {
  column-gap: var(--tob-space-32);
  display: grid;
  grid-template-columns: minmax(0, var(--tob-component-hero-copy-max-width)) minmax(0, calc(var(--tob-layout-content-width) - var(--tob-component-hero-copy-max-width) - var(--tob-space-32))); }

.tob-why-tob-stats__left,
.tob-why-tob-stats__right {
  display: grid;
  row-gap: var(--tob-space-16); }

.tob-why-tob-stats__label {
  color: var(--tob-chalk);
  --tob-mono-size: var(--tob-type-ui-bits-lg);
  --tob-mono-letter: var(--tob-type-ui-button-lg-letter);
  --tob-mono-line-height: var(--tob-type-ui-bits-lg-lh); }

.tob-why-tob-stats__item,
.tob-why-tob-stats__highlight {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  display: grid;
  gap: var(--tob-space-16);
  padding: var(--tob-space-20) 0 var(--tob-space-20); }

.tob-why-tob-stats__cta {
  display: grid;
  gap: var(--tob-space-16);
  margin-top: var(--tob-space-16);
  max-width: var(--tob-component-hero-copy-max-width);
  width: 100%; }

.tob-why-tob-stats__value {
  color: var(--tob-highlight);
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h4);
  line-height: var(--tob-lh-h4); }

.tob-why-tob-stats__text {
  color: var(--tob-chalk);
  font-size: var(--tob-type-body-sm);
  line-height: var(--tob-lh-body);
  opacity: 1; }

.tob-why-tob-stats__highlight-value {
  color: var(--tob-highlight);
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h4);
  line-height: var(--tob-lh-h4); }

.tob-why-tob-stats__highlight-label {
  color: var(--tob-chalk);
  font-size: var(--tob-type-body-sm);
  line-height: var(--tob-lh-body);
  opacity: 1; }

.tob-buttercup-webinar,
.tob-mcp-webinar {
  display: flex;
  flex-direction: column;
  gap: var(--tob-webinar-gap); }

.tob-buttercup-webinar__row,
.tob-mcp-webinar__row {
  align-items: start;
  display: grid;
  gap: var(--tob-webinar-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.tob-buttercup-webinar__media,
.tob-mcp-webinar__media {
  align-items: center;
  aspect-ratio: var(--tob-webinar-media-aspect, 777/439);
  background: var(--tob-chalk-02);
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 100%; }

.tob-buttercup-webinar__media img,
.tob-buttercup-webinar__media video,
.tob-mcp-webinar__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%; }

.tob-mcp-webinar__media video {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%; }

.tob-buttercup-webinar__iframe,
.tob-mcp-webinar__iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%; }

.tob-buttercup-webinar__play,
.tob-mcp-webinar__play {
  align-items: center;
  border: var(--tob-border-standard) solid var(--tob-highlight);
  border-radius: 50%;
  display: inline-flex;
  height: var(--tob-component-webinar-play-button-size);
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--tob-component-webinar-play-button-size); }

.tob-buttercup-webinar__play::after,
.tob-mcp-webinar__play::after {
  border-color: transparent transparent transparent var(--tob-chalk);
  border-style: solid;
  border-width: var(--tob-space-8) 0 var(--tob-space-8) var(--tob-space-10);
  content: "";
  margin-left: var(--tob-space-2); }

.tob-buttercup-webinar__content,
.tob-mcp-webinar__content {
  display: flex;
  flex-direction: column;
  gap: var(--tob-webinar-gap); }

.tob-buttercup-webinar__pill,
.tob-mcp-webinar__pill {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase;
  align-self: flex-start;
  border: var(--tob-border-standard) solid var(--tob-highlight-25);
  border-radius: var(--tob-space-2);
  color: var(--tob-cement);
  padding: var(--tob-space-10); }

.tob-buttercup-webinar__rule,
.tob-mcp-webinar__rule {
  background: var(--tob-cement-2);
  display: block;
  height: var(--tob-border-standard);
  width: 100%; }

.tob-buttercup-webinar__copy,
.tob-mcp-webinar__copy {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  display: flex;
  flex-direction: column;
  gap: var(--tob-webinar-gap);
  padding-bottom: var(--tob-space-20); }

.tob-buttercup-webinar__title,
.tob-mcp-webinar__title {
  margin: 0;
  text-transform: uppercase; }

.tob-buttercup-webinar__body,
.tob-mcp-webinar__body {
  margin: 0; }

.tob-buttercup-webinar__body p,
.tob-mcp-webinar__body p {
  margin: 0; }

.tob-buttercup-webinar__meta,
.tob-mcp-webinar__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-40); }

.tob-buttercup-webinar__meta-item,
.tob-mcp-webinar__meta-item {
  align-items: center;
  display: flex;
  gap: var(--tob-space-8); }

.tob-buttercup-webinar__meta-icon,
.tob-mcp-webinar__meta-icon {
  align-items: center;
  display: inline-flex;
  height: var(--tob-space-16);
  justify-content: center;
  width: var(--tob-space-16); }

.tob-buttercup-webinar__meta-icon::before,
.tob-mcp-webinar__meta-icon::before {
  border-bottom: var(--tob-border-standard) solid var(--tob-highlight);
  border-right: var(--tob-border-standard) solid var(--tob-highlight);
  content: "";
  height: var(--tob-space-10);
  transform: rotate(45deg);
  width: var(--tob-space-8); }

.tob-buttercup-webinar__meta-text,
.tob-mcp-webinar__meta-text {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase;
  color: var(--tob-chalk); }

.tob-section--accordion {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border-width: var(--tob-border-standard); }

.tob-accordion__items {
  --tob-accordion-icon-width: var(--tob-space-64);
  --tob-accordion-icon-height: var(--tob-space-32);
  --tob-accordion-item-padding: var(--tob-space-30);
  --tob-accordion-item-min-height: 92px;
  --tob-accordion-summary-padding: var(--tob-space-20);
  --tob-accordion-summary-gap-base: var(--tob-space-10);
  --tob-accordion-summary-gap: var(--tob-accordion-summary-gap-base);
  --tob-accordion-summary-gap-open: var(--tob-accordion-summary-gap-base);
  --tob-accordion-icon-gap: var(--tob-accordion-summary-gap);
  --tob-accordion-icon-column: var(--tob-accordion-icon-width);
  --tob-accordion-toggle-column: var(--tob-space-30);
  --tob-accordion-toggle-size: var(--tob-space-30);
  --tob-accordion-body-gap: var(--tob-space-20);
  --tob-accordion-body-padding-left: calc(
    var(--tob-accordion-summary-padding) +
      var(--tob-accordion-icon-column) +
      var(--tob-accordion-summary-gap-open)
  );
  --tob-accordion-body-padding-right: var(--tob-accordion-summary-padding);
  --tob-accordion-title-font: var(--tob-font-body);
  --tob-accordion-title-size: var(--tob-type-h6);
  --tob-accordion-title-line-height: var(--tob-lh-h6);
  --tob-accordion-title-weight: 400;
  --tob-accordion-summary-color: var(--tob-cement-2);
  --tob-accordion-summary-hover-color: var(--tob-chalk);
  --tob-accordion-summary-open-color: var(--tob-highlight);
  --tob-accordion-border-color-default: var(--tob-cement-2);
  --tob-accordion-border-color-hover: var(--tob-cement-2);
  --tob-accordion-border-color-open: var(--tob-highlight);
  --tob-accordion-body-color: var(--tob-chalk);
  --tob-accordion-items-max-width: calc(
    var(--tob-component-accordion-items-max-width) + var(--tob-space-24)
  );
  margin-left: auto;
  max-width: var(--tob-accordion-items-max-width);
  width: 100%; }

.tob-section--light .tob-accordion__items {
  --tob-accordion-summary-color: var(--tob-cement);
  --tob-accordion-summary-hover-color: var(--tob-dusk);
  --tob-accordion-summary-open-color: var(--tob-highlight);
  --tob-accordion-border-color-default: var(--tob-cement);
  --tob-accordion-border-color-hover: var(--tob-cement);
  --tob-accordion-border-color-open: var(--tob-highlight);
  --tob-accordion-body-color: var(--tob-dusk); }

.tob-accordion__item {
  display: block;
  min-height: var(--tob-accordion-item-min-height, auto);
  padding-block: var(--tob-accordion-item-padding, var(--tob-space-24)); }

.tob-accordion__item[open] {
  --tob-accordion-summary-gap: var(
    --tob-accordion-summary-gap-open,
    var(--tob-accordion-summary-gap)
  ); }

.tob-accordion__body p {
  margin: 0; }

.tob-accordion__summary {
  align-items: center;
  cursor: pointer;
  column-gap: var(--tob-accordion-summary-gap, var(--tob-space-20));
  display: grid;
  grid-template-columns: var(--tob-accordion-icon-column, var(--tob-accordion-icon-width)) minmax(0, 1fr) var(--tob-accordion-toggle-column, var(--tob-space-40));
  list-style: none;
  font-family: var(--tob-accordion-title-font, var(--tob-font-body));
  font-size: var(--tob-accordion-title-size, var(--tob-type-h6));
  font-weight: var(--tob-accordion-title-weight, 400);
  line-height: var(--tob-accordion-title-line-height, var(--tob-lh-h6));
  padding-inline: var(--tob-accordion-summary-padding, 0);
  text-transform: none;
  opacity: 1; }

.tob-accordion__icon {
  align-items: center;
  color: inherit;
  display: inline-flex;
  flex-shrink: 0;
  grid-column: 1;
  height: var(--tob-accordion-icon-height);
  justify-content: flex-start;
  justify-self: start;
  position: relative;
  width: var(--tob-accordion-icon-width); }

.tob-accordion__icon img {
  display: block;
  height: 100%;
  width: 100%; }

.tob-accordion__icon svg {
  display: block;
  height: 100%;
  width: auto; }

.tob-section--mcp-attack-research .tob-accordion__icon svg {
  height: 100%;
  max-width: var(--tob-space-30);
  width: 100%; }

.tob-section--security-engineering-approach .tob-accordion__icon svg {
  max-width: var(--tob-space-30); }

.tob-accordion__summary::-webkit-details-marker {
  display: none; }

.tob-accordion__title {
  flex: 1;
  grid-column: 2;
  min-width: 0; }

.tob-accordion__toggle {
  background-color: currentColor;
  grid-column: 3;
  flex-shrink: 0;
  height: var(--tob-accordion-toggle-size, var(--tob-space-40));
  justify-self: end;
  mask-image: url("../img/icons/faq/plus.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: var(--tob-accordion-toggle-size, var(--tob-space-40));
  -webkit-mask-image: url("../img/icons/faq/plus.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-accordion__item[open] .tob-accordion__toggle {
  mask-image: url("../img/icons/faq/minus-red.svg");
  -webkit-mask-image: url("../img/icons/faq/minus-red.svg"); }

.tob-accordion__body {
  color: var(--tob-accordion-body-color, var(--tob-chalk));
  margin-top: var(--tob-accordion-body-gap, var(--tob-space-20));
  padding-left: var(--tob-accordion-body-padding-left);
  padding-right: var(--tob-accordion-body-padding-right, var(--tob-space-40));
  opacity: var(--tob-body-opacity); }

.tob-accordion__sections {
  display: grid;
  gap: var(--tob-accordion-section-gap, var(--tob-space-20)); }

.tob-accordion__section {
  display: grid;
  gap: var(--tob-accordion-section-body-gap, var(--tob-space-10)); }

.tob-accordion__section-header {
  align-items: center;
  color: inherit;
  display: inline-flex;
  gap: var(--tob-space-10); }

.tob-accordion__section-icon {
  align-items: center;
  display: inline-flex;
  height: var(--tob-accordion-section-icon-size, var(--tob-space-10));
  justify-content: center;
  width: var(--tob-accordion-section-icon-size, var(--tob-space-10)); }

.tob-accordion__section-icon svg {
  display: block;
  height: 100%;
  width: 100%; }

.tob-accordion__section-body p {
  margin: 0; }

.tob-accordion__bullets {
  display: grid;
  gap: var(--tob-space-8);
  margin: var(--tob-space-10) 0 0;
  padding-left: var(--tob-space-20); }

.tob-accordion__bullets li {
  margin: 0; }

.tob-section--accordion-no-icon .tob-accordion__items {
  --tob-accordion-item-padding: var(--tob-space-40);
  --tob-accordion-item-min-height: var(--tob-space-82);
  --tob-accordion-icon-width: 0;
  --tob-accordion-icon-height: 0;
  --tob-accordion-icon-column: 0;
  --tob-accordion-icon-gap: 0;
  --tob-accordion-toggle-column: var(--tob-space-40);
  --tob-accordion-toggle-size: var(--tob-space-40);
  --tob-accordion-body-gap: var(--tob-space-10);
  --tob-accordion-summary-gap-base: 0;
  --tob-accordion-summary-gap: 0;
  --tob-accordion-summary-gap-open: 0;
  --tob-accordion-body-padding-left: var(--tob-accordion-summary-padding);
  --tob-accordion-body-padding-right: var(--tob-accordion-summary-padding); }

.tob-section--accordion-no-icon .tob-accordion__summary {
  grid-template-columns: minmax(0, 1fr) var(--tob-accordion-toggle-column, var(--tob-space-40)); }

.tob-section--accordion-no-icon .tob-accordion__title {
  grid-column: 1; }

.tob-section--accordion-no-icon .tob-accordion__toggle {
  grid-column: 2; }

.tob-section--accordion-title-lg {
  --tob-accordion-title-size: var(--tob-type-accordion-title-lg);
  --tob-accordion-title-line-height: var(--tob-lh-accordion-title-lg); }

.tob-section--mcp-intro {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-component-mcp-intro-stack-gap); }

.tob-section--mcp-hero {
  --tob-section-padding-top: var(--tob-section-pad-120);
  --tob-section-padding-bottom: var(--tob-section-pad-80); }

.tob-mcp-intro {
  --tob-mcp-intro-action-column-width: calc(
    (var(--tob-component-mcp-intro-actions-width) - var(--tob-space-32)) / 2
  );
  display: grid;
  column-gap: var(--tob-space-32);
  row-gap: var(--tob-space-16);
  grid-template-columns: minmax(0, var(--tob-component-mcp-intro-copy-max-width)) repeat(2, minmax(0, var(--tob-mcp-intro-action-column-width)));
  align-items: end; }

.tob-mcp-intro__card {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement);
  border-top: var(--tob-border-standard) solid var(--tob-cement);
  min-width: 0;
  max-width: var(--tob-component-mcp-intro-copy-max-width);
  padding: var(--tob-space-20) 0;
  width: 100%; }

.tob-mcp-intro__copy {
  margin: 0;
  max-width: none; }

.tob-mcp-intro__copy p {
  margin: 0; }

.tob-mcp-intro > .tob-button {
  justify-self: end;
  min-width: 0;
  width: 100%; }

.tob-mcp-intro__highlights {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--tob-space-32);
  list-style: none;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 100%; }

.tob-mcp-intro__highlight-marker {
  background: var(--tob-highlight);
  height: var(--tob-space-10);
  width: var(--tob-space-10); }

.tob-mcp-intro__highlight-item {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-space-8); }

.tob-mcp-intro__highlight-check {
  align-items: center;
  color: inherit;
  display: inline-flex;
  height: var(--tob-space-16);
  justify-content: center;
  width: var(--tob-space-16); }

.tob-mcp-intro__highlight-check svg {
  display: block;
  height: 100%;
  width: 100%; }

.tob-section--mcp-product {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: 0; }

.tob-mcp-product__header {
  border-bottom: var(--tob-border-thin) solid var(--tob-cement-2);
  border-top: var(--tob-border-thin) solid var(--tob-cement-2);
  gap: 0;
  padding: 0; }

.tob-mcp-product__title {
  margin: 0;
  padding: var(--tob-space-20) 0;
  text-transform: uppercase; }

.tob-mcp-product__body {
  border-top: var(--tob-border-thin) solid var(--tob-cement-2);
  margin: 0;
  margin-top: var(--tob-component-mcp-product-body-margin-top);
  max-width: var(--tob-component-mcp-content-max-width);
  padding-top: var(--tob-space-20); }

.tob-mcp-product__body p {
  margin: 0; }

.tob-mcp-product__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-10);
  margin-top: var(--tob-space-40);
  max-width: var(--tob-component-mcp-product-tags-max-width); }

#mcp-context-protector .tob-mcp-product__header {
  border-bottom: 0; }

#mcp-context-protector .tob-mcp-product__title {
  border-bottom: var(--tob-border-thin) solid var(--tob-cement-2); }

#mcp-context-protector {
  --tob-mcp-product-indent: 0;
  --tob-component-mcp-product-body-margin-top: 0;
  --tob-component-mcp-product-features-margin-top: var(--tob-space-30); }

#mcp-context-protector .tob-mcp-product__body {
  border-top: 0;
  margin-left: var(--tob-mcp-product-indent);
  margin-right: 0;
  padding: var(--tob-space-20) 0 var(--tob-space-16); }

#mcp-context-protector .tob-mcp-product__tags {
  margin: 0;
  max-width: var(--tob-component-mcp-product-tags-max-width); }

#mcp-context-protector .tob-mcp-product__features {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  width: 100%; }

#mcp-context-protector .tob-card--feature {
  border-bottom-color: var(--tob-cement-2);
  border-top-color: var(--tob-cement-2); }

.tob-mcp-product__features {
  --tob-card-grid-gap: var(--tob-space-32);
  column-gap: var(--tob-space-32);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-left: auto;
  margin-top: var(--tob-component-mcp-product-features-margin-top);
  max-width: var(--tob-component-mcp-product-features-max-width); }

.tob-mcp-product__features.tob-card-grid {
  --tob-card-grid-gap: var(--tob-space-32);
  column-gap: var(--tob-space-32); }

.tob-card__bullets {
  list-style: none;
  margin: var(--tob-space-20) 0 0;
  padding: 0; }

.tob-card__bullets li {
  align-items: flex-start;
  display: flex;
  gap: var(--tob-space-10);
  margin-bottom: var(--tob-space-10); }

.tob-card__bullets li::before {
  background: currentColor;
  content: "";
  height: var(--tob-space-8);
  margin-top: var(--tob-space-8);
  width: var(--tob-space-8); }

.tob-section--mcp-product .tob-card--feature .tob-card__title {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small); }

.tob-section--mcp-install {
  --tob-mcp-install-width: var(--tob-component-mcp-content-max-width);
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border-width: var(--tob-border-standard); }

.tob-section--mcp-install .tob-section-heading {
  padding: var(--tob-space-20) 0; }

.tob-mcp-install {
  display: grid;
  grid-template-columns: minmax(0, var(--tob-component-mcp-install-rail-width)) minmax(0, var(--tob-mcp-install-width));
  row-gap: var(--tob-space-16); }

.tob-mcp-install__heading {
  grid-column: 1 / -1; }

.tob-mcp-install__heading h2 {
  max-width: none;
  white-space: nowrap; }

.tob-mcp-install__content {
  border-top: var(--tob-border-standard) solid var(--tob-section-heading-border);
  grid-column: 2;
  padding-top: var(--tob-space-20); }

.tob-mcp-install__subtitle,
.tob-mcp-install__tabs,
.tob-mcp-install__code,
.tob-mcp-install__highlights,
.tob-mcp-install__cta {
  max-width: var(--tob-mcp-install-width);
  width: 100%; }

.tob-mcp-install__subtitle {
  margin: 0;
  padding-bottom: 0;
  position: relative;
  opacity: 0.82; }

.tob-mcp-install__subtitle::after {
  display: none; }

.tob-mcp-install__subtitle-text {
  opacity: var(--tob-body-opacity); }

.tob-mcp-install__tabs {
  display: grid;
  gap: var(--tob-space-10);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--tob-space-40);
  max-width: var(--tob-mcp-install-width); }

.tob-mcp-install__tab {
  background: transparent;
  border: var(--tob-border-thin) solid var(--tob-cement-3);
  color: var(--tob-dusk);
  display: flex;
  align-items: center;
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-button-lg);
  gap: var(--tob-space-10);
  justify-content: space-between;
  line-height: var(--tob-type-ui-button-lg-lh);
  letter-spacing: var(--tob-type-ui-letter-tight);
  padding: var(--tob-space-16) var(--tob-space-20);
  text-transform: uppercase; }

.tob-mcp-install__tab::after {
  background-color: currentColor;
  content: "";
  height: var(--tob-space-20);
  mask-image: url("../img/icons/chip-plus.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  width: var(--tob-space-20);
  -webkit-mask-image: url("../img/icons/chip-plus.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-mcp-install__tab.is-active {
  background: var(--tob-highlight);
  color: var(--tob-chalk);
  border-color: var(--tob-highlight); }

.tob-mcp-install__tab.is-active::after {
  mask-image: url("../img/icons/chip-minus.svg");
  -webkit-mask-image: url("../img/icons/chip-minus.svg"); }

.tob-mcp-install__code {
  background: var(--tob-chalk-2);
  padding: var(--tob-space-60) var(--tob-space-20) var(--tob-component-mcp-install-code-padding-bottom);
  position: relative; }

.tob-mcp-install__code pre {
  margin: 0;
  white-space: pre-wrap; }

.tob-mcp-install__code code {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-body-sm);
  line-height: 1.125; }

.tob-mcp-install__code-actions {
  display: flex;
  justify-content: flex-end;
  margin: 0;
  position: absolute;
  right: var(--tob-space-20);
  top: var(--tob-space-20); }

.tob-mcp-install__copy {
  background: var(--tob-highlight);
  border: 0;
  color: var(--tob-chalk);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-button-sm);
  letter-spacing: var(--tob-type-ui-letter-tight);
  padding: var(--tob-space-10) var(--tob-space-20);
  text-transform: uppercase; }

.tob-mcp-install__copy,
.tob-mcp-install__highlights {
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh); }

.tob-mcp-install__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-20);
  list-style: none;
  margin: 0;
  padding: 0; }

.tob-mcp-install__highlights li {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-space-10); }

.tob-mcp-install__highlights li::before {
  border-bottom: var(--tob-border-thick) solid var(--tob-highlight);
  border-right: var(--tob-border-thick) solid var(--tob-highlight);
  content: "";
  height: var(--tob-space-10);
  margin-top: var(--tob-border-thick-negative);
  transform: rotate(45deg);
  width: var(--tob-space-8); }

.tob-section--mcp-attack-research {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: 0;
  --tob-section-heading-border: var(--tob-cement-2); }

.tob-section--mcp-attack-research .tob-section-heading h2 {
  margin: 0 0 var(--tob-space-10); }

.tob-section--mcp-attack-research .tob-accordion__icon svg [fill]:not([fill="none"]) {
  fill: currentColor; }

.tob-section--mcp-attack-research .tob-accordion__icon svg [stroke]:not([stroke="none"]) {
  stroke: currentColor; }

.tob-section--mcp-attack-research .tob-section-heading__subtitle {
  --tob-body-size: var(--tob-type-body-lg);
  --tob-body-line-height: var(--tob-lh-body); }

.tob-section--mcp-attack-research .tob-accordion__section-label {
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh); }

.tob-section--mcp-webinar {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-webinar-gap: var(--tob-space-16);
  --tob-webinar-column-width: calc(
    (100% - var(--tob-webinar-gap)) / 2
  );
  --tob-webinar-media-aspect: 16 / 9; }

.tob-section--mcp-resources {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-component-mcp-resources-stack-gap);
  --tob-section-heading-border-width: var(--tob-border-standard);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--mcp-resources .tob-section-heading.tob-section-heading--dark {
  padding: 0; }

.tob-section--mcp-resources .tob-section-heading.tob-section-heading--dark > h2 {
  padding: var(--tob-space-20) 0; }

.tob-section--mcp-resources .tob-subhead,
.tob-section--mcp-resources .tob-section-heading__subtitle {
  opacity: 1; }

.tob-section--mcp-resources .tob-section-heading__subtitle {
  margin-top: var(--tob-space-16); }

.tob-section--mcp-resources .tob-section-heading > p.tob-body-copy {
  --tob-body-size: var(--tob-type-body-sm);
  --tob-body-line-height: var(--tob-lh-body); }

.tob-mcp-resources__groups {
  display: grid;
  column-gap: var(--tob-layout-two-column-gap);
  row-gap: var(--tob-component-mcp-resources-groups-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0; }

.tob-mcp-resources__group > h3 {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  margin: 0 0 var(--tob-component-mcp-resources-group-title-margin-bottom);
  padding: var(--tob-space-20) 0; }

.tob-mcp-resources__grid {
  display: grid;
  column-gap: var(--tob-space-32);
  row-gap: var(--tob-component-mcp-resources-row-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch; }

.tob-mcp-resources__item {
  display: flex;
  height: 100%;
  position: relative; }

.tob-section--mcp-resources .tob-card--tool {
  --tob-card-title-lines: 2;
  --tob-card-body-lines: 3;
  --tob-card-title-min-height: var(
    --tob-component-mcp-resources-tool-title-min-height
  );
  --tob-card-body-min-height: calc(
    var(--tob-type-body-xs) * 1.4 * var(--tob-card-body-lines)
  );
  flex: 1;
  padding: var(--tob-space-20) var(--tob-space-10); }

.tob-section--mcp-resources .tob-tool-card {
  flex: 1; }

.tob-section--mcp-resources .tob-tool-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-10);
  margin: auto 0 0; }

.tob-section--mcp-resources .tob-chip--tag {
  --tob-chip-text-color: #fff;
  /* guardrail-allow: figma-match */
  padding: var(--tob-component-mcp-resources-chip-padding); }

.tob-section--mcp-resources .tob-card--tool .tob-card__body {
  font-size: var(--tob-type-body-xs);
  font-weight: 250;
  line-height: 1.4;
  max-width: 100%;
  padding-right: var(--tob-component-mcp-resources-tool-body-padding-right); }

.tob-section--mcp-resources .tob-card--tool .tob-card__title {
  font-size: var(--tob-type-h6-xs);
  letter-spacing: 0.01em;
  line-height: var(--tob-lh-h6-xs);
  min-height: var(--tob-component-mcp-resources-tool-title-min-height); }

.tob-section--mcp-research {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--mcp-research .tob-events--style-recent-grid .tob-event-card__actions {
  --tob-event-actions-columns: minmax(0, 1fr); }

.tob-section--mcp-research .tob-events {
  --tob-event-button-font-size: var(--tob-type-ui-button-lg);
  --tob-event-button-line-height: var(--tob-type-ui-button-lg-lh);
  --tob-event-button-letter-spacing: var(--tob-type-ui-button-lg-letter); }

.tob-section--mcp-work .tob-work__subtitle {
  font-size: var(--tob-type-built-subhead);
  letter-spacing: var(--tob-type-ui-letter-tight); }

#faq .tob-section-heading__subtitle {
  --tob-body-size: var(--tob-type-body-lg);
  --tob-body-line-height: var(--tob-lh-body); }

.tob-section--mcp-cta-split {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision; }

.tob-section--mcp-cta-split::before,
.tob-section--mcp-cta-split::after {
  background-color: var(--tob-ink);
  background-size: var(--tob-component-mcp-cta-split-texture-mask-width) var(--tob-component-mcp-cta-split-texture-mask-height);
  content: "";
  mask-image: url("../img/patterns/footer-halftone.svg");
  mask-position: var(--tob-component-mcp-cta-split-texture-top-offset-x) var(--tob-component-mcp-cta-split-texture-top-offset-y);
  mask-repeat: no-repeat;
  mask-size: var(--tob-component-mcp-cta-split-texture-mask-width) var(--tob-component-mcp-cta-split-texture-mask-height);
  opacity: 0.8;
  position: absolute;
  z-index: 0;
  -webkit-mask-image: url("../img/patterns/footer-halftone.svg");
  -webkit-mask-position: var(--tob-component-mcp-cta-split-texture-top-offset-x) var(--tob-component-mcp-cta-split-texture-top-offset-y);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: var(--tob-component-mcp-cta-split-texture-mask-width) var(--tob-component-mcp-cta-split-texture-mask-height); }

.tob-section--mcp-cta-split::before {
  bottom: 0;
  height: var(--tob-component-mcp-cta-split-texture-bottom-height);
  left: auto;
  mask-position: var(--tob-component-mcp-cta-split-texture-bottom-mask-offset-x) var(--tob-component-mcp-cta-split-texture-bottom-mask-offset-y);
  opacity: 0.85;
  right: 0;
  top: auto;
  transform: rotate(180deg);
  transform-origin: center;
  width: var(--tob-component-mcp-cta-split-texture-bottom-width);
  -webkit-mask-position: var(--tob-component-mcp-cta-split-texture-bottom-mask-offset-x) var(--tob-component-mcp-cta-split-texture-bottom-mask-offset-y); }

.tob-section--mcp-cta-split::after {
  height: var(--tob-component-mcp-cta-split-texture-top-height);
  left: 0;
  top: 0;
  width: var(--tob-component-mcp-cta-split-texture-top-width); }

.tob-mcp-cta-split {
  display: grid;
  gap: var(--tob-space-16);
  grid-template-columns: minmax(0, var(--tob-component-mcp-cta-split-title-max-width)) minmax(0, var(--tob-component-mcp-cta-split-content-max-width));
  position: relative;
  z-index: 1; }

.tob-mcp-cta-split__title {
  border-top: var(--tob-border-thin) solid var(--tob-cement-3);
  max-width: var(--tob-component-mcp-cta-split-title-max-width);
  padding-top: var(--tob-space-20);
  width: 100%; }

.tob-mcp-cta-split__title h2 {
  margin: 0;
  text-transform: uppercase; }

.tob-mcp-cta-split__content {
  --tob-stack-gap: var(--tob-space-40);
  border-top: var(--tob-border-thin) solid var(--tob-cement-3);
  max-width: var(--tob-component-mcp-cta-split-content-max-width);
  padding-top: var(--tob-space-20);
  width: 100%; }

.tob-mcp-cta-split__content p {
  margin: 0; }

@media (max-width: 900px) {
  .tob-mcp-intro {
    grid-template-columns: 1fr; }
  .tob-mcp-intro > .tob-button {
    justify-self: stretch; }
  .tob-mcp-resources__groups {
    grid-template-columns: 1fr; }
  .tob-mcp-resources__grid {
    grid-template-columns: 1fr; }
  .tob-mcp-install {
    grid-template-columns: 1fr; }
  .tob-mcp-install__content {
    grid-column: 1 / -1; }
  .tob-mcp-install__heading h2 {
    white-space: normal; }
  .tob-mcp-cta-split {
    grid-template-columns: 1fr; } }

.tob-section--resources-hub {
  --tob-section-padding-top: var(--tob-section-pad-120); }

.tob-resources-hub {
  --tob-resources-row-pad-y: var(--tob-space-20);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-80); }

.tob-resources-hub__heading {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-resources-hub__title {
  color: var(--tob-chalk);
  margin: 0; }

.tob-resources-hub__title--accent {
  color: var(--tob-highlight);
  text-align: right; }

.tob-resources-hub__content {
  display: grid;
  gap: var(--tob-space-16);
  grid-template-columns: minmax(0, 1.283fr) minmax(0, 1fr); }

.tob-resources-hub__feature-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between; }

.tob-resources-hub__feature,
.tob-resources-hub__card {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  padding: var(--tob-resources-row-pad-y) 0; }

.tob-resources-hub__feature {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-24); }

.tob-resources-hub__feature-meta {
  color: var(--tob-cement);
  display: flex;
  align-items: center;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-sm);
  justify-content: space-between;
  line-height: var(--tob-lh-body);
  width: 100%; }

.tob-resources-hub__date-icon {
  height: var(--tob-space-20);
  width: var(--tob-space-20); }

.tob-resources-hub__feature-title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6);
  margin: 0;
  text-transform: none; }

.tob-resources-hub__actions {
  display: grid;
  gap: var(--tob-space-16);
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.tob-resources-hub__cards {
  display: grid;
  column-gap: var(--tob-layout-column-gap);
  row-gap: var(--tob-resources-row-pad-y);
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.tob-resources-hub__card {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20); }

.tob-resources-hub__cards .tob-resources-hub__card {
  border-top: 0; }

.tob-resources-hub__cards .tob-resources-hub__card:nth-child(-n + 2) {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2); }

.tob-resources-hub__card-title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6-xs);
  line-height: var(--tob-lh-h6-xs);
  margin: 0;
  text-transform: none;
  white-space: pre-line; }

.tob-resources-hub__card-summary {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-xxs);
  line-height: var(--tob-lh-body);
  margin: 0;
  opacity: var(--tob-body-opacity); }

.tob-resources-hub .tob-resources-hub__tag {
  min-height: var(--tob-component-chip-height-compact);
  padding: var(--tob-space-8) var(--tob-space-10);
  text-transform: none; }

.tob-section--resources-carousel {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-resources-carousel {
  --tob-resources-carousel-nav-width: var(--tob-space-84);
  --tob-resources-carousel-nav-height: var(--tob-component-resources-carousel-nav-height);
  --tob-resources-carousel-columns-desktop: 2;
  --tob-resources-row-pad-y: var(--tob-space-20);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-resources-carousel__heading {
  align-items: center;
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  display: flex;
  gap: var(--tob-space-10);
  justify-content: space-between;
  padding: var(--tob-resources-row-pad-y) 0; }

.tob-resources-carousel__title {
  margin: 0; }

.tob-resources-carousel__heading--with-cta {
  align-items: stretch;
  border-top: 0;
  column-gap: var(--tob-space-40);
  display: grid;
  grid-template-columns: var(--tob-resources-carousel-nav-width) minmax(0, 1fr) minmax(0, 1fr) var(--tob-resources-carousel-nav-width);
  padding: 0; }

.tob-resources-carousel__heading--with-cta .tob-resources-carousel__title {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  grid-column: 2;
  padding: var(--tob-resources-row-pad-y) 0; }

.tob-resources-carousel__heading--with-cta > .tob-button {
  grid-column: 3;
  --tob-button-icon-size: var(--tob-space-30); }

.tob-resources-carousel__track {
  align-items: stretch;
  display: grid;
  gap: var(--tob-space-40);
  grid-template-columns: var(--tob-resources-carousel-nav-width) minmax(0, 1fr) var(--tob-resources-carousel-nav-width); }

.tob-resources-carousel--no-controls .tob-resources-carousel__track {
  grid-template-columns: minmax(0, 1fr); }

.tob-resources-carousel--no-controls .tob-resources-carousel__viewport {
  overflow: visible; }

.tob-resources-carousel--no-controls .tob-resources-carousel__rail {
  display: grid;
  gap: var(--tob-space-40);
  grid-template-columns: repeat(var(--tob-resources-carousel-columns-desktop), minmax(0, 1fr));
  transform: none !important; }

.tob-resources-carousel--no-controls .tob-resources-carousel__card {
  flex: initial; }

.tob-resources-carousel__viewport {
  min-width: 0;
  overflow: hidden; }

.tob-resources-carousel__rail {
  display: flex;
  gap: var(--tob-space-40);
  transition: transform 300ms ease-in-out; }

.tob-resources-carousel__nav {
  align-items: center;
  align-self: stretch;
  background: var(--tob-dusk-2);
  border: 0;
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  padding: 0;
  width: var(--tob-resources-carousel-nav-width); }

.tob-resources-carousel__nav-icon {
  --tob-button-icon-size: var(--tob-space-30); }

.tob-resources-carousel__nav--prev .tob-resources-carousel__nav-icon {
  transform: rotate(180deg); }

.tob-resources-carousel__card {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc( ( 100% - ( var(--tob-space-40) * (var(--tob-resources-carousel-columns-desktop) - 1) ) ) / var(--tob-resources-carousel-columns-desktop));
  height: 100%;
  min-width: 0; }

.tob-resources-carousel__card--tool .tob-card--equal-rows {
  --tob-card-body-lines: 3;
  --tob-card-body-min-height: calc(
    var(--tob-type-body-xs) * var(--tob-lh-body) * 3
  ); }

.tob-resources-carousel__card-body {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--tob-space-24);
  min-width: 0;
  padding: var(--tob-resources-row-pad-y) 0; }

.tob-resources-carousel__meta {
  align-items: center;
  color: var(--tob-cement);
  display: flex;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-sm);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-lh-body);
  gap: var(--tob-space-16);
  text-transform: none; }

.tob-resources-carousel__meta--empty {
  min-height: var(--tob-space-20);
  visibility: hidden; }

.tob-resources-carousel__meta-icon {
  height: var(--tob-space-20);
  width: var(--tob-space-20); }

.tob-resources-carousel__meta-source {
  margin-left: auto; }

.tob-resources-carousel__card-title {
  --tob-resources-carousel-title-lines: 2;
  --tob-resources-carousel-title-height: calc(
    var(--tob-type-h6) * var(--tob-lh-h6) *
      var(--tob-resources-carousel-title-lines)
  );
  display: block;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  height: var(--tob-resources-carousel-title-height);
  line-height: var(--tob-lh-h6);
  max-height: var(--tob-resources-carousel-title-height);
  margin: 0;
  min-height: var(--tob-resources-carousel-title-height);
  overflow: hidden;
  text-transform: none; }

.tob-resources-carousel__card-title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease; }

.tob-resources-carousel__card-title-link:hover,
.tob-resources-carousel__card-title-link:focus-visible {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-resources-carousel__summary {
  --tob-resources-carousel-summary-lines: 3;
  --tob-resources-carousel-summary-height: calc(
    var(--tob-type-body-sm) * var(--tob-lh-body) *
      var(--tob-resources-carousel-summary-lines)
  );
  color: var(--tob-chalk);
  display: -webkit-box;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-sm);
  height: var(--tob-resources-carousel-summary-height);
  line-height: var(--tob-lh-body);
  max-height: var(--tob-resources-carousel-summary-height);
  margin: 0;
  min-height: var(--tob-resources-carousel-summary-height);
  opacity: var(--tob-body-opacity);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--tob-resources-carousel-summary-lines); }

.tob-resources-carousel__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-10); }

.tob-resources-carousel__tags--empty {
  min-height: var(--tob-component-chip-height-compact);
  visibility: hidden; }

.tob-resources-carousel__tags .tob-chip {
  text-transform: none; }

.tob-resources-carousel__card-action {
  display: flex;
  justify-content: flex-end; }

.tob-resources-carousel__card-action .tob-button {
  --tob-button-font-size: var(--tob-type-ui-button-sm);
  --tob-button-line-height: var(--tob-type-ui-button-lh);
  --tob-button-letter-spacing: var(--tob-type-ui-bits-sm-letter); }

.tob-section--buttercup-hero {
  --tob-section-padding-top: var(--tob-section-pad-120);
  --tob-section-padding-bottom: var(--tob-section-pad-120);
  --tob-section-stack-gap: 0; }

.tob-section__inner--buttercup-hero {
  align-items: center;
  display: flex;
  min-height: calc(var(--tob-type-display) * 2.5 + var(--tob-space-40)); }

.tob-buttercup-hero {
  align-items: flex-start;
  justify-content: center;
  width: 100%; }

.tob-buttercup-hero__label {
  margin: 0;
  text-transform: uppercase; }

.tob-buttercup-hero__title {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10);
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-display);
  line-height: var(--tob-lh-display);
  overflow: visible;
  text-transform: uppercase;
  width: 100%; }

.tob-buttercup-hero__title-line {
  color: var(--tob-chalk);
  display: block;
  margin: 0;
  white-space: nowrap;
  width: 100%; }

.tob-buttercup-hero__title-line--accent {
  color: var(--tob-highlight);
  text-align: right; }

.tob-section--buttercup-updates {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-buttercup-updates-title-width: var(
    --tob-component-buttercup-updates-title-width
  );
  --tob-buttercup-updates-form-width: var(
    --tob-component-buttercup-updates-form-width
  ); }

.tob-buttercup-updates {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-84);
  width: 100%; }

.tob-buttercup-updates__header {
  align-items: flex-start;
  display: flex;
  gap: var(--tob-space-32);
  justify-content: center;
  width: 100%; }

.tob-buttercup-updates__title {
  border-top: var(--tob-border-thin) solid var(--tob-cement-2);
  max-width: var(--tob-buttercup-updates-title-width);
  min-width: 0;
  padding-bottom: var(--tob-space-20);
  padding-top: var(--tob-space-20);
  width: 100%; }

.tob-buttercup-updates__title h2 {
  letter-spacing: var(--tob-border-standard-negative);
  margin: 0;
  text-transform: uppercase; }

.tob-buttercup-updates__form {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10);
  max-width: var(--tob-buttercup-updates-form-width);
  min-width: 0;
  width: 100%; }

.tob-buttercup-updates__field {
  letter-spacing: var(--tob-type-ui-letter-tight);
  width: 100%; }

.tob-buttercup-updates__input {
  background: var(--tob-dusk-2);
  border: 0;
  color: var(--tob-cement);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-sm);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-lh-body);
  min-height: var(--tob-component-footer-newsletter-input-height);
  padding: var(--tob-space-20);
  width: 100%; }

.tob-buttercup-updates__input::placeholder {
  color: var(--tob-cement); }

.tob-buttercup-updates__error {
  color: var(--tob-highlight-2);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-xxs);
  line-height: var(--tob-lh-body);
  margin: 0;
  width: 100%; }

.tob-buttercup-updates__stats {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-40);
  justify-content: center;
  width: 100%; }

.tob-buttercup-updates__divider {
  background: var(--tob-highlight-2);
  height: var(--tob-space-10);
  width: var(--tob-space-10); }

.tob-buttercup-updates__stat {
  align-items: center;
  display: flex;
  gap: var(--tob-space-8);
  text-align: center; }

.tob-buttercup-updates__stat-value {
  color: var(--tob-highlight-2);
  font-family: var(--tob-font-heading);
  font-size: 34px;
  line-height: 34px;
  text-transform: uppercase; }

.tob-buttercup-updates__stat-label {
  color: var(--tob-chalk);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: 1;
  text-transform: uppercase; }

.tob-section--buttercup-presentations {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-buttercup-presentations-section-width: var(
    --tob-component-buttercup-presentations-section-width
  );
  --tob-buttercup-presentations-content-width: var(
    --tob-component-buttercup-presentations-content-width
  );
  --tob-buttercup-presentations-download-width: var(
    --tob-component-buttercup-presentations-download-width
  ); }

.tob-section__inner--buttercup-presentations {
  display: flex;
  max-width: var(--tob-buttercup-presentations-section-width);
  width: 100%; }

.tob-buttercup-presentations {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  width: 100%; }

.tob-buttercup-presentations__heading {
  border-top: var(--tob-border-standard) solid var(--tob-cement);
  padding: var(--tob-space-20) 0;
  width: 100%; }

.tob-buttercup-presentations__body {
  border-top: var(--tob-border-standard) solid var(--tob-cement);
  max-width: var(--tob-buttercup-presentations-content-width);
  padding: var(--tob-space-20) 0;
  width: 100%; }

.tob-buttercup-presentations__title {
  margin: 0;
  text-transform: uppercase; }

.tob-buttercup-presentations__body p {
  margin: 0; }

.tob-buttercup-presentations__cards {
  display: flex;
  gap: var(--tob-space-10);
  max-width: var(--tob-buttercup-presentations-content-width);
  width: 100%; }

.tob-buttercup-presentations__card {
  align-items: center;
  appearance: none;
  background: transparent;
  border: var(--tob-border-standard) solid var(--tob-concrete);
  color: var(--tob-dusk);
  cursor: pointer;
  display: flex;
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-button-lg);
  flex: 1 1 0;
  justify-content: space-between;
  letter-spacing: var(--tob-type-ui-button-lg-letter);
  line-height: var(--tob-type-ui-button-lg-lh);
  min-height: var(--tob-space-80);
  padding: var(--tob-space-20);
  text-align: left;
  text-transform: uppercase;
  text-decoration: none;
  width: 100%; }

.tob-buttercup-presentations__card--active,
.tob-buttercup-presentations__card[aria-expanded="true"] {
  background: var(--tob-highlight);
  border-color: var(--tob-highlight);
  color: var(--tob-chalk); }

.tob-buttercup-presentations__card-label {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-button-lg);
  letter-spacing: var(--tob-type-ui-button-lg-letter);
  line-height: var(--tob-type-ui-button-lg-lh);
  text-transform: uppercase; }

.tob-buttercup-presentations__card-icon {
  background-color: currentColor;
  height: var(--tob-space-40);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: var(--tob-space-40);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-buttercup-presentations__card-icon--minus {
  mask-image: url("../img/icons/mcp/minus-red.svg");
  -webkit-mask-image: url("../img/icons/mcp/minus-red.svg"); }

.tob-buttercup-presentations__card-icon--plus {
  mask-image: url("../img/icons/mcp/plus.svg");
  -webkit-mask-image: url("../img/icons/mcp/plus.svg"); }

.tob-buttercup-presentations__card[aria-expanded="true"]
.tob-buttercup-presentations__card-icon {
  mask-image: url("../img/icons/mcp/minus-red.svg");
  -webkit-mask-image: url("../img/icons/mcp/minus-red.svg"); }

.tob-buttercup-presentations__highlight {
  background: var(--tob-chalk-2);
  max-width: var(--tob-buttercup-presentations-content-width);
  padding: var(--tob-space-40) var(--tob-space-10) var(--tob-space-40) var(--tob-space-40);
  width: 100%; }

.tob-buttercup-presentations__highlight-content {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20); }

.tob-buttercup-presentations__highlight-title {
  font-family: var(--tob-font-heading);
  font-size: calc(var(--tob-type-h6) + var(--tob-space-2));
  line-height: 1;
  margin: 0; }

.tob-buttercup-presentations__highlight-subtitle {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  line-height: var(--tob-lh-body);
  opacity: 0.75;
  margin: 0; }

.tob-buttercup-presentations__actions {
  display: flex;
  gap: var(--tob-space-16);
  margin-top: var(--tob-space-20-negative);
  max-width: var(--tob-buttercup-presentations-content-width);
  width: 100%; }

.tob-buttercup-presentations__action {
  flex: 1 1 0; }

.tob-section--buttercup-features {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-buttercup-features {
  --tob-buttercup-features-gap: var(--tob-component-buttercup-features-gap);
  display: flex;
  flex-direction: column;
  gap: var(--tob-buttercup-features-gap); }

.tob-buttercup-features__header {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-buttercup-features__title {
  margin: 0;
  text-transform: uppercase; }

.tob-buttercup-features__body {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement);
  padding: var(--tob-space-20) 0; }

.tob-buttercup-features__body p {
  margin: 0; }

.tob-buttercup-features__label {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: 1;
  margin: 0;
  text-transform: uppercase; }

.tob-buttercup-features__grid {
  display: grid;
  gap: var(--tob-space-16);
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.tob-buttercup-features__column {
  display: flex;
  flex-direction: column; }

.tob-buttercup-features__item {
  align-items: center;
  border-bottom: var(--tob-border-standard) solid var(--tob-cement);
  color: var(--tob-dusk);
  display: flex;
  gap: var(--tob-space-16);
  padding: var(--tob-space-20) 0; }

.tob-buttercup-features__item--top {
  border-top: var(--tob-border-standard) solid var(--tob-cement); }

.tob-buttercup-features__icon {
  background-color: currentColor;
  display: inline-block;
  flex-shrink: 0;
  height: var(--tob-component-buttercup-feature-icon-height);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: var(--tob-space-84);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-buttercup-features__icon--feature-adaptive {
  mask-image: url("../img/icons/buttercup/feature-adaptive.svg");
  -webkit-mask-image: url("../img/icons/buttercup/feature-adaptive.svg"); }

.tob-buttercup-features__icon--feature-validation {
  mask-image: url("../img/icons/buttercup/feature-validation.svg");
  -webkit-mask-image: url("../img/icons/buttercup/feature-validation.svg"); }

.tob-buttercup-features__icon--feature-patching {
  mask-image: url("../img/icons/buttercup/feature-patching.svg");
  -webkit-mask-image: url("../img/icons/buttercup/feature-patching.svg"); }

.tob-buttercup-features__icon--feature-autonomous {
  mask-image: url("../img/icons/buttercup/feature-autonomous.svg");
  -webkit-mask-image: url("../img/icons/buttercup/feature-autonomous.svg"); }

.tob-buttercup-features__icon--feature-scalable {
  mask-image: url("../img/icons/buttercup/feature-scalable.svg");
  -webkit-mask-image: url("../img/icons/buttercup/feature-scalable.svg"); }

.tob-buttercup-features__icon--feature-language {
  mask-image: url("../img/icons/buttercup/feature-language.svg");
  -webkit-mask-image: url("../img/icons/buttercup/feature-language.svg"); }

.tob-buttercup-features__text {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: 1; }

.tob-section--buttercup-webinar {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-webinar-gap: 15px;
  --tob-webinar-column-width: calc(
    (100% - var(--tob-webinar-gap)) / 2
  );
  --tob-webinar-media-aspect: 777 / 439; }

.tob-buttercup-webinar__title {
  letter-spacing: 0; }

.tob-buttercup-webinar__body {
  letter-spacing: 0;
  opacity: 0.75; }

.tob-buttercup-webinar__meta {
  gap: var(--tob-space-32); }

.tob-section--buttercup-webinar
.tob-button--variant-cta-20-left-bottom
.tob-button__label {
  font-size: 24px;
  letter-spacing: -0.48px;
  line-height: 24px; }

.tob-buttercup-webinar__controls {
  align-items: center;
  display: grid;
  grid-template-columns: auto 1fr auto;
  width: var(--tob-webinar-column-width); }

.tob-buttercup-webinar__dots {
  display: flex;
  gap: var(--tob-space-4);
  justify-content: center; }

.tob-buttercup-webinar__dot {
  appearance: none;
  background: var(--tob-highlight);
  border: 0;
  cursor: pointer;
  height: var(--tob-space-4);
  opacity: 0.5;
  padding: 0;
  width: var(--tob-space-4); }

.tob-buttercup-webinar__dot--active {
  opacity: 1; }

.tob-buttercup-webinar__nav {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  display: inline-flex;
  padding: 0; }

.tob-buttercup-webinar__nav-icon {
  --tob-button-icon-size: var(--tob-space-20); }

.tob-buttercup-webinar__nav--prev .tob-buttercup-webinar__nav-icon {
  transform: rotate(180deg); }

.tob-section--buttercup-resources {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  --tob-section-padding-y: var(--tob-space-60);
  --tob-buttercup-resources-gap: var(--tob-space-32);
  --tob-buttercup-resources-column-gap: var(--tob-space-32); }

.tob-buttercup-resources {
  display: flex;
  flex-direction: column;
  gap: var(--tob-buttercup-resources-gap); }

.tob-buttercup-resources__heading {
  border-bottom: var(--tob-border-thick) solid color-mix(in srgb, var(--tob-dusk-2) 85%, var(--tob-cement-2) 15%);
  border-top: var(--tob-border-thick) solid color-mix(in srgb, var(--tob-dusk-2) 85%, var(--tob-cement-2) 15%);
  padding: var(--tob-space-20) 0; }

.tob-buttercup-resources__title {
  font-family: var(--tob-font-body);
  font-size: calc(var(--tob-type-h6-small) + var(--tob-space-2));
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-space-40);
  margin: 0;
  text-transform: none; }

.tob-buttercup-resources__title-accent {
  color: var(--tob-highlight); }

.tob-buttercup-resources__title-base {
  color: var(--tob-chalk); }

.tob-buttercup-resources__grid {
  display: grid;
  gap: var(--tob-buttercup-resources-column-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.tob-buttercup-resources__column {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-32); }

.tob-buttercup-resources__card-group {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16); }

.tob-section--buttercup-resources .tob-buttercup-resources__card {
  --tob-card-padding-x: var(--tob-space-20);
  --tob-card-title-lines: 2;
  --tob-card-body-lines: 4;
  --tob-card-title-min-height: calc(var(--tob-type-h6-small) * var(--tob-lh-h6-small) * var(--tob-card-title-lines));
  --tob-card-body-min-height: calc(var(--tob-type-body-xs) * var(--tob-lh-body) * var(--tob-card-body-lines)); }

.tob-buttercup-resources__card--compact {
  padding-bottom: var(--tob-space-20); }

.tob-buttercup-resources__card-header {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16); }

.tob-section--buttercup-resources .tob-button--variant-cta-16-right-top {
  --tob-button-padding-top: var(--tob-space-16);
  --tob-button-font-size: var(--tob-type-ui-button-sm);
  --tob-button-line-height: var(--tob-type-ui-button-lh);
  --tob-button-letter-spacing: var(--tob-type-ui-letter-tight); }

.tob-section--buttercup-resources
.tob-button--variant-cta-16-right-top
.tob-button__content {
  gap: var(--tob-space-8); }

.tob-buttercup-resources__pill {
  align-self: flex-start;
  background: var(--tob-dusk);
  border: var(--tob-border-standard) solid var(--tob-highlight-25);
  border-radius: var(--tob-space-2);
  color: var(--tob-cement);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  padding: var(--tob-space-10);
  text-transform: uppercase; }

.tob-buttercup-resources__card-title {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  line-height: var(--tob-lh-h6-small);
  margin: 0;
  text-transform: none; }

.tob-buttercup-resources__card-title--padded {
  padding-bottom: calc(var(--tob-type-h6-small) + var(--tob-space-10)); }

.tob-buttercup-resources__meta {
  color: var(--tob-highlight-2);
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-20);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase; }

.tob-buttercup-resources__meta-item {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-space-4); }

.tob-buttercup-resources__meta-label {
  color: var(--tob-chalk);
  font-weight: 700;
  letter-spacing: var(--tob-type-ui-letter-tight); }

.tob-buttercup-resources__copy {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-buttercup-resources__speakers,
.tob-buttercup-resources__body {
  margin: 0; }

.tob-buttercup-resources__speakers {
  color: var(--tob-chalk);
  font-size: var(--tob-type-body-xs);
  font-weight: 600;
  line-height: var(--tob-lh-body);
  opacity: 1; }

.tob-buttercup-resources__body {
  color: var(--tob-chalk); }

.tob-section--buttercup-competition {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border-bottom: var(--tob-border-standard); }

.tob-buttercup-competition {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-40); }

.tob-buttercup-competition__grid {
  --tob-buttercup-competition-row-gap: var(--tob-space-32);
  display: grid;
  column-gap: var(--tob-space-32);
  row-gap: var(--tob-buttercup-competition-row-gap);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch; }

.tob-buttercup-competition__card-group {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  height: 100%; }

.tob-section--buttercup-competition .tob-tool-card {
  --tob-stack-gap: var(--tob-space-16); }

.tob-section--buttercup-competition .tob-card--tool {
  --tob-stack-gap: var(--tob-space-20);
  --tob-card-title-lines: 2;
  --tob-card-subtitle-lines: 2;
  --tob-card-body-lines: 2;
  --tob-card-title-min-height: calc(var(--tob-type-h6-small) * var(--tob-lh-h6-small) * var(--tob-card-title-lines));
  --tob-card-subtitle-min-height: calc(var(--tob-type-body-xs) * 1.2 * var(--tob-card-subtitle-lines));
  --tob-card-body-min-height: calc(var(--tob-type-body-md) * 1.2 * var(--tob-card-body-lines));
  padding: var(--tob-space-20); }

.tob-section--buttercup-competition .tob-card__subtitle {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-xs);
  line-height: 1.2;
  margin: 0;
  opacity: var(--tob-body-opacity);
  text-transform: none; }

.tob-section--buttercup-competition .tob-card__body {
  color: var(--tob-dusk);
  font-size: var(--tob-type-body-md);
  line-height: 1.2;
  margin: 0; }

.tob-section--buttercup-team {
  --tob-section-padding-y: var(--tob-section-pad-80); }

.tob-buttercup-team {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-buttercup-team__heading {
  border-top: var(--tob-border-thin) solid var(--tob-cement-2-50);
  padding: var(--tob-space-20) 0;
  width: 100%; }

.tob-buttercup-team__title {
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h4);
  line-height: var(--tob-lh-h4);
  margin: 0;
  text-transform: uppercase; }

.tob-buttercup-team__grid {
  column-gap: var(--tob-space-32);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-left: 0;
  max-width: none;
  row-gap: 0;
  width: 100%; }

.tob-buttercup-team__member {
  border-bottom: var(--tob-border-thin) solid var(--tob-cement-2-50);
  border-top: var(--tob-border-thin) solid var(--tob-cement-2-50);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  padding: var(--tob-space-20) 0; }

.tob-buttercup-team__member-main {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16); }

.tob-buttercup-team__name {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6);
  margin: 0; }

.tob-buttercup-team__link {
  align-items: center;
  display: inline-flex;
  text-decoration: none; }

.tob-buttercup-team__icon {
  background-color: var(--tob-cement);
  display: block;
  height: var(--tob-space-24);
  mask-image: url("../img/icons/linkedin.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: var(--tob-space-24);
  -webkit-mask-image: url("../img/icons/linkedin.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-buttercup-team__role {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  line-height: var(--tob-lh-body);
  margin: 0;
  opacity: 0.75; }

.tob-section--news-coverage,
.tob-section--buttercup-news {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-news-coverage-column-gap: var(--tob-layout-two-column-gap);
  --tob-news-coverage-row-gap: var(--tob-space-60);
  --tob-news-coverage-stack-gap: var(--tob-space-48);
  --tob-news-coverage-summary-max-width: var(
    --tob-component-buttercup-news-summary-max-width
  );
  /* Legacy aliases: remove after migration off buttercup-news naming. */
  --tob-buttercup-news-column-gap: var(--tob-news-coverage-column-gap);
  --tob-buttercup-news-row-gap: var(--tob-news-coverage-row-gap);
  --tob-buttercup-news-stack-gap: var(--tob-news-coverage-stack-gap); }

.tob-news-coverage,
.tob-buttercup-news {
  display: flex;
  flex-direction: column;
  gap: var(--tob-news-coverage-stack-gap, var(--tob-space-8)); }

.tob-news-coverage__header,
.tob-buttercup-news__header {
  align-items: stretch;
  column-gap: var(--tob-news-coverage-column-gap);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%; }

.tob-news-coverage__heading,
.tob-buttercup-news__heading {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2-50);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-24);
  padding: var(--tob-space-20) 0; }

.tob-news-coverage__title,
.tob-buttercup-news__title {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-built-subhead);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: calc(var(--tob-type-built-subhead) * var(--tob-lh-built-subhead));
  margin: 0;
  text-transform: none; }

.tob-news-coverage__header > .tob-button,
.tob-buttercup-news__header > .tob-button {
  align-self: start; }

.tob-news-coverage__summary-text,
.tob-buttercup-news__summary-text {
  color: var(--tob-chalk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-md);
  letter-spacing: 0.009em;
  line-height: var(--tob-lh-body);
  margin: 0;
  max-width: var(--tob-news-coverage-summary-max-width); }

.tob-news-coverage__grid,
.tob-buttercup-news__grid {
  --tob-event-column-gap: var(--tob-news-coverage-column-gap);
  --tob-event-row-gap: var(--tob-news-coverage-row-gap);
  --tob-event-content-gap: var(--tob-space-24);
  --tob-event-media-content-gap: var(--tob-space-12);
  --tob-event-tags-outside-gap: var(--tob-space-24);
  --tob-event-content-border-color: var(--tob-cement-2-50);
  --tob-event-meta-color: var(--tob-cement);
  --tob-event-meta-font-family: var(--tob-font-mono);
  --tob-event-meta-font-size: var(--tob-type-ui-bits-sm);
  --tob-event-meta-line-height: var(--tob-type-ui-bits-sm-lh);
  --tob-event-title-color: var(--tob-chalk);
  --tob-event-summary-color: var(--tob-chalk);
  --tob-event-summary-opacity: 0.75;
  --tob-event-summary-line-clamp: 4;
  --tob-event-actions-gap: var(--tob-space-16);
  --tob-event-actions-columns: minmax(0, 1fr);
  --tob-event-button-font-size: var(--tob-type-ui-button-sm);
  --tob-event-button-line-height: var(--tob-type-ui-button-lh);
  --tob-event-button-letter-spacing: var(--tob-type-ui-letter-tight);
  --tob-event-button-width: 100%; }

.tob-section--buttercup-timeline .tob-timeline__detail-title {
  font-size: var(--tob-type-h6-xs);
  line-height: calc(var(--tob-type-h6-xs) * var(--tob-lh-h2)); }

.tob-section--buttercup-timeline
.tob-timeline__detail:nth-of-type(1)
.tob-timeline__detail-title {
  font-size: var(--tob-type-h6);
  line-height: calc(var(--tob-type-h6) * var(--tob-lh-h6)); }

.tob-section--news-coverage .tob-news-coverage__grid .tob-event-card__content,
.tob-section--buttercup-news .tob-buttercup-news__grid .tob-event-card__content {
  padding: var(--tob-space-24) 0; }

.tob-section--news-coverage .tob-news-coverage__grid .tob-event-card__media,
.tob-section--buttercup-news .tob-buttercup-news__grid .tob-event-card__media {
  min-width: 0; }

.tob-section--news-coverage .tob-news-coverage__grid .tob-event-card__eyebrow,
.tob-section--buttercup-news .tob-buttercup-news__grid .tob-event-card__eyebrow {
  color: var(--tob-highlight-2);
  display: -webkit-box;
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  margin: 0;
  min-height: calc(var(--tob-type-ui-bits-lg) * var(--tob-type-ui-bits-lg-lh));
  overflow: hidden;
  padding: 0;
  text-align: left;
  text-transform: uppercase;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; }

.tob-section--news-coverage .tob-news-coverage__grid .tob-event-card__meta,
.tob-section--buttercup-news .tob-buttercup-news__grid .tob-event-card__meta {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  line-height: var(--tob-type-ui-bits-sm-lh); }

.tob-section--news-coverage .tob-news-coverage__grid .tob-event-card__date > span,
.tob-section--news-coverage .tob-news-coverage__grid .tob-event-card__count,
.tob-section--buttercup-news .tob-buttercup-news__grid .tob-event-card__date > span,
.tob-section--buttercup-news .tob-buttercup-news__grid .tob-event-card__count {
  color: var(--tob-chalk);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: var(--tob-type-ui-bits-sm-letter); }

.tob-section--news-coverage .tob-news-coverage__grid .tob-event-card__actions .tob-button,
.tob-section--buttercup-news .tob-buttercup-news__grid .tob-event-card__actions .tob-button {
  --tob-button-width: 100%;
  --tob-button-content-width: 100%;
  --tob-button-font-size: var(--tob-type-ui-button-sm);
  --tob-button-line-height: var(--tob-type-ui-button-lh);
  --tob-button-letter-spacing: var(--tob-type-ui-bits-sm-letter); }

.tob-section--careers-hero {
  min-height: var(--tob-component-careers-hero-height);
  --tob-body-opacity: 1;
  --tob-section-padding-bottom: var(--tob-section-pad-120);
  --tob-section-padding-top: var(--tob-section-pad-120);
  --tob-component-hero-copy-max-width: var(--tob-component-careers-hero-copy-max-width);
  --tob-component-button-hero-max-width: var(
    --tob-component-careers-hero-copy-max-width
  ); }

.tob-section--careers-hero .tob-hero__title {
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-section--careers-hero .tob-hero__copy {
  --tob-stack-gap: var(--tob-space-16); }

.tob-section--careers-hero .tob-hero__subline {
  --tob-border-width: var(--tob-border-standard);
  font-family: var(--tob-font-body);
  font-weight: 400;
  letter-spacing: var(--tob-type-hero-subline-letter, var(--tob-type-ui-letter-tight)); }

.tob-section--careers-open-positions {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-border-width: var(--tob-border-standard); }

.tob-careers-positions {
  --tob-stack-gap: var(--tob-space-76); }

.tob-careers-positions__grid {
  display: grid;
  column-gap: var(--tob-space-80);
  row-gap: var(--tob-space-40);
  grid-template-columns: repeat(3, minmax(0, 1fr)); }

.tob-careers-positions__card {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-careers-positions__card-link {
  color: inherit;
  text-decoration: none; }

.tob-careers-positions__card-link:focus-visible {
  outline: var(--tob-border-standard) solid var(--tob-highlight);
  outline-offset: var(--tob-space-2); }

.tob-careers-positions__card-link:hover .tob-careers-positions__title-text,
.tob-careers-positions__card-link:focus-visible .tob-careers-positions__title-text {
  color: var(--tob-highlight); }

.tob-careers-positions__category {
  color: var(--tob-highlight-2); }

.tob-careers-positions__title {
  padding: var(--tob-space-20) 0;
  border-bottom: 0;
  border-top: 0;
  box-shadow: 0 var(--tob-border-standard-negative) 0 var(--tob-cement-2), 0 var(--tob-border-standard) 0 var(--tob-cement-2); }

.tob-careers-positions__title-text {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6);
  margin: 0;
  min-height: calc(var(--tob-type-h6) * 2);
  text-transform: none; }

.tob-careers-positions__meta {
  display: flex;
  flex-direction: column; }

.tob-careers-positions__location {
  padding: var(--tob-space-20) 0; }

.tob-careers-positions__pipeline-title {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-hero-subline);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-lh-hero-subline);
  padding: var(--tob-space-20) 0; }

.tob-careers-positions__pipeline-body {
  border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
  margin-left: var(--tob-space-100);
  padding: var(--tob-space-20) 0; }

.tob-section--careers-why {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-border-width: var(--tob-border-standard);
  --tob-section-stack-gap: var(--tob-space-30);
  --tob-card-feature-padding-y: var(--tob-space-24);
  --tob-component-feature-icon-size: var(--tob-component-careers-why-icon-size); }

.tob-section--careers-why .tob-section-heading.tob-section-heading--dark + * {
  margin-top: 0; }

.tob-section--careers-why .tob-card-grid {
  column-gap: var(--tob-space-48);
  max-width: none;
  margin-left: 0; }

.tob-section--careers-why .tob-card--feature {
  border-bottom: 0;
  border-top: 0;
  border-color: var(--tob-cement-2);
  --tob-stack-gap: var(--tob-space-16);
  box-shadow: 0 var(--tob-border-standard-negative) 0 var(--tob-cement-2), 0 var(--tob-border-standard) 0 var(--tob-cement-2); }

.tob-section--careers-why .tob-card--feature .tob-card__title {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small); }

.tob-section--careers-awards {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-border-width: var(--tob-border-standard);
  --tob-section-stack-gap: var(--tob-space-16); }

.tob-section--careers-awards .tob-section-heading.tob-section-heading--dark + * {
  margin-top: 0; }

.tob-careers-awards__body {
  margin: 0; }

.tob-careers-awards__grid {
  display: grid;
  column-gap: var(--tob-space-48);
  row-gap: var(--tob-space-16);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: var(--tob-component-careers-awards-grid-width); }

.tob-careers-awards__item {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20);
  padding-bottom: var(--tob-space-20);
  position: relative;
  text-align: center; }

.tob-careers-awards__item::after {
  background: var(--tob-cement-2);
  bottom: 0;
  content: "";
  height: var(--tob-border-standard);
  left: 0;
  position: absolute;
  right: 0; }

.tob-section--careers-perks {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-heading-border: var(--tob-cement-2);
  --tob-section-heading-border-width: var(--tob-border-standard);
  --tob-section-heading-shadow: none;
  --tob-body-opacity: 1; }

.tob-careers-perks {
  margin: 0 auto;
  max-width: var(--tob-component-careers-perks-grid-width);
  --tob-stack-gap: var(--tob-space-40);
  width: 100%; }

.tob-careers-perks__grid {
  display: grid;
  column-gap: var(--tob-space-40);
  row-gap: var(--tob-space-40);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  max-width: none;
  width: 100%; }

.tob-careers-perks__card {
  background: var(--tob-dusk-2);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20);
  padding: var(--tob-space-20) var(--tob-space-10); }

.tob-careers-perks__header {
  align-items: center;
  display: flex;
  gap: var(--tob-space-20); }

.tob-careers-perks__icon {
  height: var(--tob-component-careers-perks-icon-size);
  width: var(--tob-component-careers-perks-icon-size); }

.tob-careers-perks__label {
  background: var(--tob-dusk);
  border-radius: var(--tob-space-2);
  box-shadow: inset 0 0 0 var(--tob-border-standard) var(--tob-highlight-25);
  color: var(--tob-cement);
  display: inline-flex;
  align-items: center;
  padding: var(--tob-space-10); }

.tob-careers-perks__title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small);
  margin: 0;
  text-transform: none; }

.tob-careers-perks__list {
  --tob-body-size: var(--tob-type-body-xs);
  --tob-body-line-height: var(--tob-lh-body);
  --tob-body-opacity: 0.75;
  list-style: disc;
  list-style-position: outside;
  margin: 0;
  min-height: var(--tob-component-careers-perks-list-min-height);
  opacity: 1;
  padding-left: var(--tob-space-20); }

.tob-careers-perks__list li {
  margin: 0;
  opacity: var(--tob-body-opacity); }

#candidate-faq .tob-accordion__item:nth-of-type(1) .tob-accordion__summary {
  font-size: var(--tob-type-accordion-title-lg);
  line-height: calc( var(--tob-type-accordion-title-lg) * var(--tob-lh-accordion-title-lg)); }

#candidate-faq .tob-accordion__body a,
#candidate-faq .tob-accordion__body a:hover,
#candidate-faq .tob-accordion__body a:focus-visible {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-scroll-indicator {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-bits-sm-letter);
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--tob-cement);
  height: 90vh;
  max-height: var(--tob-component-scroll-indicator-max-height);
  padding-right: var(--tob-space-10);
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 60; }

.tob-scroll-indicator__top,
.tob-scroll-indicator__bottom {
  display: flex;
  flex-direction: column;
  gap: clamp(var(--tob-space-12), 2vh, var(--tob-space-24));
  align-items: center; }

.tob-scroll-indicator__bottom {
  align-items: flex-end;
  margin-top: auto; }

.tob-scroll-indicator__text {
  text-orientation: mixed;
  text-transform: uppercase;
  white-space: nowrap;
  writing-mode: vertical-rl; }

.tob-scroll-indicator__track {
  background: var(--tob-cement-2);
  flex: 1 1 auto;
  margin: clamp(var(--tob-space-20), 3vh, var(--tob-space-40)) 0;
  position: relative;
  width: var(--tob-border-thin);
  cursor: pointer;
  pointer-events: auto;
  touch-action: none; }

.tob-scroll-indicator__track::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: var(--tob-space-12); }

.tob-scroll-indicator__thumb {
  background: var(--tob-highlight);
  height: var(--tob-space-12);
  left: 50%;
  position: absolute;
  top: var(--tob-scroll-thumb-offset, 0);
  transform: translateX(-50%);
  width: var(--tob-space-12);
  cursor: grab;
  pointer-events: auto;
  touch-action: none; }

.tob-scroll-indicator__thumb.is-dragging {
  cursor: grabbing; }

.tob-scroll-indicator__squares {
  display: grid;
  gap: var(--tob-space-10); }

.tob-scroll-indicator__square {
  background: var(--tob-cement);
  height: var(--tob-space-12);
  width: var(--tob-space-12); }

.tob-scroll-indicator__square--accent {
  background: var(--tob-highlight); }

.tob-scroll-indicator__px {
  align-items: center;
  display: flex;
  inline-size: var(--tob-scroll-px-inline, 8ch);
  justify-content: center;
  text-orientation: mixed;
  text-transform: uppercase;
  white-space: nowrap;
  writing-mode: vertical-rl; }

@media (max-width: 900px) {
  .tob-nav {
    display: none; }
  .tob-nav-mobile {
    display: flex; }
  .tob-search-modal {
    padding: var(--tob-space-24); }
  .tob-search-modal__dialog {
    max-width: none;
    width: 100%; }
  .tob-section {
    --tob-section-padding-x: var(--tob-grid-mobile-margin);
    --tob-section-padding-y: var(--tob-layout-section-padding-y-mobile);
    --tob-section-pad-200: var(--tob-space-120);
    --tob-section-pad-120: var(--tob-layout-section-padding-y-hero-mobile);
    --tob-section-pad-80: var(--tob-layout-section-padding-y-mobile);
    --tob-section-pad-40: var(--tob-space-40); }
  .tob-section--shell-feature,
  .tob-section--shell-dense,
  .tob-section--shell-compact {
    --tob-section-padding-y: var(--tob-section-pad-80); }
  .tob-section--shell-hero {
    --tob-section-padding-y: var(--tob-section-pad-120); }
  .tob-section--shell-immersive {
    --tob-section-padding-y: var(--tob-section-pad-200); }
  .tob-section--not-found {
    padding: 0; }
  .tob-hero__subline {
    font-size: var(--tob-type-hero-subline);
    line-height: var(--tob-lh-hero-subline); }
  .tob-hero__details {
    grid-template-columns: 1fr; }
  .tob-hero__title-line {
    white-space: normal; }
  .tob-section--why-tob-hero .tob-hero__title {
    font-size: var(--tob-type-h2);
    line-height: var(--tob-lh-h2); }
  .tob-why-tob-hero__details {
    grid-template-columns: 1fr; }
  .tob-why-tob-differentiators__grid {
    grid-template-columns: 1fr; }
  .tob-why-tob-differentiators__item--last-row {
    border-bottom: 0; }
  .tob-why-tob-differentiators__group
.tob-why-tob-differentiators__item:last-child {
    border-bottom: var(--tob-border-standard) solid var(--tob-cement-2); }
  .tob-section--security-engineering-work
.tob-why-tob-differentiators__item:nth-last-child(-n + 2) {
    border-bottom: 0;
    padding-bottom: var(--tob-space-20); }
  .tob-section--security-engineering-work
.tob-why-tob-differentiators__item:last-child {
    border-bottom: var(--tob-border-standard) solid var(--tob-cement-2);
    padding-bottom: var(--tob-component-security-engineering-work-item-padding-bottom-last-row); }
  .tob-why-tob-serve__tabs {
    grid-template-columns: 1fr;
    margin-left: 0;
    width: 100%; }
  .tob-why-tob-serve__grid {
    grid-template-columns: 1fr;
    margin-left: 0;
    width: 100%; }
  .tob-why-tob-stats__columns {
    grid-template-columns: 1fr;
    row-gap: var(--tob-space-16); }
  .tob-buttercup-hero__title-line {
    white-space: normal; }
  .tob-buttercup-updates__header {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start; }
  .tob-buttercup-updates__title {
    max-width: none;
    width: 100%; }
  .tob-buttercup-updates__form {
    align-items: stretch;
    width: 100%; }
  .tob-buttercup-updates__stats {
    justify-content: flex-start; }
  .tob-buttercup-presentations {
    align-items: stretch;
    margin-right: 0;
    max-width: none; }
  .tob-section__inner--buttercup-presentations {
    max-width: none;
    width: 100%; }
  .tob-buttercup-presentations__body,
  .tob-buttercup-presentations__cards,
  .tob-buttercup-presentations__highlight,
  .tob-buttercup-presentations__actions {
    width: 100%; }
  .tob-buttercup-presentations__cards,
  .tob-buttercup-presentations__actions {
    flex-direction: column; }
  .tob-buttercup-presentations__action {
    flex: none;
    width: 100%; }
  .tob-buttercup-presentations__highlight {
    padding-left: var(--tob-space-20);
    padding-right: var(--tob-space-20); }
  .tob-section--careers-hero {
    min-height: 0; }
  .tob-careers-awards__grid,
  .tob-careers-perks__grid,
  .tob-careers-positions__grid {
    grid-template-columns: 1fr;
    margin: 0;
    max-width: none;
    width: 100%; }
  .tob-buttercup-features__grid {
    grid-template-columns: 1fr; }
  .tob-section--buttercup-hero
.tob-buttercup-hero__title-line--accent.halftone-wrapper {
    overflow: hidden; }
  .tob-timeline__row {
    padding-bottom: var(--tob-space-20); }
  .tob-timeline__events,
  .tob-timeline__markers {
    min-width: var(--tob-component-timeline-min-width); }
  .tob-timeline__date {
    min-height: calc(2 * var(--tob-type-ui-bits-lg-lh) * 1em); }
  .tob-timeline__details {
    max-width: none; }
  .tob-timeline__detail {
    flex: 0 0 100%;
    width: 100%; }
  .tob-timeline__detail--ghost {
    display: none; }
  .tob-buttercup-webinar__row,
  .tob-mcp-webinar__row {
    grid-template-columns: 1fr; }
  .tob-buttercup-webinar__controls {
    gap: var(--tob-space-20);
    grid-template-columns: auto auto auto;
    justify-content: flex-start;
    width: 100%; }
  .tob-buttercup-resources__grid {
    grid-template-columns: 1fr; }
  .tob-buttercup-competition__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tob-buttercup-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: 0;
    max-width: none; }
  .tob-news-coverage__header,
  .tob-buttercup-news__header {
    grid-template-columns: 1fr;
    row-gap: var(--tob-space-16); }
  .tob-news-coverage__summary-text,
  .tob-buttercup-news__summary-text {
    max-width: none; }
  .tob-news-coverage__grid,
  .tob-buttercup-news__grid {
    grid-template-columns: 1fr; }
  .tob-about-principles {
    max-width: none; }
  .tob-about-principles__body {
    margin-left: 0;
    max-width: none; }
  .tob-about-top-talent__columns {
    flex-direction: column; }
  .tob-about-team__content {
    margin-left: 0;
    max-width: none; }
  .tob-about-team__filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tob-about-team__grid {
    grid-template-columns: repeat(2, var(--tob-component-about-us-team-photo-size));
    justify-content: space-between; }
  #mcp-context-protector {
    --tob-mcp-product-indent: 0; }
  #mcp-context-protector .tob-mcp-product__features {
    grid-template-columns: 1fr; }
  .tob-hero__actions {
    align-items: stretch; }
  .tob-hero__copy .tob-button {
    align-self: stretch;
    max-width: none; }
  .tob-cta-row {
    align-items: stretch;
    grid-template-columns: 1fr; }
  .tob-cta-row__action {
    justify-content: flex-start; }
  .tob-what-we-do {
    grid-template-columns: 1fr; }
  .tob-services__grid {
    grid-template-columns: 1fr;
    max-width: none;
    width: 100%; }
  .tob-cyber-policy-content__grid {
    grid-template-columns: 1fr;
    row-gap: var(--tob-space-40); }
  .tob-cyber-policy-content__main {
    grid-row: 2; }
  .tob-cyber-policy-content__sidebar {
    grid-row: 1;
    padding-top: 0; }
  .tob-cyber-policy-content__body,
  .tob-cyber-policy-content__cta,
  .tob-cyber-policy-content__links {
    margin-left: 0;
    width: 100%; }
  .tob-section--services .tob-services__grid,
  .tob-section--why-tob-capabilities .tob-services__grid {
    align-items: stretch;
    grid-template-columns: 1fr; }
  .tob-section--services .tob-card--feature,
  .tob-section--why-tob-capabilities .tob-card--feature {
    border-top: var(--tob-border-standard) solid var(--tob-section-heading-border);
    padding-top: var(--tob-component-services-card-padding-y); }
  .tob-section--services .tob-services__item:nth-child(n + 4) .tob-card--feature,
  .tob-section--why-tob-capabilities .tob-services__item:nth-child(n + 4) .tob-card--feature {
    border-top-width: var(--tob-border-standard);
    border-top-style: solid;
    padding-top: var(--tob-card-feature-padding-y, var(--tob-space-16));
    position: static; }
  .tob-section--services .tob-services__item:nth-child(n + 4) a.tob-card--feature:hover::before,
  .tob-section--services .tob-services__item:nth-child(n + 4) a.tob-card--feature:focus-visible::before,
  .tob-section--why-tob-capabilities .tob-services__item:nth-child(n + 4) a.tob-card--feature:hover::before,
  .tob-section--why-tob-capabilities .tob-services__item:nth-child(n + 4) a.tob-card--feature:focus-visible::before {
    content: none; }
  .tob-section--services-deliverables-grouped
.tob-card--feature-title-tall
.tob-card__title {
    min-height: 2.3em; }
  .tob-products-hero__layout {
    grid-template-columns: 1fr;
    align-items: start; }
  .tob-products-list__product,
  .tob-products-list__features {
    margin-left: 0;
    max-width: none; }
  .tob-products-list__product {
    grid-template-columns: 1fr; }
  .tob-products-list__grid {
    grid-template-columns: 1fr; }
  .tob-services__cta {
    justify-content: flex-start; }
  .tob-how-we-work__step {
    grid-template-columns: 1fr; }
  .tob-how-we-work__row {
    grid-template-columns: 1fr; }
  .tob-how-we-work__visual {
    min-height: 0; }
  .tob-software-way__intro {
    align-items: flex-start;
    grid-template-columns: 1fr; }
  .tob-section--software-assurance-way
.tob-section-subheading.tob-section-subheading--dark {
    margin-left: 0;
    width: 100%; }
  .tob-software-way__grid {
    grid-template-columns: 1fr;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    width: 100%; }
  .tob-section--software-assurance-tools .tob-software-tools__grid {
    grid-template-columns: 1fr;
    max-width: none; }
  .tob-section--research-development-tools .tob-software-tools__grid {
    grid-template-columns: 1fr;
    max-width: none;
    row-gap: var(--tob-space-24); }
  .tob-section--research-development-tools
.tob-software-tools__item--cta
> .tob-button {
    margin-top: 0; }
  .tob-ai-ml-split {
    grid-template-columns: 1fr; }
  .tob-ai-ml-split__content {
    grid-template-columns: 1fr; }
  .tob-section--ai-ml-approach .tob-ai-ml-split__content--two-col {
    column-gap: 0;
    row-gap: var(--tob-space-16); }
  .tob-section--ai-ml-services .tob-services__grid {
    grid-template-columns: 1fr;
    max-width: none; }
  .tob-ai-ml-case-study {
    grid-template-columns: 1fr; }
  .tob-ai-ml-case-study--split .tob-ai-ml-case-study__split {
    grid-template-columns: 1fr;
    min-height: 0;
    row-gap: var(--tob-space-40); }
  .tob-ai-ml-case-study--split .tob-ai-ml-case-study__column--meta {
    min-height: 0; }
  .tob-section--ai-ml-tools .tob-software-tools__grid {
    grid-template-columns: 1fr;
    max-width: none; }
  .tob-events--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tob-scroll-indicator {
    display: none; }
  .tob-hero__cta {
    font-size: var(--tob-type-body-md); }
  .tob-stats {
    align-items: flex-start;
    flex-direction: column; }
  .tob-resources-hub__content {
    grid-template-columns: 1fr; }
  .tob-resources-hub__feature-column {
    gap: var(--tob-space-16);
    justify-content: flex-start; }
  .tob-resources-hub__title--accent {
    text-align: left; }
  .tob-resources-carousel__heading {
    align-items: flex-start;
    flex-direction: column; }
  .tob-resources-carousel__heading--with-cta {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--tob-space-16); }
  .tob-resources-carousel__heading--with-cta .tob-resources-carousel__title,
  .tob-resources-carousel__heading--with-cta > .tob-button {
    grid-column: 1; }
  .tob-resources-carousel__track {
    grid-template-columns: minmax(0, 1fr); }
  .tob-resources-carousel__nav {
    display: none; }
  .tob-resources-carousel__viewport {
    overflow: visible; }
  .tob-resources-carousel__rail {
    display: grid;
    gap: var(--tob-space-40);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    transform: none !important;
    transition: none; }
  .tob-resources-carousel__card {
    flex: initial; } }

.tob-button {
  --tob-button-font-family: var(--tob-font-mono), "SFMono-Regular", Menlo,
    Consolas, monospace;
  --tob-button-font-size: var(--tob-type-ui-button-sm);
  --tob-button-letter-spacing: var(--tob-type-ui-letter-tight);
  --tob-button-line-height: var(--tob-type-ui-button-lh);
  --tob-button-content-gap: var(--tob-space-16);
  --tob-button-border-width: var(--tob-border-standard);
  --tob-button-border-color: currentColor;
  --tob-button-border-top: var(--tob-button-border-width);
  --tob-button-border-bottom: 0;
  --tob-button-padding-top: var(--tob-space-10);
  --tob-button-padding-bottom: 0;
  --tob-button-content-padding-left: 0;
  --tob-button-content-padding-right: var(--tob-space-8);
  --tob-button-content-justify: flex-start;
  --tob-button-content-width: auto;
  --tob-button-width: 100%;
  --tob-button-icon-size: var(--tob-space-24);
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: var(--tob-button-border-bottom) solid var(--tob-button-border-color);
  border-top: var(--tob-button-border-top) solid var(--tob-button-border-color);
  color: inherit;
  display: inline-flex;
  font-family: var(--tob-button-font-family);
  font-size: var(--tob-button-font-size);
  height: var(--tob-button-height, auto);
  letter-spacing: var(--tob-button-letter-spacing);
  line-height: var(--tob-button-line-height);
  min-height: var(--tob-button-min-height, auto);
  padding: var(--tob-button-padding-top) 0 var(--tob-button-padding-bottom);
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  width: var(--tob-button-width); }

.tob-button__content {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-button-content-gap);
  justify-content: var(--tob-button-content-justify);
  padding: 0 var(--tob-button-content-padding-right) 0 var(--tob-button-content-padding-left);
  transition: background-color 0.2s ease, color 0.2s ease;
  width: var(--tob-button-content-width); }

.tob-button--variant-cta-20-left-both,
.tob-button--variant-cta-20-left-top,
.tob-button--variant-cta-20-left-bottom,
.tob-button--variant-cta-20-right-both,
.tob-button--variant-cta-20-right-top,
.tob-button--variant-cta-20-right-bottom {
  --tob-button-font-size: var(--tob-type-body-lg);
  --tob-button-letter-spacing: var(--tob-type-ui-button-lg-letter);
  --tob-button-line-height: var(--tob-type-ui-button-lg-lh);
  --tob-button-icon-size: var(--tob-space-40);
  --tob-button-content-gap: var(--tob-space-16);
  --tob-button-padding-top: var(--tob-space-20);
  --tob-button-padding-bottom: var(--tob-space-20); }

.tob-button--variant-cta-16-left-both,
.tob-button--variant-cta-16-left-top,
.tob-button--variant-cta-16-left-bottom,
.tob-button--variant-cta-16-right-both,
.tob-button--variant-cta-16-right-top,
.tob-button--variant-cta-16-right-bottom {
  --tob-button-font-size: var(--tob-type-body-sm);
  --tob-button-line-height: var(--tob-type-ui-button-lh);
  --tob-button-icon-size: var(--tob-space-24);
  --tob-button-content-gap: var(--tob-space-8);
  --tob-button-padding-top: var(--tob-space-16);
  --tob-button-padding-bottom: var(--tob-space-16); }

.tob-button--variant-cta-20-left-both,
.tob-button--variant-cta-20-left-top,
.tob-button--variant-cta-20-left-bottom,
.tob-button--variant-cta-20-right-both,
.tob-button--variant-cta-20-right-top,
.tob-button--variant-cta-20-right-bottom,
.tob-button--variant-cta-16-left-both,
.tob-button--variant-cta-16-left-top,
.tob-button--variant-cta-16-left-bottom,
.tob-button--variant-cta-16-right-both,
.tob-button--variant-cta-16-right-top,
.tob-button--variant-cta-16-right-bottom {
  --tob-button-content-width: 100%;
  --tob-button-content-padding-left: 0;
  --tob-button-content-padding-right: 0; }

.tob-button--variant-cta-20-left-both,
.tob-button--variant-cta-20-left-top,
.tob-button--variant-cta-20-left-bottom,
.tob-button--variant-cta-16-left-both,
.tob-button--variant-cta-16-left-top,
.tob-button--variant-cta-16-left-bottom {
  --tob-button-content-justify: flex-start; }

.tob-button--variant-cta-20-right-both,
.tob-button--variant-cta-20-right-top,
.tob-button--variant-cta-20-right-bottom,
.tob-button--variant-cta-16-right-both,
.tob-button--variant-cta-16-right-top,
.tob-button--variant-cta-16-right-bottom {
  --tob-button-content-justify: flex-end; }

.tob-button--variant-cta-20-left-both,
.tob-button--variant-cta-20-right-both,
.tob-button--variant-cta-16-left-both,
.tob-button--variant-cta-16-right-both {
  --tob-button-border-top: var(--tob-button-border-width);
  --tob-button-border-bottom: var(--tob-button-border-width); }

.tob-button--variant-cta-20-left-top,
.tob-button--variant-cta-20-right-top,
.tob-button--variant-cta-16-left-top,
.tob-button--variant-cta-16-right-top {
  --tob-button-border-top: var(--tob-button-border-width);
  --tob-button-border-bottom: 0; }

.tob-button--variant-cta-20-left-bottom,
.tob-button--variant-cta-20-right-bottom,
.tob-button--variant-cta-16-left-bottom,
.tob-button--variant-cta-16-right-bottom {
  --tob-button-border-top: 0;
  --tob-button-border-bottom: var(--tob-button-border-width); }

.tob-button--variant-cta-start-bottom {
  --tob-button-border-top: 0;
  --tob-button-border-bottom: var(--tob-button-border-width);
  --tob-button-padding-top: 0;
  --tob-button-padding-bottom: var(--tob-space-16);
  --tob-button-font-size: var(--tob-type-body-sm);
  --tob-button-content-justify: flex-start;
  --tob-button-content-width: auto;
  --tob-button-width: auto;
  --tob-button-content-padding-left: 0;
  --tob-button-content-padding-right: 0; }

.tob-button--variant-subscribe {
  --tob-button-content-padding-left: 0;
  --tob-button-content-padding-right: 0; }

.tob-button--dark {
  --tob-button-border-color: var(--tob-white);
  color: var(--tob-chalk); }

.tob-button--light {
  --tob-button-border-color: var(--tob-dusk);
  color: var(--tob-dusk); }

.tob-button--accent {
  color: var(--tob-highlight); }

.tob-button--arrow:hover,
.tob-button--arrow:focus-visible,
.tob-button--variant-cta-start-bottom:hover,
.tob-button--variant-cta-start-bottom:focus-visible,
.tob-button--accent:hover,
.tob-button--accent:focus-visible {
  color: var(--tob-chalk);
  border-color: var(--tob-highlight); }

.tob-button--arrow:hover .tob-button__content,
.tob-button--arrow:focus-visible .tob-button__content,
.tob-button--variant-cta-start-bottom:hover .tob-button__content,
.tob-button--variant-cta-start-bottom:focus-visible .tob-button__content,
.tob-button--accent:hover .tob-button__content,
.tob-button--accent:focus-visible .tob-button__content {
  background: var(--tob-highlight); }

.tob-button--arrow:hover .tob-button__icon,
.tob-button--arrow:focus-visible .tob-button__icon {
  background-color: var(--tob-chalk); }

.tob-button--hover-accent:hover,
.tob-button--hover-accent:focus-visible {
  color: var(--tob-highlight);
  border-color: var(--tob-highlight); }

.tob-button--hover-accent:hover .tob-button__content,
.tob-button--hover-accent:focus-visible .tob-button__content {
  background: transparent; }

.tob-button--hover-accent:hover .tob-button__icon,
.tob-button--hover-accent:focus-visible .tob-button__icon {
  background-color: var(--tob-highlight); }

.tob-button__icon {
  background-color: var(--tob-highlight);
  display: inline-block;
  height: var(--tob-button-icon-size);
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5IDknPjxyZWN0IHg9JzQnIHk9JzEnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48cmVjdCB4PSc1JyB5PScyJyB3aWR0aD0nMScgaGVpZ2h0PScxJy8+PHJlY3QgeD0nNicgeT0nMycgd2lkdGg9JzEnIGhlaWdodD0nMScvPjxyZWN0IHg9JzEnIHk9JzQnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48cmVjdCB4PScyJyB5PSc0JyB3aWR0aD0nMScgaGVpZ2h0PScxJy8+PHJlY3QgeD0nMycgeT0nNCcgd2lkdGg9JzEnIGhlaWdodD0nMScvPjxyZWN0IHg9JzQnIHk9JzQnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48cmVjdCB4PSc1JyB5PSc0JyB3aWR0aD0nMScgaGVpZ2h0PScxJy8+PHJlY3QgeD0nNicgeT0nNCcgd2lkdGg9JzEnIGhlaWdodD0nMScvPjxyZWN0IHg9JzcnIHk9JzQnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48cmVjdCB4PSc2JyB5PSc1JyB3aWR0aD0nMScgaGVpZ2h0PScxJy8+PHJlY3QgeD0nNScgeT0nNicgd2lkdGg9JzEnIGhlaWdodD0nMScvPjxyZWN0IHg9JzQnIHk9JzcnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48L3N2Zz4=");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: var(--tob-button-icon-size);
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5IDknPjxyZWN0IHg9JzQnIHk9JzEnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48cmVjdCB4PSc1JyB5PScyJyB3aWR0aD0nMScgaGVpZ2h0PScxJy8+PHJlY3QgeD0nNicgeT0nMycgd2lkdGg9JzEnIGhlaWdodD0nMScvPjxyZWN0IHg9JzEnIHk9JzQnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48cmVjdCB4PScyJyB5PSc0JyB3aWR0aD0nMScgaGVpZ2h0PScxJy8+PHJlY3QgeD0nMycgeT0nNCcgd2lkdGg9JzEnIGhlaWdodD0nMScvPjxyZWN0IHg9JzQnIHk9JzQnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48cmVjdCB4PSc1JyB5PSc0JyB3aWR0aD0nMScgaGVpZ2h0PScxJy8+PHJlY3QgeD0nNicgeT0nNCcgd2lkdGg9JzEnIGhlaWdodD0nMScvPjxyZWN0IHg9JzcnIHk9JzQnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48cmVjdCB4PSc2JyB5PSc1JyB3aWR0aD0nMScgaGVpZ2h0PScxJy8+PHJlY3QgeD0nNScgeT0nNicgd2lkdGg9JzEnIGhlaWdodD0nMScvPjxyZWN0IHg9JzQnIHk9JzcnIHdpZHRoPScxJyBoZWlnaHQ9JzEnLz48L3N2Zz4=");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-card {
  height: 100%; }

.tob-card__title {
  font-family: var(--tob-font-body);
  font-weight: 400;
  margin: 0;
  text-transform: none; }

.tob-card__body p,
.tob-card__copy p {
  margin: 0; }

.tob-card--dark {
  color: var(--tob-chalk); }

.tob-card--light {
  color: var(--tob-dusk); }

.tob-card--feature {
  color: inherit;
  text-decoration: none;
  --tob-block-border-padding-y: var(
    --tob-card-feature-padding-y,
    var(--tob-space-16)
  ); }

.tob-card--feature-accent {
  border-top-color: var(--tob-highlight); }

.tob-card--feature .tob-card__icon {
  align-items: center;
  display: inline-flex;
  height: var(--tob-component-feature-icon-size);
  justify-content: center;
  object-fit: contain;
  width: var(--tob-component-feature-icon-size); }

.tob-card--feature .tob-card__icon svg {
  display: block;
  height: 100%;
  width: 100%; }

.tob-card--feature .tob-card__title {
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6); }

.tob-card--tool,
.tob-card--resource {
  background: var(--tob-dusk-2);
  color: var(--tob-chalk);
  flex: 1;
  --tob-card-padding-y: var(--tob-space-20);
  --tob-card-padding-x: var(--tob-space-10);
  padding: var(--tob-card-padding-y) var(--tob-card-padding-x); }

.tob-card--plain {
  border-bottom: var(--tob-border-standard) solid var(--tob-card-plain-border, var(--tob-cement));
  border-top: var(--tob-border-standard) solid var(--tob-card-plain-border, var(--tob-cement));
  padding: var(--tob-card-plain-padding-y, var(--tob-space-20)) 0; }

.tob-card--tool .tob-card__title,
.tob-card--resource .tob-card__title {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small); }

.tob-card--tool .tob-card__title {
  text-transform: uppercase; }

.tob-card--resource .tob-card__title {
  text-transform: none; }

.tob-card--tool .tob-card__body,
.tob-card--resource .tob-card__body {
  font-size: var(--tob-type-body-xs);
  line-height: var(--tob-lh-body);
  opacity: var(--tob-body-opacity); }

.tob-card--equal-rows {
  --tob-card-title-lines: 2;
  --tob-card-subtitle-lines: 1;
  --tob-card-body-lines: 3; }

.tob-card--equal-rows .tob-card__title,
.tob-card--equal-rows .tob-card__subtitle,
.tob-card--equal-rows .tob-card__body,
.tob-card--equal-rows .tob-card__body > p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical; }

.tob-card--equal-rows .tob-card__title {
  -webkit-line-clamp: var(--tob-card-title-lines);
  min-height: var(--tob-card-title-min-height, auto); }

.tob-card--equal-rows .tob-card__subtitle {
  -webkit-line-clamp: var(--tob-card-subtitle-lines);
  min-height: var(--tob-card-subtitle-min-height, auto); }

.tob-card--equal-rows .tob-card__body,
.tob-card--equal-rows .tob-card__body > p {
  -webkit-line-clamp: var(--tob-card-body-lines);
  min-height: var(--tob-card-body-min-height, auto); }

.tob-card--blog-post {
  --tob-card-border-color: var(--tob-cement);
  color: var(--tob-ink);
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-10); }

.tob-card--blog-post .tob-card__header {
  border-top: var(--tob-border-standard) solid var(--tob-card-border-color);
  padding: var(--tob-space-20) 0; }

.tob-card--blog-post .tob-card__title {
  color: var(--tob-ink);
  margin: 0;
  text-transform: none; }

.tob-card--blog-post .tob-card__content {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-left: var(--tob-space-100); }

.tob-card--blog-post .tob-card__excerpt {
  --tob-body-opacity: 0.75;
  color: var(--tob-ink);
  padding: var(--tob-space-20) 0; }

.tob-card--blog-post .tob-card__footer {
  align-items: flex-end;
  display: flex;
  gap: var(--tob-space-16); }

.tob-card--blog-post .tob-card__info {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1 1 0;
  max-width: none;
  min-width: 0; }

.tob-card--blog-post .tob-card__meta {
  align-items: center;
  display: flex;
  gap: var(--tob-space-16); }

.tob-card--blog-post .tob-card__meta-link {
  color: inherit;
  text-decoration: none; }

.tob-card--blog-post .tob-card__meta-link:hover,
.tob-card--blog-post .tob-card__meta-link:focus-visible {
  color: var(--tob-highlight); }

.tob-card--blog-post .tob-card__meta .tob-meta-with-icon {
  justify-content: center;
  padding: var(--tob-space-20) 0; }

.tob-card--blog-post .tob-card__meta-icon {
  border-radius: 999px;
  height: var(--tob-space-24);
  width: var(--tob-space-24); }

.tob-card--blog-post .tob-card__meta-text {
  color: var(--tob-cement-2);
  font-size: var(--tob-type-body-sm);
  letter-spacing: 0;
  line-height: var(--tob-lh-body);
  opacity: 1;
  text-transform: none; }

.tob-card--blog-post .tob-card__tags {
  align-items: center; }

.tob-card--blog-post .tob-card__cta {
  display: flex;
  flex: 0 1 30%;
  margin-left: auto;
  max-width: 30%;
  width: 100%;
  min-width: 0; }

.tob-card--blog-post .tob-card__cta .tob-button {
  --tob-button-border-color: var(--tob-cement);
  max-width: 100%;
  min-width: 0;
  width: 100%; }

.tob-card--blog-post-link {
  color: inherit; }

.tob-card--blog-post .tob-card__title-link {
  color: inherit;
  text-decoration: none; }

.tob-card--blog-post .tob-card__excerpt-link {
  color: inherit;
  display: block;
  text-decoration: none; }

.tob-card--blog-post .tob-card__title-link:hover,
.tob-card--blog-post .tob-card__title-link:focus-visible {
  color: var(--tob-highlight); }

.tob-card--blog-post .tob-card__excerpt-link:hover,
.tob-card--blog-post .tob-card__excerpt-link:focus-visible {
  color: var(--tob-highlight); }

html[data-tob-blog-theme="dark"] .tob-blog .tob-card--blog-post {
  --tob-card-border-color: var(--tob-cement);
  color: var(--tob-chalk); }

html[data-tob-blog-theme="dark"] .tob-blog .tob-card--blog-post .tob-card__title,
html[data-tob-blog-theme="dark"] .tob-blog .tob-card--blog-post .tob-card__excerpt {
  color: var(--tob-chalk); }

html[data-tob-blog-theme="dark"] .tob-blog .tob-card--blog-post .tob-card__meta-text {
  color: var(--tob-cement-3); }

html[data-tob-blog-theme="dark"] .tob-blog .tob-card--blog-post .tob-card__meta-icon--author {
  filter: invert(1); }

html[data-tob-blog-theme="dark"] .tob-blog .tob-card--blog-post .tob-card__cta .tob-button--light {
  color: var(--tob-chalk); }

html[data-tob-blog-theme="dark"] .tob-blog .tob-card--blog-post .tob-card__cta .tob-button {
  --tob-button-border-color: var(--tob-cement-3); }

@media (max-width: 1200px) {
  .tob-card--blog-post .tob-card__content {
    padding-left: 0; }
  .tob-card--blog-post .tob-card__footer {
    flex-direction: column;
    align-items: flex-start; }
  .tob-card--blog-post .tob-card__info {
    flex: 0 0 auto;
    max-width: none; }
  .tob-card--blog-post .tob-card__cta {
    flex: 0 0 auto;
    max-width: none;
    width: 100%; } }

.tob-form__label {
  display: block; }

.tob-form__label-text {
  display: block;
  margin-bottom: var(--tob-space-40); }

.tob-form__label-text.tob-visually-hidden {
  margin: 0; }

.tob-form__input {
  background: var(--tob-dusk-2);
  border: 0;
  color: var(--tob-chalk);
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-ui-form-input);
  letter-spacing: var(--tob-type-ui-form-input-letter);
  line-height: var(--tob-type-ui-form-input-lh);
  padding: var(--tob-space-20);
  width: 100%; }

.tob-form__input::placeholder {
  color: var(--tob-cement); }

.tob-chip {
  --tob-chip-bg: var(--tob-highlight-2);
  --tob-chip-border-color: var(--tob-highlight-2);
  --tob-chip-text-color: var(--tob-ink);
  --tob-chip-count-bg: var(--tob-chalk-2);
  --tob-chip-count-text: var(--tob-cement-2);
  align-items: center;
  background: var(--tob-chip-bg);
  border: var(--tob-border-standard) solid var(--tob-chip-border-color);
  border-radius: var(--tob-space-2);
  color: var(--tob-chip-text-color);
  display: inline-flex;
  gap: var(--tob-space-10);
  min-height: var(--tob-component-chip-height);
  padding: var(--tob-space-10);
  text-decoration: none; }

.tob-chip:hover,
.tob-chip:focus-visible {
  /* Prevent global link hover styles (e.g., Roadster's `a:hover`) from overriding chip colors. */
  color: var(--tob-chip-text-color); }

.tob-chip__icon {
  --tob-chip-icon-size: var(--tob-space-16);
  background-color: var(--tob-dusk);
  display: inline-block;
  height: var(--tob-chip-icon-size);
  mask-image: url("../img/icons/chip-minus.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: var(--tob-chip-icon-size);
  -webkit-mask-image: url("../img/icons/chip-minus.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain; }

.tob-chip__count {
  align-items: center;
  background: var(--tob-chip-count-bg);
  box-sizing: border-box;
  color: var(--tob-chip-count-text);
  display: inline-flex;
  justify-content: center;
  min-width: var(--tob-space-18);
  padding: var(--tob-space-2);
  min-height: var(--tob-space-16); }

.tob-chip--fit {
  align-self: flex-start;
  width: fit-content; }

.tob-chip--tag {
  --tob-chip-bg: var(--tob-dusk);
  --tob-chip-border-color: var(--tob-highlight-25);
  --tob-chip-text-color: var(--tob-cement);
  align-self: flex-start;
  justify-self: flex-start; }

.tob-chip--tag-compact {
  --tob-mono-line-height: var(--tob-type-ui-bits-sm-lh);
  min-height: var(--tob-component-chip-height-compact);
  padding: var(--tob-space-8) var(--tob-space-10);
  text-transform: none;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.tob-chip--category {
  --tob-chip-bg: var(--tob-chalk);
  --tob-chip-border-color: var(--tob-highlight-25);
  --tob-chip-text-color: var(--tob-cement-2);
  --tob-chip-count-bg: var(--tob-chalk-2);
  --tob-chip-count-text: var(--tob-cement-2);
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-bits-sm-letter);
  line-height: var(--tob-type-ui-bits-sm-lh);
  text-transform: none; }

.tob-chip--category .tob-chip__count {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-bits-sm-letter);
  line-height: var(--tob-type-ui-bits-sm-lh); }

.tob-chip--category:hover,
.tob-chip--category:focus-visible {
  --tob-chip-bg: var(--tob-highlight-2);
  --tob-chip-border-color: var(--tob-highlight-2);
  --tob-chip-text-color: var(--tob-chalk);
  --tob-chip-count-bg: var(--tob-chalk-2);
  --tob-chip-count-text: var(--tob-cement-2); }

.tob-chip--category.is-selected {
  --tob-chip-bg: var(--tob-highlight-2);
  --tob-chip-border-color: var(--tob-highlight-2);
  --tob-chip-text-color: var(--tob-chalk);
  --tob-chip-count-bg: var(--tob-chalk-2);
  --tob-chip-count-text: var(--tob-cement-2); }

html[data-tob-blog-theme="dark"] .tob-blog .tob-chip--category {
  --tob-chip-bg: var(--tob-dusk);
  --tob-chip-border-color: var(--tob-highlight-25);
  --tob-chip-text-color: var(--tob-cement);
  --tob-chip-count-bg: var(--tob-dusk-2);
  --tob-chip-count-text: var(--tob-cement); }

html[data-tob-blog-theme="dark"] .tob-blog .tob-chip--category:hover,
html[data-tob-blog-theme="dark"] .tob-blog .tob-chip--category:focus-visible,
html[data-tob-blog-theme="dark"] .tob-blog .tob-chip--category.is-selected {
  --tob-chip-bg: var(--tob-highlight-2);
  --tob-chip-border-color: var(--tob-highlight-2);
  --tob-chip-text-color: var(--tob-ink);
  --tob-chip-count-bg: var(--tob-dusk);
  --tob-chip-count-text: var(--tob-cement); }

.tob-chip--tag-dark {
  --tob-chip-bg: var(--tob-dusk);
  --tob-chip-border-color: var(--tob-highlight-25);
  --tob-chip-text-color: var(--tob-cement-2); }

.tob-chip--tag-dark-muted {
  --tob-chip-bg: var(--tob-dusk);
  --tob-chip-border-color: var(--tob-highlight-25);
  --tob-chip-text-color: var(--tob-cement); }

.tob-chip--filter {
  --tob-chip-bg: var(--tob-dusk);
  --tob-chip-border-color: var(--tob-highlight-25);
  --tob-chip-text-color: var(--tob-cement); }

.tob-chip--filter .tob-chip__icon {
  background-color: var(--tob-highlight-2);
  mask-image: url("../img/icons/chip-plus.svg");
  -webkit-mask-image: url("../img/icons/chip-plus.svg"); }

.tob-chip--filter.is-selected {
  --tob-chip-bg: var(--tob-highlight-2);
  --tob-chip-border-color: var(--tob-highlight-2);
  --tob-chip-text-color: var(--tob-ink); }

.tob-chip--filter.is-selected .tob-chip__icon {
  background-color: var(--tob-dusk);
  mask-image: url("../img/icons/chip-minus.svg");
  -webkit-mask-image: url("../img/icons/chip-minus.svg"); }

.tob-chip--filter:hover,
.tob-chip--filter:focus-visible {
  border-color: var(--tob-highlight); }

.tob-chip--filter .tob-chip__label {
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase; }

.tob-meta-with-icon {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-space-10); }

.tob-footer {
  --tob-layout-section-padding-y: var(--tob-space-80);
  --tob-footer-bg: var(--tob-dusk);
  background: var(--tob-footer-bg);
  overflow: hidden;
  padding: var(--tob-layout-section-padding-y) var(--tob-layout-section-padding-x);
  padding-top: var(--tob-component-footer-padding-top);
  padding-bottom: var(--tob-space-80);
  position: relative; }

.tob-footer::before {
  background: var(--tob-footer-bg);
  bottom: 0;
  content: "";
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  pointer-events: none;
  position: absolute;
  right: 50%;
  top: 0;
  width: auto;
  z-index: 0; }

.tob-footer--dark {
  --tob-footer-bg: var(--tob-dusk);
  color: var(--tob-chalk); }

.tob-footer--light {
  --tob-footer-bg: var(--tob-chalk);
  color: var(--tob-dusk); }

.tob-footer--medium {
  --tob-footer-bg: var(--tob-concrete);
  color: var(--tob-dusk); }

.tob-footer__inner {
  margin: 0 auto;
  max-width: var(--tob-layout-content-width);
  position: relative;
  width: 100%;
  z-index: 1; }

.tob-footer__halftone {
  aspect-ratio: 2 / 1;
  background-image: url("../img/patterns/footer-halftone.svg");
  background-position: left top;
  background-repeat: no-repeat;
  left: var(--tob-layout-section-padding-x-negative);
  max-width: none;
  position: absolute;
  top: 0;
  transform: none;
  width: 90%;
  z-index: 0; }

.tob-footer__content {
  display: grid;
  gap: var(--tob-component-footer-content-gap);
  grid-template-columns: var(--tob-component-footer-content-left-width) minmax(0, 1fr);
  position: relative;
  z-index: 1; }

.tob-footer__left,
.tob-footer__right {
  justify-content: space-between;
  min-height: var(--tob-component-footer-content-min-height); }

.tob-footer__brand {
  max-width: var(--tob-component-footer-brand-max-width);
  padding: var(--tob-component-footer-brand-padding-y) 0;
  width: 100%; }

.tob-footer__brand .tob-logo {
  height: var(--tob-component-footer-logo-height);
  width: auto; }

.tob-footer__newsletter {
  max-width: var(--tob-component-footer-content-left-width);
  width: 100%; }

.tob-footer__headline {
  padding: var(--tob-space-24) 0; }

.tob-footer--light .tob-footer__headline,
.tob-footer--medium .tob-footer__headline {
  --tob-border-color: var(--tob-cement); }

.tob-footer__headline-line {
  color: currentColor;
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h3);
  line-height: var(--tob-lh-h3);
  margin: 0;
  max-width: var(--tob-component-footer-headline-max-width);
  text-transform: uppercase;
  white-space: pre-line;
  width: 100%; }

.tob-footer__headline-line--accent {
  align-self: stretch;
  color: var(--tob-highlight);
  max-width: none;
  text-align: right; }

.tob-footer__newsletter .tob-form__label-text {
  font-family: var(--tob-font-heading); }

.tob-footer__meta {
  width: 100%; }

.tob-footer__link {
  color: inherit;
  display: inline-block;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-xs);
  margin-bottom: var(--tob-space-8);
  text-transform: uppercase;
  text-decoration: none; }

.tob-footer__legal {
  text-align: right;
  width: 100%; }

.tob-footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-24);
  justify-content: flex-end; }

.tob-footer-legal__item {
  color: inherit;
  text-decoration: none; }

.tob-form--newsletter .tob-form__input {
  font-family: var(--tob-font-body);
  height: var(--tob-component-footer-newsletter-input-height); }

.tob-form--newsletter .tob-button {
  --tob-button-font-family: var(--tob-font-mono);
  --tob-button-content-justify: flex-end;
  --tob-button-content-width: 100%; }

.tob-social-links--footer {
  flex-wrap: wrap;
  max-width: var(--tob-component-footer-social-max-width);
  width: 100%; }

.tob-social-links--footer .tob-social-links__column {
  flex: 0 0 var(--tob-component-footer-social-column-width); }

.tob-section--homepage-trusted-before-special {
  --tob-section-padding-top: var(--tob-space-60);
  --tob-section-padding-bottom: 0; }

.tob-trusted {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-24);
  align-items: center; }

.tob-trusted__label {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase;
  margin: 0;
  text-align: center; }

.tob-trusted__quote {
  margin: 0 auto;
  max-width: var(--tob-component-trusted-quote-max-width);
  text-align: center; }

.tob-trusted__quote p {
  margin: 0; }

.tob-trusted__scroller {
  max-width: 100%;
  overflow: hidden;
  width: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch; }

.tob-trusted__scroller::-webkit-scrollbar {
  display: none; }

.tob-trusted__track {
  animation: tob-trusted-scroll var(--tob-trusted-scroll-duration, 45s) linear infinite;
  display: flex;
  gap: var(--tob-space-40);
  width: max-content;
  will-change: transform; }

.tob-trusted__rail {
  align-items: center;
  display: flex;
  gap: var(--tob-space-40);
  flex: 0 0 auto;
  width: max-content; }

.tob-trusted__logo {
  align-items: center;
  display: flex;
  flex: 0 0 auto; }

.tob-trusted__logo img {
  display: block;
  height: auto;
  max-height: var(--tob-component-trusted-logo-max-height);
  max-width: none;
  object-fit: contain;
  width: auto; }

.tob-trusted__separator {
  background: var(--tob-highlight-3);
  display: inline-block;
  flex: 0 0 auto;
  height: var(--tob-space-10);
  width: var(--tob-space-10); }

@keyframes tob-trusted-scroll {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
  .tob-trusted__scroller {
    overflow-x: auto; }
  .tob-trusted__track {
    animation: none; } }

.tob-social-links {
  display: flex;
  gap: var(--tob-space-16); }

.tob-social-links__column {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-12); }

.tob-social-link {
  align-items: center;
  color: var(--tob-cement);
  display: inline-flex;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-xs);
  gap: var(--tob-space-8);
  letter-spacing: var(--tob-type-ui-letter-tight);
  text-decoration: none; }

.tob-social-link__icon {
  display: inline-block;
  flex: 0 0 auto;
  flex-shrink: 0;
  height: var(--tob-space-24);
  object-fit: contain;
  width: var(--tob-space-24); }

.tob-section__inner--stack {
  display: flex;
  flex-direction: column;
  gap: var(--tob-section-stack-gap); }

.tob-section-heading {
  border-top: var(--tob-section-heading-border-width) solid var(--tob-section-heading-border);
  border-bottom: var(--tob-section-heading-border-bottom);
  box-shadow: var(--tob-section-heading-shadow);
  padding: var(--tob-space-20) 0; }

.tob-section-heading--dark {
  --tob-section-heading-border: var(--tob-cement-2); }

.tob-section.tob-section--light .tob-section-heading,
.tob-section.tob-section--light .tob-section-subheading {
  border-top-color: var(--tob-cement); }

/* Dark section headings should sit 32px above the next block. */
.tob-section-heading.tob-section-heading--dark + * {
  margin-top: calc(var(--tob-space-32) - var(--tob-section-stack-gap)); }

.tob-section-heading--compact {
  padding: var(--tob-space-20) 0; }

.tob-section-heading h2 {
  margin: 0;
  text-transform: uppercase; }

.tob-section-heading .tob-case-none {
  text-transform: none; }

.tob-section-heading__row {
  align-items: center;
  display: flex;
  gap: var(--tob-space-20);
  justify-content: space-between; }

.tob-section-heading__cta {
  flex-shrink: 0; }

.tob-section-heading__subtitle {
  margin: var(--tob-space-20) 0 0; }

.tob-section-subheading {
  border-top: var(--tob-border-standard) solid var(--tob-cement);
  padding: var(--tob-space-20) 0; }

.tob-section-subheading--dark {
  border-color: var(--tob-cement-2); }

.tob-text-accent {
  color: var(--tob-highlight); }

.tob-visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: var(--tob-border-standard);
  margin: var(--tob-border-standard-negative);
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: var(--tob-border-standard); }

.tob-accordion-stack {
  display: grid;
  gap: 0;
  margin-left: auto;
  width: 100%; }

.tob-accordion-stack--bordered .tob-accordion__item {
  border-bottom: var(--tob-border-width, var(--tob-border-standard)) solid var(--tob-border-color, var(--tob-cement-2));
  border-top: var(--tob-border-width, var(--tob-border-standard)) solid var(--tob-border-color, var(--tob-cement-2)); }

.tob-accordion-stack--bordered > * + * .tob-accordion__item,
.tob-accordion-stack--bordered > * + *.tob-accordion__item {
  border-top: 0 solid var(--tob-cement-2); }

.tob-accordion-stack--bordered > * + * .tob-accordion__item[open],
.tob-accordion-stack--bordered > * + *.tob-accordion__item[open] {
  border-top: var(--tob-border-width, var(--tob-border-standard)) solid var(--tob-border-color, var(--tob-cement-2));
  margin-top: calc(-1 * var(--tob-border-width, var(--tob-border-standard)));
  position: relative; }

.tob-accordion-stack__item {
  --tob-border-color: var(--tob-accordion-border-color-default, var(--tob-cement-2));
  --tob-border-width: var(--tob-border-standard);
  border-color: var(--tob-border-color); }

.tob-accordion-stack__item summary {
  color: var(--tob-accordion-summary-color, var(--tob-cement-2)); }

.tob-accordion-stack__item[open] {
  --tob-border-color: var(--tob-accordion-border-color-open, var(--tob-highlight));
  border-color: var(--tob-border-color); }

.tob-accordion-stack__item[open] summary {
  color: var(--tob-accordion-summary-open-color, var(--tob-highlight)); }

.tob-accordion-stack__item:not([open]) summary:hover {
  color: var(--tob-accordion-summary-hover-color, var(--tob-chalk)); }

.tob-accordion-stack__item:not([open]):hover {
  --tob-border-color: var(--tob-accordion-border-color-hover, var(--tob-border-color));
  border-color: var(--tob-border-color); }

.tob-accordion-stack--light {
  --tob-accordion-body-color: var(--tob-dusk); }

.tob-card-grid {
  --tob-card-grid-gap: var(--tob-layout-column-gap);
  display: grid;
  gap: var(--tob-card-grid-gap);
  align-items: stretch;
  padding-left: var(--tob-card-grid-padding-left, 0); }

.tob-card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr)); }

.tob-card-grid--stacked.tob-card-grid--bordered {
  --tob-card-grid-gap: 0; }

.tob-card-grid--stacked.tob-card-grid--bordered > * + * .tob-card--plain,
.tob-card-grid--stacked.tob-card-grid--bordered > * + *.tob-card--plain {
  border-top: 0;
  padding-top: calc( var(--tob-card-plain-padding-y, var(--tob-space-20)) + var(--tob-border-standard)); }

.tob-card-grid--stacked.tob-card-grid--bordered > * + * .tob-card--feature,
.tob-card-grid--stacked.tob-card-grid--bordered > * + *.tob-card--feature {
  border-top-color: transparent;
  padding-top: var(--tob-card-feature-padding-y, var(--tob-space-16)); }

.tob-card-grid--stacked.tob-card-grid--bordered > * + * .tob-border-y,
.tob-card-grid--stacked.tob-card-grid--bordered > * + *.tob-border-y {
  border-top: 0; }

.tob-card-grid--stacked.tob-card-grid--bordered
> * + *
.tob-border-y[open] {
  border-top: var(--tob-border-width, var(--tob-border-thin)) solid var(--tob-highlight); }

@media (hover: hover) and (pointer: fine) {
  .tob-card-grid--stacked.tob-card-grid--bordered a.tob-card--feature:hover {
    border-bottom-color: var(--tob-highlight);
    border-top-color: var(--tob-highlight); } }

.tob-card-grid--stacked.tob-card-grid--bordered a.tob-card--feature:focus-visible {
  border-bottom-color: var(--tob-highlight);
  border-top-color: var(--tob-highlight); }

.tob-section--value-props .tob-card {
  height: 100%; }

.tob-help__intro {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-24);
  align-items: flex-start; }

.tob-help__heading h2 {
  margin: 0; }

.tob-help__heading p {
  margin: var(--tob-space-12) 0 0; }

.tob-help__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-12); }

.tob-chip--filter {
  background: var(--tob-dusk);
  border-color: var(--tob-highlight-25);
  color: var(--tob-cement);
  cursor: pointer; }

.tob-chip--filter .tob-chip__icon {
  background-color: var(--tob-highlight-2);
  mask-image: url("../img/icons/chip-plus.svg");
  -webkit-mask-image: url("../img/icons/chip-plus.svg"); }

.tob-chip--filter.is-selected {
  background: var(--tob-highlight-2);
  border-color: var(--tob-highlight-2);
  color: var(--tob-ink); }

.tob-chip--filter.is-selected .tob-chip__icon {
  background-color: var(--tob-dusk);
  mask-image: url("../img/icons/chip-minus.svg");
  -webkit-mask-image: url("../img/icons/chip-minus.svg"); }

.tob-chip--filter:hover,
.tob-chip--filter:focus-visible {
  border-color: var(--tob-highlight); }

.tob-help__copy {
  border-top: var(--tob-border-thin) solid var(--tob-cement-2);
  max-width: var(--tob-component-help-copy-max-width);
  overflow: hidden;
  padding-top: var(--tob-space-20);
  width: 100%; }

.tob-help__content {
  position: relative; }

.tob-help__copy p {
  margin: 0 0 var(--tob-space-10);
  opacity: var(--tob-body-opacity); }

.tob-help__body p {
  white-space: pre-line; }

.tob-help__body {
  transition: opacity 0.2s ease; }

.tob-help__loading-dots {
  align-items: center;
  display: inline-flex;
  gap: var(--tob-space-8);
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  justify-content: center;
  height: 100%;
  width: 100%;
  transition: opacity 0.2s ease;
  visibility: hidden;
  z-index: 2; }

.tob-help__loading-dots span {
  background: var(--tob-highlight);
  box-shadow: 0 0 0 var(--tob-border-standard) var(--tob-dusk);
  height: var(--tob-space-12);
  width: var(--tob-space-12);
  animation: tob-help-bounce 0.6s infinite ease-in-out; }

.tob-help__loading-dots span:nth-child(2) {
  background: var(--tob-chalk);
  animation-delay: 0.15s; }

.tob-help__loading-dots span:nth-child(3) {
  background: var(--tob-highlight);
  animation-delay: 0.3s; }

.tob-section--help.is-loading .tob-help__body,
.tob-section--help.is-loading [data-help-selection] {
  opacity: 0;
  visibility: hidden; }

.tob-section--help.is-loading .tob-help__loading-dots {
  opacity: 1;
  visibility: visible; }

.tob-help__muted {
  color: var(--tob-chalk-50); }

.tob-help__resources {
  margin-top: 0;
  transition: filter 0.2s ease, opacity 0.2s ease;
  width: 100%; }

.tob-help__copy--with-resources .tob-help__body {
  transition: filter 0.2s ease, opacity 0.2s ease, visibility 0.2s ease; }

.tob-help__copy--with-resources {
  border-top: 0;
  padding-top: 0; }

.tob-section--help.is-loading .tob-help__copy--with-resources .tob-help__body {
  filter: blur(var(--tob-space-4));
  opacity: 0.55;
  visibility: visible; }

.tob-section--help.is-loading .tob-help__resources {
  filter: blur(var(--tob-space-4));
  opacity: 0.55; }

.tob-section--help.is-loading .tob-help__content--with-resources .tob-help__loading-dots {
  height: auto;
  inset: auto;
  left: 50%;
  position: fixed;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  z-index: 70; }

.tob-section--help-ecosystems {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-16); }

.tob-section--help-ecosystems .tob-help__intro {
  align-items: stretch;
  gap: var(--tob-space-10); }

.tob-section--help-ecosystems .tob-help__heading {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  width: 100%; }

.tob-section--help-ecosystems .tob-help__heading h2 {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  color: var(--tob-chalk);
  margin: 0;
  padding: var(--tob-space-20) 0;
  width: 100%; }

.tob-section--help-ecosystems .tob-help__heading p {
  border-top: var(--tob-border-standard) solid var(--tob-cement-2);
  color: var(--tob-chalk);
  font-size: var(--tob-type-body-md);
  line-height: var(--tob-lh-body);
  margin: 0;
  padding: var(--tob-space-20) 0;
  width: 100%; }

.tob-section--help-ecosystems .tob-help__chips {
  display: grid;
  gap: var(--tob-space-10);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%; }

@media (max-width: 900px) {
  .tob-section--help-ecosystems .tob-help__chips {
    grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 600px) {
  .tob-section--help-ecosystems .tob-help__chips {
    grid-template-columns: minmax(0, 1fr); } }

.tob-section--help-ecosystems .tob-chip--filter {
  background: transparent;
  border: var(--tob-border-standard) solid var(--tob-cement-2);
  box-sizing: border-box;
  border-radius: 0;
  color: var(--tob-cement-2);
  display: grid;
  grid-template-columns: 1fr var(--tob-space-30);
  align-items: center;
  column-gap: var(--tob-space-10);
  font-size: 24px;
  /* guardrail-allow: figma-match */
  letter-spacing: -0.03rem;
  line-height: 24px;
  /* guardrail-allow: figma-match */
  padding: var(--tob-space-20) var(--tob-space-15);
  width: 100%; }

.tob-section--help-ecosystems .tob-chip--filter .tob-chip__label {
  display: block;
  font-size: 24px;
  /* guardrail-allow: figma-match */
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: 24px;
  /* guardrail-allow: figma-match */
  text-align: left;
  white-space: nowrap; }

.tob-section--help-ecosystems .tob-chip--filter .tob-chip__icon {
  --tob-chip-icon-size: var(--tob-space-30);
  background-color: var(--tob-cement-2);
  mask-image: url("../img/icons/chip-plus.svg");
  -webkit-mask-image: url("../img/icons/chip-plus.svg"); }

.tob-section--help-ecosystems .tob-chip--filter.is-selected {
  background: var(--tob-highlight);
  border-color: var(--tob-highlight);
  color: var(--tob-chalk); }

.tob-section--help-ecosystems .tob-chip--filter.is-selected .tob-chip__icon {
  opacity: 0;
  visibility: hidden;
  -webkit-mask-image: url("../img/icons/chip-plus.svg"); }

.tob-section--help-ecosystems .tob-chip--filter:hover,
.tob-section--help-ecosystems .tob-chip--filter:focus-visible {
  border-color: var(--tob-highlight); }

.tob-section--help-ecosystems [data-help-selection] {
  display: none; }

.tob-section--help-ecosystems .tob-help__copy {
  --tob-body-size: var(--tob-type-body-sm);
  --tob-body-line-height: var(--tob-lh-body);
  background: var(--tob-dusk-2);
  border-top: 0;
  max-width: none;
  padding: var(--tob-space-40); }

.tob-section--help-ecosystems .tob-help__copy-title {
  color: var(--tob-chalk);
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h4);
  line-height: var(--tob-lh-h4);
  margin: 0 0 var(--tob-space-10);
  text-transform: uppercase; }

.tob-section--help-ecosystems .tob-help__copy p {
  color: var(--tob-chalk);
  margin: 0;
  opacity: 1; }

@keyframes tob-help-bounce {
  0%,
  100% {
    transform: translateY(0); }
  50% {
    transform: translateY(var(--tob-space-8-negative)); } }

@media (prefers-reduced-motion: reduce) {
  .tob-help__loading-dots span {
    animation: none; } }

.tob-section--built {
  --tob-built-column-gap: var(--tob-space-40);
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-32);
  --tob-section-heading-border-bottom: var(--tob-border-standard)
    solid var(--tob-cement-2); }

.tob-section--built-open-source {
  --tob-built-grid-width: calc(
    var(--tob-layout-content-width) - var(--tob-space-100) +
      (var(--tob-border-thin) * 2)
  ); }
  .tob-section--built-open-source .tob-card--tool .tob-card__body {
    font-size: var(--tob-type-body-md);
    line-height: var(--tob-lh-body); }
  .tob-section--built-open-source .tob-built__grid {
    margin: 0 auto var(--tob-space-2);
    max-width: var(--tob-built-grid-width);
    padding-bottom: var(--tob-space-8); }
  .tob-section--built-open-source .tob-built__cta {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 0; }

.tob-section--work {
  --tob-component-feature-icon-size: var(--tob-component-work-icon-size);
  --tob-work-column-width: var(--tob-component-work-grid-column-width);
  --tob-work-gap: var(--tob-space-16);
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10); }

.tob-built__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--tob-built-column-gap);
  row-gap: var(--tob-space-24);
  align-items: stretch; }

.tob-section--built .tob-section-heading.tob-section-heading--dark + .tob-built__grid {
  margin-top: 0; }

.tob-built__subhead {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-built-subhead);
  line-height: var(--tob-lh-built-subhead);
  opacity: 1;
  letter-spacing: var(--tob-type-ui-letter-tight);
  margin: 0; }

.tob-built__subhead span + span {
  margin-left: var(--tob-space-8); }

.tob-tool-card {
  height: 100%; }

.tob-tool-card__link {
  color: inherit;
  text-decoration: none; }

.tob-tool-card__link:focus-visible {
  outline: var(--tob-border-standard) solid var(--tob-highlight);
  outline-offset: var(--tob-space-2); }

.tob-tool-card__cta {
  margin-top: auto;
  width: 100%; }

.tob-built__actions {
  display: grid;
  column-gap: var(--tob-built-column-gap);
  row-gap: var(--tob-space-24);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%; }

.tob-built__actions > :only-child {
  grid-column: 1 / -1; }

.tob-built__actions > :first-child {
  grid-column: 1 / span 1; }

.tob-built__actions > :nth-child(2) {
  grid-column: 2 / span 2; }

.tob-awards__label {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase;
  margin: 0;
  text-align: center;
  width: 100%; }

.tob-section--awards {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-24); }

.tob-awards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--tob-layout-column-gap);
  row-gap: var(--tob-space-40);
  width: 100%; }

.tob-awards__item {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20);
  align-items: center;
  justify-content: center; }

.tob-awards__item img {
  max-height: var(--tob-space-100);
  width: auto; }

.tob-awards__line {
  background: var(--tob-cement-2);
  height: var(--tob-border-thin);
  width: 100%; }

.tob-events {
  --tob-events-columns: 2;
  --tob-event-column-gap: var(--tob-space-40);
  --tob-event-row-gap: var(--tob-space-40);
  --tob-event-actions-gap: var(--tob-space-16);
  --tob-event-actions-columns: minmax(0, 1fr);
  --tob-event-button-border-top: 0;
  --tob-event-button-border-bottom: var(--tob-button-border-width);
  --tob-event-button-padding-top: 0;
  --tob-event-button-padding-bottom: var(--tob-space-16);
  --tob-event-button-font-size: var(--tob-type-body-sm);
  --tob-event-button-letter-spacing: var(--tob-type-ui-letter-tight);
  --tob-event-button-line-height: var(--tob-type-ui-button-lh);
  --tob-event-button-icon-size: var(--tob-space-24);
  --tob-event-content-border-color: var(--tob-cement-2);
  --tob-event-meta-color: var(--tob-cement);
  --tob-event-meta-font-family: inherit;
  --tob-event-meta-font-size: var(--tob-type-body-sm);
  --tob-event-meta-line-height: inherit;
  --tob-event-title-color: inherit;
  --tob-event-title-font-family: inherit;
  --tob-event-title-font-size: var(--tob-type-h6);
  --tob-event-title-line-height: var(--tob-lh-h6);
  --tob-event-title-line-clamp: 2;
  --tob-event-summary-color: inherit;
  --tob-event-summary-font-family: inherit;
  --tob-event-summary-font-size: inherit;
  --tob-event-summary-line-height: inherit;
  --tob-event-summary-opacity: var(--tob-body-opacity);
  --tob-event-summary-line-clamp: 3;
  --tob-event-title-summary-gap: var(--tob-space-16);
  --tob-event-actions-display: grid;
  --tob-event-actions-justify: normal;
  --tob-event-actions-padding: 0;
  --tob-event-actions-border-top: 0;
  --tob-event-actions-border-bottom: 0;
  align-items: stretch;
  display: grid;
  column-gap: var(--tob-event-column-gap);
  row-gap: var(--tob-event-row-gap);
  grid-template-columns: repeat(var(--tob-events-columns), minmax(0, 1fr)); }

.tob-events--cols-2 {
  --tob-events-columns: 2;
  --tob-event-column-gap: var(--tob-layout-two-column-gap);
  --tob-event-row-gap: var(--tob-layout-two-column-gap); }

.tob-events--cols-3 {
  --tob-events-columns: 3;
  --tob-event-column-gap: var(--tob-space-48);
  --tob-event-row-gap: var(--tob-space-48); }

.tob-events--cols-4 {
  --tob-events-columns: 4;
  --tob-event-column-gap: var(--tob-space-32);
  --tob-event-row-gap: var(--tob-space-48); }

.tob-event-card {
  display: grid;
  gap: var(--tob-space-24);
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%; }

.tob-event-card__content {
  border-bottom: var(--tob-border-standard) solid var(--tob-event-content-border-color);
  border-top: var(--tob-border-standard) solid var(--tob-event-content-border-color);
  display: flex;
  flex-direction: column;
  gap: var(--tob-event-content-gap, var(--tob-space-16)); }

.tob-event-card__stack {
  display: flex;
  flex-direction: column;
  gap: var(--tob-event-media-content-gap, var(--tob-space-16));
  min-height: 0; }

.tob-event-card--media-outside-content.tob-event-card--tags-outside-content .tob-event-card__stack {
  gap: 0; }

.tob-event-card--media-outside-content.tob-event-card--tags-outside-content .tob-event-card__content {
  margin-top: var(--tob-event-media-content-gap, var(--tob-space-16)); }

.tob-event-card--tags-outside-content .tob-event-card__tags--outside {
  margin-top: var(--tob-event-tags-outside-gap, var(--tob-space-24)); }

.tob-event-card--no-media {
  --tob-event-media-height: auto; }

.tob-event-card__media {
  min-width: 0; }

.tob-event-card__media img,
.tob-event-card__image-placeholder {
  height: var(--tob-event-media-height, var(--tob-component-event-media-height));
  object-fit: cover;
  width: 100%; }

.tob-event-card__image-placeholder {
  background: var(--tob-dusk-2); }

.tob-event-card__meta {
  align-items: center;
  color: var(--tob-event-meta-color);
  display: flex;
  font-family: var(--tob-event-meta-font-family);
  font-size: var(--tob-event-meta-font-size);
  line-height: var(--tob-event-meta-line-height);
  justify-content: space-between;
  min-width: 0; }

.tob-event-card__date {
  align-items: center;
  display: flex;
  gap: var(--tob-space-10); }

.tob-event-card__date-icon {
  height: var(--tob-component-event-date-icon-size);
  width: var(--tob-component-event-date-icon-size); }

.tob-event-card__title {
  color: var(--tob-event-title-color);
  font-family: var(--tob-event-title-font-family);
  font-size: var(--tob-event-title-font-size);
  line-height: var(--tob-event-title-line-height);
  min-height: calc(var(--tob-event-title-line-height) * 2em);
  margin: 0;
  text-transform: none; }

.tob-event-card__title-text {
  -webkit-box-orient: vertical;
  border-bottom: 0;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: var(--tob-event-title-line-clamp);
  line-clamp: var(--tob-event-title-line-clamp);
  min-height: calc( var(--tob-event-title-line-height) * var(--tob-event-title-line-clamp) * 1em);
  max-height: calc( var(--tob-event-title-line-height) * var(--tob-event-title-line-clamp) * 1em);
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis; }

.tob-event-card__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease; }

.tob-event-card__title-link:hover,
.tob-event-card__title-link:focus-visible {
  color: var(--tob-highlight); }

.tob-event-card__summary,
.tob-event-card__summary p {
  border: 0;
  color: var(--tob-event-summary-color);
  display: -webkit-box;
  font-family: var(--tob-event-summary-font-family);
  font-size: var(--tob-event-summary-font-size);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--tob-event-summary-line-clamp);
  line-height: var(--tob-event-summary-line-height);
  opacity: var(--tob-event-summary-opacity);
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0; }

.tob-event-card__title + .tob-event-card__summary {
  margin-top: calc(var(--tob-event-title-summary-gap, var(--tob-space-16)) - var(--tob-event-content-gap, var(--tob-space-16))); }

.tob-event-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-10);
  min-width: 0; }

.tob-event-card__actions {
  border-bottom: var(--tob-event-actions-border-bottom);
  border-top: var(--tob-event-actions-border-top);
  display: var(--tob-event-actions-display);
  gap: var(--tob-event-actions-gap);
  grid-template-columns: var(--tob-event-actions-columns);
  justify-content: var(--tob-event-actions-justify);
  padding: var(--tob-event-actions-padding); }

.tob-events .tob-event-card__actions .tob-button {
  --tob-button-border-top: var(--tob-event-button-border-top);
  --tob-button-border-bottom: var(--tob-event-button-border-bottom);
  --tob-button-padding-top: var(--tob-event-button-padding-top);
  --tob-button-padding-bottom: var(--tob-event-button-padding-bottom);
  --tob-button-font-size: var(--tob-event-button-font-size);
  --tob-button-letter-spacing: var(--tob-event-button-letter-spacing);
  --tob-button-line-height: var(--tob-event-button-line-height);
  --tob-button-icon-size: var(--tob-event-button-icon-size);
  border-top: 0;
  border-bottom: var(--tob-button-border-width) solid var(--tob-button-border-color); }

.tob-events .tob-event-card__actions .tob-button:hover,
.tob-events .tob-event-card__actions .tob-button:focus-visible {
  border-bottom-color: var(--tob-highlight); }

/* Homepage events align to the 2-card desktop spacing spec. */
.tob-section--events-home {
  --tob-section-stack-gap: var(--tob-space-10); }

.tob-section--events-home .tob-events {
  --tob-event-button-font-size: var(--tob-type-ui-button-lg);
  --tob-event-button-line-height: var(--tob-type-ui-button-lg-lh);
  --tob-event-button-letter-spacing: var(--tob-type-ui-button-lg-letter); }

.tob-section--events-home .tob-events--style-recent-grid .tob-event-card__actions {
  --tob-event-actions-display: flex;
  --tob-event-actions-justify: flex-end; }

.tob-section--events-home .tob-section-heading + .tob-events {
  margin-top: 0; }

.tob-section--events {
  --tob-event-content-gap: var(--tob-space-24); }

.tob-section--events .tob-section-heading--events-grid {
  --tob-section-events-heading-cta-gap: var(--tob-space-48);
  --tob-section-events-heading-cols: 1;
  --tob-section-events-heading-cta-span: 1;
  --tob-section-events-heading-title-span: calc(
    var(--tob-section-events-heading-cols) - var(--tob-section-events-heading-cta-span)
  );
  border: 0;
  padding: 0; }

.tob-section--events
.tob-section-heading--events-grid.tob-section-heading--events-grid-cols-2 {
  --tob-section-events-heading-cols: 2; }

.tob-section--events
.tob-section-heading--events-grid.tob-section-heading--events-grid-cols-3 {
  --tob-section-events-heading-cols: 3; }

.tob-section--events
.tob-section-heading--events-grid.tob-section-heading--events-grid-cols-4 {
  --tob-section-events-heading-cols: 4; }

.tob-section--events
.tob-section-heading--events-grid.tob-section-heading--events-grid-cta-span-1 {
  --tob-section-events-heading-cta-span: 1; }

.tob-section--events
.tob-section-heading--events-grid.tob-section-heading--events-grid-cta-span-2 {
  --tob-section-events-heading-cta-span: 2; }

.tob-section--events
.tob-section-heading--events-grid.tob-section-heading--events-grid-cta-span-3 {
  --tob-section-events-heading-cta-span: 3; }

.tob-section--events .tob-section-heading--events-grid .tob-section-heading__row {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 0; }

.tob-section--events .tob-section-heading--events-grid .tob-section-heading__row > .tob-h5 {
  border-top: var(--tob-border-standard) solid var(--tob-section-heading-border);
  margin: 0;
  padding: var(--tob-space-20) 0;
  white-space: nowrap; }

.tob-section--events .tob-section-heading--events-grid .tob-section-heading__cta {
  border-top: var(--tob-border-standard) solid var(--tob-section-heading-border);
  margin: 0;
  padding: var(--tob-space-20) 0;
  transition: border-color 0.2s ease;
  width: 100%; }

.tob-section--events .tob-section-heading--events-grid .tob-section-heading__cta:hover,
.tob-section--events .tob-section-heading--events-grid .tob-section-heading__cta:focus-within {
  border-top-color: var(--tob-highlight); }

.tob-section--events .tob-section-heading--events-grid .tob-section-heading__cta .tob-button {
  --tob-button-border-top: 0;
  --tob-button-border-bottom: 0;
  --tob-button-padding-top: 0;
  --tob-button-padding-bottom: 0;
  --tob-button-min-height: auto;
  --tob-button-icon-size: var(--tob-space-30);
  --tob-button-content-padding-right: 0;
  --tob-button-content-justify: flex-start; }

@media (min-width: 901px) {
  .tob-section--events
.tob-section-heading--events-grid
.tob-section-heading__row {
    column-gap: var(--tob-section-events-heading-cta-gap);
    grid-template-columns: repeat(var(--tob-section-events-heading-cols), minmax(0, 1fr)); }
  .tob-section--events
.tob-section-heading--events-grid
.tob-section-heading__row
> .tob-h5 {
    grid-column: span var(--tob-section-events-heading-title-span); }
  .tob-section--events
.tob-section-heading--events-grid
.tob-section-heading__cta {
    grid-column: span var(--tob-section-events-heading-cta-span); } }

.tob-events--style-recent-grid {
  column-gap: var(--tob-layout-two-column-gap);
  row-gap: var(--tob-layout-two-column-gap); }

.tob-events--style-recent-grid .tob-event-card__actions {
  --tob-event-actions-gap: var(--tob-space-32);
  --tob-event-actions-columns: repeat(2, minmax(0, 1fr)); }

.tob-events--style-featured-grid {
  --tob-event-media-height: var(--tob-space-80);
  --tob-event-title-line-height: 1.2;
  --tob-event-title-line-clamp: 2; }

.tob-events--style-featured-grid .tob-event-card {
  --tob-event-media-height: var(--tob-space-80); }

.tob-events--style-featured-grid .tob-event-card--no-media {
  --tob-event-media-height: auto; }

.tob-events--style-featured-grid .tob-event-card__media {
  display: block; }

.tob-events--style-featured-grid .tob-event-card__eyebrow {
  align-items: center;
  background: var(--tob-dusk-2);
  color: var(--tob-chalk);
  display: flex;
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  justify-content: center;
  line-height: var(--tob-lh-h6);
  padding: var(--tob-space-24) 0;
  text-align: center;
  text-transform: none; }

.tob-events--style-featured-grid .tob-event-card__meta {
  line-height: 19px;
  /* guardrail-allow: figma-match */ }

.tob-events--style-featured-grid .tob-event-card__title {
  font-size: var(--tob-type-h6-xs);
  line-height: 1.2;
  /* guardrail-allow: figma-match */
  padding-bottom: 0; }

.tob-events--style-featured-grid .tob-event-card__summary {
  line-height: 19px;
  /* guardrail-allow: figma-match */ }

.tob-events--style-featured-grid .tob-event-card--eyebrow .tob-event-card__summary,
.tob-events--style-featured-grid .tob-event-card--eyebrow .tob-event-card__summary p {
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.tob-events--style-featured-grid .tob-event-card__tags {
  max-height: var(--tob-component-chip-height);
  min-height: var(--tob-component-chip-height);
  overflow: hidden; }

.tob-events--style-featured-grid .tob-event-card__tags .tob-chip {
  border: 0;
  box-shadow: inset 0 0 0 var(--tob-border-standard) var(--tob-highlight-25);
  justify-content: center;
  padding: var(--tob-space-10) var(--tob-space-10);
  text-align: center; }

.tob-events--style-featured-grid .tob-event-card__actions {
  --tob-event-actions-gap: var(--tob-space-16);
  --tob-event-actions-columns: minmax(0, 1fr);
  align-items: center; }

.tob-events--style-featured-grid .tob-event-card__actions .tob-button {
  --tob-button-width: 100%;
  --tob-button-content-width: 100%; }

.tob-events--style-featured-grid .tob-event-card--action-icon .tob-event-card__actions {
  --tob-event-actions-columns: min-content minmax(0, 1fr); }

.tob-events--style-featured-grid .tob-event-card__action-icon {
  align-self: flex-end;
  display: block;
  height: var(--tob-space-24);
  width: var(--tob-space-24); }

.tob-events--style-featured-grid .tob-event-card__action-icon-link {
  align-self: flex-end;
  display: inline-flex;
  line-height: 0;
  text-decoration: none; }

.tob-events--style-featured-grid .tob-event-card__action-icon-link:hover .tob-event-card__action-icon {
  opacity: 0.8; }

.tob-events--style-featured-grid .tob-event-card__action-icon-link:focus-visible {
  outline: var(--tob-border-standard) solid var(--tob-highlight);
  outline-offset: var(--tob-space-2); }

.tob-section--events-heading-grid {
  --tob-section-stack-gap: 0; }

.tob-section--events-case-studies {
  --tob-event-content-gap: var(--tob-space-24);
  --tob-section-stack-gap: var(--tob-space-10); }

.tob-section--events-case-studies .tob-section-heading + * {
  margin-top: 0; }

/* Featured sections that follow related-posts card rhythm. */
.tob-section--ai-ml-featured .tob-events,
.tob-section--open-source-featured .tob-events,
.tob-section--appsec-featured-blog .tob-events {
  --tob-event-content-gap: var(--tob-space-16); }

.tob-section--ai-ml-featured
.tob-events--style-featured-grid
.tob-event-card__actions
.tob-button {
  --tob-button-font-family: var(--tob-font-body);
  --tob-button-font-size: var(--tob-type-ui-button-md);
  --tob-button-line-height: var(--tob-type-ui-button-md-lh);
  --tob-button-letter-spacing: var(--tob-type-ui-button-md-letter); }

/* Canonical event-card content rhythm. */
.tob-events .tob-event-card__content {
  padding: var(--tob-space-24) 0; }

.tob-events--cols-2.tob-events .tob-event-card__summary,
.tob-events--cols-2.tob-events .tob-event-card__summary p,
.tob-events--cols-3.tob-events .tob-event-card__summary,
.tob-events--cols-3.tob-events .tob-event-card__summary p {
  -webkit-line-clamp: 2; }

.tob-events .tob-event-card__tags {
  gap: var(--tob-space-8); }

.tob-events .tob-event-card__actions {
  margin-top: 0; }

.tob-event-card__summary p {
  margin-top: 0; }

.tob-section--open-source-featured {
  --tob-section-padding-y: var(--tob-section-pad-80);
  --tob-section-stack-gap: var(--tob-space-10);
  --tob-open-source-halftone-size: var(--tob-component-open-source-halftone-size);
  --tob-open-source-halftone-left: var(--tob-component-open-source-halftone-left);
  --tob-open-source-halftone-right: var(--tob-component-open-source-halftone-right);
  --tob-open-source-halftone-top-left: var(--tob-component-open-source-halftone-top);
  --tob-open-source-halftone-top-right: var(
    --tob-component-open-source-halftone-top-right
  );
  overflow: hidden; }

.tob-section--open-source-featured .tob-section__inner::before,
.tob-section--open-source-featured .tob-section__inner::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: var(--tob-open-source-halftone-size);
  pointer-events: none;
  position: absolute;
  width: var(--tob-open-source-halftone-size);
  z-index: 0; }

.tob-section--open-source-featured .tob-section__inner::before {
  background-image: url("../img/sections/ai-ml/ai-ml-case-study-halftone-left.svg");
  left: var(--tob-open-source-halftone-left);
  top: var(--tob-open-source-halftone-top-left); }

.tob-section--open-source-featured .tob-section__inner::after {
  background-image: url("../img/sections/ai-ml/ai-ml-case-study-halftone-right.svg");
  right: var(--tob-open-source-halftone-right);
  top: var(--tob-open-source-halftone-top-right); }

.tob-section--open-source-featured .tob-section__inner > * {
  position: relative;
  z-index: 1; }

.tob-work__subtitle {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-h6);
  line-height: var(--tob-component-work-subtitle-line-height);
  letter-spacing: var(--tob-type-ui-letter-tight);
  margin: 0; }

.tob-work__summary {
  font-weight: 400;
  margin: 0;
  max-width: var(--tob-component-work-summary-max-width);
  flex: 0 1 var(--tob-component-work-summary-max-width);
  width: 100%; }

.tob-work__summary p {
  margin: 0; }

.tob-work__intro {
  align-items: center;
  display: grid;
  gap: var(--tob-work-gap);
  grid-template-columns: var(--tob-work-column-width) minmax(0, 1fr);
  width: 100%; }

.tob-work__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: flex-start;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

.tob-work__grid--indented {
  grid-template-columns: repeat(4, minmax(0, var(--tob-component-work-grid-column-width)));
  margin-left: var(--tob-component-work-grid-offset);
  margin-right: 0;
  width: auto; }

.tob-section--work .tob-section-heading.tob-section-heading--dark,
.tob-section--work .tob-section-subheading.tob-section-subheading--dark {
  padding: var(--tob-space-24) 0; }

.tob-section--work
.tob-section-heading.tob-section-heading--dark
+ .tob-section-subheading.tob-section-subheading--dark {
  margin-top: 0; }

.tob-section--work .tob-work__grid {
  column-gap: var(--tob-space-32); }

#why-trail-of-bits .tob-work__grid.tob-card-grid.tob-card-grid--bordered {
  margin-top: 0; }

#why-trail-of-bits .tob-work__item {
  gap: var(--tob-space-16);
  padding: var(--tob-space-24) 0; }

#why-trail-of-bits .tob-work__item--cta {
  padding-bottom: 0; }

.tob-work__item {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16);
  padding: var(--tob-space-24) 0; }

.tob-work__item--cta {
  border-top: 0;
  border-bottom: 0;
  justify-content: flex-end;
  padding-bottom: 0; }

.tob-work__icon {
  height: var(--tob-component-feature-icon-size);
  object-fit: contain;
  width: var(--tob-component-feature-icon-size); }

.tob-work__copy p {
  margin: 0; }

.tob-work__cta {
  width: 100%; }

.tob-contact__title {
  display: flex;
  flex-wrap: wrap;
  font-family: var(--tob-font-heading);
  font-size: var(--tob-type-h3);
  line-height: var(--tob-lh-h3);
  margin: 0;
  text-transform: uppercase;
  gap: var(--tob-space-8); }

.tob-contact__title span {
  display: inline-block; }

.tob-contact__content {
  display: grid;
  gap: var(--tob-layout-two-column-gap);
  grid-template-columns: minmax(0, var(--tob-component-contact-content-max-width)) minmax(0, 1fr); }

.tob-contact__card {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20);
  padding-block: var(--tob-space-20); }

.tob-contact__card-title {
  font-size: var(--tob-type-h6);
  line-height: var(--tob-lh-h6);
  margin: 0; }

.tob-contact__card-body p {
  margin: 0;
  opacity: 0.75; }

.tob-contact__card-body a {
  color: var(--tob-highlight);
  text-decoration: none; }

.tob-contact__card-body p + p {
  margin-top: var(--tob-space-10); }

.tob-contact__address-label {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-sm);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-type-ui-bits-sm-lh);
  text-transform: uppercase;
  color: var(--tob-highlight);
  margin: var(--tob-space-10) 0; }

.tob-contact__address p {
  font-size: var(--tob-type-h6-small);
  line-height: var(--tob-lh-h6-small);
  margin: 0; }

.tob-form-contact {
  display: flex;
  flex-direction: column;
  gap: 0; }

.tob-contact__form .tob-form-contact {
  border-top: var(--tob-border-thin) solid var(--tob-cement);
  padding-block: var(--tob-space-20); }

.tob-form-contact__row {
  display: grid;
  gap: var(--tob-space-20);
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.tob-form-field,
.tob-form-group {
  padding: var(--tob-space-10) 0; }

.tob-form-field {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20); }

.tob-form-field__label,
.tob-form-group__label {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-type-ui-bits-lg);
  letter-spacing: var(--tob-type-ui-bits-lg-letter);
  line-height: var(--tob-type-ui-bits-lg-lh);
  text-transform: uppercase;
  margin: 0; }

.tob-form-field__label.tob-visually-hidden {
  clip: auto;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.tob-form-group {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-20); }

.tob-form-group--gap-20 {
  gap: var(--tob-space-20); }

.tob-form-checkboxes {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: var(--tob-space-15);
  width: 100%; }

.tob-form-checkbox {
  font-family: var(--tob-font-mono);
  font-size: var(--tob-space-10);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: 1;
  text-transform: uppercase;
  align-items: center;
  cursor: pointer;
  display: flex;
  flex: 0 0 auto;
  gap: var(--tob-space-10);
  position: relative; }

.tob-form-checkbox__input {
  height: var(--tob-space-10);
  opacity: 0;
  position: absolute;
  width: var(--tob-space-10); }

.tob-form-checkbox__box {
  background: var(--tob-chalk-2);
  border: var(--tob-border-thin) solid var(--tob-cement);
  display: inline-block;
  flex: 0 0 var(--tob-space-10);
  height: var(--tob-space-10);
  width: var(--tob-space-10); }

.tob-form-checkbox__input:checked + .tob-form-checkbox__box {
  background: var(--tob-dusk);
  border-color: var(--tob-dusk); }

.tob-form-checkbox__input:focus-visible + .tob-form-checkbox__box {
  outline: var(--tob-border-thin) solid var(--tob-highlight);
  outline-offset: var(--tob-space-2); }

.tob-form-checkbox__label {
  color: var(--tob-dusk); }

.tob-form-field__input,
.tob-form-select {
  background: var(--tob-chalk-2);
  border: 0;
  color: var(--tob-dusk);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-xs);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-lh-body);
  min-height: 57px;
  /* guardrail-allow: figma-match */
  padding: var(--tob-space-20);
  width: 100%; }

.tob-form-field__input::placeholder {
  color: var(--tob-cement); }

.tob-form-field__input:focus-visible,
.tob-form-select:focus-visible {
  outline: var(--tob-border-thin) solid var(--tob-highlight);
  outline-offset: var(--tob-space-2); }

.tob-form-field__error {
  color: var(--tob-highlight-2);
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-body-xxs);
  line-height: var(--tob-lh-body);
  margin: var(--tob-space-8) 0 0; }

.tob-form-field.is-error .tob-form-field__input,
.tob-form-group.is-error .tob-form-field__input,
.tob-form-group.is-error .tob-form-select {
  outline: var(--tob-border-thin) solid var(--tob-highlight-2);
  outline-offset: var(--tob-space-2); }

.tob-form-select {
  appearance: none;
  color: var(--tob-cement); }

.tob-form-select option {
  color: var(--tob-dusk); }

.tob-form-submit {
  padding: 0; }

.tob-form-submit .tob-button--variant-subscribe,
.tob-form-submit .tob-button--variant-cta-20-left-top {
  --tob-button-content-justify: flex-end;
  --tob-button-content-width: 100%; }

.tob-form-contact--dark .tob-form-checkbox__box {
  background: var(--tob-dusk-2);
  border-color: var(--tob-chalk); }

.tob-form-contact--dark .tob-form-checkbox__input:checked + .tob-form-checkbox__box {
  background: var(--tob-chalk);
  border-color: var(--tob-chalk); }

.tob-form-contact--dark .tob-form-checkbox__label {
  color: var(--tob-chalk); }

.tob-form-contact--dark .tob-form-field__input,
.tob-form-contact--dark .tob-form-select {
  background: var(--tob-dusk-2);
  color: var(--tob-chalk); }

.tob-form-contact--dark .tob-form-field__input::placeholder {
  color: var(--tob-cement); }

.tob-form-contact--dark .tob-form-select option {
  color: var(--tob-dusk); }

.tob-section--contact-hero {
  --tob-section-padding-top: var(--tob-section-pad-80); }

.tob-section--contact-form {
  --tob-section-padding-top: 0; }

.tob-contact-hero .tob-hero__title {
  font-size: var(--tob-type-h1);
  line-height: var(--tob-lh-h1); }

.tob-contact-ways {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-16); }

.tob-contact-ways__title {
  font-family: var(--tob-font-body);
  font-size: var(--tob-type-hero-subline);
  letter-spacing: var(--tob-type-ui-letter-tight);
  line-height: var(--tob-lh-hero-subline);
  margin: 0; }

.tob-contact-ways__panel {
  display: flex;
  flex-direction: column;
  gap: var(--tob-space-24);
  border-top: var(--tob-border-thin) solid var(--tob-cement-2);
  padding: var(--tob-space-24) 0; }

.tob-contact-ways__panel:last-of-type {
  border-bottom: var(--tob-border-thin) solid var(--tob-cement-2); }

.tob-contact-ways__label,
.tob-contact-ways__body {
  margin: 0; }

.tob-contact-ways__social {
  background: var(--tob-dusk-2);
  padding: var(--tob-space-10); }

.tob-contact-ways__newsletter .tob-form--contact-ways {
  margin: 0;
  max-width: var(--tob-component-contact-ways-form-max-width);
  width: 100%; }

.tob-form--contact-ways .tob-form__input {
  height: var(--tob-component-footer-newsletter-input-height); }

.tob-social-links--contact {
  flex-wrap: wrap;
  gap: var(--tob-space-12);
  justify-content: space-between;
  width: 100%; }

.tob-social-links--contact .tob-social-links__column {
  flex: 1 1 0; }

.tob-social-links--contact .tob-social-link {
  background: var(--tob-cement-2);
  font-size: 11px;
  /* guardrail-allow: figma-match */
  gap: var(--tob-space-8);
  line-height: var(--tob-lh-body);
  letter-spacing: var(--tob-type-ui-letter-tight);
  padding: var(--tob-space-4); }

@media (min-width: 901px) {
  .tob-section--hero:not(#home) .tob-hero__title,
  .tob-section--contact-hero .tob-contact-hero .tob-hero__title,
  .tob-section--why-tob-hero .tob-hero__title,
  .tob-section--buttercup-hero .tob-buttercup-hero__title,
  .tob-section--products-hero .tob-products-hero__title,
  .tob-section--forrester-hero .tob-forrester-hero__title,
  .tob-section--cyber-policy-hero .tob-cyber-policy-hero__title {
    font-size: var(--tob-type-non-home-hero);
    line-height: var(--tob-lh-non-home-hero); }
  .tob-section--ai-ml-hero .tob-hero__title-line:first-child {
    min-height: calc( var(--tob-type-non-home-hero) * var(--tob-lh-non-home-hero) * 3); }
  .tob-section--ai-ml-hero .tob-hero__title-line--accent {
    min-height: calc( var(--tob-type-non-home-hero) * var(--tob-lh-non-home-hero) * 2); }
  .tob-section--research-development-hero .tob-hero__title-line:first-child,
  .tob-section--research-development-hero .tob-hero__title-line--accent {
    min-height: calc( var(--tob-type-non-home-hero) * var(--tob-lh-non-home-hero) * 3); }
  .tob-section--products-hero .tob-products-hero__title-line {
    min-height: calc( var(--tob-type-non-home-hero) * var(--tob-lh-non-home-hero) * 2 + var(--tob-border-thin)); }
  .tob-section__inner--buttercup-hero {
    min-height: calc( var(--tob-type-non-home-hero) * 2.5 + var(--tob-space-40)); }
  .tob-cta-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tob-section--value-props .tob-card__body {
    min-height: calc(var(--tob-lh-body) * 6em); }
  .tob-built__grid .tob-card__title {
    min-height: calc(var(--tob-lh-h6-small) * 2em); }
  .tob-built__grid .tob-card__body {
    min-height: calc(var(--tob-lh-body) * 4em); }
  .tob-section--built-open-source .tob-built__grid .tob-card__title {
    min-height: 0; }
  .tob-section--built-open-source .tob-built__grid .tob-card__body {
    min-height: calc(var(--tob-lh-body) * 3em); } }

@media (max-width: 900px) {
  .tob-footer {
    padding-left: var(--tob-grid-mobile-margin);
    padding-right: var(--tob-grid-mobile-margin); }
  .tob-footer__content {
    gap: var(--tob-space-40);
    grid-template-columns: 1fr;
    grid-template-areas: "brand" "headline" "newsletter" "meta"; }
  .tob-footer__halftone {
    background-size: 150% auto;
    left: 50%;
    max-width: none;
    transform: translateX(-50%);
    width: 100vw; }
  .tob-footer__left,
  .tob-footer__right {
    display: contents;
    min-height: 0; }
  .tob-footer__brand {
    grid-area: brand;
    padding: 0; }
  .tob-footer__headline {
    grid-area: headline;
    min-height: var(--tob-component-footer-headline-min-height-mobile); }
  .tob-footer__headline-line {
    font-size: var(--tob-type-h2);
    line-height: var(--tob-lh-h2); }
  .tob-footer__newsletter {
    grid-area: newsletter; }
  .tob-footer__meta {
    grid-area: meta; }
  .tob-social-links--footer .tob-social-links__column {
    flex: 1 1 var(--tob-component-footer-social-column-width-mobile); }
  .tob-footer-legal {
    justify-content: flex-start; }
  .tob-footer__legal {
    text-align: left; }
  .tob-card-grid--three {
    grid-template-columns: 1fr; }
  .tob-built__grid {
    grid-template-columns: 1fr; }
  .tob-help__intro {
    grid-template-columns: 1fr; }
  .tob-built__actions {
    grid-template-columns: 1fr; }
  .tob-built__actions > :only-child,
  .tob-built__actions > :first-child,
  .tob-built__actions > :nth-child(2),
  .tob-built__actions > * {
    grid-column: 1 / -1; }
  .tob-awards {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tob-events {
    grid-template-columns: 1fr; }
  .tob-event-card__actions {
    grid-template-columns: 1fr; }
  .tob-events--style-recent-grid {
    column-gap: var(--tob-space-40);
    row-gap: var(--tob-space-40); }
  .tob-events--style-recent-grid .tob-event-card__actions {
    gap: var(--tob-space-16);
    grid-template-columns: 1fr; }
  .tob-work__grid {
    grid-template-columns: 1fr;
    margin-left: 0; }
  .tob-work__intro {
    align-items: flex-start;
    grid-template-columns: 1fr; }
  .tob-contact__content {
    grid-template-columns: 1fr; }
  .tob-form-contact__row {
    grid-template-columns: 1fr; }
  .tob-form-checkboxes {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--tob-space-10); }
  .tob-social-links--contact {
    flex-direction: column; }
  .tob-social-links--contact .tob-social-links__column {
    width: 100%; } }

@media (max-width: 600px) {
  .tob-awards {
    grid-template-columns: 1fr; }
  .tob-buttercup-team__grid {
    grid-template-columns: 1fr; }
  .tob-about-team__filters {
    grid-template-columns: 1fr; }
  .tob-about-team__grid {
    grid-template-columns: var(--tob-component-about-us-team-photo-size);
    justify-content: center; }
  .tob-events--cols-4 {
    grid-template-columns: 1fr; }
  .tob-resources-hub__actions,
  .tob-resources-hub__cards {
    grid-template-columns: 1fr; }
  .tob-resources-hub__cards .tob-resources-hub__card:nth-child(-n + 2) {
    border-top: 0; }
  .tob-resources-hub__cards .tob-resources-hub__card:first-child {
    border-top: var(--tob-border-standard) solid var(--tob-cement-2); }
  .tob-resources-carousel__rail {
    grid-template-columns: minmax(0, 1fr); } }
