.company-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 65px; align-items: center; padding-block: 24px 70px; }
.company-hero h1,.resource-heading h1 { font-size: 46px; font-weight: 500; line-height: 1.5; letter-spacing: -.045em; margin-top: 18px; }
.company-hero p:not(.eyebrow) { color: #5a788c; font-size: 14px; line-height: 2; max-width: 515px; margin-top: 16px; }
.company-hero p.company-lead { font-size: 20px; color: #244f6b; margin-top: 26px; }
.company-portfolio { height: 440px; position: relative; border: 1px solid #d8e7f0; border-radius: 8px; background: linear-gradient(145deg,#edf7fc,#dfeef6); overflow: hidden; }
.portfolio-label { position: absolute; top: 22px; left: 25px; font: 10px monospace; letter-spacing: .14em; color: #608297; }
.company-portfolio img { object-fit: contain; position: absolute; }
.portfolio-screen { width: 76%; top: 63px; left: 12%; border: 1px solid #87b3cc; border-radius: 4px; box-shadow: 0 14px 35px #194c7326; }
.portfolio-hardware { position: absolute; left: 22px; right: 22px; bottom: 56px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.portfolio-hardware>div { background: #fff; border: 1px solid #d7e5ee; border-radius: 4px; box-shadow: 0 8px 20px #1b4f6d0d; padding: 10px 8px 12px; }
.portfolio-hardware img { position: static; height: 85px; width: 100%; object-fit: contain; }
.portfolio-hardware span { display: block; text-align: center; font-size: 10px; color: #4e7891; margin-top: 7px; }
.company-portfolio>p { position: absolute; left: 25px; bottom: 20px; font-size: 12px; color: #386380; }
.company-belief { background: #eff5f8; border-block: 1px solid #dde8ee; padding-block: 55px; }
.company-belief h2,.company-section-heading h2,.company-contact h2,.resource-news h2 { font-size: 32px; font-weight: 500; line-height: 1.5; margin-top: 15px; }
.company-belief .container>p:not(.eyebrow) { margin-top: 20px; color: #5e7c90; font-size: 14px; line-height: 2; }
.company-capabilities { display: grid; grid-template-columns: repeat(3,1fr); gap: 35px; margin-top: 38px; }
.company-capabilities>a { padding-top: 22px; border-top: 1px solid #bcd2df; }
.company-capabilities span,.partner-grid article>span { color: #63869d; font: 11px monospace; }
.company-capabilities h3 { font-size: 23px; font-weight: 500; margin-top: 15px; }
.company-capabilities p { margin-top: 12px; font-size: 13px; color: #55778e; min-height: 44px; }
.company-capabilities strong { display: block; font-size: 12px; color: #1676a3; font-weight: 400; margin-top: 22px; }
.company-partners { padding-block: 65px; }
.company-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.company-section-heading>p { color: #618195; font-size: 14px; line-height: 2; padding-bottom: 5px; }
.partner-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 32px; }
.partner-grid article { padding: 28px; border: 1px solid #d4e2eb; border-radius: 5px; }
.partner-grid h3 { font-size: 24px; font-weight: 500; margin-top: 18px; }
.partner-grid p { font-size: 14px; color: #426b84; margin-top: 16px; }
.partner-grid small { display: block; margin-top: 14px; color: #6b8696; font-size: 12px; min-height: 42px; }
.partner-grid a { display: inline-block; font-size: 12px; color: #157fac; margin-top: 25px; }
.company-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; border-top: 1px solid #d4e2eb; padding-block: 50px 65px; }
.company-contact>div>p:not(.eyebrow) { margin-top: 18px; color: #688396; font-size: 14px; line-height: 2; }
.contact-phone { display: block; font-size: 28px; color: #2a668a; margin-top: 26px; }
.contact-email { display: inline-block; color: #337a9f; font-size: 14px; margin-top: 6px; }
.office-list address { font-style: normal; padding-block: 15px 25px; border-bottom: 1px solid #dce8ef; margin-bottom: 18px; }
.office-list address>span { font-size: 10px; color: #6b8c9e; }
.office-list h3 { font-size: 22px; font-weight: 500; margin-top: 8px; }
.office-list p { font-size: 13px; color: #648294; margin-top: 7px; }
.resource-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; padding-block: 15px 40px; }
.resource-heading>p { color: #628096; font-size: 14px; line-height: 2; padding-bottom: 8px; }
.resource-feature { display: grid; grid-template-columns: 1.25fr 1fr; gap: 70px; background: #edf5fa; border: 1px solid #d5e5ef; padding: 36px 45px; border-radius: 6px; }
.resource-kicker { font-size: 11px; color: #4180a3; letter-spacing: .06em; }
.resource-feature h2 { text-wrap: balance; font-size: 31px; font-weight: 500; line-height: 1.6; margin-top: 15px; max-width: 540px; }
.resource-feature p { font-size: 13px; color: #5c7b90; line-height: 2; margin-block: 18px 25px; }
.resource-feature-image { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.resource-feature-image img { width: 100%; height: 250px; object-fit: contain; }
.resource-feature-image span { font-size: 11px; color: #62889f; }
.resource-categories { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 35px; padding-block: 18px; border-block: 1px solid #d8e5ed; }
.resource-categories a { display: flex; align-items: center; gap: 14px; padding-inline: 20px; border-right: 1px solid #d8e5ed; font-size: 15px; }
.resource-categories a:first-child { padding-left: 0; }
.resource-categories a:last-child { border-right: 0; }
.resource-categories span { font: 10px monospace; color: #6d93aa; }
.resource-categories b { margin-left: auto; font-size: 15px; font-weight: 400; color: #3883ad; }
.resource-section { padding-top: 52px; }
.resource-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.resource-section-heading h2 { font-size: 27px; font-weight: 500; }
.resource-section-heading p,.resource-section-heading>a { color: #628396; font-size: 13px; }
.resource-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.resource-card { border: 1px solid #d9e5ed; border-radius: 5px; overflow: hidden; }
.resource-card:hover { border-color: #6da0bd; }
.resource-card-image { position: relative; background: #f3f7fa; height: 210px; padding: 20px; }
.resource-card-image img { width: 100%; height: 100%; object-fit: contain; }
.resource-card-image>span { position: absolute; top: 17px; left: 20px; background: #fff; border: 1px solid #dbe7ee; font-size: 10px; padding: 4px 9px; color: #4d7b96; border-radius: 3px; }
.resource-card-copy { padding: 25px 28px; }
.resource-card h3 { font-size: 23px; font-weight: 500; line-height: 1.6; }
.resource-card p { color: #617f92; font-size: 13px; line-height: 1.95; margin-top: 15px; }
.resource-card strong { display: block; margin-top: 22px; font-size: 12px; font-weight: 400; color: #137da8; }
.resource-docs { background: #113b56; color: #fff; border-radius: 5px; padding: 42px; display: flex; flex-direction: column; align-items: start; justify-content: center; }
.resource-docs .resource-kicker { color: #97c3db; }
.resource-docs h3 { font-size: 31px; font-weight: 500; line-height: 1.6; margin-top: 24px; }
.resource-docs p { color: #b1cede; font-size: 13px; line-height: 2; margin-block: 18px 22px; max-width: 340px; }
.resource-docs>a { font-size: 13px; color: #d6ecf7; margin-top: 13px; }
.resource-application-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.resource-application-grid>a { display: grid; grid-template-columns: 42% 1fr; border: 1px solid #d9e5ed; border-radius: 5px; overflow: hidden; }
.resource-application-grid img { width: 100%; height: 230px; object-fit: cover; }
.resource-application-grid a>div { padding: 28px 24px; }
.resource-application-grid span { font-size: 10px; color: #688b9e; }
.resource-application-grid h3 { font-size: 26px; font-weight: 500; margin-top: 15px; }
.resource-application-grid p { font-size: 12px; color: #5d8095; margin-top: 12px; }
.resource-application-grid strong { display: block; font-size: 12px; font-weight: 400; color: #207ba7; margin-top: 20px; }
.resource-news { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; border-top: 1px solid #d8e5ed; padding-block: 40px 60px; margin-top: 55px; }
.resource-news>div>p:not(.eyebrow) { font-size: 14px; color: #5f7f93; line-height: 2; margin-bottom: 20px; }
.article-heading { max-width: 1120px; padding-block: 24px 38px; border-bottom: 1px solid #d8e5ed; }
.article-heading h1 { font-size: 40px; line-height: 1.5; font-weight: 500; margin-top: 20px; max-width: 980px; }
.article-heading>p:not(.eyebrow) { font-size: 16px; line-height: 1.95; color: #56788e; margin-top: 25px; max-width: 960px; }
.article-meta { color: #6b8698; font-size: 11px; margin-top: 24px; display: flex; gap: 12px; align-items: center; }
.article-layout { max-width: 1120px; display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 60px; padding-block: 40px 60px; align-items: start; }
.article-sidebar { position: sticky; top: 114px; }
.article-sidebar nav { display: flex; flex-direction: column; gap: 17px; font-size: 12px; color: #557b94; padding-bottom: 28px; margin-bottom: 18px; border-bottom: 1px solid #d7e5ed; }
.article-sidebar nav>span { font-size: 11px; color: #86a0b1; margin-bottom: 5px; }
.article-content section+section { margin-top: 38px; }
.article-content h2 { font-size: 25px; font-weight: 500; line-height: 1.5; margin-bottom: 20px; }
.article-content p,.article-content li { font-size: 15px; line-height: 2.1; color: #476d84; }
.article-content p+p { margin-top: 18px; }
.article-content ul { padding-left: 22px; margin-block: 20px; }
.article-content li+li { margin-top: 8px; }
.article-content table { margin-top: 25px; border: 1px solid #d9e6ee; table-layout: fixed; }
.article-content th,.article-content td { padding: 15px; line-height: 1.85; overflow-wrap: anywhere; }
.article-sources { border-top: 1px solid #d8e5ed; padding-top: 28px; }
.article-sources p,.article-sources li { font-size: 12px; }
.article-sources ul { columns: 2; }
.article-sources a { color: #1b7ba8; }
.article-related { max-width: 1120px; border-top: 1px solid #d8e5ed; padding-block: 36px 50px; }
.article-products { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.article-products>a { border: 1px solid #dce7ee; border-radius: 4px; padding: 15px 20px 22px; }
.article-products img { width: 100%; height: 135px; object-fit: contain; }
.article-products strong { display: block; color: #2c729c; font-size: 21px; font-weight: 500; }
.article-products span { display: block; font-size: 11px; color: #63869b; margin-top: 5px; }
.article-next { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 32px; color: #5e7b8f; font-size: 13px; }
.resource-all-articles { display: inline-block; color: #1879a6; margin-top: 14px; font-size: 13px; }
.resource-docs-wide { grid-column: 1 / -1; }
.resource-practice-articles { margin-bottom: 28px; }
.news-heading { padding-bottom: 48px; }
.news-collection { padding-bottom: 60px; }
.news-collection>.resource-section-heading { border-top: 1px solid #d8e5ed; padding-top: 28px; }
.news-count { font-size: 12px; color: #6a899d; font-weight: 400; margin-left: 12px; }
.news-item { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 36px; padding-block: 30px; border-bottom: 1px solid #dce7ee; }
.news-image { display: flex; align-items: center; justify-content: center; border: 1px solid #e1ebf1; background: #f4f8fb; border-radius: 5px; padding: 20px; }
.news-image img { height: 150px; width: 100%; object-fit: contain; }
.news-meta { display: flex; gap: 20px; color: #6a879a; font-size: 11px; align-items: center; }
.news-meta>span:first-child { color: #287da8; }
.news-item h3 { font-size: 24px; font-weight: 500; line-height: 1.6; margin-top: 13px; }
.news-item h3 a:hover { color: #147fb3; }
.news-item p { color: #5d7c90; font-size: 14px; line-height: 1.95; margin-top: 12px; max-width: 840px; }
.news-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; }
.news-bottom>div { display: flex; gap: 8px; }
.news-bottom span { padding: 3px 8px; background: #edf4f8; border-radius: 3px; font-size: 10px; color: #62859b; }
.news-bottom>a { font-size: 12px; color: #217ca8; white-space: nowrap; }
.article-heading>p.article-origin { font-size: 12px; margin-top: 20px; padding: 14px 18px; background: #f1f6f9; border-left: 2px solid #86b3ce; }
.article-origin a { color: #197da9; }
.company-history { background: #eef5fa; border-block: 1px solid #d9e7ef; padding-block: 58px 35px; }
.history-heading { display: flex; justify-content: space-between; gap: 50px; align-items: end; margin-bottom: 36px; }
.history-heading h2 { font-size: 40px; line-height: 1.45; font-weight: 500; margin-top: 17px; letter-spacing: -.035em; }
.history-heading h2 em { font-style: normal; color: #317eae; }
.history-heading-note { padding-bottom: 6px; }
.history-heading-note>p { color: #5c7d93; font-size: 14px; line-height: 2; }
.history-index { display: flex; gap: 0; margin-top: 22px; font-size: 12px; font-variant-numeric: tabular-nums; }
.history-index a { padding: 5px 16px; border-block: 1px solid #c7dce9; color: #3f7da3; }
.history-index a:first-child { border-left: 1px solid #c7dce9; border-radius: 4px 0 0 4px; }
.history-index a:last-child { border-right: 1px solid #c7dce9; border-radius: 0 4px 4px 0; }
.history-index a:hover { background: #fff; color: #0a77b1; }
.history-timeline { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; list-style: none; padding: 0; margin: 0; }
.history-milestone { background: #ffffffed; border: 1px solid #d6e5ee; border-radius: 7px; overflow: hidden; box-shadow: 0 5px 18px #234f7104; scroll-margin-top: 105px; }
.history-card-content { padding: 26px 30px 30px; }
.history-card-top { display: flex; justify-content: space-between; align-items: center; color: #7395ad; font: 10px var(--font); letter-spacing: .12em; margin-bottom: 20px; }
.history-card-top>span:last-child { font: 12px monospace; color: #a3bece; }
.history-card-story { display: grid; grid-template-columns: 116px minmax(0,1fr); gap: 24px; align-items: start; }
.history-timeline time { display: block; font-size: 49px; font-weight: 400; line-height: 1; color: #317dab; letter-spacing: -.065em; font-variant-numeric: tabular-nums; }
.history-timeline h3 { font-size: 20px; font-weight: 500; line-height: 1.55; margin-top: -3px; color: #224b67; }
.history-timeline p { font-size: 13px; line-height: 1.95; color: #648095; margin-top: 12px; }
.history-citation { font-size: 10px; color: #7898ac; vertical-align: super; white-space: nowrap; }
.history-milestone-featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; border-color: #164e73; background: linear-gradient(112deg,#10354f,#164f74); min-height: 300px; position: relative; }
.history-milestone-featured .history-card-content { padding: 32px 36px; }
.history-milestone-featured .history-card-top { color: #a1cadd; margin-bottom: 28px; }
.history-milestone-featured .history-card-story { grid-template-columns: 130px minmax(0,1fr); }
.history-milestone-featured time { color: #a0d8f6; font-size: 59px; }
.history-milestone-featured h3 { color: #f4faff; font-size: 23px; }
.history-milestone-featured p { color: #bbd5e4; }
.history-milestone-featured .history-citation { color: #96bfd7; }
.history-product-link { display: inline-flex; align-items: center; gap: 35px; font-size: 12px; color: #def1ff; margin: 25px 0 0 154px; padding-bottom: 5px; border-bottom: 1px solid #ffffff45; }
.history-product-link:hover { color: #fff; border-color: #c9eaff; }
.history-present { position: relative; margin: 30px 36px 26px 0; min-width: 0; min-height: 300px; }
.history-platform-image { position: absolute; right: 0; top: 0; width: 88%; border: 1px solid #5a8ba7; border-radius: 5px; box-shadow: 0 12px 30px #061c354f; }
.history-device-tile { position: absolute; bottom: 29px; left: 0; width: 105px; padding: 10px; background: #fff; border-radius: 5px; box-shadow: 0 10px 25px #071d403d; border: 1px solid #d4e6ef; }
.history-device-tile img { width: 100%; height: 104px; object-fit: contain; }
.history-device-tile span { display: block; text-align: center; font-size: 9px; color: #48738d; margin-top: 8px; }
.history-present figcaption { position: absolute; bottom: 0; right: 0; color: #a7cadd; font-size: 10px; }
.history-sources { display: flex; justify-content: space-between; align-items: start; gap: 35px; padding-top: 25px; color: #587e96; font-size: 12px; line-height: 1.9; }
.history-sources small { display: block; color: #809aaa; font-size: 10px; margin-top: 3px; }
.history-sources>div>span { display: block; color: #7897aa; font-size: 10px; }
.history-sources a { color: #62869d; }
