/* Shared type scale. The root follows browser text-size preferences. */
:root{--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--title-sm:1.5rem;--title-md:clamp(1.875rem,1.5rem + 1.2vw,2.5rem);--title-lg:clamp(2rem,1.5rem + 2vw,3.25rem)}
html{font-size:100%;scroll-padding-top:7rem}
body{font-size:var(--text-base);line-height:1.65}
button,input,select,textarea{font:inherit}
h1,h2,h3{overflow-wrap:break-word}
p{line-height:1.75}
.button,.button-small,.text-link,.product-copy .button,.finder>.button,.detail-actions .button,.detail-actions .text-link,.specs-layout .text-link,.page-cta .button,.policy-content .button{font-size:var(--text-sm);line-height:1.5;white-space:normal}
.button{min-height:3rem}
.eyebrow,.pill,.resources-heading .eyebrow,.detail-hero .eyebrow,.solution-row .eyebrow,.page-intro .eyebrow,.page-cta .eyebrow{font-size:var(--text-xs);line-height:1.6;letter-spacing:.06em}
h2,.security .section-heading h2,.resources-heading h2,.faq h2,.detail-features .section-heading h2,.detail-workflow h2,.specs-layout h2,.use-cases h2,.comparison-section h2{font-size:var(--title-lg);line-height:1.2;letter-spacing:-.035em}
.product-copy h3,.finder h3,.solution-row h2,.explore-card h2,.document-cover h2,.planning-note h2,.page-cta h2,.related-section h2,.form-heading h3{font-size:var(--title-md);line-height:1.25;letter-spacing:-.03em}
.security-card h3,.feature-block h3,.workflow-grid h3,.use-case-grid h3,.policy-content h3{font-size:var(--title-sm);line-height:1.35;letter-spacing:-.02em}
.section-heading>p,.product-copy>p,.security-card>p,.journey-copy>p,.resources-heading p,.contact-copy>p,.page-intro p,.detail-grid>div>p,.detail-features .section-heading>p,.feature-block p,.workflow-grid p,.specs-layout>div>p,.use-case-grid p,.solution-row p,.explore-card p,.document-info>p,.page-cta p,.policy-content p{font-size:var(--text-base);line-height:1.8}
.product-copy>p,.journey-copy>p,.contact-copy>p,.section-heading>p,.specs-layout>div>p{max-width:32rem}
.page-intro h1,.detail-hero h1,.why-intro h1{font-size:clamp(2.25rem,1.5rem + 3vw,4.25rem);line-height:1.16;letter-spacing:-.04em}
.breadcrumbs{font-size:var(--text-sm);line-height:1.6;flex-wrap:wrap;gap:.625rem}
/* Header and navigation. Space is managed by layout, never by shrinking text. */
.site-header{height:5.625rem}
.site-header.sticky{min-height:4.625rem;height:auto}
.nav-wrap{min-height:inherit;height:100%;gap:1rem}
.site-header .desktop-nav a,.desktop-nav .nav-trigger{font-size:1rem;line-height:1.5;font-weight:500}
.desktop-nav{gap:1.25rem;flex-shrink:0}
.desktop-nav .nav-trigger{height:2.75rem;gap:.5rem}
.nav-trigger svg{width:.875rem;height:.875rem}
.header-actions{display:flex;align-items:center;gap:.625rem;margin-left:auto;flex-shrink:0}
.header-cta{font-size:.875rem;gap:.75rem;min-height:2.875rem;white-space:nowrap;padding:.75rem 1rem}
.panel-login{display:inline-flex;align-items:center;justify-content:center;min-height:2.875rem;padding:.65rem 1rem;border:1px solid #b8b9b9;border-radius:.375rem;background:#fafaf9;color:#343638;font-size:.875rem;line-height:1.5;font-weight:600;white-space:nowrap;transition:background .2s,border-color .2s}
.panel-login:hover{background:#eeefec;border-color:#777a78;color:#242625}
.site-header .brand{flex-shrink:0}
.nav-dropdown{max-width:calc(100vw - 2rem)}
.solutions-dropdown{width:38rem}
.explore-dropdown{min-width:19rem;right:0}
.nav-dropdown strong{font-size:1rem;line-height:1.45}
.nav-dropdown small{font-size:.875rem;line-height:1.5}
.nav-dropdown .dropdown-label{font-size:.8125rem;line-height:1.6;letter-spacing:.045em}
.desktop-nav .nav-dropdown .dropdown-all{font-size:.9375rem;line-height:1.5}
.mega-solutions{gap:.5rem}
.desktop-nav .mega-solutions a{padding:1rem .75rem}
.mobile-nav{max-height:calc(100dvh - 4.5rem)}
.mobile-nav a,.mobile-nav .mobile-sublinks a,.mobile-nav-label{font-size:1rem;line-height:1.5}
.mobile-nav .mobile-sublinks a{padding:.65rem 0}
/* Home introduction and service summary. */
.brand-intro{padding-top:5.625rem}
.brand-scene h1{font-size:clamp(3.25rem,2rem + 3vw,5rem);letter-spacing:-.045em;line-height:1.1}
.brand-overline,.brand-services-heading>span{font-size:.8125rem;line-height:1.6;letter-spacing:.07em}
.brand-promise{font-size:clamp(1.5rem,1.1rem + 1vw,2rem);letter-spacing:-.025em;line-height:1.4;margin-top:1.25rem}
.brand-intro-detail>p{font-size:1.125rem;line-height:1.75;max-width:34rem}
.brand-primary{font-size:.9375rem;line-height:1.5;min-height:3.25rem}
.brand-advice{min-width:0;max-width:23rem;flex-basis:23rem}
.brand-advice>span{font-size:.8125rem;line-height:1.6;letter-spacing:.04em}
.brand-advice strong{font-size:1.25rem;line-height:1.5}

.brand-scene-content{padding-bottom:3.5rem}
.brand-services-inner{grid-template-columns:1fr;gap:1.75rem}
.brand-services-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand-services-heading>span{margin:0;max-width:none}
.brand-services-heading h2{font-size:1.5rem;line-height:1.3;max-width:none}
.brand-services-heading h2 br{display:none}
.brand-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.brand-service-grid>a:first-child{border-left:0;padding-left:0}
.brand-service-top{font-size:.8125rem;font-weight:600;line-height:1.5;letter-spacing:.025em;min-height:2.5rem;white-space:normal}
.brand-service-grid h3{font-size:1.625rem;line-height:1.25;letter-spacing:-.03em}
.brand-service-grid p{font-size:1rem;line-height:1.7}
.compatibility-inner>span{font-size:.9375rem;line-height:1.65;min-width:12rem}
.compat-logos{flex-wrap:wrap}
.platform-logo{font-size:1rem}
/* Product content, supporting information and discovery tools. */
.product-tabs button{font-size:1rem;line-height:1.5;gap:.625rem}
.product-tabs button small,.resource-index,.resource-label,.guide-summary span,.card-number,.solution-tags>span,.feature-number{font-size:.8125rem;line-height:1.5}
.check-list li,.journey-steps p,.finder>p,.finder-result p,.spec-table dt,.spec-table dd,.comparison-table table,.policy-content .comparison-table table{font-size:1rem;line-height:1.75}
.check-list li{align-items:flex-start}
.check-list li:before{flex-shrink:0;margin-top:.2rem}
.journey-steps strong,.finder-result>strong,.resource-list strong,.related-grid strong{font-size:1.0625rem;line-height:1.5}
.finder-options button{font-size:1rem;line-height:1.55;min-height:3.25rem}
.finder-result{min-height:0;padding-bottom:1.25rem}
.finder-result>span,.policy-layout aside>span{font-size:.8125rem;line-height:1.6;letter-spacing:.05em}
.finder-detail,.download-link,.solution-note,.security-footnote,.resource-list small,.related-grid small,.document-cover p,.document-links a,.document-product,.resource-context p,.table-note,.explore-card>span,.policy-layout aside>a,.policy-layout aside .button,.policy-link{font-size:.9375rem;line-height:1.7}
.download-link{margin:.875rem 0 0 1rem}
.solution-note,.security-footnote{flex-wrap:wrap}
.security-card{min-height:0}
.card-number{max-width:none;letter-spacing:.04em}
.detail-highlights{gap:1rem}
.detail-highlights>div{display:block;min-width:0;padding:.5rem 1rem}
.detail-highlights strong{font-size:1.625rem;line-height:1.3;white-space:normal}
.detail-highlights span{display:block;font-size:.9375rem;line-height:1.6;margin-top:.5rem}
.related-grid a{min-width:0}
.related-grid strong,.related-grid small{overflow-wrap:anywhere}
.document-type{position:static;display:block;font-size:.8125rem;line-height:1.6;letter-spacing:.04em;max-width:none}
.document-cover{height:auto;min-height:15rem}
.document-info>p{min-height:0}
.document-links{flex-wrap:wrap;gap:1rem}
.resource-list>a{flex-wrap:wrap}
.resource-list>a>span:nth-child(3){flex:1;min-width:0}
.resource-label{display:none}
/* Forms, FAQs, consent and policy content. */
.faq summary,.faq-directory summary{font-size:1.0625rem;line-height:1.6}
.faq details p,.faq-directory details p,.faq-search-status{font-size:1rem;line-height:1.8}
.faq .text-link{font-size:.9375rem}
.faq-group h2,.policy-content h2{font-size:1.75rem;line-height:1.3}
.faq-search-label,.form-heading>span,.contact-page-title p,.contact-note{font-size:.9375rem;line-height:1.7}
.faq-search,.faq-search::placeholder{font-size:1rem}
.contact-page-title h1{font-size:1.375rem;line-height:1.4}
.contact-copy h2{font-size:clamp(2.5rem,2rem + 2vw,4rem);letter-spacing:-.04em}
.contact-form label{font-size:.9375rem;line-height:1.6}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea,.contact-form input::placeholder,.contact-form textarea::placeholder{font-size:1rem;line-height:1.5}
.contact-form input:not([type=checkbox]),.contact-form select{min-height:3rem}
.contact-form .consent{font-size:.875rem;line-height:1.75}
.form-submit{font-size:1rem;line-height:1.5;min-height:3.25rem}
.form-foot{font-size:.8125rem;line-height:1.6;text-align:center;align-items:flex-start}
.form-foot svg{flex-shrink:0;margin-top:.25rem}
.form-status{font-size:.9375rem;line-height:1.7}
.policy-content .policy-date{font-size:.875rem;line-height:1.6}
.cookie-banner{max-height:calc(100dvh - 2rem);overflow:auto;grid-template-columns:2.5rem 1fr 24rem;gap:1.25rem}
.cookie-copy h2{font-size:1.25rem;line-height:1.3}
.cookie-copy p,.consent-category p,.category-description{font-size:.9375rem;line-height:1.65}
.consent-choice,.cookie-actions .consent-choice,.cookie-actions .cookie-settings-trigger,.consent-dialog-actions .button,.consent-dialog-actions .consent-choice{font-size:.875rem;line-height:1.5}
.cookie-actions .consent-choice{white-space:normal}
.consent-category strong{font-size:1rem;line-height:1.5}
.always-on{font-size:.8125rem;white-space:normal;text-align:center}
#cookie-dialog,dialog{max-width:38rem;max-height:calc(100dvh - 2rem);overflow:auto}
#cookie-dialog h2,dialog h2{font-size:1.875rem;line-height:1.3}
#cookie-dialog>p,dialog p{font-size:1rem;line-height:1.75}
/* Footer remains comfortable to read, including policy links. */
.footer-top>span,.back-top{font-size:.875rem;line-height:1.6}
.footer-links>div>span:not(.footer-message span){font-size:.8125rem;line-height:1.6;letter-spacing:.05em}
.footer-links a,.footer-message>a{font-size:1rem;line-height:1.65}
.footer-message{font-size:1.75rem;line-height:1.4}
.footer-bottom,.footer-bottom button{font-size:.875rem;line-height:1.6}
.footer-policy-links,.footer-bottom{flex-wrap:wrap}
.noscript-note{font-size:1rem}
/* Breakpoints react to the user's base font size as well as available space. */
@media(max-width:75em){
 .desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;flex-shrink:0;margin:0}
 .menu-toggle span{width:22px;height:1px;transition:transform .2s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .header-cta{display:inline-flex}
 .brand-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 0}
 .brand-service-grid>a:nth-child(odd){padding-left:0;padding-right:1.25rem;border-left:0}
 .brand-service-grid>a:nth-child(n+3){border-top:1px solid #dce5ea;padding-top:1.5rem}
 .cookie-banner{grid-template-columns:1fr 22rem}.cookie-symbol{display:none}
}
@media(max-width:56.25em){
 .product-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
 .product-tabs button{flex-direction:row;text-align:left;font-size:1rem}
 .product-tabs button small{display:none}
 .detail-grid,.contact-layout,.journey-layout,.product-panel,.specs-layout{grid-template-columns:1fr}
 .feature-grid,.security-grid{grid-template-columns:1fr 1fr}
 .security-card{display:block;padding-bottom:1.5rem}
 .brand-intro-bottom{flex-wrap:wrap;gap:1.5rem}
 .brand-advice{flex-basis:100%;max-width:28rem}
 .cookie-banner{display:block}.cookie-actions{margin-top:1rem}
 .section-heading{display:block}.section-heading>p{margin-top:1.25rem;max-width:38rem}
 .comparison-table{max-width:100%;overflow:auto}
}
@media(max-width:43.75em){
 .site-header{height:4.75rem}.site-header.sticky{min-height:4.5rem}
 .site-header .brand img,.site-header.sticky .brand img{width:clamp(6.75rem,29vw,9.5rem);height:auto}
 .nav-wrap{gap:.625rem}.header-actions{gap:0}.header-cta{display:none}
 .panel-login{font-size:.875rem;padding:.5rem .65rem;min-height:2.75rem}
 .mobile-sublinks{grid-template-columns:1fr}
 .brand-intro{padding-top:4.75rem}.brand-scene h1{font-size:clamp(2.75rem,2rem + 4vw,3.75rem);letter-spacing:-.04em}
 .brand-overline{font-size:.8125rem;letter-spacing:.04em}.brand-promise{font-size:1.5rem}
 .brand-intro-detail>p{font-size:1rem;max-width:100%}.desktop-break{display:none}
 .brand-advice>span{font-size:.8125rem}.brand-primary{font-size:.9375rem;gap:1rem}
 .brand-scene-content{padding-bottom:3.75rem}
 
 .brand-services-heading{display:block}.brand-services-heading h2{font-size:1.5rem;margin-top:.75rem}.brand-services-heading h2 br{display:none}
 .brand-service-top{font-size:.8125rem;min-height:2.5rem}.brand-service-grid h3{font-size:1.5rem}.brand-service-grid p{font-size:1rem}
 .compatibility-inner>span{font-size:.9375rem}.platform-logo{font-size:.9375rem}
 .feature-grid,.security-grid,.use-case-grid,.related-grid{grid-template-columns:1fr}
 .detail-highlights{grid-template-columns:1fr;gap:0}
 .detail-highlights>div{padding:1rem 0;border-right:0;border-bottom:1px solid #45678145}
 .detail-highlights strong{font-size:1.5rem}.detail-highlights span{font-size:.9375rem}
 .contact-form{padding:1.5rem}.form-grid{grid-template-columns:1fr}
 .contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:1rem}
 .resource-list>a{gap:.75rem}.resource-list>a>svg:first-of-type{display:none}
 .resource-list strong{font-size:1rem}.resource-list small{font-size:.875rem}
 .download-link{margin:.875rem 0 0;display:flex;width:max-content;max-width:100%}
 .footer-links{grid-template-columns:1fr 1fr;gap:2rem 1rem}.footer-links a{font-size:.9375rem}
 .footer-message{font-size:1.625rem}.footer-bottom,.footer-bottom button{font-size:.875rem}
 .cookie-copy p{font-size:.875rem}.cookie-actions .consent-choice{font-size:.875rem;flex:1 1 10rem}
 .consent-category{gap:.75rem}.always-on{min-width:4.5rem}
 .page-cta .button{font-size:.9375rem}
}
@media(max-width:24em){
 .brand-service-grid{grid-template-columns:1fr;gap:1.5rem}
 .brand-service-grid>a,.brand-service-grid>a:nth-child(odd){padding:0 0 1.5rem;border-left:0;border-top:0;border-bottom:1px solid #dce5ea}
 .brand-service-top{min-height:0}.brand-service-grid h3{margin-top:1rem}.brand-service-grid h3 br{display:none}
 .brand-service-grid p{max-width:none}.brand-services-heading h2{font-size:1.375rem}
 .product-tabs button{font-size:.9375rem;gap:.5rem;padding:.75rem .25rem}.product-tabs button svg{width:1.125rem;height:1.125rem}
 .footer-links{grid-template-columns:1fr}.footer-message{grid-column:auto}
}
.policy-content,.comparison-table{min-width:0}
@media(max-width:56.25em){.policy-layout{grid-template-columns:1fr}.policy-layout aside{position:static}}
/* Center navigation independently of the unequal logo and action widths. */
@media(min-width:75.0625em){
 .nav-wrap{position:relative}
 .desktop-nav{position:absolute;left:50%;transform:translateX(-50%)}
}

.brand-overline{margin-bottom:1.75rem}
.brand-intro-bottom{margin-top:2rem}

.footer-brand-note{margin:0 0 1.5rem;color:#b6c7d6;font-size:.875rem;line-height:1.7}
.footer-brand-note a{color:#e6f3fa;text-decoration:underline;text-underline-offset:.2em}
.footer-brand-note a:hover{color:#65d1df}
