:root {
    --tx-site-ink: #13251f;
    --tx-site-muted: #68776f;
    --tx-site-green: #07583f;
    --tx-site-dark: #043e2d;
    --tx-site-lime: #dfff69;
    --tx-site-paper: #fbfcf8;
    --tx-site-line: rgba(19,37,31,.13);
    --tx-site-shell: 1320px;
}

body.tx-static-site-chrome {
    display: block !important;
    width: 100% !important;
    min-height: 100vh !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    align-items: initial !important;
    justify-content: initial !important;
}

.tx-site-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.tx-site-shell { width: min(var(--tx-site-shell), calc(100% - 40px)); margin-inline: auto; }

.tx-site-header {
    position: sticky;
    z-index: 9900;
    top: 0;
    width: 100%;
    border-bottom: 1px solid var(--tx-site-line);
    color: var(--tx-site-ink);
    background: rgba(251,252,248,.91);
    backdrop-filter: blur(18px) saturate(145%);
    isolation: isolate;
    transition: box-shadow .2s ease, background .2s ease;
}
.tx-site-header.is-scrolled { background: rgba(255,255,255,.96); box-shadow: 0 12px 34px rgba(4,62,45,.08); }
.tx-site-header__inner { display: flex; min-height: 76px; align-items: center; gap: clamp(24px,3vw,42px); }
.tx-site-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; color: var(--tx-site-ink); font-family: Inter,Manrope,"DM Sans",sans-serif; font-size: 1rem; font-weight: 800; letter-spacing: -.025em; text-decoration: none; }
.tx-site-brand img { display: block; width: 34px; height: 34px; object-fit: contain; filter: brightness(0) saturate(100%) invert(27%) sepia(27%) saturate(1262%) hue-rotate(112deg) brightness(88%) contrast(101%); }
.tx-site-nav { display: flex; width: 100%; align-items: center; gap: clamp(14px,1.65vw,25px); }
.tx-site-nav a { position: relative; color: #43544c; font-family: Inter,Manrope,"DM Sans",sans-serif; font-size: .74rem; font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.tx-site-nav a::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 2px; border-radius: 2px; background: var(--tx-site-green); content: ""; transform: scaleX(0); transition: transform .2s ease; }
.tx-site-nav a:hover, .tx-site-nav a[aria-current="page"] { color: var(--tx-site-green); }
.tx-site-nav a:hover::after, .tx-site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.tx-site-nav__spacer { flex: 1; }
.tx-site-menu { display: none; width: 42px; height: 42px; margin-left: auto; border: 1px solid var(--tx-site-line); border-radius: 50%; padding: 10px; color: var(--tx-site-ink); background: #fff; }
.tx-site-menu i { display: block; width: 18px; height: 2px; margin: 4px auto; background: currentColor; transition: transform .2s ease; }
.tx-home-page > main > .hero:first-child,
body.ix2-static > main > .hero:first-child { padding-top: 54px; }

.tx-site-footer { position: relative; z-index: 2; width: 100%; border-top: 1px solid rgba(255,255,255,.1); color: #fff; background: var(--tx-site-dark); font-family: Inter,Manrope,"DM Sans",sans-serif; }
.tx-site-footer__main { display: grid; grid-template-columns: 1.45fr repeat(5,1fr); gap: clamp(28px,4vw,62px); padding-block: 68px 55px; }
.tx-site-footer .tx-site-brand { color: #fff; }
.tx-site-footer .tx-site-brand img { filter: brightness(0) invert(1); }
.tx-site-footer__brand p { max-width: 300px; margin: 17px 0 0; color: rgba(255,255,255,.55); font-size: .78rem; line-height: 1.65; }
.tx-site-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.tx-site-footer nav strong { margin-bottom: 5px; color: var(--tx-site-lime); font-size: .63rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tx-site-footer nav a { color: rgba(255,255,255,.68); font-size: .72rem; font-weight: 600; text-decoration: none; }
.tx-site-footer nav a:hover { color: #fff; }
.tx-site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.1); padding-block: 23px 28px; color: rgba(255,255,255,.42); font-size: .65rem; }

/* The shared chrome supersedes legacy marketing navigation on rebuilt pages. */
body.tx-has-site-chrome .tx-rebuilt-content > :is(.navbar,.fl-nav,.cs-nav,header.site-nav,header.professional-header,header.site-header),
body.tx-has-site-chrome .tx-rebuilt-content > :is(.fl-footer,.cs-footer,footer.footer,footer.pricing-footer,footer.site-footer),
body.tx-has-site-chrome .tx-one-content > :is(.navbar,header.site-nav,header.professional-header,header.site-header),
body.tx-has-site-chrome .tx-one-content > :is(footer.footer,footer.pricing-footer,footer.site-footer) { display: none !important; }
body.tx-static-site-chrome > :is(.navbar,header.site-nav,header.professional-header,header.site-header),
body.tx-static-site-chrome > :is(footer.footer,footer.pricing-footer,footer.site-footer) { display: none !important; }

@media (max-width: 980px) {
    body.tx-home-page,
    body.tx-has-site-chrome,
    body.tx-static-site-chrome { overflow-x: clip; }
    body.tx-site-nav-open { overflow: hidden !important; }
    .tx-site-menu { display: block; }
    .tx-site-menu[aria-expanded="true"] i:first-of-type { transform: translateY(3px) rotate(45deg); }
    .tx-site-menu[aria-expanded="true"] i:last-of-type { transform: translateY(-3px) rotate(-45deg); }
    .tx-site-nav {
        position: absolute;
        z-index: 9999;
        top: 100%;
        right: 0;
        bottom: auto;
        left: 0;
        display: flex;
        width: 100%;
        max-width: 100vw;
        height: calc(100vh - 70px);
        height: calc(100dvh - 70px);
        max-height: calc(100vh - 70px);
        max-height: calc(100dvh - 70px);
        box-sizing: border-box;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 20px max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        background: var(--tx-site-paper);
        box-shadow: 0 24px 45px rgba(4,62,45,.12);
        display: none;
        visibility: hidden;
        pointer-events: none;
        transform: none;
        transition: visibility 0s linear .2s;
    }
    .tx-site-nav.is-open { display: flex; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
    .tx-site-nav__spacer { display: none; }
    .tx-site-nav a { display: flex; min-height: 52px; align-items: center; border-bottom: 1px solid var(--tx-site-line); font-size: .95rem; }
    .tx-site-nav a::after { display: none; }
    .tx-site-header__inner { min-height: 70px; }
    .tx-site-footer__main { grid-template-columns: 1.4fr repeat(2,1fr); }
}

@media (max-width: 650px) {
    .tx-site-shell { width: min(100% - 28px,var(--tx-site-shell)); }
    .tx-site-footer__main { grid-template-columns: 1fr 1fr; padding-block: 48px 38px; }
    .tx-site-footer__brand { grid-column: 1 / -1; }
    .tx-site-footer__bottom { align-items: flex-start; flex-direction: column; }
    .tx-home-page > main > .hero:first-child,
    body.ix2-static > main > .hero:first-child { padding-top: 40px; }
}

@media (max-width: 390px) {
    .tx-site-shell { width: calc(100% - 22px); }
    .tx-site-footer__main { gap: 30px 18px; }
}

/* Professional product polish: quiet navigation, predictable geometry and
   typography that reads like a maintained software product. */
.tx-site-header {
    border-bottom-color: #dde3e0;
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.tx-site-header.is-scrolled { background: #fff; box-shadow: 0 2px 8px rgba(15, 35, 27, .07); }
.tx-site-header__inner { min-height: 68px; }
.tx-site-brand { font-size: .98rem; letter-spacing: -.01em; }
.tx-site-brand img { width: 32px; height: 32px; }
.tx-site-nav a { font-size: .81rem; font-weight: 650; }
.tx-site-menu { width: 40px; height: 40px; border-radius: 8px; }

.tx-site-footer { background: #10251e; }
.tx-site-footer__main { gap: clamp(28px, 3.5vw, 52px); padding-block: 48px 40px; }
.tx-site-footer__brand p { color: rgba(255,255,255,.62); font-size: .82rem; }
.tx-site-footer nav strong { color: rgba(255,255,255,.55); font-size: .66rem; letter-spacing: .09em; }
.tx-site-footer nav a { color: rgba(255,255,255,.72); font-size: .78rem; font-weight: 550; }
.tx-site-footer__bottom { padding-block: 19px 22px; color: rgba(255,255,255,.5); font-size: .7rem; }

/* Static pages using the earlier design-system stylesheet. */
body.tx-design {
    background: #f5f7f6 !important;
    font-family: Inter, Manrope, "Segoe UI", Arial, sans-serif;
    letter-spacing: 0;
}
body.tx-design :where(h1,h2,h3,h4,h5,h6) {
    font-family: inherit !important;
    letter-spacing: -.025em !important;
    text-wrap: pretty;
}
body.tx-design :where(.btn,button[class*="btn-"],a[class*="btn-"],button[class$="-btn"],a[class$="-btn"],input[type="submit"]) {
    border-radius: 8px !important;
    box-shadow: none !important;
}
body.tx-design :where(.card,[class$="-card"],[class*="-card "],.panel,.current-plan,.form-container,.auth-card) {
    border-radius: 10px !important;
    box-shadow: 0 1px 2px rgba(15,35,27,.04), 0 8px 22px rgba(15,35,27,.05) !important;
}
body.tx-design.tx-public { background: #fff !important; }
body.tx-design.tx-public :where(.hero-section,.professional-hero,.hero) { min-height: 560px; }
body.tx-design.tx-public :where(.hero-title,.hero h1,.hero-section h1,.professional-hero h1) { max-width: 820px; font-size: clamp(2.75rem,5.5vw,4.75rem); line-height: 1.02; }
body.tx-design.tx-public :where(.section-title,section > h2,.section-header h2) { font-size: clamp(2rem,3.8vw,3.3rem); line-height: 1.08; }

/* Homepage: preserve the product demonstrations while removing ornamental
   shapes, exaggerated type and floating/tilted presentation. */
body.tx-home-page { background: #fff; letter-spacing: 0; }
body.tx-home-page :where(h1,h2,h3,.product-card span,.workflow b,.metric b,.capability-grid h3,.floating-signal b) { font-family: var(--sans) !important; }
body.tx-home-page :where(.button,.mobile-nav-action--primary) { border-radius: 8px !important; box-shadow: none; }
body.tx-home-page .button:hover { transform: none; }
body.tx-home-page .hero { min-height: auto; padding: 76px 0 96px; background: #fff; }
body.tx-home-page .hero::before,
body.tx-home-page .device-stage::before,
body.tx-home-page .device-stage::after,
body.tx-home-page .chapter::before,
body.tx-home-page .visual-story::before { display: none; }
body.tx-home-page .hero-copy { width: min(900px,calc(100% - 40px)); margin-bottom: 52px; }
body.tx-home-page .hero h1 { font-size: clamp(3rem,6.2vw,5.6rem); font-weight: 650; line-height: .98; letter-spacing: -.055em; }
body.tx-home-page :where(.hero h1 em,.section-heading h2 em,.chapter h2 em,.trust h2 em,.final-cta h2 em,.visual-story__copy h2 em) { font: inherit; font-style: normal; color: var(--green); }
body.tx-home-page .device-stage { width: min(1220px,calc(100% - 40px)); min-height: 0; padding: 48px 56px; border: 1px solid #dce4e0; border-radius: 12px; background: #edf2ef; }
body.tx-home-page .hero-device { width: min(1040px,100%); border-width: 5px; border-radius: 10px; box-shadow: 0 16px 40px rgba(20,45,35,.13); transform: none; }
body.tx-home-page .phone-device { box-shadow: 0 12px 26px rgba(20,45,35,.13); transform: none; animation: none; }
body.tx-home-page .stage-note { border-radius: 8px; background: #fff; box-shadow: 0 8px 20px rgba(20,45,35,.09); backdrop-filter: none; }
body.tx-home-page .manifesto { min-height: auto; margin: 0; padding: 112px max(7vw,32px); background: #f5f7f6; }
body.tx-home-page :where(.manifesto-wave,.line-art,.scribble) { display: none; }
body.tx-home-page .manifesto-copy { margin: 0 auto; }
body.tx-home-page .manifesto-copy h2 { max-width: 920px; font: 650 clamp(2.5rem,4.6vw,4.2rem)/1.06 var(--sans); letter-spacing: -.04em; }
body.tx-home-page .manifesto-lede { margin-top: 32px; font-size: clamp(1rem,1.5vw,1.25rem); }
body.tx-home-page .story { padding: 36px 0; }
body.tx-home-page .story::before,
body.tx-home-page .story-rail { display: none; }
body.tx-home-page .chapter { min-height: auto; padding: 88px 0; }
body.tx-home-page .chapter h2 { font-size: clamp(2.25rem,4vw,3.75rem); line-height: 1.06; }
body.tx-home-page :where(.product-card,.class-demo,.book-shelf,.workflow,.analytics-demo) { border-radius: 10px; box-shadow: 0 1px 2px rgba(15,35,27,.04), 0 10px 26px rgba(15,35,27,.06); }
body.tx-home-page .capabilities { padding-block: 100px; background: #f5f6f5; }
body.tx-home-page .section-heading h2,
body.tx-home-page .trust h2 { font-size: clamp(2.35rem,4.4vw,4rem); line-height: 1.06; }
body.tx-home-page .capability-grid article { min-height: 220px; border-color: #dce2df; border-radius: 10px; background: #fff; }
body.tx-home-page .capability-grid article:hover { transform: none; }
body.tx-home-page .capability-grid h3 { margin-top: 34px; font-size: 1.25rem; }
body.tx-home-page .trust { padding-block: 100px; }
body.tx-home-page .visual-stories { gap: 16px; width: min(1220px,calc(100% - 40px)); margin-block: 32px 72px; }
body.tx-home-page .visual-story { min-height: min(70vh,680px); border-radius: 12px; box-shadow: none; transform: none !important; }
body.tx-home-page .visual-story:hover { box-shadow: none; }
body.tx-home-page .visual-story__copy h2 { font: 650 clamp(2.4rem,4.8vw,4.5rem)/1 var(--sans); letter-spacing: -.04em; }
body.tx-home-page :where(.floating-signal,.network-orbit) { display: none; }
body.tx-home-page .button--glass { border-color: rgba(255,255,255,.45); background: rgba(8,40,31,.72); backdrop-filter: none; }
body.tx-home-page .final-cta { width: min(1220px,calc(100% - 40px)); min-height: 600px; border-radius: 12px; }
body.tx-home-page .final-cta > div { min-height: 600px; }
body.tx-home-page .final-cta h2 { font-size: clamp(2.5rem,4.6vw,4.25rem); line-height: 1.04; }

@media (max-width: 760px) {
    body.tx-home-page .hero { padding: 54px 0 64px; }
    body.tx-home-page .hero h1 { font-size: clamp(2.6rem,11vw,4rem); }
    body.tx-home-page .device-stage { width: calc(100% - 24px); padding: 16px 12px 28px; }
    body.tx-home-page .manifesto { padding: 76px 20px; }
    body.tx-home-page .chapter { padding: 64px 0; }
    body.tx-home-page .visual-stories { width: calc(100% - 24px); }
    body.tx-home-page .visual-story { min-height: 560px; }
    body.tx-home-page .final-cta { width: calc(100% - 24px); min-height: 520px; }
    body.tx-home-page .final-cta > div { min-height: 520px; }
}

@media (prefers-reduced-motion: reduce) {
    .tx-site-header, .tx-site-nav, .tx-site-menu i, .tx-site-nav a::after { transition: none; }
}

/* Universal corporate chrome, inspired by the restrained Shimulia Group
   pattern: warm full-width band, strong brand, and a compact right-hand menu. */
:root {
    --tx-site-navy: #063f78;
    --tx-site-cream: #f5e9c8;
}
.tx-site-shell { width: min(1230px,calc(100% - 48px)); }
.tx-site-header,
.tx-site-header.is-scrolled {
    min-height: 82px;
    border-bottom: 1px solid rgba(6,63,120,.12);
    color: var(--tx-site-navy);
    background: var(--tx-site-cream);
    box-shadow: none;
}
.tx-site-header.is-scrolled { box-shadow: 0 3px 12px rgba(14,45,70,.08); }
.tx-site-header__inner { min-height: 82px; gap: 38px; }
.tx-site-brand { gap: 12px; color: var(--tx-site-navy); font-size: 1.02rem; font-weight: 800; letter-spacing: .1em; }
.tx-site-brand img { width: 42px; height: 42px; filter: brightness(0) saturate(100%) invert(21%) sepia(35%) saturate(2908%) hue-rotate(184deg) brightness(86%) contrast(98%); }
.tx-site-nav { justify-content: flex-end; gap: clamp(22px,2.6vw,42px); }
.tx-site-nav a { color: var(--tx-site-navy); font-size: .92rem; font-weight: 700; }
.tx-site-nav a::after { bottom: -10px; background: var(--tx-site-navy); }
.tx-site-nav a:hover,
.tx-site-nav a[aria-current="page"] { color: #032f5d; }
.tx-site-login { padding: 10px 16px; border: 1px solid var(--tx-site-navy); border-radius: 6px; }
.tx-site-login::after { display: none; }
.tx-site-login:hover { color: #fff !important; background: var(--tx-site-navy); }
.tx-site-footer { border-top: 0; color: #fff; background: var(--tx-site-navy); }
.tx-site-footer__main { grid-template-columns: 1.6fr repeat(5,1fr); gap: clamp(24px,3.5vw,52px); padding-block: 58px 44px; }
.tx-site-footer .tx-site-brand { color: #fff; }
.tx-site-footer .tx-site-brand img { filter: brightness(0) invert(1); }
.tx-site-footer__brand p { color: rgba(255,255,255,.7); font-size: .84rem; }
.tx-site-footer nav strong { color: var(--tx-site-cream); }
.tx-site-footer nav a { color: rgba(255,255,255,.76); font-size: .8rem; }
.tx-site-footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.tx-site-footer__contact strong { margin-bottom: 5px; color: var(--tx-site-cream); font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.tx-site-footer__contact > a { color: rgba(255,255,255,.92); font-size: .8rem; font-weight: 650; text-decoration: none; overflow-wrap: anywhere; }
.tx-site-footer__contact address { display: grid; gap: 5px; max-width: 210px; color: rgba(255,255,255,.7); font-size: .74rem; font-style: normal; line-height: 1.5; }
.tx-site-footer__contact address b { color: rgba(255,255,255,.92); font-size: .67rem; letter-spacing: .04em; text-transform: uppercase; }
.tx-site-footer__bottom { color: rgba(255,255,255,.58); }

@media (max-width: 980px) {
    .tx-site-header,
    .tx-site-header.is-scrolled,
    .tx-site-header__inner { min-height: 72px; }
    .tx-site-menu { display: block; border-color: rgba(6,63,120,.25); color: var(--tx-site-navy); background: rgba(255,255,255,.38); }
    .tx-site-nav {
        top: 100%;
        height: calc(100dvh - 72px);
        max-height: calc(100dvh - 72px);
        padding: 18px 24px 30px;
        background: #fffaf0;
    }
    .tx-site-nav a { min-height: 52px; color: var(--tx-site-navy); font-size: 1rem; }
    .tx-site-login { justify-content: center; margin-top: 14px; color: #fff !important; background: var(--tx-site-navy); }
    .tx-site-footer__main { grid-template-columns: 1.4fr repeat(2,1fr); }
}
@media (max-width: 650px) {
    .tx-site-shell { width: calc(100% - 30px); }
    .tx-site-header,
    .tx-site-header.is-scrolled,
    .tx-site-header__inner { min-height: 66px; }
    .tx-site-brand { font-size: .9rem; }
    .tx-site-brand img { width: 36px; height: 36px; }
    .tx-site-nav { height: calc(100dvh - 66px); max-height: calc(100dvh - 66px); }
    .tx-site-footer__main { grid-template-columns: 1fr 1fr; }
    .tx-site-footer__brand { grid-column: 1 / -1; }
}

/* Compact production header and correct logo variants. */
.tx-site-header,
.tx-site-header.is-scrolled,
.tx-site-header__inner{min-height:62px}
.tx-site-header__inner{gap:30px}
.tx-site-brand img{width:34px;height:34px}
.tx-site-footer .tx-site-brand img{width:42px;height:42px;border-radius:4px;filter:none}
.tx-site-nav{gap:clamp(18px,2.2vw,34px)}
.tx-site-nav a{font-size:.86rem}
.tx-site-login{padding:8px 14px}
@media(max-width:980px){
  .tx-site-header,.tx-site-header.is-scrolled,.tx-site-header__inner{min-height:60px}
  .tx-site-nav{height:calc(100dvh - 60px);max-height:calc(100dvh - 60px)}
}
@media(max-width:650px){
  .tx-site-header,.tx-site-header.is-scrolled,.tx-site-header__inner{min-height:58px}
  .tx-site-brand img{width:32px;height:32px}
  .tx-site-nav{height:calc(100dvh - 58px);max-height:calc(100dvh - 58px)}
}

/* Keep the responsive navigation as a compact dropdown, not a viewport takeover. */
@media(max-width:980px){
  body.tx-site-nav-open{overflow-y:auto!important}
  .tx-site-header__inner{position:relative}
  .tx-site-nav{
    top:calc(100% + 8px);
    right:0;
    left:auto;
    width:min(390px,calc(100vw - 48px));
    height:auto;
    max-height:calc(100dvh - 84px);
    padding:10px;
    border:1px solid rgba(6,63,120,.16);
    border-radius:12px;
    overflow-y:auto;
    background:#fffaf0;
    box-shadow:0 18px 42px rgba(6,42,77,.16);
  }
  .tx-site-nav a{
    min-height:46px;
    padding:0 12px;
    border-bottom:1px solid rgba(6,63,120,.1);
    border-radius:7px;
  }
  .tx-site-nav a:last-child{border-bottom:0}
  .tx-site-nav a:hover,
  .tx-site-nav a[aria-current="page"]{background:rgba(6,63,120,.07)}
  .tx-site-login{margin-top:8px}
}
@media(max-width:650px){
  .tx-site-nav{width:min(340px,calc(100vw - 30px));max-height:calc(100dvh - 74px)}
}
