.tb-suite {
  --suite-ink: #24322f;
  --suite-green: #28745e;
  --suite-mint: #dcebe3;
  --suite-cream: #f4eee1;
  --suite-coral: #e7b7a4;
  --suite-line: #d4d9d4;
  background: #fbfbf8;
  color: var(--suite-ink);
}
.tb-suite-hero { overflow: hidden; background: linear-gradient(118deg,#f7f4e9 0,#e4eee8 58%,#e7e7f3 100%); }
.tb-suite-breadcrumb { display:flex; gap:8px; padding-top:24px; color:#69756f; font-size:11px; }
.tb-suite-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.tb-suite-hero-grid { display:grid; grid-template-columns:1.06fr .94fr; gap:60px; align-items:center; min-height:690px; padding:70px 0 88px; }
.tb-suite-hero h1 { max-width:720px; margin:0; font:500 clamp(49px,5.6vw,78px)/.94 var(--tb-serif); letter-spacing:-.074em; }
.tb-suite-hero h1 em { color:var(--suite-green); font-style:italic; }
.tb-suite-lede { max-width:665px; margin:27px 0 0; color:#55645e; font-size:18px; line-height:1.63; }
.tb-suite-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:31px; }
.tb-suite-actions>a:not(.tb-button) { padding-bottom:5px; border-bottom:1px solid #899b92; color:#3e5e54; font-size:12px; font-weight:800; }
.tb-suite-date { margin:19px 0 0; color:#748078; font-size:10px; font-weight:700; }
.tb-suite-system { position:relative; min-height:510px; margin:0; background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px); background-size:36px 36px; }
.tb-suite-system:before,.tb-suite-system:after { position:absolute; top:50%; left:50%; border:1px dashed #93a89e; border-radius:50%; content:""; transform:translate(-50%,-50%); }
.tb-suite-system:before { width:370px; height:370px; }
.tb-suite-system:after { width:255px; height:255px; }
.tb-suite-system-core { position:absolute; top:50%; left:50%; z-index:2; display:grid; width:185px; height:185px; place-items:center; align-content:center; border:1px solid #aac0b5; border-radius:50%; background:#fff; box-shadow:0 18px 34px rgba(41,69,58,.13); text-align:center; transform:translate(-50%,-50%); }
.tb-suite-system-core span { color:#6c8579; font-size:9px; font-weight:900; letter-spacing:.15em; }
.tb-suite-system-core b { margin-top:9px; font:500 29px/1.02 var(--tb-serif); letter-spacing:-.05em; }
.tb-suite-system-node { position:absolute; z-index:3; width:124px; padding:13px; border:1px solid #b8c9c1; background:#fff; box-shadow:7px 9px 0 rgba(46,75,63,.08); }
.tb-suite-system-node span,.tb-suite-system-node b,.tb-suite-system-node small { display:block; }
.tb-suite-system-node span { display:grid; width:24px; height:24px; place-items:center; margin-bottom:23px; border-radius:50%; background:var(--suite-green); color:#fff; font-size:8px; font-weight:900; }
.tb-suite-system-node b { font-size:11px; letter-spacing:.13em; }
.tb-suite-system-node small { margin-top:4px; color:#708078; font-size:9px; }
.tb-suite-system-node--mail { top:18px; left:52px; transform:rotate(-4deg); }
.tb-suite-system-node--docs { top:12px; right:35px; transform:rotate(3deg); }
.tb-suite-system-node--files { top:202px; right:0; transform:rotate(2deg); }
.tb-suite-system-node--meet { right:45px; bottom:1px; transform:rotate(-3deg); }
.tb-suite-system-node--admin { bottom:5px; left:35px; transform:rotate(3deg); }
.tb-suite-system-node--exit { top:204px; left:0; transform:rotate(-2deg); }
.tb-suite-system-node--docs span,.tb-suite-system-node--admin span { background:#a95d4b; }
.tb-suite-system-node--files span,.tb-suite-system-node--exit span { background:#6670a5; }
.tb-suite-answer { background:var(--suite-ink); color:#fff; }
.tb-suite-answer .tb-shell { display:grid; grid-template-columns:190px 1fr; gap:30px; padding-top:31px; padding-bottom:31px; }
.tb-suite-answer span { color:#9fb4aa; font-size:9px; font-weight:900; letter-spacing:.14em; }
.tb-suite-answer p { margin:0; color:#dce4df; font-size:14px; line-height:1.72; }
.tb-suite-answer b { color:#fff; }
.tb-suite-builder { padding:108px 0; background:var(--suite-cream); }
.tb-suite-builder-grid { display:grid; grid-template-columns:.76fr 1.24fr; gap:78px; }
.tb-suite-builder h2,.tb-suite-heading h2,.tb-suite-cost h2,.tb-suite-migration h2,.tb-suite-method h2,.tb-suite-faq h2,.tb-suite-close h2 { margin:0; font:500 49px/.98 var(--tb-serif); letter-spacing:-.066em; }
.tb-suite-builder-grid>div>p:not(.tb-eyebrow) { max-width:440px; margin:20px 0; color:#666c65; font-size:14px; line-height:1.66; }
.tb-suite-builder aside { margin-top:31px; padding:18px 0 0; border-top:1px solid #c8c0b2; }
.tb-suite-builder aside b { font:500 20px/1.1 var(--tb-serif); }
.tb-suite-builder aside p { max-width:410px; margin:8px 0 0; color:#6e706a; font-size:11px; line-height:1.55; }
.tb-suite-form { display:grid; grid-template-columns:1fr 1fr; gap:17px; padding:30px; border:1px solid #c8c0b4; background:#fff; box-shadow:12px 14px 0 rgba(58,60,51,.07); }
.tb-suite-field { display:grid; gap:8px; }
.tb-suite-field--wide { grid-column:1/-1; }
.tb-suite-field label,.tb-suite-form legend { color:#465d54; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.tb-suite-field select { width:100%; height:50px; padding:0 12px; border:1px solid #ccd3ce; border-radius:0; background:#fbfcfa; color:#2e3d38; font-size:12px; }
.tb-suite-form fieldset { display:flex; grid-column:1/-1; gap:10px; padding:0; margin:2px 0 0; border:0; }
.tb-suite-form legend { width:100%; padding:0 0 8px; }
.tb-suite-form fieldset label { display:flex; align-items:center; gap:7px; padding:9px 12px; border:1px solid #ced5d0; color:#56655f; font-size:10px; font-weight:800; }
.tb-suite-form input { accent-color:var(--suite-green); }
.tb-suite-form-actions { display:flex; grid-column:1/-1; align-items:center; gap:16px; margin-top:3px; }
.tb-suite-form-actions button[type=reset] { padding:0; border:0; border-bottom:1px solid #8d978f; background:transparent; color:#57675f; font-size:10px; font-weight:800; cursor:pointer; }
.tb-suite-results { grid-column:1/-1; min-height:200px; padding:20px; background:#edf4ef; }
.tb-suite-results>p { margin:0; color:#68756e; font-size:11px; }
.tb-suite-results-heading { margin:0 0 13px!important; color:#39705d!important; font-size:9px!important; font-weight:900!important; letter-spacing:.13em; }
.tb-suite-results ol { display:grid; gap:9px; padding:0; margin:0; list-style:none; }
.tb-suite-results li { display:grid; grid-template-columns:32px 1fr; gap:11px; padding:13px; border:1px solid #c9d9d0; background:#fff; }
.tb-suite-results li>span { color:#799287; font:500 18px/1 var(--tb-serif); }
.tb-suite-results a { font:500 21px/1 var(--tb-serif); letter-spacing:-.04em; }
.tb-suite-results b { display:block; margin-top:4px; color:#4d7464; font-size:8px; letter-spacing:.04em; text-transform:uppercase; }
.tb-suite-results li p { margin:8px 0 0; color:#5f6d66; font-size:10px; line-height:1.5; }
.tb-suite-results small { display:block; margin-top:6px; color:#7e6b64; font-size:9px; line-height:1.45; }
.tb-suite-results-note { margin:10px 0 0!important; padding:10px; border-left:3px solid #9b6c5c; background:#fff8f3; color:#765d55!important; }
.tb-suite-comparison { padding:108px 0; background:#fbfbf8; }
.tb-suite-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:40px; }
.tb-suite-heading>p { max-width:480px; margin:0; color:#66736d; font-size:13px; line-height:1.65; }
.tb-suite-table-wrap { overflow-x:auto; border:1px solid var(--suite-line); background:#fff; }
.tb-suite table { width:100%; min-width:1320px; border-collapse:collapse; }
.tb-suite th,.tb-suite td { padding:16px 14px; border-right:1px solid #e0e4e1; border-bottom:1px solid #e0e4e1; vertical-align:top; text-align:left; }
.tb-suite thead th { background:var(--suite-ink); color:#fff; font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.tb-suite tbody th { min-width:175px; font:500 17px/1.2 var(--tb-serif); }
.tb-suite tbody th span { display:inline-grid; width:27px; height:27px; place-items:center; margin-right:8px; background:var(--suite-color); color:#fff; font:800 11px/1 Arial; }
.tb-suite td { min-width:160px; color:#5e6b65; font-size:10px; line-height:1.55; }
.tb-suite td:last-child { min-width:260px; }
.tb-suite td b,.tb-suite td small { display:block; }
.tb-suite td b { color:#374a43; }
.tb-suite td small { margin-top:5px; color:#65736d; font-size:9px; line-height:1.45; }
.tb-suite tr:last-child th,.tb-suite tr:last-child td { border-bottom:0; }
.tb-suite th:last-child,.tb-suite td:last-child { border-right:0; }
.tb-suite-table-note { max-width:930px; margin:17px 0 0; color:#6d7772; font-size:10px; line-height:1.6; }
.tb-suite-picks { padding:108px 0; background:#e7efeb; }
.tb-suite-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.tb-suite-card { scroll-margin-top:20px; padding:27px; border:1px solid #c7d5ce; background:#fff; }
.tb-suite-card:last-child { grid-column:1/-1; }
.tb-suite-card:target { outline:4px solid rgba(40,116,94,.23); outline-offset:2px; }
.tb-suite-card-top { display:flex; align-items:center; justify-content:space-between; }
.tb-suite-mark { display:grid; width:45px; height:45px; place-items:center; background:var(--suite-color); color:#fff; font:800 18px/1 Arial; }
.tb-suite-card-top i { color:#87968f; font-size:10px; font-style:normal; font-weight:800; }
.tb-suite-card-label { margin:34px 0 8px; color:#4d7868; font-size:9px; font-weight:900; letter-spacing:.12em; }
.tb-suite-card h3 { margin:0; font:500 33px/1 var(--tb-serif); letter-spacing:-.055em; }
.tb-suite-card dl { margin:24px 0; }
.tb-suite-card dl>div { display:grid; grid-template-columns:125px 1fr; gap:17px; padding:13px 0; border-top:1px solid #e0e5e2; }
.tb-suite-card dt { color:#405b50; font-size:9px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.tb-suite-card dd { margin:0; color:#5d6b65; font-size:11px; line-height:1.56; }
.tb-suite-card dl>div:last-child { padding:14px; border:0; background:#f6eee8; }
.tb-suite-card>a { display:inline-block; padding-bottom:4px; border-bottom:1px solid #91a098; color:#3e6657; font-size:10px; font-weight:900; }
.tb-suite-cost { padding:108px 0; background:#edd9cb; }
.tb-suite-cost-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:75px; align-items:center; }
.tb-suite-cost-grid>div:first-child>p:not(.tb-eyebrow) { max-width:530px; color:#67625e; font-size:13px; line-height:1.65; }
.tb-suite-cost-ledger { border:1px solid #c8ab9b; background:#fff9f5; box-shadow:10px 12px 0 rgba(92,67,53,.08); }
.tb-suite-cost-ledger>div { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:12px; padding:17px 19px; border-bottom:1px solid #e0cdc2; }
.tb-suite-cost-ledger span { color:#936654; font-size:9px; font-weight:900; letter-spacing:.1em; }
.tb-suite-cost-ledger b { color:#685e59; font:500 18px/1 var(--tb-serif); }
.tb-suite-cost-ledger strong { color:#4e3e38; font:500 27px/1 var(--tb-serif); text-align:right; }
.tb-suite-cost-ledger strong small { font:700 9px/1 Arial; }
.tb-suite-cost-ledger>p { margin:0; padding:13px 19px; color:#80736d; font-size:9px; line-height:1.45; }
.tb-suite-not-direct { padding:108px 0; background:#fbfbf8; }
.tb-suite-not-direct>.tb-shell>div:first-child { display:grid; grid-template-columns:.48fr 1.52fr; gap:40px; align-items:end; }
.tb-suite-not-direct h2 { margin:0; font:500 49px/.98 var(--tb-serif); letter-spacing:-.066em; }
.tb-suite-not-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:42px; }
.tb-suite-not-grid article { display:flex; min-height:255px; flex-direction:column; padding:22px; border:1px solid #d7dcd8; background:#fff; }
.tb-suite-not-grid span { color:#5d7d70; font-size:9px; font-weight:900; letter-spacing:.11em; }
.tb-suite-not-grid h3 { margin:42px 0 11px; font:500 26px/1 var(--tb-serif); letter-spacing:-.05em; }
.tb-suite-not-grid p { margin:0; color:#69736e; font-size:11px; line-height:1.58; }
.tb-suite-not-grid a { padding-top:15px; margin-top:auto; color:#3f6858; font-size:10px; font-weight:900; text-decoration:underline; text-underline-offset:3px; }
.tb-suite-migration { padding:110px 0; background:var(--suite-ink); color:#fff; }
.tb-suite-migration-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:85px; }
.tb-suite-migration h2 { font-size:53px; }
.tb-suite-migration-grid>div>p:not(.tb-eyebrow) { max-width:440px; margin:21px 0 27px; color:#bbc9c2; font-size:14px; line-height:1.66; }
.tb-suite-migration .tb-button { border-color:#fff; background:#fff; color:var(--suite-ink); }
.tb-suite-migration ol { padding:0; margin:0; list-style:none; }
.tb-suite-migration li { display:grid; grid-template-columns:55px 1fr; gap:19px; padding:21px 0; border-top:1px solid #42554f; }
.tb-suite-migration li>span { color:#94aa9f; font-size:10px; font-weight:900; }
.tb-suite-migration li b { font:500 22px/1 var(--tb-serif); }
.tb-suite-migration li p { max-width:600px; margin:7px 0 0; color:#b9c7c0; font-size:11px; line-height:1.58; }
.tb-suite-method { padding:108px 0; background:#e6e7f1; }
.tb-suite-method-head { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:end; }
.tb-suite-method-head>p { margin:0; color:#656777; font-size:13px; line-height:1.65; }
.tb-suite-method-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:11px; margin-top:42px; }
.tb-suite-method-grid article { min-height:205px; padding:19px; border:1px solid #cfd0dc; background:#f9f9fd; }
.tb-suite-method-grid span { color:#797b93; font-size:9px; font-weight:900; }
.tb-suite-method-grid h3 { margin:43px 0 10px; font:500 21px/1 var(--tb-serif); letter-spacing:-.04em; }
.tb-suite-method-grid p { margin:0; color:#676979; font-size:10px; line-height:1.55; }
.tb-suite-method-links { margin:27px 0 0; color:#696b7b; font-size:11px; }
.tb-suite-method-links a { color:#4c527e; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.tb-suite-faq { padding:108px 0; background:#fbfbf8; }
.tb-suite-faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:82px; }
.tb-suite-faq-grid>div:first-child>p:not(.tb-eyebrow) { max-width:390px; color:#66736d; font-size:13px; line-height:1.65; }
.tb-suite-faq details { border-top:1px solid #cdd4d0; }
.tb-suite-faq details:last-child { border-bottom:1px solid #cdd4d0; }
.tb-suite-faq summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:21px 0; cursor:pointer; font:500 21px/1.1 var(--tb-serif); list-style:none; }
.tb-suite-faq summary::-webkit-details-marker { display:none; }
.tb-suite-faq summary span { font:400 20px/1 Arial; }
.tb-suite-faq details[open] summary span { transform:rotate(45deg); }
.tb-suite-faq details p { max-width:690px; margin:-4px 0 23px; color:#627069; font-size:12px; line-height:1.65; }
.tb-suite-close { padding:88px 0; background:#dcebe3; }
.tb-suite-close>.tb-shell { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:end; }
.tb-suite-close h2 { font-size:53px; }
.tb-suite-close>.tb-shell>div:last-child>p { margin:0 0 25px; color:#52675e; font-size:14px; line-height:1.65; }
.tb-suite-close>.tb-shell>div:last-child>div { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.tb-suite-close>.tb-shell>div:last-child>div>a:not(.tb-button) { padding-bottom:4px; border-bottom:1px solid #8ba096; color:#3e6355; font-size:11px; font-weight:900; }
.tb-suite-form select:focus-visible,.tb-suite-form button:focus-visible,.tb-suite-table-wrap:focus-visible { outline:3px solid rgba(40,116,94,.25); outline-offset:2px; }
@media(max-width:1050px) {
  .tb-suite-hero-grid,.tb-suite-builder-grid,.tb-suite-cost-grid,.tb-suite-migration-grid,.tb-suite-faq-grid { grid-template-columns:1fr; }
  .tb-suite-system { width:min(100%,620px); margin:0 auto; }
  .tb-suite-builder-grid,.tb-suite-cost-grid,.tb-suite-migration-grid,.tb-suite-faq-grid { gap:45px; }
  .tb-suite-heading { align-items:flex-start; flex-direction:column; }
  .tb-suite-method-grid { grid-template-columns:repeat(3,1fr); }
  .tb-suite-close>.tb-shell { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .tb-suite-hero-grid { min-height:0; padding:46px 0 62px; }
  .tb-suite-hero h1 { font-size:48px; }
  .tb-suite-lede { font-size:16px; }
  .tb-suite-system { min-height:455px; }
  .tb-suite-system:before { width:305px; height:305px; }
  .tb-suite-system-core { width:155px; height:155px; }
  .tb-suite-system-node { width:105px; padding:10px; }
  .tb-suite-system-node--mail { left:3px; }
  .tb-suite-system-node--docs { right:1px; }
  .tb-suite-system-node--files { top:188px; }
  .tb-suite-system-node--exit { top:188px; }
  .tb-suite-system-node--meet { right:4px; }
  .tb-suite-system-node--admin { left:3px; }
  .tb-suite-answer .tb-shell { grid-template-columns:1fr; gap:10px; }
  .tb-suite-builder,.tb-suite-comparison,.tb-suite-picks,.tb-suite-cost,.tb-suite-not-direct,.tb-suite-migration,.tb-suite-method,.tb-suite-faq { padding:72px 0; }
  .tb-suite-builder h2,.tb-suite-heading h2,.tb-suite-cost h2,.tb-suite-not-direct h2,.tb-suite-migration h2,.tb-suite-method h2,.tb-suite-faq h2,.tb-suite-close h2 { font-size:39px; }
  .tb-suite-form { grid-template-columns:1fr; padding:20px 16px; }
  .tb-suite-field,.tb-suite-field--wide { grid-column:1/-1; }
  .tb-suite-form fieldset { align-items:flex-start; flex-direction:column; }
  .tb-suite-cards,.tb-suite-not-grid,.tb-suite-method-grid { grid-template-columns:1fr; }
  .tb-suite-card:last-child { grid-column:auto; }
  .tb-suite-card { padding:22px; }
  .tb-suite-card dl>div { grid-template-columns:1fr; gap:6px; }
  .tb-suite-cost-ledger>div { grid-template-columns:1fr auto; }
  .tb-suite-cost-ledger>div>b { display:none; }
  .tb-suite-not-direct>.tb-shell>div:first-child,.tb-suite-method-head { grid-template-columns:1fr; gap:15px; }
  .tb-suite-close { padding:68px 0; }
}
