@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'TB Caveat';
    src: url('../fonts/caveat-400-latin-ext.woff2') format('woff2');
    font-display: swap;
    unicode-range: U+0100-02FF, U+1E00-1EFF;
}
@font-face {
    font-family: 'TB Caveat';
    src: url('../fonts/caveat-400-latin.woff2') format('woff2');
    font-display: swap;
    unicode-range: U+0000-00FF;
}
.tb-redesign-public {
    --tba-ink: #150e3d;
    --tba-text: #606477;
    --tba-blue: #00a5ff;
    --tba-pale: #f1f4fc;
    --tba-dark: #101a29;
    margin: 0;
    color: var(--tba-text);
    background: #fff;
    font: 400 16px/1.7 'Plus Jakarta Sans', sans-serif;
}
.tb-redesign-public *, .tb-redesign-public *::before, .tb-redesign-public *::after { box-sizing: border-box; }
.tb-redesign-public a { color: inherit; text-decoration: none; }
.tb-redesign-public button, .tb-redesign-public input, .tb-redesign-public textarea { font: inherit; }
.tb-redesign-public img { max-width: 100%; }
.tb-redesign-public h1, .tb-redesign-public h2, .tb-redesign-public h3 { color: var(--tba-ink); line-height: 1.25; }
.tb-redesign-public h2 { font-size: 42px; font-weight: 400; letter-spacing: -.8px; margin-bottom: 24px; }
.tb-redesign-public h3 { font-size: 23px; font-weight: 700; }
.tb-redesign-public strong { font-weight: 700; }
.tb-redesign-public p { margin: 0 0 22px; }
.tb-redesign-public :focus-visible { outline: 3px solid #0066a3; outline-offset: 5px; }
.tb-redesign-public [id] { scroll-margin-top: 120px; }
.tba-container { width: calc(100% - 48px); max-width: 1320px; margin-inline: auto; }
.tba-section { position: relative; padding: 112px 0; }
.tba-anchor { position: absolute; top: 0; }
.tba-skip { position: fixed; z-index: 1100; top: 10px; left: 10px; padding: 12px 20px; background: #fff; transform: translateY(-160%); }
.tba-skip:focus { transform: none; }
.tba-header { position: sticky; top: 0; z-index: 1020; background: #fff; box-shadow: 0 3px 18px #101a2905; }
.tba-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 96px; }
.tba-logo { display: grid; place-items: center; width: 80px; height: 80px; flex-shrink: 0; background: var(--tba-blue); }
.tba-navigation nav { display: flex; gap: 25px; }
.tba-navigation nav a { font-size: 14px; font-weight: 600; color: var(--tba-ink); padding: 10px 0; }
.tba-navigation nav a:hover, .tba-navigation nav a[aria-current] { color: #006ca8; }
.tba-menu-toggle { display: none; }
.tba-menu-contacts { display: none; }
.tba-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 55px; padding: 13px 27px; border-radius: 40px; border: 2px solid var(--tba-blue); background: var(--tba-blue); color: var(--tba-ink) !important; font-size: 15px; font-weight: 700; line-height: 1.5; transition: background .2s, transform .2s; }
.tba-button:hover { background: #37b8ff; transform: translateY(-2px); }
.tba-button-outline { background: transparent; }
.tba-button-outline:hover { background: #e7f6ff; }
.tba-button span, .tba-text-link span { font-size: 22px; }
.tba-eyebrow { display: inline-block; border-radius: 30px; padding: 5px 18px; background: #e7f2ff; color: #075c91; font-size: 14px; font-weight: 600; letter-spacing: .2px; margin-bottom: 23px !important; }
.tba-hero { position: relative; background: radial-gradient(ellipse at 88% 25%, #e9e3fa 0, transparent 43%), linear-gradient(115deg, #f1f4fc, #f4f5ff); }
.tba-hero::after { content: ''; position: absolute; right: 0; bottom: 0; width: 60%; height: 220px; background: repeating-radial-gradient(ellipse at 100% 100%, transparent 0 19px, #8898d210 20px 21px); pointer-events: none; }
.tba-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; min-height: 865px; padding-block: 140px; }
.tba-hero-copy { position: relative; z-index: 1; }
.tb-redesign-public .tba-hero h1 { font-size: 60px; font-weight: 400; line-height: 1.24; letter-spacing: -1.5px; margin-bottom: 30px; }
.tba-lead { font-size: 17px; line-height: 1.8; }
.tba-hero .tba-lead { max-width: 550px; }
.tba-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 38px; }
.tba-text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 700; color: var(--tba-ink) !important; min-height: 48px; }
.tba-hero-art { position: relative; min-width: 0; height: 580px; display: flex; align-items: center; }
.tba-orbit { position: absolute; width: 92%; aspect-ratio: 1; border: 22px solid var(--tba-blue); border-left-color: #7956de; border-radius: 50%; transform: rotate(-25deg); right: 0; box-shadow: 0 0 0 35px #fff5; }
.tba-software-window { position: relative; width: 100%; border: 7px solid #fff; border-radius: 17px; background: #fff; box-shadow: 0 30px 65px #33397530; transform: rotate(-4deg); z-index: 1; }
.tba-software-window img { width: 100%; height: auto; aspect-ratio: 1.6; object-fit: cover; object-position: top; border-radius: 0 0 8px 8px; display: block; }
.tba-window-bar { display: flex; align-items: center; gap: 25px; min-height: 35px; font-size: 10px; color: #555c70; }
.tba-window-bar > span:first-child { color: #a5bbd5; letter-spacing: 3px; }
.tba-art-note { position: absolute; right: 0; bottom: 30px; z-index: 2; display: flex; align-items: center; gap: 14px; padding: 22px; border-radius: 15px; background: #fff; box-shadow: 0 10px 40px #25345512; font-size: 12px; }
.tba-art-note strong { display: block; font-size: 15px; color: var(--tba-ink); }
.tba-art-symbol { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; background: #e1f4ff; color: #006eac; font-size: 25px; }
.tba-orbit-dot { position: absolute; width: 32px; height: 32px; border: 6px solid #7956de; background: #fff; border-radius: 50%; bottom: 70px; left: 15px; }
.tba-art-cross { position: absolute; top: 6px; right: 20px; font-size: 80px; color: #7956de; line-height: 1; }
.tba-section-heading { max-width: 690px; margin-bottom: 54px; }
.tba-centered { margin-inline: auto; text-align: center; }
.tba-section-heading > p:last-child { max-width: 640px; margin-inline: auto; }
.tba-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tba-service { padding: 55px 36px 35px; border-radius: 24px; background: #fff; box-shadow: 0 8px 45px #25234d0d; transition: transform .2s, box-shadow .2s; border: 1px solid #edf0f7; }
.tba-service:hover, .tba-service:focus-within { transform: translateY(-6px); box-shadow: 0 16px 45px #1d6eac1b; }
.tba-service-icon { display: grid; place-items: center; width: 80px; height: 80px; border-radius: 24px; background: #e7f5ff; color: #0088d3; margin-bottom: 30px; }
.tba-service-icon svg { width: 49px; height: 49px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tba-service h3 { margin-bottom: 22px; }
.tba-service ul { padding: 0; margin: 0 0 28px; list-style: none; font-size: 14px; }
.tba-service li { margin-block: 8px; }
.tba-service li::before { content: '✓'; color: #0071ae; margin-right: 9px; }
.tba-service-link { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #c6deee; border-radius: 50%; font-size: 26px; color: #0067a3 !important; }
.tba-about { background: #f8faff; }
.tba-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.tba-about-visual { position: relative; min-width: 0; padding: 0 30px 65px 0; }
.tba-about-photo { width: 80%; height: 490px; margin-left: 20px; background: #e5eaff; border-radius: 160px 160px 24px 24px; overflow: hidden; }
.tba-about-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 80%; }
.tba-about-card { position: relative; max-width: 380px; margin: -85px 0 0 auto; z-index: 1; padding: 27px 32px; background: #fff; border-radius: 18px; box-shadow: 0 20px 60px #203b6317; }
.tba-about-card > div + div { margin-top: 13px; }
.tba-about-card dt { font-size: 12px; font-weight: 500; color: #606477; }
.tba-about-card dd { font-size: 14px; font-weight: 600; color: var(--tba-ink); margin: 2px 0 0; overflow-wrap: anywhere; }
.tba-signature { display: block; font-family: 'TB Caveat', cursive; font-size: 54px; color: var(--tba-ink); transform: rotate(-7deg); width: fit-content; margin: 12px 0 25px; }
.tba-project-section { background: #fff; }
.tba-project-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; align-items: center; margin-bottom: 30px; }
.tba-project-copy h3 { font-size: 34px; }
.tba-project-copy .tba-eyebrow { margin-bottom: 14px !important; }
.tba-project-subtitle { color: var(--tba-ink); font-size: 20px; font-weight: 600; margin-bottom: 8px !important; }
.tba-project-image { display: block; position: relative; padding: 32px 32px 0; background: #e9effb; border-radius: 22px; }
.tba-project-image img { display: block; width: 100%; height: 540px; object-fit: contain; object-position: center top; }
.tba-project-zoom { position: absolute; right: 24px; bottom: 22px; border-radius: 40px; background: #fff; color: var(--tba-ink); padding: 12px 23px; box-shadow: 0 5px 20px #101a2920; font-weight: 600; }
.tba-project-controls { display: flex; align-items: center; justify-content: center; gap: 40px; margin-top: 32px; }
.tba-project-controls button { border: none; background: transparent; color: var(--tba-ink); padding: 12px 8px; min-height: 48px; font-weight: 600; }
.tba-project-controls button span { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 1px solid #bcd8ec; border-radius: 50%; font-size: 24px; margin-inline: 8px; }
.tba-project-controls button:hover span { background: var(--tba-blue); }
.tba-project-count { font-size: 14px; white-space: nowrap; }
.tba-project + .tba-project { margin-top: 65px; }
.tba-gallery-ready .tba-project + .tba-project { margin-top: 0; }
.tba-project-modal .modal-dialog { max-width: 1250px; }
.tba-project-modal .modal-content { border: 0; border-radius: 18px; }
.tba-project-modal .modal-header { padding: 24px 30px; }
.tba-project-modal .modal-header p { grid-column: 1 / -1; margin: 0; font-size: 14px; }
.tba-project-modal .modal-body img { display: block; width: 100%; height: auto; }
.tba-testimonials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.tba-testimonial { display: flex; flex-direction: column; margin: 0; padding: 42px; border-radius: 24px; background: #f4f7fc; }
.tba-testimonial::before { content: '“'; color: #0081c7; font: 80px/1 Georgia, serif; height: 60px; }
.tba-testimonial blockquote { margin: 0 0 28px; font-size: 15px; line-height: 1.85; }
.tba-testimonial figcaption { display: flex; gap: 18px; align-items: center; margin-top: auto; font-size: 14px; color: var(--tba-ink); font-weight: 700; }
.tba-testimonial-logo { width: auto; max-width: 95px; height: 48px; object-fit: contain; background: #101a29; padding: 4px; border-radius: 5px; }
.tba-process-section { background: #f8faff; }
.tba-process { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 50px 32px; padding: 0; margin: 0; list-style: none; }
.tba-process li { grid-column: span 2; text-align: center; }
.tba-process li:nth-child(4) { grid-column: 2 / span 2; }
.tba-step-number { display: grid; place-items: center; margin: 0 auto 28px; width: 100px; height: 100px; border: 1px dashed #8ebcde; border-radius: 50%; background: #edf5ff; box-shadow: inset 0 0 0 12px #fff; color: #0076b8; font-size: 30px; font-weight: 700; }
.tba-process h3 { font-size: 20px; margin-bottom: 18px; }
.tba-process p { font-size: 15px; }
.tba-contact-section { background: #fff; }
.tba-contact-grid { display: grid; grid-template-columns: 1fr 1fr; border-radius: 28px; background: #076caa; padding: 65px; gap: 60px; position: relative; }
.tba-contact-copy { color: #fff; min-width: 0; }
.tba-contact-copy h2 { color: #fff; }
.tba-contact-copy .tba-eyebrow { color: #fff; background: #ffffff1a; }
.tba-contact-links { display: grid; gap: 8px; margin: 26px 0; font-size: 17px; }
.tba-contact-links a { overflow-wrap: anywhere; }
.tba-contact-photo { width: 100%; height: 170px; object-fit: cover; border-radius: 15px; }
.tba-contact-form { padding: 38px; background: #fff; border-radius: 20px; min-width: 0; box-shadow: 0 20px 45px #002e5b20; align-self: start; }
.tba-contact-form h3 { margin-bottom: 25px; }
.tba-contact-form .row { margin-inline: -8px; }
.tba-contact-form .row > * { padding-inline: 8px; }
.tba-contact-form label { display: block; color: var(--tba-ink); font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.tba-contact-form input:not([type=hidden]):not([type=checkbox]), .tba-contact-form textarea { width: 100%; border: 1px solid #dce2ed; border-radius: 7px; background: #f7f9fc; padding: 12px 14px; color: var(--tba-ink); min-height: 50px; }
.tba-contact-form textarea { min-height: 160px; }
.tba-contact-form .form-group, .tba-contact-form .md-form { margin-bottom: 20px; }
.tba-contact-form .tba-form-identity { display: flex; flex-wrap: wrap; }
.tba-contact-form .btn-form-submit { border-radius: 35px; padding: 13px 30px; min-height: 52px; background: var(--tba-blue); border: 2px solid var(--tba-blue); color: var(--tba-ink); font-weight: 700; }
.tba-contact-form .btn-form-submit:disabled { opacity: .6; }
.tba-form-fallback { font-size: 12px; margin: 22px 0 0 !important; overflow-wrap: anywhere; }
.tba-form-fallback a { text-decoration: underline; color: #0068a2; }
.tba-footer { background: var(--tba-dark); color: #c5cedb; padding: 70px 0 25px; font-size: 13px; }
.tba-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 45px; }
.tba-footer-top > div { display: grid; gap: 8px; text-align: right; font-size: 18px; color: #fff; }
.tba-footer-details { display: flex; justify-content: space-between; gap: 30px; }
.tba-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; border-top: 1px solid #ffffff20; margin-top: 30px; padding-top: 25px; }
.tba-footer button { border: 0; padding: 10px 0; background: transparent; color: #fff; text-decoration: underline; }
.tb-redesign-public .tb-cookie-modal .modal-content { border: 0; border-radius: 20px; }
.tb-redesign-public .tb-cookie-category { padding-block: 18px; border-top: 1px solid #e4e8ef; }
.tb-redesign-public .tb-cookie-category p { margin-bottom: 0; font-size: 14px; }
.tb-redesign-public .tb-cookie-modal .modal-footer { justify-content: flex-start; }
.tb-redesign-public .tb-cookie-modal .btn { padding: 10px 16px; border-radius: 24px; font-size: 13px; }
.tb-redesign-public .tb-btn-primary { background: var(--tba-blue); color: var(--tba-ink); font-weight: 700; }
.tb-redesign-public .tb-btn-secondary { border: 1px solid #b9c9d6; color: var(--tba-ink); }
@media (min-width: 1600px) {
    .tba-container { max-width: 1280px; }
}
@media (max-width: 1399px) {
    .tba-header-inner { gap: 20px; }
    .tba-navigation nav { gap: 18px; }
    .tba-header-cta { padding-inline: 20px; font-size: 13px; }
    .tba-contact-grid { padding: 45px; gap: 35px; }
}
@media (max-width: 1199px) {
    .tba-menu-toggle { display: flex; align-items: center; gap: 15px; border: 1px solid #d8e4ef; padding: 9px 17px; border-radius: 30px; background: #fff; color: var(--tba-ink); margin-left: auto; }
    .tba-navigation .offcanvas-body, .tba-navigation nav, .tba-menu-contacts { display: flex; flex-direction: column; }
    .tba-navigation .offcanvas-body { padding: 24px; }
    .tba-navigation nav { gap: 7px; }
    .tba-menu-contacts { gap: 10px; margin-top: 35px; font-size: 14px; }
    .tba-navigation nav a { font-size: 18px; }
    .tba-hero-grid { min-height: 750px; padding-block: 90px; }
    .tb-redesign-public .tba-hero h1 { font-size: 52px; }
    .tba-hero-art { height: 490px; }
    .tba-actions { gap: 12px; }
    .tba-about-grid { gap: 40px; }
    .tba-contact-form { padding: 26px; }
    .tba-services { gap: 18px; }
    .tba-service { padding: 40px 25px 30px; }
}
@media (max-width: 991px) {
    .tba-header-inner { min-height: 85px; }
    .tba-logo { width: 68px; height: 68px; }
    .tba-hero-grid { gap: 25px; min-height: 700px; }
    .tb-redesign-public .tba-hero h1 { font-size: 46px; letter-spacing: -1.5px; }
    .tba-hero-art { height: 420px; }
    .tba-art-note { padding: 15px; bottom: 0; }
    .tba-art-note strong { font-size: 12px; }
    .tba-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tba-services > :last-child { grid-column: 1 / -1; max-width: 550px; justify-self: center; }
    .tba-section { padding-block: 80px; }
    .tba-about-grid { gap: 30px; }
    .tba-about-photo { height: 420px; width: 95%; margin: 0; }
    .tba-about-visual { padding-right: 0; }
    .tba-about-card { padding: 22px; }
    .tba-testimonial { padding: 27px; }
    .tba-contact-grid { grid-template-columns: 1fr; padding: 45px; gap: 40px; }
    .tba-contact-photo { max-width: 500px; }
    .tba-contact-form { padding: 35px; }
    .tba-process { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
    .tba-process li, .tba-process li:nth-child(4) { grid-column: auto; }
    .tba-process li:last-child { grid-column: 1 / -1; max-width: 400px; justify-self: center; }
    .tba-project-image img { height: 420px; }
}
@media (max-width: 767px) {
    .tba-container { width: calc(100% - 32px); }
    .tba-header-inner { min-height: 75px; gap: 15px; }
    .tba-header-cta { display: none; }
    .tba-logo { width: 58px; height: 58px; }
    .tba-logo img { width: 31px; height: 33px; }
    .tba-hero-grid { grid-template-columns: 1fr; padding-top: 100px; padding-bottom: 64px; gap: 40px; min-height: 0; }
    .tb-redesign-public .tba-hero h1 { font-size: 40px; letter-spacing: -1.4px; line-height: 1.25; }
    .tba-hero-copy { max-width: 550px; }
    .tba-hero .tba-lead { font-size: 16px; }
    .tba-hero-art { height: 310px; max-width: 430px; width: 100%; margin-inline: auto; }
    .tba-orbit { width: 78%; border-width: 12px; right: 8%; box-shadow: 0 0 0 17px #fff5; }
    .tba-software-window { width: 90%; margin-left: 3%; }
    .tba-art-note { bottom: 0; padding: 14px; }
    .tba-art-cross { font-size: 50px; top: 0; }
    .tba-actions { gap: 12px 20px; margin-top: 28px; }
    .tba-button { font-size: 14px; padding-inline: 24px; }
    .tba-section { padding-block: 68px; }
    .tb-redesign-public h2 { font-size: 32px; letter-spacing: -.8px; }
    .tba-section-heading { margin-bottom: 36px; }
    .tba-about-grid { grid-template-columns: 1fr; gap: 30px; }
    .tba-about-visual { padding: 0; max-width: 470px; width: 100%; margin: auto; }
    .tba-about-photo { height: 380px; width: 80%; margin-inline: auto; }
    .tba-about-card { margin: 20px 0 0; max-width: none; padding: 25px; }
    .tba-project-copy { grid-template-columns: 1fr; gap: 10px; }
    .tba-project-image { padding: 12px 12px 70px; }
    .tba-project-image img { height: auto; aspect-ratio: 1.6; }
    .tba-project-zoom { right: 15px; bottom: 15px; font-size: 13px; padding: 10px 17px; }
    .tba-project-controls { gap: 10px; justify-content: space-between; }
    .tba-project-controls button { font-size: 12px; display: flex; flex-direction: column; align-items: center; gap: 4px; }
    .tba-project-controls button:last-child { flex-direction: column-reverse; }
    .tba-testimonials { grid-template-columns: 1fr; }
    .tba-contact-grid { padding: 30px 22px; border-radius: 20px; margin-inline: -3px; }
    .tba-contact-form { padding: 25px 18px; }
    .tba-contact-photo { height: 120px; }
    .tba-footer-top, .tba-footer-details, .tba-footer-bottom { flex-direction: column; align-items: flex-start; gap: 20px; }
    .tba-footer-top > div { text-align: left; font-size: 16px; }
    .tba-footer-top { margin-bottom: 30px; }
    .tba-footer-details p { margin-bottom: 0; }
}
@media (max-width: 575px) {
    .tba-services { grid-template-columns: 1fr; }
    .tba-services > :last-child { grid-column: auto; max-width: none; justify-self: stretch; }
    .tba-service { padding: 40px 30px 30px; }
    .tba-process { grid-template-columns: 1fr; }
    .tba-process li:last-child { grid-column: auto; }
    .tba-process li { max-width: 400px; margin-inline: auto; }
    .tba-contact-grid { padding-inline: 17px; }
    .tba-contact-form .col-md-6 { width: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
    .tba-reveal.is-visible { animation: tba-appear .55s ease both; }
    @keyframes tba-appear { from { opacity: .2; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
    .tb-redesign-public *, .tb-redesign-public *::before, .tb-redesign-public *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Keep decorative geometry inside its column; clipping the page would hide layout errors. */
.tba-orbit { transform: none; }
.tba-contact-form .md-form { display: flex; flex-direction: column; }
.tba-contact-form .md-form > label { order: -1; }
.tba-contact-form .HP-wrapper { display: none; }
.tba-contact-form .tba-form-identity { gap: 0 16px; }
.tba-contact-form .tba-form-identity > .col-md-6 { width: calc(50% - 8px); }
@media (max-width: 767px) {
    .tba-contact-form .tba-form-identity > .col-md-6 { width: 100%; }
}

/* Header identity and the stronger blue accents of the second refinement. */
.tb-redesign-public { --tba-royal: #246bfd; }
.tba-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.tba-icon { width: 22px; height: 22px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tba-header-inner { width: calc(100% - 64px); max-width: none; gap: 22px; }
.tba-brand { display: flex; align-items: center; gap: 16px; flex-shrink: 0; color: var(--tba-ink) !important; }
.tba-brand > span { display: flex; flex-direction: column; }
.tba-brand-name { color: #8a909b; font-family: 'TB Caveat', cursive; font-size: 20px; font-weight: 300; line-height: .85; margin-bottom: -4px; }
.tba-brand strong { font-size: 20px; letter-spacing: -.4px; line-height: 1.5; }
.tba-navigation nav { gap: 18px; }
.tba-navigation nav a { font-size: 13px; }
.tba-header-cta { min-height: 50px; padding-inline: 20px; white-space: nowrap; }
.tba-header-phone { align-self: stretch; display: flex; align-items: center; gap: 14px; padding: 18px 24px; margin-right: -32px; background: var(--tba-royal); color: #fff !important; white-space: nowrap; }
.tba-header-phone > .tba-icon { box-sizing: content-box; padding: 12px; border-radius: 50%; background: #ffffff15; }
.tba-header-phone span { display: flex; flex-direction: column; line-height: 1.8; }
.tba-header-phone small { font-size: 12px; }
.tba-header-phone strong { font-size: 14px; }
.tba-menu-toggle .tba-icon { width: 18px; height: 18px; }
.tba-hero-art { height: 580px; }
.tba-laptop { position: relative; width: 118%; max-width: none !important; margin-left: -8%; z-index: 1; height: auto; filter: drop-shadow(0 20px 20px #1a37651a); }
.tba-orbit { width: 85%; right: 4%; border-width: 16px; opacity: .8; }
.tba-art-note { bottom: 35px; right: -5px; max-width: 380px; }
.tba-art-note strong { font-size: 13px; margin-top: 4px; }
.tba-art-note .tba-icon { color: #0075b7; }
.tba-hero .tba-actions { gap: 18px 28px; }
#tba-services-title span, #tba-services-title strong { display: block; }
.tba-section { isolation: isolate; }
.tba-section::before { content: ''; position: absolute; right: 0; top: 30px; width: 260px; height: 250px; background: url('../images/redesign-2026/web/circuit.png') right top / contain no-repeat; opacity: .15; z-index: -1; pointer-events: none; }
.tba-about::before, .tba-process-section::before { right: auto; left: 0; transform: rotate(180deg); top: auto; bottom: 20px; }
.tba-hero::before { content: ''; position: absolute; left: 0; bottom: 10px; width: 260px; height: 250px; background: url('../images/redesign-2026/web/circuit.png') center / contain no-repeat; transform: rotate(180deg); opacity: .15; }
.tba-service-link .tba-icon { width: 23px; height: 23px; }
.tba-blue-interlude { position: relative; background: var(--tba-royal); color: #fff; padding: 34px 0; }
.tba-blue-interlude::before { content: ''; position: absolute; right: 15%; inset-block: 0; width: 230px; background: url('../images/redesign-2026/web/circuit.png') center / cover; filter: brightness(0) invert(1); opacity: .15; pointer-events: none; }
.tba-blue-interlude .tba-container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.tba-blue-interlude p { margin: 0; font-size: 16px; }
.tba-blue-interlude strong { display: block; font-size: 27px; }
.tba-blue-interlude a { display: flex; align-items: center; gap: 18px; padding-block: 12px; font-weight: 600; }
/* Portfolio mosaic: each genuine project appears once, with a full modal preview. */
.tba-projects { display: grid; grid-template-columns: 1.6fr 1fr; grid-template-rows: repeat(2, 260px); gap: 25px; }
.tba-project { min-width: 0; }
.tba-project:first-child { grid-row: span 2; }
.tba-project + .tba-project { margin-top: 0; }
.tba-project-image { padding: 0; width: 100%; height: 100%; border-radius: 6px; overflow: hidden; background: #e9effb; }
.tba-project-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 30%, #101a29df); transition: opacity .2s; }
.tba-project-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; transition: transform .35s; }
.tba-project-image:hover img { transform: scale(1.025); }
.tba-project-image:focus-visible { outline-offset: 5px; }
.tba-project-caption { position: absolute; left: 30px; bottom: 27px; right: 65px; z-index: 1; color: #fff; display: grid; gap: 5px; }
.tba-project-caption strong { font-size: 26px; }
.tba-project-category { font-size: 10px; letter-spacing: 1px; color: #bddeff; }
.tba-project-caption > span:last-child { font-size: 13px; }
.tba-project-open { position: absolute; bottom: 30px; right: 25px; display: grid; place-items: center; width: 42px; height: 42px; z-index: 1; border-radius: 50%; background: #fff; color: #246bfd; }
.tba-testimonial-logo { width: 48px; height: 48px; max-width: 48px; padding: 0; border: 0; border-radius: 50%; background: transparent; object-fit: contain; }
/* Five steps remain visible along a single alternating timeline. */
.tba-process { position: relative; display: block; max-width: 1050px; margin-inline: auto; }
.tba-process::before { content: ''; position: absolute; top: 55px; bottom: 70px; left: calc(50% - 1px); width: 2px; background: linear-gradient(#bed9fb, #246bfd, #bed9fb); }
.tba-process li, .tba-process li:last-child { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr); gap: 20px; align-items: center; max-width: none; margin: 0 0 32px; }
.tba-process .tba-step-number { grid-column: 2; grid-row: 1; margin: 0 auto; width: 80px; height: 80px; font-size: 24px; border: 1px solid #c6dcfb; box-shadow: 0 0 0 10px #f8faff; background: #fff; color: var(--tba-royal); }
.tba-step-copy { grid-column: 3; grid-row: 1; text-align: left; background: #fff; border-radius: 15px; padding: 28px 30px; box-shadow: 0 5px 30px #19335a08; }
.tba-process li:nth-child(odd) .tba-step-copy { grid-column: 1; text-align: right; }
.tba-process h3 { font-size: 20px; }
.tba-process p { margin-bottom: 0; font-size: 14px; }
/* Full-width diagonal contact backdrop and a restrained white form card. */
.tba-contact-section { background: #e7e8eb; padding: 100px 0 0; }
.tba-contact-section::before { inset: 0; width: 100%; height: 100%; background: var(--tba-royal); clip-path: polygon(0 0, 60% 0, 85% 100%, 0 100%); opacity: 1; }
.tba-contact-section::after { content: ''; position: absolute; width: 300px; height: 280px; left: 0; bottom: 0; background: url('../images/redesign-2026/web/circuit.png') center / contain no-repeat; transform: rotate(180deg); filter: brightness(0) invert(1); opacity: .15; pointer-events: none; z-index: -1; }
.tba-contact-grid { grid-template-columns: 1.2fr 1fr; background: transparent; border-radius: 0; padding: 0; gap: 100px; }
.tba-contact-copy { align-self: center; padding: 45px 0 85px; }
.tba-contact-copy h2 { font-size: 46px; }
.tba-contact-copy .tba-eyebrow { background: #fff; color: #172840; }
.tba-contact-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-block: 35px; font-weight: 600; font-size: 14px; }
.tba-contact-benefits span { display: flex; gap: 14px; align-items: center; }
.tba-contact-benefits .tba-icon { width: 36px; height: 36px; }
.tba-contact-direct { display: flex; align-items: center; gap: 15px; padding-block: 6px; }
.tba-contact-form { padding: 65px 40px; border-radius: 5px; box-shadow: 0 10px 50px #10203b08; align-self: stretch; }
.tba-contact-form > .tba-eyebrow { background: var(--tba-royal); color: #fff; font-size: 12px; letter-spacing: .8px; text-transform: uppercase; }
.tba-contact-form h3 { font-size: 34px; margin-bottom: 18px; }
.tba-contact-form > p:not(.tba-eyebrow) { font-size: 15px; margin-bottom: 28px; }
.tba-contact-form input:not([type=hidden]):not([type=checkbox]), .tba-contact-form textarea { background: #fff; border: 1px solid #e7e1da; border-radius: 5px; font-size: 14px; }
.tba-contact-form textarea { min-height: 140px; }
.tba-contact-form .btn-form-submit { width: 100%; border-radius: 3px; background: #101a29; border-color: #101a29; color: #fff; }
.tba-contact-form .tba-form-fallback { margin-top: 20px !important; }
/* Short callback request replaces the demo newsletter. */
.tba-callback-section { padding: 80px 0 0; background: linear-gradient(#fff 0 50%, #101a29 50%); }
.tba-callback-card { position: relative; display: grid; grid-template-columns: 1fr 1.1fr; gap: 55px; align-items: center; padding: 38px 42px; border-radius: 10px; background: var(--tba-royal); color: #fff; }
.tba-callback-card::before { content: ''; position: absolute; inset: 0 0 0 auto; width: 280px; background: url('../images/redesign-2026/web/circuit.png') right center / contain no-repeat; filter: brightness(0) invert(1); opacity: .15; pointer-events: none; }
.tba-callback-card h2 { color: #fff; font-size: 32px; letter-spacing: -.7px; margin-bottom: 12px; }
.tba-callback-card p { margin-bottom: 0; font-size: 13px; }
.tba-callback-fields { display: flex; gap: 0; align-items: flex-end; }
.tba-callback-fields .md-form { display: flex; flex-direction: column; flex: 1; min-width: 0; margin: 0; }
.tba-callback-fields label { order: -1; font-size: 12px; margin-bottom: 8px; }
.tba-callback-fields input { height: 55px; border: 0; border-radius: 0; padding: 12px 18px; }
.tba-callback-fields .btn-form-submit { margin: 0 !important; height: 55px; padding: 10px 20px !important; background: #101a29; border: 0; color: #fff; font-size: 13px; border-radius: 0; white-space: nowrap; }
.tba-callback-form .HP-wrapper { display: none; }
.tba-callback-form .alert { margin-bottom: 15px; padding: 12px; }
.tba-callback-form [id$='captcha-error']:not([hidden]) { margin-top: 15px; }
.tba-footer { padding-top: 85px; }
.tba-footer-columns { display: grid; grid-template-columns: 1fr 1.3fr .7fr; gap: 70px; }
.tba-footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.tba-footer-brand > a:first-child { margin-bottom: 8px; }
.tba-footer-brand p { margin-bottom: 8px; }
.tba-footer-brand > a:not(:first-child), .tba-footer-identity > p { display: flex; align-items: center; gap: 12px; }
.tba-footer .tba-icon { color: #428aff; width: 19px; height: 19px; }
.tba-footer-identity > p { align-items: flex-start; }
.tba-footer h3 { color: #fff; font-size: 18px; margin-bottom: 24px; }
.tba-footer-register { padding-left: 31px; font-size: 12px; }
.tba-footer-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.tba-footer-nav h3 { margin-bottom: 10px; }
@media (max-width: 1799px) {
    .tba-header-inner { gap: 18px; }
    .tba-brand { gap: 12px; }
    .tba-brand strong { font-size: 18px; }
    .tba-navigation nav { gap: 13px; }
    .tba-navigation nav a { font-size: 12px; }
    .tba-header-phone { padding-inline: 18px; }
    .tba-header-phone > .tba-icon { padding: 8px; }
    .tba-header-cta { padding-inline: 18px; font-size: 12px; }
}
@media (max-width: 1399px) {
    .tba-header-inner { min-height: 90px; }
    .tba-header-cta { margin-left: 8px; }
    .tba-menu-toggle { display: flex; align-items: center; gap: 15px; border: 1px solid #d8e4ef; padding: 9px 17px; border-radius: 30px; background: #fff; color: var(--tba-ink); margin-left: auto; }
    .tba-navigation .offcanvas-body, .tba-navigation nav, .tba-menu-contacts { display: flex; flex-direction: column; }
    .tba-navigation .offcanvas-body { padding: 24px; }
    .tba-navigation nav { gap: 7px; }
    .tba-navigation nav a { font-size: 18px; }
    .tba-menu-contacts { gap: 10px; margin-top: 35px; font-size: 14px; }
    .tba-contact-grid { gap: 60px; }
    .tba-contact-copy h2 { font-size: 40px; }
}
@media (max-width: 991px) {
    .tba-contact-grid { gap: 35px; grid-template-columns: 1fr 1fr; }
    .tba-contact-form { padding: 45px 25px; }
    .tba-contact-copy h2 { font-size: 34px; }
    .tba-contact-benefits { grid-template-columns: 1fr; }
    .tba-contact-form .tba-form-identity > .col-md-6 { width: 100%; }
    .tba-projects { grid-template-rows: repeat(2, 220px); gap: 18px; }
    .tba-project-caption { left: 20px; right: 20px; }
    .tba-project-open { top: 18px; bottom: auto; right: 18px; }
    .tba-project-caption strong { font-size: 22px; }
    .tba-callback-card { gap: 30px; padding: 35px; }
    .tba-callback-card h2 { font-size: 28px; }
    .tba-footer-columns { gap: 35px; grid-template-columns: 1fr 1.3fr; }
    .tba-footer-nav { grid-column: 1 / -1; flex-direction: row; gap: 25px; flex-wrap: wrap; }
    .tba-footer-nav h3 { display: none; }
    .tba-hero-art { height: 420px; }
    .tba-art-note { bottom: 0; font-size: 10px; padding: 16px; }
    .tba-art-note strong { font-size: 11px; }
}
@media (max-width: 767px) {
    .tba-header-inner { width: calc(100% - 32px); min-height: 80px; gap: 12px; }
    .tba-brand img { width: 36px; height: 38px; }
    .tba-brand { gap: 10px; }
    .tba-brand strong { font-size: 13px; letter-spacing: -.3px; }
    .tba-brand-name { font-size: 17px; }
    .tba-header-phone, .tba-header-cta { display: none; }
    .tba-menu-toggle { font-size: 0; padding: 10px; gap: 0; border-radius: 50%; }
    .tba-menu-toggle .tba-icon { width: 20px; height: 20px; }
    .tba-hero-art { height: 310px; }
    .tba-laptop { width: 114%; margin-left: -7%; }
    .tba-art-note { bottom: 0; right: 0; max-width: 300px; }
    .tba-art-note strong { font-size: 10px; }
    .tba-projects { grid-template-columns: 1fr; grid-template-rows: none; gap: 20px; }
    .tba-project:first-child { grid-row: auto; }
    .tba-project-image { height: 300px; }
    .tba-project-image img { aspect-ratio: auto; height: 100%; }
    .tba-project-caption { bottom: 22px; }
    .tba-blue-interlude .tba-container { flex-direction: column; align-items: flex-start; gap: 10px; }
    .tba-blue-interlude strong { font-size: 24px; }
    .tba-process::before { left: 31px; }
    .tba-process li, .tba-process li:last-child { grid-template-columns: 64px minmax(0, 1fr); gap: 20px; }
    .tba-process .tba-step-number { grid-column: 1; width: 54px; height: 54px; font-size: 19px; box-shadow: 0 0 0 5px #f8faff; }
    .tba-step-copy, .tba-process li:nth-child(odd) .tba-step-copy { grid-column: 2; text-align: left; padding: 23px 20px; }
    .tba-process h3 { font-size: 18px; }
    .tba-contact-section { padding-top: 45px; }
    .tba-contact-section::before { clip-path: polygon(0 0,100% 0,100% 58%,0 72%); }
    .tba-contact-grid { grid-template-columns: 1fr; margin-inline: auto; gap: 20px; }
    .tba-contact-copy { padding: 20px 0 30px; }
    .tba-contact-copy h2 { font-size: 34px; }
    .tba-contact-benefits { grid-template-columns: 1fr 1fr; gap: 18px; margin-block: 28px; }
    .tba-contact-benefits span { flex-direction: column; align-items: flex-start; }
    .tba-contact-form { padding: 40px 24px; }
    .tba-contact-form h3 { font-size: 28px; }
    .tba-callback-card { grid-template-columns: 1fr; gap: 25px; padding: 30px 24px; }
    .tba-callback-fields { flex-direction: column; align-items: stretch; gap: 12px; }
    .tba-callback-fields .btn-form-submit { width: 100%; }
    .tba-callback-card h2 { font-size: 29px; }
    .tba-footer-columns { grid-template-columns: 1fr; gap: 35px; }
    .tba-footer-nav { grid-column: auto; gap: 20px; }
    .tba-footer-register { max-width: 390px; }
    .tba-section::before { width: 170px; height: 170px; }
    .tba-contact-section::before { width: 100%; height: 100%; }
}
@media (max-width: 359px) {
    .tba-brand strong { max-width: 180px; font-size: 12px; }
    .tba-brand-name { font-size: 16px; }
    .tba-brand img { width: 31px; }
    .tba-process li, .tba-process li:last-child { gap: 12px; grid-template-columns: 54px minmax(0, 1fr); }
    .tba-process::before { left: 26px; }
    .tba-step-copy, .tba-process li:nth-child(odd) .tba-step-copy { padding: 20px 16px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .tba-laptop { width: 112%; margin-left: -8%; }
}
.tba-callback-card > div { position: relative; z-index: 1; }
.tba-footer { position: relative; isolation: isolate; }
.tba-footer::before { content: ''; position: absolute; left: 0; bottom: 45px; width: 230px; height: 230px; background: url('../images/redesign-2026/web/circuit.png') center / contain no-repeat; opacity: .2; transform: rotate(180deg); z-index: -1; pointer-events: none; }
@media (min-width: 768px) and (max-width: 991px) {
    .tba-header-cta { display: none; }
}
@media (max-width: 767px) {
    .tba-art-note { max-width: 330px; font-size: 11px; }
    .tba-art-note strong { font-size: 11px; }
}

/* Approved raster artwork is embedded unchanged, masked for seamless use on each background. */
.tba-section, .tba-hero, .tba-footer, .tba-blue-interlude { overflow: clip; }
.tba-section::before, .tba-hero::before, .tba-contact-section::after, .tba-blue-interlude::before, .tba-callback-card::before, .tba-footer::before {
    width: 460px; height: 390px; background: var(--tba-royal); filter: none;
    -webkit-mask: url('../images/redesign-2026/web/circuit.png') center / 100% 100% no-repeat;
    mask: url('../images/redesign-2026/web/circuit.png') center / 100% 100% no-repeat;
    opacity: .25;
}
.tba-section::before { top: 0; right: 0; bottom: auto; left: auto; transform: scaleY(-1); }
.tba-about::before, .tba-process-section::before { top: auto; bottom: 0; right: auto; left: 0; transform: scaleX(-1); }
.tba-hero::before { bottom: 0; left: 0; transform: scaleX(-1); }
.tba-contact-section::before { inset: 0; width: 100%; height: 100%; background: var(--tba-royal); mask: none; -webkit-mask: none; transform: none; opacity: 1; }
.tba-contact-section::after { bottom: 0; left: 0; background: #fff; transform: scaleX(-1); opacity: .2; }
.tba-blue-interlude::before { top: auto; bottom: 0; left: 0; right: auto; width: 380px; height: 322px; background: #fff; transform: scaleX(-1); opacity: .18; }
.tba-callback-card { overflow: hidden; }
.tba-callback-card::before { top: auto; bottom: 0; right: 0; width: 380px; height: 322px; background: #fff; transform: none; opacity: .2; }
.tba-footer::before { bottom: 0; left: 0; background: #5a8cff; transform: scaleX(-1); opacity: .32; }
@media (max-width: 767px) {
    .tba-section::before, .tba-hero::before, .tba-contact-section::after { width: 290px; height: 246px; }
    .tba-contact-section::before { width: 100%; height: 100%; }
}

/* Compact utility strip, with the prompt and contacts grouped like the reference. */
.tba-topbar { background: #101a29; color: #fff; font-size: 14px; font-weight: 500; }
.tba-topbar-inner { width: calc(100% - 64px); margin-inline: auto; min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.tba-topbar-main { display: flex; align-items: center; gap: 38px; }
.tba-topbar-prompt { margin: 0 !important; white-space: nowrap; }
.tba-topbar-prompt a { margin-left: 8px; text-decoration: underline; text-underline-offset: 3px; }
.tba-topbar-contact, .tba-topbar-location { display: inline-flex; align-items: center; gap: 9px; white-space: nowrap; }
.tba-topbar .tba-icon { width: 16px; height: 16px; color: #377dff; }
.tba-topbar-contact:hover, .tba-topbar-prompt a:hover { color: #bcd9ff; }
.tba-topbar-location { font-size: 13px; color: #e0e7f1; }
.tba-topbar a:focus-visible { outline-color: #82baff; }
@media (max-width: 1199px) {
    .tba-topbar-location { display: none; }
    .tba-topbar-main { width: 100%; justify-content: space-between; gap: 24px; }
    .tba-topbar { font-size: 12px; }
}
@media (max-width: 991px) {
    .tba-topbar-prompt { display: none; }
    .tba-topbar-main { justify-content: flex-start; gap: 32px; }
}
@media (max-width: 767px) {
    .tba-topbar { display: none; }
}

/* Measured reference container widths; only the phone background reaches the edge. */
.tb-redesign-public { --tba-header-max: 100%; }
.tba-header-inner, .tba-topbar-inner { width: 100%; max-width: var(--tba-header-max); padding-inline: 12px; margin-inline: auto; }
.tba-header { isolation: isolate; }
.tba-header::after { content: ''; position: absolute; inset: 0 0 0 auto; width: calc((100% - min(100%, var(--tba-header-max))) / 2 + 12px); background: var(--tba-royal); z-index: -1; pointer-events: none; }
.tba-header-actions { display: flex; align-items: center; align-self: stretch; flex-shrink: 0; gap: 30px; }
.tba-header-cta { margin-left: 0; min-height: 55px; padding-inline: 26px; font-size: 14px; }
.tba-header-phone { width: 226px; margin-right: 0; padding: 18px 20px; gap: 15px; flex-shrink: 0; }
.tba-header-phone > .tba-icon { padding: 12px; }
@media (min-width: 576px) {
    .tb-redesign-public { --tba-header-max: 540px; }
}
@media (min-width: 768px) {
    .tb-redesign-public { --tba-header-max: 720px; }
}
@media (min-width: 992px) {
    .tb-redesign-public { --tba-header-max: 960px; }
}
@media (min-width: 1200px) {
    .tb-redesign-public { --tba-header-max: 1140px; }
}
@media (min-width: 1300px) {
    .tb-redesign-public { --tba-header-max: 1250px; }
}
@media (min-width: 1800px) {
    .tb-redesign-public { --tba-header-max: 1720px; }
}
@media (max-width: 767px) {
    .tba-header-actions, .tba-header::after { display: none; }
}

/* Original client artwork, rendered in a quiet grey without altering source files. */
.tba-client-strip { padding: 48px 0; background: #fff; border-bottom: 1px solid #f0f2f7; }
.tba-client-logos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 45px; align-items: center; margin: 0; padding: 0; list-style: none; }
.tba-client-logos li { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 90px; }
.tba-client-logo { display: flex; align-items: center; justify-content: center; gap: 12px; transform: scale(.66); transform-origin: center; }
.tba-client-logo img { display: block; width: auto; max-width: 210px; max-height: 84px; height: auto; object-fit: contain; filter: grayscale(1) brightness(0) invert(.68); opacity: .85; }
.tba-client-logo img[src$='tes98-clean.png'] { width: 210px; }
.tba-client-wordmark img { width: 52px; height: 54px; }
.tba-client-wordmark > span { font-size: 29px; font-weight: 700; letter-spacing: -.8px; color: #b9b9b9; }
@media (max-width: 991px) {
    .tba-client-logos { gap: 24px; }
    .tba-client-logo img { max-width: 155px; max-height: 70px; }
    .tba-client-wordmark img { width: 38px; height: 40px; }
    .tba-client-wordmark > span { font-size: 23px; }
}
@media (max-width: 767px) {
    .tba-client-strip { padding: 28px 0; }
    .tba-client-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
    .tba-client-logos li { min-height: 72px; }
    .tba-client-logo img { max-width: 140px; max-height: 65px; }
    .tba-client-wordmark { gap: 7px; }
    .tba-client-wordmark img { width: 31px; height: 33px; }
    .tba-client-wordmark > span { font-size: 21px; }
}
@media (max-width: 359px) {
    .tba-client-logo img { max-width: 123px; }
    .tba-client-wordmark > span { font-size: 18px; }
}

/* Modal titles and close controls share a centered row, descriptions occupy their own. */
.tb-redesign-public .modal-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px 24px; min-height: 80px; }
.tb-redesign-public .modal-header .modal-title { margin: 0; }
.tb-redesign-public .modal-header .btn-close { margin: 0; align-self: center; }
.tb-redesign-public .tb-cookie-modal .modal-header { padding: 24px 30px; }
.tb-redesign-public .tb-cookie-modal .badge.position-absolute { position: static !important; display: table; margin: 0 0 8px !important; padding: 4px 0 !important; color: #687387; font-weight: 400; }

/* Three light editorial sections between contact and the callback band. */
.tba-connections::before, .tba-discovery::before, .tba-evolution::before { content: none; }
.tba-connections-grid, .tba-discovery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.tba-connection-benefits { list-style: none; padding: 0; margin: 28px 0 22px; display: grid; gap: 14px; }
.tba-connection-benefits li { display: flex; gap: 12px; color: var(--tba-ink); font-size: 15px; }
.tba-connection-benefits .tba-icon { flex-shrink: 0; color: var(--tba-royal); margin-top: 3px; }
.tba-connections-detail { font-size: 13px; margin: 0 !important; }
.tba-integration-map { position: relative; height: 400px; background: radial-gradient(ellipse, #e9f0ff 0, #f8faff 60%, #fff 75%); }
.tba-integration-map > svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: #a7c1f8; stroke-width: 2; }
.tba-integration-node { position: absolute; width: 41%; padding: 18px 12px; background: #fff; color: var(--tba-ink); box-shadow: 0 8px 40px #263b7510; border: 1px solid #edf1f8; border-radius: 6px; font-size: 16px; font-weight: 700; text-align: center; }
.tba-integration-node > span { display: block; color: var(--tba-royal); font-size: 12px; letter-spacing: 2px; margin-bottom: 4px; }
.tba-integration-node small { display: block; color: var(--tba-text); font-size: 11px; font-weight: 400; margin-top: 3px; }
.tba-integration-accounting { left: 2%; top: 3%; }
.tba-integration-stock { right: 2%; top: 3%; }
.tba-integration-orders { left: 2%; bottom: 3%; }
.tba-integration-tools { right: 2%; bottom: 3%; }
.tba-integration-center { position: absolute; left: 17%; right: 17%; top: 36%; bottom: 36%; background: var(--tba-royal); color: #fff; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 12px; box-shadow: 0 15px 35px #246bfd26; }
.tba-integration-center .tba-icon { width: 28px; height: 28px; margin-bottom: 5px; }
.tba-integration-center strong { font-size: 16px; }
.tba-integration-center > span { font-size: 11px; opacity: .85; }
.tba-discovery { background: #f5f7fc; }
.tba-discovery-points { display: grid; gap: 22px; margin-top: 28px; }
.tba-discovery-points article { border-left: 3px solid var(--tba-royal); padding-left: 20px; }
.tba-discovery-points h3 { font-size: 18px; margin-bottom: 8px; }
.tba-discovery-points p { margin: 0; font-size: 14px; }
.tba-discovery-visual { order: -1; position: relative; padding: 0 0 40px 24px; }
.tba-discovery-visual::before { content: ''; position: absolute; inset: 35px 30px 0 0; background: #e4ebfa; border-radius: 5px; }
.tba-discovery-visual > img { position: relative; width: 100%; height: 400px; object-fit: cover; object-position: 62% center; border-radius: 5px; }
.tba-discovery-note { position: absolute; bottom: 0; left: 0; right: 25px; padding: 25px; display: flex; align-items: center; gap: 18px; background: #fff; box-shadow: 0 12px 40px #192b5210; border-radius: 5px; }
.tba-discovery-note .tba-icon { color: var(--tba-royal); width: 34px; height: 34px; flex-shrink: 0; }
.tba-discovery-note p { margin: 0; font-size: 15px; color: var(--tba-ink); }
.tba-discovery-note strong { display: block; font-size: 13px; margin-top: 4px; }
.tba-evolution-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 70px; align-items: center; margin-bottom: 55px; }
.tba-evolution-heading h2, .tba-evolution-heading > p { margin-bottom: 0; }
.tba-evolution-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.tba-evolution-cards article { position: relative; padding: 35px 28px; border: 1px solid #e5ebf5; border-radius: 6px; background: #fff; }
.tba-evolution-cards article:nth-child(2) { background: #f5f8ff; border-top: 3px solid var(--tba-royal); padding-top: 33px; }
.tba-evolution-number { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; color: var(--tba-royal); background: #eaf0ff; font-size: 19px; font-weight: 700; margin-bottom: 25px; }
.tba-evolution-cards .tba-evolution-stage { color: var(--tba-royal); font-size: 12px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px; }
.tba-evolution-cards h3 { font-size: 20px; margin-bottom: 14px; }
.tba-evolution-cards article > p:last-child { font-size: 14px; margin: 0; }
@media (max-width: 991px) {
    .tba-connections-grid, .tba-discovery-grid { gap: 35px; }
    .tba-integration-node { font-size: 14px; padding: 18px 8px; }
    .tba-integration-center strong { font-size: 14px; }
    .tba-evolution-heading { gap: 35px; }
    .tba-evolution-cards { gap: 16px; }
    .tba-evolution-cards article { padding: 28px 20px; }
    .tba-evolution-cards article:nth-child(2) { padding-top: 26px; }
}
@media (max-width: 767px) {
    .tba-connections-grid, .tba-discovery-grid, .tba-evolution-heading, .tba-evolution-cards { grid-template-columns: 1fr; }
    .tba-integration-map { width: 100%; max-width: 500px; margin-inline: auto; height: 390px; }
    .tba-discovery-visual { margin-top: 10px; }
    .tba-discovery-visual > img { height: 300px; }
    .tba-discovery-note { padding: 20px; right: 15px; }
    .tba-evolution-heading { gap: 20px; margin-bottom: 32px; }
    .tba-evolution-cards { gap: 20px; }
}

/* Content refinements and subpages share the original Redesign spacing and type. */
.tb-redesign-public .tba-hero h1 { font-size: 48px; line-height: 1.16; }
.tba-hero-audience { font-size: 13px; max-width: 450px; margin: 12px 0 16px !important; color: #4d5974; }
.tba-cta-reassurance { font-size: 12px; margin: 16px 0 0 !important; }
.tba-about-proof { display: block; color: #246bfd !important; font-weight: 600; font-size: 14px; margin-bottom: 18px; }
.tba-form-next { font-size: 13px !important; line-height: 1.6; margin-top: 16px !important; }
.tba-expectations { position: relative; isolation: isolate; overflow: clip; background: var(--tba-royal); color: #fff; padding: 48px 0; }
.tba-expectations::after { content: ''; position: absolute; right: 0; bottom: 0; width: min(430px, 75vw); aspect-ratio: 46 / 39; background: #fff; -webkit-mask: url('../images/redesign-2026/web/circuit.png') right bottom / contain no-repeat; mask: url('../images/redesign-2026/web/circuit.png') right bottom / contain no-repeat; opacity: .18; pointer-events: none; z-index: -1; }
.tba-expectations .tba-eyebrow { background: #ffffff24; color: #fff; }
.tba-expectations h2 { color: #fff; font-size: 32px; margin-bottom: 28px; }
.tba-expectations-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 0; }
.tba-expectations-grid dt { font-size: 15px; line-height: 1.5; color: #fff; margin-bottom: 10px; }
.tba-expectations-grid dd { font-size: 13px; color: #eef4ff; margin: 0; }
.tba-expectations .tba-text-link { display: inline-flex; margin-top: 25px; }
.tba-page-banner { padding: 65px 0; background: #f3f6fd; }
.tba-page-banner nav { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 25px; font-size: 13px; }
.tba-page-banner h1 { font-size: 46px; font-weight: 600; max-width: 950px; margin-bottom: 20px; }
.tba-page-banner > .tba-container > p:last-child { max-width: 800px; margin: 0; }
.tba-detail-section::before, .tba-not-found::before { content: none; }
.tba-detail-grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); align-items: start; gap: 60px; }
.tba-project-facts { background: #f5f7fc; border-radius: 5px; padding: 30px 25px; }
.tba-project-facts h2 { font-size: 23px; }
.tba-project-facts dt { font-size: 13px; color: var(--tba-ink); margin-bottom: 4px; }
.tba-project-facts dd { margin: 0 0 20px; font-size: 14px; }
.tba-project-facts .tba-button { width: 100%; padding-inline: 10px; font-size: 13px; margin-top: 12px; }
.tba-project-facts .tba-text-link { display: inline-block; font-size: 13px; margin-top: 32px; }
.tba-project-story h2 { font-size: 34px; margin: 56px 0 48px; }
.tba-project-story > .tba-button { margin-top: 24px; }
.tba-project-story h3 { font-size: 21px; margin-top: 30px; }
.tba-project-story p { font-size: 16px; }
.tba-project-enlarge { display: block; }
.tba-project-enlarge img { width: 100%; height: auto; border-radius: 5px; border: 1px solid #e9eef7; }
.tba-project-enlarge > span { display: block; margin-top: 8px; font-size: 12px; color: #2866c7; }
.tba-project-features { padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.tba-project-features li { display: flex; gap: 10px; font-size: 14px; }
.tba-project-features .tba-icon { flex-shrink: 0; color: var(--tba-royal); }
.tba-project-benefit { background: #f1f5fe; border-left: 3px solid var(--tba-royal); padding: 28px; margin: 70px 0; }
.tba-project-benefit p:last-child { margin-bottom: 0; }
.tb-redesign-public .tb-cookie-modal .modal-dialog { max-width: 960px; min-height: 100%; margin: 0 auto; align-items: flex-end; }
.tb-redesign-public .tb-cookie-modal .modal-content { border-radius: 12px 12px 0 0; max-height: min(70vh, 550px); }
.tb-redesign-public .tb-cookie-modal .modal-body { padding: 18px 24px; font-size: 14px; line-height: 1.55; }
.tb-redesign-public .tb-cookie-modal .modal-body p { font-size: 14px; line-height: 1.55; margin-bottom: 14px; }
.tb-redesign-public .tb-cookie-modal .modal-header { min-height: 60px; padding: 16px 24px; }
.tb-redesign-public .tb-cookie-modal .modal-title { font-size: 19px !important; }
.tb-redesign-public .tb-cookie-modal .tb-cookie-category { padding-block: 12px; }
.tb-redesign-public .tb-cookie-modal .form-check-label { font-size: 14px; }
.tb-redesign-public .tb-cookie-modal .modal-footer { padding: 12px 24px; }
@media (max-width: 991px) {
    .tba-detail-grid { grid-template-columns: 240px minmax(0, 1fr); gap: 30px; }
    .tba-expectations-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
    .tb-redesign-public .tba-hero h1 { font-size: 37px; }
    .tba-detail-grid { grid-template-columns: 1fr; }
    .tba-project-facts { order: 1; }
    .tba-page-banner { padding: 40px 0; }
    .tba-page-banner h1 { font-size: 32px; }
    .tba-project-story h2 { font-size: 27px; }
    .tba-project-features { grid-template-columns: 1fr; }
    .tba-expectations-grid { gap: 25px 20px; }
    .tb-redesign-public .tb-cookie-modal .modal-content { max-height: 75vh; }
    .tb-redesign-public .tb-cookie-modal .modal-footer { gap: 6px; padding: 10px 12px; }
    .tb-redesign-public .tb-cookie-modal .btn { padding: 9px 12px; font-size: 12px; }
}
