@font-face{font-family:TEBarlow;src:url('/assets/barlow-extrabold.ttf') format('truetype');font-display:swap;font-weight:800}
@font-face{font-family:TESource;src:url('/assets/source-regular.ttf') format('truetype');font-display:swap;font-weight:400}
.te-port-header,.te-port-footer,.te-legacy-directory{box-sizing:border-box}
.te-port-header *,.te-port-footer *,.te-legacy-directory *{box-sizing:border-box}
.te-port-header{position:relative;z-index:9000;background:#002e73;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.16);font-family:TESource,Arial,sans-serif}
.te-port-inner{width:min(1200px,calc(100% - 40px));min-height:88px;margin:auto;display:flex;align-items:center;gap:26px}
.te-port-logo{display:flex;flex:0 0 auto;align-items:center}
.te-port-logo img{width:190px;height:auto;max-height:68px;object-fit:contain}
.te-port-desktop{display:flex;align-items:center;gap:19px;margin-left:auto}
.te-port-desktop a,.te-port-mobile a{color:#fff!important;text-decoration:none!important;font:600 15px/1.35 TESource,Arial,sans-serif!important;white-space:nowrap}
.te-port-desktop a:hover,.te-port-desktop a:focus-visible,.te-port-mobile a:hover,.te-port-mobile a:focus-visible{color:#ffc729!important;text-decoration:underline!important;text-underline-offset:5px}
.te-port-contact{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 18px;border-radius:4px;background:#ffc729;color:#002e73!important;text-decoration:none!important;font:800 15px/1.2 TEBarlow,Arial,sans-serif!important;white-space:nowrap}
.te-port-contact:hover,.te-port-contact:focus-visible{background:#ffe082;color:#002e73!important}
.te-port-mobile{display:none;position:relative;margin-left:auto}
.te-port-mobile summary{cursor:pointer;list-style:none;padding:10px 15px;border:1px solid rgba(255,255,255,.45);border-radius:4px;font:800 15px TEBarlow,Arial,sans-serif}
.te-port-mobile summary::-webkit-details-marker{display:none}
.te-port-mobile nav{position:absolute;right:0;top:calc(100% + 12px);width:min(280px,calc(100vw - 40px));display:grid;gap:0;padding:10px;background:#002e73;border:1px solid rgba(255,255,255,.3);box-shadow:0 18px 30px rgba(0,22,55,.25)}
.te-port-mobile nav a{padding:12px 10px}
.te-port-footer{background:#002e73;color:#fff;font-family:TESource,Arial,sans-serif;clear:both}
.te-port-footer-inner{width:min(1200px,calc(100% - 40px));margin:auto;padding:56px 0;display:flex;justify-content:space-between;gap:48px}
.te-port-footer-inner>div{display:grid;align-content:start;justify-items:start;gap:9px;max-width:440px}
.te-port-footer-inner img{width:190px;height:auto;max-height:70px;object-fit:contain}
.te-port-footer-inner p{color:#d9e4f3!important;margin:10px 0!important;font:400 16px/1.5 TESource,Arial,sans-serif!important}
.te-port-footer a{color:#fff!important;text-decoration:none!important;font:400 15px/1.5 TESource,Arial,sans-serif!important}
.te-port-footer a:hover,.te-port-footer a:focus-visible{color:#ffc729!important;text-decoration:underline!important}
.te-port-footer-inner nav{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));align-content:start;gap:12px 30px}
.te-port-footer-base{border-top:1px solid rgba(255,255,255,.2);padding:20px;max-width:1200px;margin:auto;color:#d9e4f3;font:400 14px TESource,Arial,sans-serif}
.te-brand-bar,.resource-back-nav,.te-brand-footer,.app-footer{display:none!important}
body:has(.te-port-header) .te-page-title{background:#f4f7fb;color:#002e73}
body:has(.te-port-header) .te-page-title h1{font-family:TEBarlow,Arial,sans-serif;color:#002e73}
body:has(.te-port-header) .te-page-title .te-eyebrow{color:#002e73}
body:has(.te-port-header) .about-hero{background:#002e73;color:#fff}
body:has(.te-port-header) .about-hero h1{font-family:TEBarlow,Arial,sans-serif;color:#fff}
.te-legacy-directory{padding:64px 0 84px;color:#10264b;font-family:TESource,Arial,sans-serif}
.te-legacy-directory-heading{max-width:760px;margin-bottom:38px}
.te-legacy-directory-heading .eyebrow{color:#002e73;font:800 14px TEBarlow,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.te-legacy-directory-heading h2{margin:10px 0 12px;font:800 clamp(2rem,4vw,3rem)/1.08 TEBarlow,Arial,sans-serif;color:#002e73}
.te-legacy-directory-heading p{font:400 18px/1.55 TESource,Arial,sans-serif;color:#34445d}
.te-legacy-directory-group{margin:36px 0}
.te-legacy-directory-group h3{font:800 24px TEBarlow,Arial,sans-serif;color:#002e73;margin:0 0 18px}
.te-legacy-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.te-legacy-resource{display:flex;flex-direction:column;min-height:135px;padding:22px;border:1px solid #d6deeb;border-radius:8px;background:#fff;color:#10264b!important;text-decoration:none!important;box-shadow:0 2px 10px rgba(0,46,115,.04)}
.te-legacy-resource:hover,.te-legacy-resource:focus-visible{border-color:#002e73;box-shadow:0 8px 22px rgba(0,46,115,.1);transform:translateY(-2px)}
.te-legacy-resource>span:first-child{font:800 12px TEBarlow,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#536987}
.te-legacy-resource strong{margin:8px 0 12px;font:800 20px/1.18 TEBarlow,Arial,sans-serif;color:#002e73}
.te-legacy-resource-arrow{margin-top:auto;color:#002e73;font:800 14px TEBarlow,Arial,sans-serif}
@media(max-width:1050px){.te-port-desktop{gap:12px}.te-port-desktop a{font-size:14px!important}.te-port-contact{padding:10px 12px;font-size:14px!important}}
@media(max-width:850px){.te-port-desktop{display:none}.te-port-mobile{display:block}.te-port-contact{margin-left:auto}.te-legacy-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.te-port-inner{min-height:74px;gap:9px;width:min(100% - 24px,1200px)}.te-port-logo img{width:128px}.te-port-contact{display:none}.te-port-footer-inner{display:grid;padding:42px 0;gap:30px}.te-port-footer-inner nav{grid-template-columns:repeat(2,minmax(0,1fr))}.te-legacy-directory{padding:50px 0}.te-legacy-resource-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.te-legacy-resource{transition:none!important}.te-legacy-resource:hover{transform:none}}
.te-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){
  body:has(.te-port-header) .fb-grid{grid-template-columns:minmax(0,1fr)!important;min-width:0}
  body:has(.te-port-header) .fb-panel{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
  body:has(.te-port-header) .fb-ta-wrap,body:has(.te-port-header) .fb-ta-wrap textarea{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
  body:has(.te-port-header) .fb-tools,body:has(.te-port-header) .fb-chips{flex-wrap:wrap}
}
body:has(.te-port-header){font-family:TESource,Arial,sans-serif}
body:has(.te-port-header) .fb-panel h2{font-family:TEBarlow,Arial,sans-serif!important;color:#002e73}
body:has(.te-port-header) .fb-panel :is(p,label,button,select){font-family:TESource,Arial,sans-serif}
body[data-nav]:has(.te-port-header) :is(h1,h2,h3){font-family:TEBarlow,Arial,sans-serif!important;letter-spacing:-.025em}
body[data-nav]:has(.te-port-header) h1{font-weight:800!important;color:#002e73}
body:has(.te-port-header) .pricing-hero h1{font-family:TEBarlow,Arial,sans-serif!important;font-weight:800!important;color:#002e73}

/* The retained routes use the exemplar's real navigation, footer and type system. */
body.te-retained{--blue:#002e73;--yellow:#ffc729;--pale:#f3f7fc;--ink:#172941;background:#fff;color:var(--ink);font:400 18px/1.55 'Source Sans Pro',sans-serif}
body.te-retained :is(h1,h2,h3,h4){font-family:Barlow,sans-serif;font-weight:800;letter-spacing:-.035em;color:var(--blue)}
body.te-retained :is(p,li,blockquote,label,input,button,select,textarea){font-family:'Source Sans Pro',sans-serif}
body.te-retained :is(.site-header,.expanded-footer) *{box-sizing:border-box}
body.te-retained .site-header{position:sticky;top:0;z-index:9000}
body.te-retained .expanded-footer{clear:both}
body.te-retained .expanded-footer :is(h3,a,p,span){font-family:'Source Sans Pro',sans-serif}
body.te-retained .expanded-footer h3{font-family:Barlow,sans-serif}
body.te-retained .te-brand-bar,body.te-retained .te-brand-footer,body.te-retained .resource-back-nav,body.te-retained .app-footer{display:none!important}
body.te-retained .te-retained-breadcrumb{margin-top:34px;margin-bottom:18px}
body.te-retained .te-retained-hero{padding:35px 0 70px;border-bottom:1px solid var(--line,#dce5ef)}
body.te-retained .te-retained-hero .breadcrumb{margin-bottom:55px}
body.te-retained .te-retained-hero h1{font-size:clamp(3rem,5.1vw,5.15rem);line-height:1.02;max-width:1050px}
body.te-retained .te-retained-hero .sub-intro{margin-top:25px;max-width:720px;font-size:22px;line-height:1.5;color:#40536d}
body.te-retained .te-page-title{display:none!important}
body.te-retained :is(.hero,.product-hero,.page-hero,.about-hero){background:#fff!important;color:var(--ink)!important;box-shadow:none!important;border:0!important}
body.te-retained :is(.hero,.product-hero,.page-hero,.about-hero){padding-top:25px!important;padding-bottom:85px!important}
body.te-retained :is(.hero-inner,.product-hero-content){align-items:center}
body.te-retained :is(.hero,.product-hero,.page-hero,.about-hero) h1{color:var(--blue)!important;font-size:clamp(3rem,5.1vw,5.15rem)!important;line-height:1.03!important;letter-spacing:-.035em!important;max-width:930px}
body.te-retained :is(.hero,.product-hero,.page-hero,.about-hero) :is(.lead,.product-description,.product-tagline,p:not(.eyebrow)){color:#40536d!important;font-size:21px!important;line-height:1.55!important;max-width:700px}
body.te-retained :is(.hero,.product-hero,.page-hero,.about-hero) .eyebrow{font-size:13px!important;letter-spacing:.13em!important;color:var(--blue)!important;text-transform:uppercase}
body.te-retained .hero .muted.small{display:none}
body.te-retained .page-hero-img{background:var(--pale);padding:24px;border-top:5px solid var(--yellow)}
body.te-retained .page-hero-img img{object-fit:contain}
body.te-retained :is(.section,.product-features,.services,.tech-specs,.featured-product,.features-section,.privacy-content){padding-top:80px;padding-bottom:80px}
body.te-retained :is(.section-alt,.tech-specs,.features-section){background:var(--pale)!important}
body.te-retained :is(.section-head,.section-header){margin-bottom:34px}
body.te-retained :is(.section-head,.section-header) h2{font-size:clamp(2.2rem,3.8vw,3.8rem);line-height:1.08}
body.te-retained :is(.section,.product-features,.services,.tech-specs,.featured-product,.privacy-content) h2{font-size:clamp(2.1rem,3.4vw,3.5rem);line-height:1.1}
body.te-retained :is(.section,.product-features,.services,.tech-specs,.featured-product,.privacy-content) h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.18}
body.te-retained :is(.card,.service-card,.feature-card,.pricing-card,.fb-panel,.uc-card,.rx-card,.up-card,.cs-card,.dn-card,.ec-card){border:1px solid #dce5ef!important;border-radius:3px!important;background:#fff!important;box-shadow:none!important}
body.te-retained :is(.card,.service-card,.feature-card):hover{border-color:#9fb4ce!important}
body.te-retained :is(.btn,.button,.trial-badge,.fb-btn){border-radius:3px!important;font-family:Barlow,sans-serif!important;font-weight:800!important;letter-spacing:0!important;text-decoration:none!important}
body.te-retained :is(.btn-primary,.button.primary,.trial-badge){background:var(--yellow)!important;border-color:var(--yellow)!important;color:var(--blue)!important}
body.te-retained :is(.btn-ghost,.btn-outline-white){background:#fff!important;border:1px solid var(--blue)!important;color:var(--blue)!important}
body.te-retained a:not(.button):not(.btn):hover{text-underline-offset:3px}
body.te-retained :is(.product-logo,.product-hero .product-logo){background:var(--pale);border-top:5px solid var(--yellow);width:max-content;max-width:100%;padding:20px}
body.te-retained :is(.product-logo img,.product-hero img){max-width:100%;object-fit:contain}
body.te-retained :is(.product-tagline,.product-meta){font-family:Barlow,sans-serif!important;color:var(--blue)!important}
body.te-retained :is(.te-retained-hero,.te-retained-breadcrumb) + :is(.fb-app,.uc-app,.rx-app,.ab-app,.bsdd-app,.cs-app,.dn-app,.ec-app,.up-app){margin-top:48px}
body.te-retained :is(.fb-app,.uc-app,.rx-app,.ab-app,.bsdd-app,.cs-app,.dn-app,.ec-app,.up-app,.detail-panel){color:var(--ink);font-family:'Source Sans Pro',sans-serif}
body.te-retained :is(.fb-app,.uc-app,.rx-app,.ab-app,.bsdd-app,.cs-app,.dn-app,.ec-app,.up-app,.detail-panel) :is(h1,h2,h3,h4){font-family:Barlow,sans-serif!important;color:var(--blue)!important}
body.te-retained :is(.fb-app,.uc-app,.rx-app,.ab-app,.bsdd-app,.cs-app,.dn-app,.ec-app,.up-app,.detail-panel) :is(button,input,select,textarea){font-family:'Source Sans Pro',sans-serif}
body.te-retained .app-header{background:var(--pale)!important;border-bottom:1px solid #dce5ef!important;color:var(--blue)!important}
body.te-retained .app-header :is(h1,h2){display:none}
body.te-retained :is(.fb-app,.uc-app,.rx-app,.ab-app,.bsdd-app,.cs-app,.dn-app,.ec-app,.up-app,.detail-panel) :is(.primary,.active,.selected){accent-color:var(--blue)}
body.te-retained .pricing-section{padding-top:25px!important;padding-bottom:90px}
body.te-retained .billing-toggle{color:var(--blue)}
body.te-retained .privacy-content{max-width:1000px;margin:auto}
@media(max-width:700px){body.te-retained .te-retained-breadcrumb{margin-top:24px}body.te-retained .te-retained-hero{padding-bottom:45px}body.te-retained .te-retained-hero .breadcrumb{margin-bottom:35px}body.te-retained .te-retained-hero .sub-intro{font-size:19px}body.te-retained :is(.hero,.product-hero,.page-hero,.about-hero){padding-bottom:55px!important}body.te-retained :is(.section,.product-features,.services,.tech-specs,.featured-product,.features-section,.privacy-content){padding-top:55px;padding-bottom:55px}body.te-retained .page-hero-img{padding:14px}}

/* Avoid collisions between the exemplar hero and the older page template. */
body.te-retained .hero{display:block!important}
body.te-retained .hero>.container{width:min(1200px,calc(100% - 100px));max-width:1200px;margin:auto}
body.te-retained .hero .hero-inner{width:min(1200px,calc(100% - 100px));max-width:1200px;margin:auto;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:65px}
body.te-retained .hero .page-hero-img{width:100%;margin:0;max-width:none}
body.te-retained .hero .page-hero-img img{width:100%;height:auto;max-height:520px}
body.te-retained .hero .hero-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
body.te-retained .hero .hero-cta .btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;min-height:54px}
/* Pricing remains driven by the existing plans API; these rules style its controls and cards. */
body.te-retained .pricing-section>.container{width:min(1200px,calc(100% - 100px));margin:auto}
body.te-retained .billing-toggle{display:flex;justify-content:center;align-items:center;gap:15px;margin:0 auto 28px;font-weight:600}
body.te-retained .billing-option{font-weight:600;color:#40536d}
body.te-retained .billing-option.active{color:var(--blue)}
body.te-retained .save-badge{display:inline-block;padding:3px 9px;margin-left:6px;background:#fff4ca;color:var(--blue);border-radius:3px;font-size:13px;font-weight:700}
body.te-retained .toggle-switch{position:relative;display:inline-block;width:55px;height:30px}
body.te-retained .toggle-switch input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
body.te-retained .toggle-slider{display:block;background:#c8d6e7;border-radius:30px;height:30px;transition:background .2s}
body.te-retained .toggle-slider:after{content:'';display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #243a5b50;transition:transform .2s}
body.te-retained .toggle-switch input:checked+.toggle-slider{background:var(--blue)}
body.te-retained .toggle-switch input:checked+.toggle-slider:after{transform:translateX(25px)}
body.te-retained .trial-badge-section{text-align:center;margin:0 auto 32px}
body.te-retained .trial-badge{display:inline-flex;min-height:48px;padding:11px 22px;align-items:center;justify-content:center}
body.te-retained .pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:35px 0}
body.te-retained .pricing-grid>div{padding:28px;border:1px solid #dce5ef;background:#fff}
body.te-retained .pricing-grid :is(h2,h3){font-family:Barlow,sans-serif;color:var(--blue)}
body.te-retained .pricing-loading{text-align:center;grid-column:1/-1;color:#40536d}
body.te-retained .pricing-footer{text-align:center;margin:25px 0;color:#40536d}
body.te-retained .pricing-footer a{text-decoration:underline;color:var(--blue)}
body.te-retained .app-container{height:auto;min-height:70vh;font-family:'Source Sans Pro',sans-serif}
body.te-retained .app-container :is(button,input,select,textarea,p,span,a,li){font-family:'Source Sans Pro',sans-serif}
body.te-retained .app-container .yellow-stripe,body.te-retained .app-header .header-brand{display:none!important}
body.te-retained .app-header .header-main{min-height:60px;display:flex;align-items:center;justify-content:flex-end;padding:8px 24px}
body.te-retained .app-header .header-actions{margin-left:auto}
body.te-retained .app-header .header-btn{color:var(--blue)!important;border-color:#c7d5e7!important}
@media(max-width:1023px){body.te-retained .hero .hero-inner{grid-template-columns:1fr;gap:35px}body.te-retained .hero .page-hero-img{max-width:720px}}
@media(max-width:700px){body.te-retained .hero>.container,body.te-retained .hero .hero-inner,body.te-retained .pricing-section>.container{width:calc(100% - 36px)}body.te-retained .pricing-grid{grid-template-columns:1fr}body.te-retained .billing-toggle{flex-wrap:wrap;font-size:15px}}
body.te-retained .product-hero .te-retained-product-title{margin:12px 0 22px;font-size:clamp(3rem,5.1vw,5.15rem);line-height:1.03}
body.te-retained .product-hero .product-logo{margin-bottom:22px}
body.te-retained .comparison-table{display:block;max-width:100%;overflow-x:auto;white-space:normal}
body.te-retained .rx-app,body.te-retained .ec-app{width:100%;min-width:0;grid-template-columns:minmax(0,320px) minmax(0,1fr)}
body.te-retained .rx-main,body.te-retained .rx-card,body.te-retained .ec-main{min-width:0;max-width:100%}
body.te-retained .rx-app :is(input,textarea,select),body.te-retained .ec-app :is(input,textarea,select){max-width:100%;min-width:0}
@media(max-width:900px){body.te-retained .rx-app,body.te-retained .ec-app{grid-template-columns:minmax(0,1fr)}body.te-retained .rx-pattern-row{flex-wrap:wrap}body.te-retained .rx-pattern-input{min-width:0;max-width:100%;flex-basis:100%}body.te-retained .ec-main{padding:20px!important}}
body.te-retained .te-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
body.te-retained .te-table-scroll .comparison-table{display:table;width:max(680px,100%);max-width:none;overflow:visible}
@media(min-width:900px){
  body.te-retained .product-hero-content:has(.product-logo){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:'title logo' 'tagline logo' 'description logo' 'cta logo' 'meta logo';column-gap:70px;align-items:start}
  body.te-retained .product-hero-content:has(.product-logo) .te-retained-product-title{grid-area:title}
  body.te-retained .product-hero-content:has(.product-logo) .product-logo{grid-area:logo;align-self:center;justify-self:stretch}
  body.te-retained .product-hero-content:has(.product-logo) .product-tagline{grid-area:tagline}
  body.te-retained .product-hero-content:has(.product-logo) .product-description{grid-area:description}
  body.te-retained .product-hero-content:has(.product-logo) .product-cta{grid-area:cta}
  body.te-retained .product-hero-content:has(.product-logo) .product-meta{grid-area:meta}
}
body.te-retained .product-hero .product-cta{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 14px}
body.te-retained .product-hero .product-cta .btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;min-height:52px}
body.te-retained .product-hero .product-logo{min-height:220px;display:grid;place-items:center}
body.te-retained .product-hero .product-logo img{width:auto;max-height:150px}
body.te-retained .product-hero .product-meta{font-size:14px!important;color:#667892!important}
body.te-retained .expanded-footer .footer-links h3{color:#fff!important}
