/* ==========================================================================
   TINV / Arad Typography + Rhythm System
   Final override layer: one typeface, smaller display scale, stronger sticky
   navigation, symmetric RTL spacing, compact editorial media and SABA footer.
   ========================================================================== */


:root {
    --tinv-font-display: "Vazirmatn", sans-serif;
    --tinv-font-body: "Vazirmatn", sans-serif;
    --tinv-font-ui: "Vazirmatn", sans-serif;
    --tinv-font-mono: "Vazirmatn", sans-serif;
    --tinv-rhythm-1: clamp(10px, .8vw, 12px);
    --tinv-rhythm-2: clamp(14px, 1vw, 18px);
    --tinv-rhythm-3: clamp(18px, 1.45vw, 24px);
    --tinv-rhythm-4: clamp(24px, 2vw, 34px);
    --tinv-rhythm-5: clamp(38px, 4.3vw, 68px);
    --tinv-card-pad: clamp(18px, 2vw, 28px);
    --tinv-reading: 68ch;
}

html,
body,
body :where(*):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not([class^="fa-"]):not([class*=" fa-"]) {
    font-family: "Vazirmatn", sans-serif !important;
    font-synthesis: none !important;
}

body.tinv-site {
    font-size: 14.5px !important;
    line-height: 1.9 !important;
    text-rendering: optimizeLegibility;
    font-kerning: normal;
}

/* Smaller, calmer global display scale. */
.tinv-hero__title { font-size: clamp(42px, 5vw, 76px) !important; line-height: 1.17 !important; letter-spacing: -.012em !important; }
.tinv-section-head h2,
.tinv-faq__intro h2 { font-size: clamp(30px, 3.35vw, 48px) !important; line-height: 1.38 !important; }
.tinv-journal__head h2 { font-size: clamp(28px, 3vw, 43px) !important; line-height: 1.42 !important; }
.tinv-cta h2 { font-size: clamp(34px, 4.5vw, 64px) !important; line-height: 1.28 !important; }
.tinv-page-hero h1 { font-size: clamp(32px, 4.4vw, 60px) !important; line-height: 1.36 !important; }
.tinv-article-hero h1 { font-size: clamp(27px, 3.35vw, 46px) !important; line-height: 1.58 !important; max-width: 1020px !important; }
.tinv-mini-hero h1,
.tinv-error-card h1 { font-size: clamp(28px, 3.4vw, 46px) !important; line-height: 1.5 !important; }
.tinv-flow__aside strong { font-size: clamp(24px, 2.25vw, 34px) !important; }
.tinv-flow-card h3 { font-size: clamp(19px, 1.65vw, 25px) !important; }
.tinv-bento-card h3 { font-size: clamp(18.5px, 1.55vw, 24px) !important; }
.tinv-news-card__body h3 { font-size: clamp(17px, 1.4vw, 22px) !important; }
.tinv-news-card.is-featured .tinv-news-card__body h3 { font-size: clamp(21px, 1.9vw, 29px) !important; }
.tinv-journal-row h3 { font-size: clamp(16.5px, 1.35vw, 21px) !important; line-height: 1.75 !important; }
.tinv-archive-card__body h2,
.tinv-archive-card.is-large .tinv-archive-card__body h2 { font-size: clamp(17px, 1.55vw, 23px) !important; line-height: 1.75 !important; }
.tinv-prose__content h2 { font-size: clamp(23px, 2.15vw, 31px) !important; }
.tinv-prose__content h3 { font-size: clamp(19px, 1.8vw, 25px) !important; }
.tinv-ecosystem__head h2 { font-size: clamp(29px, 3.1vw, 46px) !important; }
.tinv-service-card h3 { font-size: clamp(20px, 1.75vw, 27px) !important; }
.tinv-product-suite__head h2,
.tinv-about-intro h1,
.tinv-contact__intro h1 { font-size: clamp(30px, 3.7vw, 52px) !important; line-height: 1.42 !important; }

.tinv-breadcrumb { font-size: 9.5px !important; gap: 8px !important; }
.tinv-article-hero__meta { font-size: 9.5px !important; gap: 12px !important; }
.tinv-page-hero__eyebrow,
.tinv-eyebrow,
.tinv-kicker { font-size: 9.5px !important; }

/* RTL rhythm: balanced split headings and readable side copy. */
.tinv-section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .68fr) !important;
    gap: clamp(28px, 5vw, 74px) !important;
    align-items: end !important;
    padding-bottom: clamp(26px, 3.1vw, 38px) !important;
}
.tinv-section-head > div { align-self: end; }
.tinv-section-head > p {
    margin: 0 !important;
    max-width: 46ch !important;
    justify-self: start !important;
    text-align: right !important;
    text-wrap: pretty;
    color: var(--tinv-paper-muted) !important;
}
.tinv-section-head .tinv-text-link { align-self: end; justify-self: start; margin-bottom: 5px; }
.tinv-journal__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .68fr) !important;
    grid-template-rows: auto auto !important;
    gap: 8px clamp(28px, 5vw, 74px) !important;
    align-items: end !important;
    padding-bottom: clamp(26px, 3vw, 36px) !important;
}
.tinv-journal__head > .tinv-eyebrow { grid-column: 1; grid-row: 1; }
.tinv-journal__head > h2 { grid-column: 1; grid-row: 2; margin-bottom: 0 !important; }
.tinv-journal__head > p { grid-column: 2; grid-row: 1 / span 2; align-self: end; max-width: 46ch; margin: 0 !important; text-align: right; text-wrap: pretty; }
.tinv-ecosystem__head { align-items: end !important; }
.tinv-ecosystem__head p { max-width: 48ch !important; text-align: right !important; text-wrap: pretty; }

/* Common internal spacing. */
.tinv-flow-card,
.tinv-bento-card,
.tinv-service-card,
.tinv-archive-card__body,
.tinv-news-card__body,
.tinv-share-card,
.tinv-contact-card,
.tinv-product-suite__card { padding: var(--tinv-card-pad) !important; }
.tinv-flow-card > :first-child,
.tinv-bento-card > :first-child,
.tinv-service-card > :first-child { margin-top: 0 !important; }
.tinv-flow-card > :last-child,
.tinv-bento-card > :last-child,
.tinv-service-card > :last-child { margin-bottom: 0 !important; }
.tinv-prose__content p,
.tinv-prose__content li { line-height: 2.08 !important; }
.tinv-prose__content p { margin-block: 0 1.35em !important; }

/* Sticky navigation: never disappears; becomes clearer as the user scrolls. */
.tinv-nav {
    transition: top .3s var(--tinv-ease), width .35s var(--tinv-ease), transform .35s var(--tinv-ease), background .3s, border-color .3s, box-shadow .3s !important;
}
.tinv-nav.is-hidden { transform: translateY(0) !important; opacity: 1 !important; pointer-events: auto !important; }
.tinv-nav.is-scrolled {
    top: 8px !important;
    background: color-mix(in srgb, var(--tinv-surface-solid) 94%, transparent) !important;
    border-color: color-mix(in srgb, var(--saba-purple) 16%, var(--tinv-line)) !important;
    box-shadow: 0 18px 54px rgba(37, 22, 35, .13), 0 0 0 1px color-mix(in srgb, var(--saba-green) 8%, transparent) !important;
    backdrop-filter: blur(22px) saturate(1.14) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.14) !important;
}
html[data-theme="dark"] .tinv-nav.is-scrolled {
    background: rgba(15, 11, 17, .94) !important;
    box-shadow: 0 20px 58px rgba(0,0,0,.34), 0 0 0 1px rgba(160,56,144,.10) !important;
}
.tinv-nav::after {
    content: "";
    position: absolute;
    right: 8px;
    left: 8px;
    bottom: -1px;
    height: 2px;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--saba-green), var(--saba-purple));
    transform: scaleX(var(--nav-progress, 0));
    transform-origin: right center;
    opacity: .72;
    pointer-events: none;
}
.tinv-nav.is-scrolled .tinv-brand__copy small { opacity: .88 !important; }
.tinv-nav.is-scrolled .tinv-nav__links > a,
.tinv-nav.is-scrolled .tinv-nav__item > a { color: var(--tinv-text) !important; }

/* Journal: thumbnail-led compact rows. */
.tinv-journal-row {
    grid-template-columns: 34px 112px minmax(0, 1fr) 96px 26px !important;
    gap: clamp(12px, 1.8vw, 24px) !important;
    align-items: center !important;
    min-height: 118px !important;
    padding-block: 12px !important;
}
.tinv-journal-row__thumb {
    width: 112px;
    aspect-ratio: 16 / 10;
    display: block;
    overflow: hidden;
    border-radius: 4px;
    background: var(--tinv-surface-2);
    border: 1px solid var(--tinv-line);
}
.tinv-journal-row__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s var(--tinv-ease); }
.tinv-journal-row:hover .tinv-journal-row__thumb img { transform: scale(1.045); }
.tinv-journal-row > div { min-width: 0; }
.tinv-journal-row > div h3 { margin: 4px 0 0 !important; }

/* Blog archive: smaller media, consistent cards, three-column discovery grid. */
.tinv-archive--blog .tinv-archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px 14px !important;
    align-items: start !important;
}
.tinv-archive--blog .tinv-archive-card { align-self: start !important; }
.tinv-archive--blog .tinv-archive-card__media,
.tinv-archive--blog .tinv-archive-card.is-large .tinv-archive-card__media {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
}
.tinv-archive--blog .tinv-archive-card__body { min-height: 210px !important; padding: 18px !important; }
.tinv-archive--blog .tinv-archive-card__excerpt { -webkit-line-clamp: 2 !important; font-size: 11.5px !important; }
.tinv-archive--news .tinv-archive-grid { align-items: start !important; }
.tinv-archive--news .tinv-archive-card__media,
.tinv-archive--news .tinv-archive-card.is-large .tinv-archive-card__media { height: auto !important; aspect-ratio: 16 / 9 !important; }
.tinv-archive-card__media img { width: 100%; height: 100%; object-fit: cover; }

/* Footer entry: a branded SABA bridge before the practical footer content. */
.tinv-footer__saba-prelude {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 1fr) auto;
    gap: clamp(22px, 4vw, 56px);
    align-items: end;
    padding: clamp(26px, 3.2vw, 44px) 0;
    margin-bottom: clamp(22px, 3vw, 38px);
    border-bottom: 1px solid rgba(255,255,255,.11);
}
.tinv-footer__saba-prelude::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: min(42vw, 520px);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--saba-purple), var(--saba-green));
    opacity: .8;
}
.tinv-footer__saba-kicker { display: block; margin-bottom: 10px; color: #918691; font-size: 9px; font-weight: 700; }
.tinv-footer__saba-brand strong { display: block; color: #fff; font-size: clamp(23px, 2.3vw, 34px); line-height: 1.35; }
.tinv-footer__saba-brand p { max-width: 56ch; margin: 10px 0 0; color: #968c95; font-size: 11.5px; line-height: 2; }
.tinv-footer__saba-orbit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tinv-footer__saba-orbit a {
    min-height: 52px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 4px;
    color: #d7cfd5;
    text-decoration: none;
    font-size: 10.5px;
    transition: transform .28s var(--tinv-ease), border-color .28s, background .28s, color .28s;
}
.tinv-footer__saba-orbit a i { color: #746a73; font-style: normal; font-size: 9px; }
.tinv-footer__saba-orbit a:hover { transform: translateY(-2px); color: #fff; border-color: rgba(125,188,92,.35); background: rgba(125,188,92,.05); }
.tinv-footer__saba-link { align-self: center; white-space: nowrap; color: #fff; font-size: 10.5px; text-decoration: none; }
.tinv-footer__saba-link i { color: var(--saba-green-soft); font-style: normal; margin-right: 6px; }
html[data-theme="light"] .tinv-footer__saba-prelude { border-bottom-color: rgba(34,26,34,.10); }
html[data-theme="light"] .tinv-footer__saba-brand strong { color: #201820; }
html[data-theme="light"] .tinv-footer__saba-brand p { color: #6d626b; }
html[data-theme="light"] .tinv-footer__saba-orbit a { color: #544b52; border-color: rgba(34,26,34,.12); background: rgba(255,255,255,.44); }
html[data-theme="light"] .tinv-footer__saba-orbit a:hover { color: #201820; border-color: rgba(160,56,144,.25); }
html[data-theme="light"] .tinv-footer__saba-link { color: #211921; }

/* Footer contact icons: one notch smaller than the previous release. */
.tinv-footer__bottom > div a { width: 40px !important; height: 40px !important; font-size: 17px !important; }

/* Stronger harmony in home editorial headings. */
.tinv-content-section .tinv-section-head h2 { margin-bottom: 0 !important; text-wrap: balance; }
.tinv-content-section .tinv-section-head .tinv-text-link { min-width: max-content; }
.tinv-news-grid { align-items: start !important; }
.tinv-news-card { align-self: start !important; }
.tinv-news-card__media { aspect-ratio: 16 / 9 !important; height: auto !important; }

/* RTL-safe metadata and numbers. */
.tinv-article-hero__meta,
.tinv-archive-card__body > div,
.tinv-news-card__body > div,
.tinv-journal-row,
.tinv-faq-item summary { direction: rtl; }
.tinv-article-hero__meta time,
.tinv-archive-card time,
.tinv-news-card small,
.tinv-journal-row time { unicode-bidi: plaintext; }

@media (max-width: 1080px) {
    .tinv-archive--blog .tinv-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .tinv-footer__saba-prelude { grid-template-columns: 1fr 1fr; }
    .tinv-footer__saba-link { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 760px) {
    .tinv-section-head,
    .tinv-journal__head { grid-template-columns: 1fr !important; gap: 14px !important; }
    .tinv-section-head > p,
    .tinv-journal__head > .tinv-eyebrow,
    .tinv-journal__head > h2,
    .tinv-journal__head > p { grid-column: 1 !important; grid-row: auto !important; justify-self: stretch !important; }
    .tinv-section-head .tinv-text-link { justify-self: start; }
    .tinv-archive--blog .tinv-archive-grid { grid-template-columns: 1fr !important; }
    .tinv-archive--blog .tinv-archive-card__body { min-height: 0 !important; }
    .tinv-journal-row { grid-template-columns: 28px 84px minmax(0,1fr) 22px !important; min-height: 96px !important; }
    .tinv-journal-row__thumb { width: 84px; }
    .tinv-journal-row > time { display: none; }
    .tinv-footer__saba-prelude { grid-template-columns: 1fr; align-items: start; }
    .tinv-footer__saba-orbit { grid-template-columns: 1fr 1fr; }
    .tinv-footer__bottom > div a { width: 36px !important; height: 36px !important; font-size: 15px !important; }
    .tinv-article-hero h1 { font-size: clamp(25px, 7.2vw, 36px) !important; line-height: 1.6 !important; }
    .tinv-page-hero h1 { font-size: clamp(30px, 9vw, 44px) !important; }
    .tinv-hero__title { font-size: clamp(38px, 12vw, 58px) !important; }
}

@media (max-width: 480px) {
    .tinv-footer__saba-orbit { grid-template-columns: 1fr; }
    .tinv-journal-row { grid-template-columns: 24px 72px minmax(0,1fr) !important; gap: 10px !important; }
    .tinv-journal-row__thumb { width: 72px; }
    .tinv-journal-row > i { display: none; }
}

/* Persian labels keep their natural RTL order even when older layers declared LTR. */
.tinv-brand__copy small,
.tinv-eyebrow,
.tinv-page-hero__eyebrow,
.tinv-kicker,
.tinv-flow-card small,
.tinv-bento-card__top { direction: rtl !important; text-align: right !important; letter-spacing: 0 !important; text-transform: none !important; }
.tinv-brand__copy small { line-height: 1.45 !important; }
.tinv-loader__brand { font-size: clamp(42px, 7vw, 90px) !important; letter-spacing: -.02em !important; }

/* ==========================================================================
   TINV / Arad Harmony Sticky Header 21 — density + footer recognition patch
   ========================================================================== */

/* Vazirmatn is the final authority, including controls and generated content. */
html,
body,
button,
input,
textarea,
select,
option,
body :where(*):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not([class^="fa-"]):not([class*=" fa-"]),
body :where(*):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad)::before,
body :where(*):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad)::after {
    font-family: "Vazirmatn", sans-serif !important;
}

/* Home / News: denser editorial field, fewer empty white zones. */
.tinv-content-section[data-section="news"] {
    position: relative;
    overflow: hidden;
    padding-block: clamp(64px, 6vw, 94px) !important;
    background:
        radial-gradient(circle at 8% 6%, color-mix(in srgb, var(--saba-purple) 9%, transparent), transparent 33%),
        radial-gradient(circle at 92% 92%, color-mix(in srgb, var(--saba-green) 8%, transparent), transparent 30%),
        color-mix(in srgb, var(--tinv-paper) 94%, var(--tinv-surface-2)) !important;
}
.tinv-content-section[data-section="news"]::before {
    content: "";
    position: absolute;
    inset: 22px;
    border: 1px solid color-mix(in srgb, var(--tinv-line) 82%, transparent);
    border-radius: 12px;
    pointer-events: none;
}
.tinv-content-section[data-section="news"] .tinv-section-head {
    position: relative;
    z-index: 1;
    margin: 0 !important;
    padding: clamp(22px, 2.7vw, 34px) clamp(20px, 2.8vw, 38px) !important;
    border: 1px solid var(--tinv-line) !important;
    border-radius: 8px;
    background: color-mix(in srgb, var(--tinv-surface-solid) 80%, transparent);
    box-shadow: 0 18px 54px color-mix(in srgb, var(--tinv-paper-text) 5%, transparent);
}
.tinv-content-section[data-section="news"] .tinv-section-head > div {
    display: flex;
    align-items: flex-end;
    gap: clamp(16px, 2vw, 28px);
    flex-wrap: wrap;
}
.tinv-content-section[data-section="news"] .tinv-section-head h2 {
    margin-top: 0 !important;
}
.tinv-content-section[data-section="news"] .tinv-news-grid {
    position: relative;
    z-index: 1;
    margin-top: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
.tinv-content-section[data-section="news"] .tinv-news-card,
.tinv-content-section[data-section="news"] .tinv-news-card.is-featured {
    grid-column: auto !important;
    border: 1px solid var(--tinv-line) !important;
    border-radius: 8px !important;
    overflow: hidden;
    background: color-mix(in srgb, var(--tinv-surface-solid) 90%, transparent) !important;
    box-shadow: 0 14px 38px color-mix(in srgb, var(--tinv-paper-text) 4%, transparent) !important;
    transition: transform .34s var(--tinv-ease), border-color .34s, box-shadow .34s !important;
}
.tinv-content-section[data-section="news"] .tinv-news-card > a {
    height: 100% !important;
}
.tinv-content-section[data-section="news"] .tinv-news-card__media,
.tinv-content-section[data-section="news"] .tinv-news-card.is-featured .tinv-news-card__media {
    aspect-ratio: 16 / 9 !important;
    border-radius: 0 !important;
}
.tinv-content-section[data-section="news"] .tinv-news-card__body {
    flex: 1;
    padding: clamp(16px, 1.7vw, 22px) !important;
    background: transparent !important;
}
.tinv-content-section[data-section="news"] .tinv-news-card__body h3,
.tinv-content-section[data-section="news"] .tinv-news-card.is-featured .tinv-news-card__body h3 {
    font-size: clamp(17px, 1.35vw, 21px) !important;
    line-height: 1.75 !important;
}
.tinv-content-section[data-section="news"] .tinv-news-card__excerpt {
    min-height: 3.9em;
}
@media (hover:hover) and (pointer:fine) {
    .tinv-content-section[data-section="news"] .tinv-news-card:hover {
        transform: translateY(-5px) !important;
        border-color: color-mix(in srgb, var(--saba-purple) 25%, var(--tinv-line)) !important;
        box-shadow: 0 24px 54px color-mix(in srgb, var(--tinv-paper-text) 9%, transparent) !important;
    }
}

/* Journal: move 01 / 02 / 03 slightly inward from the right edge. */
.tinv-journal__list {
    border-right: 1px solid var(--tinv-line);
}
.tinv-journal-row {
    padding-inline-start: clamp(16px, 1.7vw, 26px) !important;
    padding-inline-end: clamp(10px, 1.1vw, 16px) !important;
}
.tinv-journal-row > span:first-child {
    justify-self: center;
    min-width: 24px;
    text-align: center;
}

/* Hero: legacy cross-service trust/footer strips are intentionally absent in markup. */
.tinv-hero__trust,
.tinv-hero__footer {
    display: none !important;
}

/* Footer: a clearly separated SABA signature inspired by sabaict.net, without duplicating a second footer. */
.tinv-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-top: clamp(54px, 6vw, 88px) !important;
    border-top: 0 !important;
    background: #0c0910 !important;
}
.tinv-footer::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--saba-purple), color-mix(in srgb, var(--saba-purple) 46%, var(--saba-green)), var(--saba-green));
    z-index: 2;
}
.tinv-footer__glow {
    position: absolute;
    z-index: -1;
    width: min(760px, 74vw);
    aspect-ratio: 1;
    left: -22vw;
    top: -36vw;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(160,56,144,.18), rgba(88,168,64,.045) 42%, transparent 70%);
    filter: blur(10px);
    pointer-events: none;
}
.tinv-footer__saba-signature {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
    gap: clamp(24px, 4vw, 64px);
    align-items: stretch;
    margin-bottom: clamp(44px, 5vw, 68px);
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    background:
        linear-gradient(125deg, rgba(160,56,144,.12), rgba(255,255,255,.025) 48%, rgba(88,168,64,.09)),
        rgba(255,255,255,.018);
    box-shadow: inset 0 1px rgba(255,255,255,.045), 0 28px 80px rgba(0,0,0,.20);
}
.tinv-footer__saba-identity {
    min-width: 0;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 24px;
    gap: 16px;
    align-items: center;
    color: #f8f5f7;
    text-decoration: none;
}
.tinv-footer__saba-mark {
    width: 58px;
    height: 58px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 8px;
    background: rgba(255,255,255,.035);
}
.tinv-footer__saba-mark i {
    position: absolute;
    width: 42px;
    height: 2px;
    border-radius: 99px;
    background: var(--saba-purple-soft);
    transform: rotate(34deg);
}
.tinv-footer__saba-mark i:nth-child(2) {
    background: var(--saba-green-soft);
    transform: rotate(-34deg);
}
.tinv-footer__saba-mark b {
    position: relative;
    z-index: 1;
    padding: 3px 4px;
    background: #0f0b11;
    color: #fff;
    font-size: 8px;
    letter-spacing: .08em;
    direction: ltr;
}
.tinv-footer__saba-identity small {
    display: block;
    margin-bottom: 8px;
    color: #9d929c;
    font-size: 10px;
    font-weight: 700;
}
.tinv-footer__saba-identity strong {
    display: block;
    max-width: 36ch;
    font-size: clamp(17px, 1.7vw, 24px);
    line-height: 1.75;
    font-weight: 700;
}
.tinv-footer__saba-identity em {
    align-self: start;
    color: var(--saba-green-soft);
    font-size: 20px;
    font-style: normal;
    transition: transform .28s var(--tinv-ease);
}
.tinv-footer__saba-identity:hover em { transform: translate(-4px, 4px); }
.tinv-footer__saba-capabilities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.tinv-footer__saba-capabilities a {
    min-height: 58px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 7px;
    background: rgba(255,255,255,.025);
    color: #d7cfd6;
    text-decoration: none;
    font-size: 10.5px;
    transition: transform .28s var(--tinv-ease), border-color .28s, background .28s, color .28s;
}
.tinv-footer__saba-capabilities a i {
    color: #766b75;
    font-size: 8px;
    font-style: normal;
    direction: ltr;
}
.tinv-footer__saba-capabilities a:hover {
    transform: translateY(-2px);
    color: #fff;
    border-color: rgba(125,188,92,.32);
    background: rgba(125,188,92,.055);
}
.tinv-footer__top--refined {
    grid-template-columns: 1.28fr .7fr .86fr 1fr !important;
    gap: clamp(28px, 4vw, 64px) !important;
    padding-bottom: clamp(44px, 5vw, 68px) !important;
}
.tinv-footer__top--refined .tinv-footer__column > span {
    color: #a69ba5;
    font-size: 10px !important;
}
.tinv-footer__top--refined .tinv-footer__column a {
    color: #cfc8ce;
}
.tinv-footer__top--refined .tinv-footer__contact .is-strong {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}
.tinv-footer__bottom {
    align-items: center !important;
    padding-top: 18px;
    padding-bottom: 2px;
}

html[data-theme="light"] .tinv-footer {
    background: #171118 !important;
    color: #f8f5f7 !important;
}
html[data-theme="light"] .tinv-footer__saba-signature {
    border-color: rgba(255,255,255,.12);
    background:
        linear-gradient(125deg, rgba(160,56,144,.13), rgba(255,255,255,.025) 48%, rgba(88,168,64,.10)),
        rgba(255,255,255,.018);
}
html[data-theme="light"] .tinv-footer__saba-identity,
html[data-theme="light"] .tinv-footer__saba-identity strong { color: #f8f5f7 !important; }
html[data-theme="light"] .tinv-footer__saba-identity small { color: #a89ca6 !important; }
html[data-theme="light"] .tinv-footer__saba-capabilities a { color: #d7cfd6 !important; border-color: rgba(255,255,255,.09) !important; background: rgba(255,255,255,.025) !important; }
html[data-theme="light"] .tinv-footer__brand > p,
html[data-theme="light"] .tinv-footer__column p { color: #9f939d !important; }
html[data-theme="light"] .tinv-footer__column a { color: #cfc8ce !important; }
html[data-theme="light"] .tinv-footer__bottom { color: #827680 !important; border-color: rgba(255,255,255,.10) !important; }

@media (max-width: 1080px) {
    .tinv-content-section[data-section="news"] .tinv-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .tinv-footer__saba-signature { grid-template-columns: 1fr; }
    .tinv-footer__top--refined { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .tinv-footer__top--refined .tinv-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .tinv-content-section[data-section="news"] { padding-block: 54px !important; }
    .tinv-content-section[data-section="news"]::before { inset: 10px; border-radius: 8px; }
    .tinv-content-section[data-section="news"] .tinv-section-head { padding: 18px !important; }
    .tinv-content-section[data-section="news"] .tinv-news-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
    .tinv-journal-row { padding-inline-start: 12px !important; padding-inline-end: 8px !important; }
    .tinv-footer__saba-signature { padding: 18px; }
    .tinv-footer__saba-capabilities { grid-template-columns: 1fr 1fr; }
    .tinv-footer__top--refined { grid-template-columns: 1fr !important; }
    .tinv-footer__top--refined .tinv-footer__brand { grid-column: auto; }
}

@media (max-width: 480px) {
    .tinv-footer__saba-identity { grid-template-columns: 48px minmax(0, 1fr) 18px; gap: 12px; }
    .tinv-footer__saba-mark { width: 48px; height: 48px; }
    .tinv-footer__saba-capabilities { grid-template-columns: 1fr; }
}


/* ==========================================================================
   TINV / Arad Harmony Sticky Header 22 — balanced section copy + footer contrast
   ========================================================================== */

/* 01 — Shared two-column editorial header.
   Both UX and News now use the same visual rhythm instead of leaving one side
   text-heavy and the other side visually empty. */
.tinv-section-head--balanced {
    grid-template-columns: minmax(0, 1.04fr) minmax(310px, .96fr) !important;
    gap: clamp(34px, 5vw, 78px) !important;
    align-items: end !important;
}
.tinv-section-head--balanced .tinv-section-head__title {
    min-width: 0;
    align-self: end;
}
.tinv-section-head--balanced .tinv-section-head__title h2 {
    max-width: 15ch;
    text-wrap: balance;
}
.tinv-section-head--balanced .tinv-section-head__aside {
    width: min(100%, 500px);
    display: grid;
    gap: 18px;
    align-self: end;
    justify-self: start;
}
.tinv-section-head--balanced .tinv-section-head__aside p {
    width: 100%;
    max-width: 48ch !important;
    margin: 0 !important;
    text-wrap: pretty;
}
.tinv-section-head--balanced .tinv-section-head__aside .tinv-text-link {
    width: max-content;
    justify-self: start !important;
    align-self: auto !important;
    margin: 0 !important;
}

/* News keeps the compact card section introduced in v21, while its heading now
   has enough supporting content to visually match the UX section above. */
.tinv-content-section[data-section="news"] .tinv-section-head--news {
    padding: clamp(20px, 2.4vw, 30px) !important;
}
.tinv-content-section[data-section="news"] .tinv-section-head--news > .tinv-section-head__title {
    display: block !important;
}
.tinv-content-section[data-section="news"] .tinv-section-head--news h2 {
    margin-top: 10px !important;
    font-size: clamp(30px, 3.25vw, 48px) !important;
    line-height: 1.34 !important;
}
.tinv-content-section[data-section="news"] .tinv-section-head--news .tinv-section-head__aside p {
    color: var(--tinv-paper-muted) !important;
    font-size: 13px !important;
    line-height: 2 !important;
}

/* 02 — Footer readability contract.
   Footer is intentionally a dark brand surface in BOTH site themes, so its
   typography must use footer-specific contrast tokens rather than inheriting
   light-page/dark-page text variables. */
.tinv-footer {
    --tinv-footer-title: #fffaff;
    --tinv-footer-text: #eee7ed;
    --tinv-footer-muted: #c2b7c0;
    --tinv-footer-subtle: #998e97;
    --tinv-footer-line: rgba(255,255,255,.14);
    color: var(--tinv-footer-text) !important;
}
.tinv-footer .tinv-brand--footer,
.tinv-footer .tinv-brand--footer:visited,
.tinv-footer .tinv-brand__copy,
.tinv-footer .tinv-brand__copy strong {
    color: var(--tinv-footer-title) !important;
}
.tinv-footer .tinv-brand__copy small {
    color: var(--tinv-footer-muted) !important;
    opacity: 1 !important;
}
.tinv-footer .tinv-footer__brand > p {
    color: var(--tinv-footer-muted) !important;
    opacity: 1 !important;
}
.tinv-footer .tinv-footer__signature {
    color: var(--tinv-footer-text) !important;
    opacity: 1 !important;
}
.tinv-footer .tinv-footer__signature i {
    background: var(--saba-green-soft) !important;
}
.tinv-footer .tinv-footer__column > span {
    color: var(--tinv-footer-muted) !important;
    opacity: 1 !important;
}
.tinv-footer .tinv-footer__column a,
.tinv-footer .tinv-footer__column a:visited {
    color: var(--tinv-footer-text) !important;
    opacity: 1 !important;
    text-decoration-color: transparent;
}
.tinv-footer .tinv-footer__column a:hover,
.tinv-footer .tinv-footer__column a:focus-visible {
    color: var(--tinv-footer-title) !important;
}
.tinv-footer .tinv-footer__contact .is-strong,
.tinv-footer .tinv-footer__contact .is-strong:visited {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 4px 0;
    color: #ffffff !important;
    font-size: clamp(13px, 1vw, 15px) !important;
    line-height: 1.65 !important;
    font-weight: 800 !important;
    letter-spacing: .01em;
    opacity: 1 !important;
    text-shadow: 0 1px 16px rgba(255,255,255,.08);
}
.tinv-footer .tinv-footer__contact p {
    max-width: 34ch;
    color: #d8cfd6 !important;
    font-size: 12px !important;
    line-height: 2.05 !important;
    opacity: 1 !important;
}
.tinv-footer .tinv-footer__bottom {
    color: var(--tinv-footer-muted) !important;
    border-color: var(--tinv-footer-line) !important;
    opacity: 1 !important;
}
.tinv-footer .tinv-footer__bottom a,
.tinv-footer .tinv-footer__bottom a:visited {
    color: var(--tinv-footer-text) !important;
    border-color: rgba(255,255,255,.13) !important;
    background: rgba(255,255,255,.035) !important;
    opacity: 1 !important;
}
.tinv-footer .tinv-footer__bottom a:hover,
.tinv-footer .tinv-footer__bottom a:focus-visible {
    color: #fff !important;
    border-color: rgba(125,188,92,.36) !important;
    background: rgba(125,188,92,.08) !important;
}

/* Explicit theme guards prevent earlier theme layers from reducing footer
   contrast. Both modes intentionally resolve to the same accessible dark footer. */
html[data-theme="light"] .tinv-footer .tinv-footer__brand > p,
html[data-theme="dark"] .tinv-footer .tinv-footer__brand > p,
html[data-theme="light"] .tinv-footer .tinv-footer__column p,
html[data-theme="dark"] .tinv-footer .tinv-footer__column p {
    color: var(--tinv-footer-muted) !important;
}
html[data-theme="light"] .tinv-footer .tinv-footer__column a,
html[data-theme="dark"] .tinv-footer .tinv-footer__column a,
html[data-theme="light"] .tinv-footer .tinv-footer__column a:visited,
html[data-theme="dark"] .tinv-footer .tinv-footer__column a:visited {
    color: var(--tinv-footer-text) !important;
}
html[data-theme="light"] .tinv-footer .tinv-footer__contact .is-strong,
html[data-theme="dark"] .tinv-footer .tinv-footer__contact .is-strong {
    color: #ffffff !important;
}
html[data-theme="light"] .tinv-footer .tinv-footer__bottom,
html[data-theme="dark"] .tinv-footer .tinv-footer__bottom {
    color: var(--tinv-footer-muted) !important;
}

@media (max-width: 900px) {
    .tinv-section-head--balanced {
        grid-template-columns: minmax(0, 1fr) minmax(260px, .82fr) !important;
        gap: 28px !important;
    }
}

@media (max-width: 760px) {
    .tinv-section-head--balanced {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        align-items: start !important;
    }
    .tinv-section-head--balanced .tinv-section-head__aside {
        width: 100%;
        max-width: 560px;
        justify-self: stretch;
        gap: 14px;
    }
    .tinv-section-head--balanced .tinv-section-head__aside p {
        max-width: 56ch !important;
    }
    .tinv-content-section[data-section="news"] .tinv-section-head--news {
        padding: 18px !important;
    }
    .tinv-content-section[data-section="news"] .tinv-section-head--news h2 {
        font-size: clamp(27px, 8vw, 36px) !important;
    }
    .tinv-footer .tinv-footer__contact .is-strong {
        font-size: 14px !important;
    }
}
